From 2360b261f798698cc054630e013cfbcf41c58322 Mon Sep 17 00:00:00 2001 From: Henk Kalkwater Date: Wed, 24 Mar 2021 20:04:03 +0100 Subject: [PATCH] WIP: logic rewrite WIP: adding loaders --- core/CMakeLists.txt | 72 +- core/GeneratedSources.cmake | 1873 +- core/codegen/loader_header.hbs | 17 + core/codegen/loader_implementation.hbs | 2 + core/codegen/loader_types_header.hbs | 55 + .../loader_types_header_getters_setters.hbs | 7 + core/codegen/object_header.hbs | 15 +- core/codegen/object_implementation.hbs | 33 +- core/include/JellyfinQt/DTO/accessschedule.h | 4 +- .../include/JellyfinQt/DTO/activitylogentry.h | 4 +- .../DTO/activitylogentryqueryresult.h | 4 +- .../JellyfinQt/DTO/addvirtualfolderdto.h | 4 +- core/include/JellyfinQt/DTO/albuminfo.h | 4 +- .../DTO/albuminforemotesearchquery.h | 4 +- .../JellyfinQt/DTO/allthememediaresult.h | 4 +- core/include/JellyfinQt/DTO/artistinfo.h | 4 +- .../DTO/artistinforemotesearchquery.h | 4 +- .../JellyfinQt/DTO/authenticateuserbyname.h | 4 +- .../JellyfinQt/DTO/authenticationinfo.h | 4 +- .../DTO/authenticationinfoqueryresult.h | 4 +- .../JellyfinQt/DTO/authenticationresult.h | 4 +- core/include/JellyfinQt/DTO/baseitem.h | 4 +- core/include/JellyfinQt/DTO/baseitemdto.h | 4 +- .../JellyfinQt/DTO/baseitemdtoqueryresult.h | 4 +- core/include/JellyfinQt/DTO/baseitemperson.h | 4 +- core/include/JellyfinQt/DTO/bookinfo.h | 4 +- .../DTO/bookinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/boxsetinfo.h | 4 +- .../DTO/boxsetinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/brandingoptions.h | 4 +- .../include/JellyfinQt/DTO/bufferrequestdto.h | 4 +- core/include/JellyfinQt/DTO/channelfeatures.h | 4 +- .../JellyfinQt/DTO/channelmappingoptionsdto.h | 4 +- core/include/JellyfinQt/DTO/chapterinfo.h | 4 +- .../JellyfinQt/DTO/clientcapabilities.h | 4 +- .../JellyfinQt/DTO/clientcapabilitiesdto.h | 4 +- core/include/JellyfinQt/DTO/codecprofile.h | 4 +- .../JellyfinQt/DTO/collectioncreationresult.h | 4 +- .../JellyfinQt/DTO/configurationpageinfo.h | 4 +- .../include/JellyfinQt/DTO/containerprofile.h | 4 +- core/include/JellyfinQt/DTO/controlresponse.h | 4 +- core/include/JellyfinQt/DTO/countryinfo.h | 4 +- .../JellyfinQt/DTO/createplaylistdto.h | 4 +- .../include/JellyfinQt/DTO/createuserbyname.h | 4 +- core/include/JellyfinQt/DTO/culturedto.h | 4 +- .../DTO/defaultdirectorybrowserinfodto.h | 4 +- .../JellyfinQt/DTO/deviceidentification.h | 4 +- core/include/JellyfinQt/DTO/deviceinfo.h | 4 +- .../JellyfinQt/DTO/deviceinfoqueryresult.h | 4 +- core/include/JellyfinQt/DTO/deviceoptions.h | 4 +- core/include/JellyfinQt/DTO/deviceprofile.h | 4 +- .../JellyfinQt/DTO/deviceprofileinfo.h | 4 +- .../JellyfinQt/DTO/directplayprofile.h | 4 +- .../JellyfinQt/DTO/displaypreferencesdto.h | 4 +- core/include/JellyfinQt/DTO/endpointinfo.h | 4 +- core/include/JellyfinQt/DTO/externalidinfo.h | 4 +- core/include/JellyfinQt/DTO/externalurl.h | 4 +- .../JellyfinQt/DTO/filesystementryinfo.h | 4 +- core/include/JellyfinQt/DTO/fontfile.h | 4 +- .../JellyfinQt/DTO/forgotpassworddto.h | 4 +- .../JellyfinQt/DTO/forgotpasswordresult.h | 4 +- core/include/JellyfinQt/DTO/generalcommand.h | 4 +- core/include/JellyfinQt/DTO/getprogramsdto.h | 4 +- core/include/JellyfinQt/DTO/groupinfodto.h | 4 +- core/include/JellyfinQt/DTO/guideinfo.h | 4 +- core/include/JellyfinQt/DTO/httpheaderinfo.h | 4 +- .../JellyfinQt/DTO/ignorewaitrequestdto.h | 4 +- core/include/JellyfinQt/DTO/imagebynameinfo.h | 4 +- core/include/JellyfinQt/DTO/imageinfo.h | 4 +- core/include/JellyfinQt/DTO/imageoption.h | 4 +- .../JellyfinQt/DTO/imageproviderinfo.h | 4 +- .../include/JellyfinQt/DTO/installationinfo.h | 4 +- core/include/JellyfinQt/DTO/iplugin.h | 4 +- core/include/JellyfinQt/DTO/itemcounts.h | 4 +- .../JellyfinQt/DTO/joingrouprequestdto.h | 4 +- .../JellyfinQt/DTO/libraryoptioninfodto.h | 4 +- core/include/JellyfinQt/DTO/libraryoptions.h | 4 +- .../JellyfinQt/DTO/libraryoptionsresultdto.h | 4 +- .../JellyfinQt/DTO/librarytypeoptionsdto.h | 4 +- .../JellyfinQt/DTO/libraryupdateinfo.h | 4 +- .../JellyfinQt/DTO/listingsproviderinfo.h | 4 +- .../JellyfinQt/DTO/livestreamresponse.h | 4 +- core/include/JellyfinQt/DTO/livetvinfo.h | 4 +- .../JellyfinQt/DTO/livetvserviceinfo.h | 4 +- .../JellyfinQt/DTO/localizationoption.h | 4 +- core/include/JellyfinQt/DTO/logfile.h | 4 +- core/include/JellyfinQt/DTO/mediaattachment.h | 4 +- .../JellyfinQt/DTO/mediaencoderpathdto.h | 4 +- core/include/JellyfinQt/DTO/mediapathdto.h | 4 +- core/include/JellyfinQt/DTO/mediapathinfo.h | 4 +- core/include/JellyfinQt/DTO/mediasourceinfo.h | 4 +- core/include/JellyfinQt/DTO/mediastream.h | 4 +- .../JellyfinQt/DTO/mediaupdateinfodto.h | 4 +- core/include/JellyfinQt/DTO/mediaurl.h | 4 +- .../JellyfinQt/DTO/metadataeditorinfo.h | 4 +- core/include/JellyfinQt/DTO/metadataoptions.h | 4 +- .../DTO/moveplaylistitemrequestdto.h | 4 +- core/include/JellyfinQt/DTO/movieinfo.h | 4 +- .../DTO/movieinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/musicvideoinfo.h | 4 +- .../DTO/musicvideoinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/nameguidpair.h | 4 +- core/include/JellyfinQt/DTO/nameidpair.h | 4 +- core/include/JellyfinQt/DTO/namevaluepair.h | 4 +- .../JellyfinQt/DTO/newgrouprequestdto.h | 4 +- .../JellyfinQt/DTO/nextitemrequestdto.h | 4 +- core/include/JellyfinQt/DTO/notificationdto.h | 4 +- .../JellyfinQt/DTO/notificationresultdto.h | 4 +- .../JellyfinQt/DTO/notificationssummarydto.h | 4 +- .../JellyfinQt/DTO/notificationtypeinfo.h | 4 +- .../JellyfinQt/DTO/objectgroupupdate.h | 4 +- .../JellyfinQt/DTO/openlivestreamdto.h | 4 +- core/include/JellyfinQt/DTO/packageinfo.h | 4 +- core/include/JellyfinQt/DTO/parentalrating.h | 4 +- .../include/JellyfinQt/DTO/pathsubstitution.h | 4 +- .../include/JellyfinQt/DTO/personlookupinfo.h | 4 +- .../DTO/personlookupinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/pingrequestdto.h | 4 +- core/include/JellyfinQt/DTO/pinredeemresult.h | 4 +- core/include/JellyfinQt/DTO/playbackinfodto.h | 4 +- .../JellyfinQt/DTO/playbackinforesponse.h | 4 +- .../JellyfinQt/DTO/playbackprogressinfo.h | 4 +- .../JellyfinQt/DTO/playbackstartinfo.h | 4 +- .../include/JellyfinQt/DTO/playbackstopinfo.h | 4 +- core/include/JellyfinQt/DTO/playerstateinfo.h | 4 +- .../JellyfinQt/DTO/playlistcreationresult.h | 4 +- core/include/JellyfinQt/DTO/playrequest.h | 4 +- core/include/JellyfinQt/DTO/playrequestdto.h | 4 +- .../include/JellyfinQt/DTO/playstaterequest.h | 4 +- core/include/JellyfinQt/DTO/plugininfo.h | 4 +- .../JellyfinQt/DTO/pluginsecurityinfo.h | 4 +- .../JellyfinQt/DTO/previousitemrequestdto.h | 4 +- core/include/JellyfinQt/DTO/problemdetails.h | 4 +- .../include/JellyfinQt/DTO/profilecondition.h | 4 +- .../include/JellyfinQt/DTO/publicsysteminfo.h | 4 +- core/include/JellyfinQt/DTO/queryfilters.h | 4 +- .../JellyfinQt/DTO/queryfilterslegacy.h | 4 +- core/include/JellyfinQt/DTO/queueitem.h | 4 +- core/include/JellyfinQt/DTO/queuerequestdto.h | 4 +- core/include/JellyfinQt/DTO/quickconnectdto.h | 4 +- .../JellyfinQt/DTO/quickconnectresult.h | 4 +- core/include/JellyfinQt/DTO/readyrequestdto.h | 4 +- .../JellyfinQt/DTO/recommendationdto.h | 4 +- core/include/JellyfinQt/DTO/remoteimageinfo.h | 4 +- .../JellyfinQt/DTO/remoteimageresult.h | 4 +- .../JellyfinQt/DTO/remotesearchresult.h | 4 +- .../JellyfinQt/DTO/remotesubtitleinfo.h | 4 +- .../DTO/removefromplaylistrequestdto.h | 4 +- core/include/JellyfinQt/DTO/repositoryinfo.h | 4 +- core/include/JellyfinQt/DTO/responseprofile.h | 4 +- core/include/JellyfinQt/DTO/searchhint.h | 4 +- .../include/JellyfinQt/DTO/searchhintresult.h | 4 +- core/include/JellyfinQt/DTO/seekrequestdto.h | 4 +- core/include/JellyfinQt/DTO/sendcommand.h | 4 +- core/include/JellyfinQt/DTO/seriesinfo.h | 4 +- .../DTO/seriesinforemotesearchquery.h | 4 +- .../JellyfinQt/DTO/seriestimerinfodto.h | 4 +- .../DTO/seriestimerinfodtoqueryresult.h | 4 +- .../JellyfinQt/DTO/serverconfiguration.h | 4 +- core/include/JellyfinQt/DTO/sessioninfo.h | 4 +- core/include/JellyfinQt/DTO/sessionuserinfo.h | 4 +- .../JellyfinQt/DTO/setchannelmappingdto.h | 4 +- .../DTO/setplaylistitemrequestdto.h | 4 +- .../JellyfinQt/DTO/setrepeatmoderequestdto.h | 4 +- .../JellyfinQt/DTO/setshufflemoderequestdto.h | 4 +- core/include/JellyfinQt/DTO/songinfo.h | 4 +- .../JellyfinQt/DTO/specialviewoptiondto.h | 4 +- .../JellyfinQt/DTO/startupconfigurationdto.h | 4 +- .../JellyfinQt/DTO/startupremoteaccessdto.h | 4 +- core/include/JellyfinQt/DTO/startupuserdto.h | 4 +- core/include/JellyfinQt/DTO/subtitleprofile.h | 4 +- core/include/JellyfinQt/DTO/systeminfo.h | 4 +- core/include/JellyfinQt/DTO/taskinfo.h | 4 +- core/include/JellyfinQt/DTO/taskresult.h | 4 +- core/include/JellyfinQt/DTO/tasktriggerinfo.h | 4 +- .../include/JellyfinQt/DTO/thememediaresult.h | 4 +- core/include/JellyfinQt/DTO/timereventinfo.h | 4 +- core/include/JellyfinQt/DTO/timerinfodto.h | 4 +- .../JellyfinQt/DTO/timerinfodtoqueryresult.h | 4 +- core/include/JellyfinQt/DTO/trailerinfo.h | 4 +- .../DTO/trailerinforemotesearchquery.h | 4 +- core/include/JellyfinQt/DTO/transcodinginfo.h | 4 +- .../JellyfinQt/DTO/transcodingprofile.h | 4 +- .../JellyfinQt/DTO/tunerchannelmapping.h | 4 +- core/include/JellyfinQt/DTO/tunerhostinfo.h | 4 +- core/include/JellyfinQt/DTO/typeoptions.h | 4 +- .../JellyfinQt/DTO/updatelibraryoptionsdto.h | 4 +- .../JellyfinQt/DTO/updateusereasypassword.h | 4 +- .../JellyfinQt/DTO/updateuserpassword.h | 4 +- .../JellyfinQt/DTO/uploadsubtitledto.h | 4 +- .../JellyfinQt/DTO/userconfiguration.h | 4 +- core/include/JellyfinQt/DTO/userdto.h | 4 +- core/include/JellyfinQt/DTO/useritemdatadto.h | 4 +- core/include/JellyfinQt/DTO/userpolicy.h | 4 +- core/include/JellyfinQt/DTO/utctimeresponse.h | 4 +- core/include/JellyfinQt/DTO/validatepathdto.h | 4 +- core/include/JellyfinQt/DTO/version.h | 4 +- core/include/JellyfinQt/DTO/versioninfo.h | 4 +- .../JellyfinQt/DTO/virtualfolderinfo.h | 4 +- core/include/JellyfinQt/DTO/wakeonlaninfo.h | 4 +- core/include/JellyfinQt/DTO/xmlattribute.h | 4 +- core/include/JellyfinQt/apiclient.h | 50 +- core/include/JellyfinQt/apimodel.h | 6 +- core/include/JellyfinQt/dto/accessschedule.h | 113 + .../include/JellyfinQt/dto/activitylogentry.h | 176 + .../dto/activitylogentryqueryresult.h | 101 + .../JellyfinQt/dto/addvirtualfolderdto.h | 73 + core/include/JellyfinQt/dto/albuminfo.h | 205 + .../dto/albuminforemotesearchquery.h | 102 + .../JellyfinQt/dto/allthememediaresult.h | 85 + core/include/JellyfinQt/dto/architecture.h | 63 + core/include/JellyfinQt/dto/artistinfo.h | 181 + .../dto/artistinforemotesearchquery.h | 102 + .../JellyfinQt/dto/authenticateuserbyname.h | 102 + .../JellyfinQt/dto/authenticationinfo.h | 193 + .../dto/authenticationinfoqueryresult.h | 101 + .../JellyfinQt/dto/authenticationresult.h | 97 + core/include/JellyfinQt/dto/baseitem.h | 151 + core/include/JellyfinQt/dto/baseitemdto.h | 1704 ++ .../JellyfinQt/dto/baseitemdtoqueryresult.h | 101 + core/include/JellyfinQt/dto/baseitemperson.h | 138 + .../JellyfinQt/dto/basepluginconfiguration.h | 0 core/include/JellyfinQt/dto/bookinfo.h | 177 + .../dto/bookinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/boxsetinfo.h | 169 + .../dto/boxsetinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/brandingoptions.h | 90 + .../include/JellyfinQt/dto/bufferrequestdto.h | 107 + core/include/JellyfinQt/dto/channelfeatures.h | 205 + .../JellyfinQt/dto/channelitemsortfield.h | 65 + .../JellyfinQt/dto/channelmappingoptionsdto.h | 120 + .../JellyfinQt/dto/channelmediacontenttype.h | 66 + .../include/JellyfinQt/dto/channelmediatype.h | 61 + core/include/JellyfinQt/dto/channeltype.h | 60 + core/include/JellyfinQt/dto/chapterinfo.h | 115 + .../JellyfinQt/dto/clientcapabilities.h | 141 + .../JellyfinQt/dto/clientcapabilitiesdto.h | 177 + core/include/JellyfinQt/dto/codecprofile.h | 109 + core/include/JellyfinQt/dto/codectype.h | 61 + .../JellyfinQt/dto/collectioncreationresult.h | 72 + .../JellyfinQt/dto/configurationpageinfo.h | 143 + .../JellyfinQt/dto/configurationpagetype.h | 60 + .../include/JellyfinQt/dto/containerprofile.h | 93 + core/include/JellyfinQt/dto/controlresponse.h | 88 + core/include/JellyfinQt/dto/countryinfo.h | 114 + .../JellyfinQt/dto/createplaylistdto.h | 116 + .../include/JellyfinQt/dto/createuserbyname.h | 90 + core/include/JellyfinQt/dto/culturedto.h | 124 + core/include/JellyfinQt/dto/dayofweek.h | 65 + core/include/JellyfinQt/dto/daypattern.h | 61 + .../dto/defaultdirectorybrowserinfodto.h | 78 + .../JellyfinQt/dto/deviceidentification.h | 178 + core/include/JellyfinQt/dto/deviceinfo.h | 159 + .../JellyfinQt/dto/deviceinfoqueryresult.h | 101 + core/include/JellyfinQt/dto/deviceoptions.h | 74 + core/include/JellyfinQt/dto/deviceprofile.h | 519 + .../JellyfinQt/dto/deviceprofileinfo.h | 97 + .../JellyfinQt/dto/deviceprofiletype.h | 60 + .../JellyfinQt/dto/directplayprofile.h | 97 + .../JellyfinQt/dto/displaypreferencesdto.h | 212 + core/include/JellyfinQt/dto/dlnaprofiletype.h | 61 + .../include/JellyfinQt/dto/dynamicdayofweek.h | 68 + core/include/JellyfinQt/dto/encodingcontext.h | 60 + core/include/JellyfinQt/dto/endpointinfo.h | 77 + core/include/JellyfinQt/dto/externalidinfo.h | 109 + .../JellyfinQt/dto/externalidmediatype.h | 70 + core/include/JellyfinQt/dto/externalurl.h | 90 + core/include/JellyfinQt/dto/ffmpeglocation.h | 62 + .../JellyfinQt/dto/filesystementryinfo.h | 97 + .../JellyfinQt/dto/filesystementrytype.h | 62 + core/include/JellyfinQt/dto/fontfile.h | 109 + .../JellyfinQt/dto/forgotpasswordaction.h | 61 + .../JellyfinQt/dto/forgotpassworddto.h | 76 + .../JellyfinQt/dto/forgotpasswordresult.h | 98 + core/include/JellyfinQt/dto/generalcommand.h | 87 + .../JellyfinQt/dto/generalcommandtype.h | 99 + core/include/JellyfinQt/dto/getprogramsdto.h | 431 + core/include/JellyfinQt/dto/groupinfodto.h | 120 + core/include/JellyfinQt/dto/groupqueuemode.h | 60 + core/include/JellyfinQt/dto/grouprepeatmode.h | 61 + .../include/JellyfinQt/dto/groupshufflemode.h | 60 + core/include/JellyfinQt/dto/groupstatetype.h | 62 + core/include/JellyfinQt/dto/groupupdatetype.h | 69 + core/include/JellyfinQt/dto/guideinfo.h | 86 + core/include/JellyfinQt/dto/headermatchtype.h | 61 + core/include/JellyfinQt/dto/httpheaderinfo.h | 89 + .../JellyfinQt/dto/ignorewaitrequestdto.h | 75 + core/include/JellyfinQt/dto/imagebynameinfo.h | 124 + core/include/JellyfinQt/dto/imageformat.h | 63 + core/include/JellyfinQt/dto/imageinfo.h | 155 + core/include/JellyfinQt/dto/imageoption.h | 92 + .../include/JellyfinQt/dto/imageorientation.h | 66 + .../JellyfinQt/dto/imageproviderinfo.h | 93 + .../JellyfinQt/dto/imagesavingconvention.h | 60 + core/include/JellyfinQt/dto/imagetype.h | 71 + .../include/JellyfinQt/dto/installationinfo.h | 132 + core/include/JellyfinQt/dto/iplugin.h | 142 + core/include/JellyfinQt/dto/isotype.h | 60 + core/include/JellyfinQt/dto/itemcounts.h | 185 + core/include/JellyfinQt/dto/itemfields.h | 119 + core/include/JellyfinQt/dto/itemfilter.h | 67 + .../JellyfinQt/dto/joingrouprequestdto.h | 76 + core/include/JellyfinQt/dto/keepuntil.h | 62 + .../JellyfinQt/dto/libraryoptioninfodto.h | 88 + core/include/JellyfinQt/dto/libraryoptions.h | 251 + .../JellyfinQt/dto/libraryoptionsresultdto.h | 118 + .../JellyfinQt/dto/librarytypeoptionsdto.h | 132 + .../JellyfinQt/dto/libraryupdateinfo.h | 142 + .../JellyfinQt/dto/listingsproviderinfo.h | 212 + .../JellyfinQt/dto/livestreamresponse.h | 73 + core/include/JellyfinQt/dto/livetvinfo.h | 103 + .../JellyfinQt/dto/livetvserviceinfo.h | 151 + .../JellyfinQt/dto/livetvservicestatus.h | 60 + .../JellyfinQt/dto/localizationoption.h | 82 + core/include/JellyfinQt/dto/locationtype.h | 62 + core/include/JellyfinQt/dto/logfile.h | 109 + core/include/JellyfinQt/dto/loglevel.h | 65 + core/include/JellyfinQt/dto/mediaattachment.h | 148 + .../JellyfinQt/dto/mediaencoderpathdto.h | 90 + core/include/JellyfinQt/dto/mediapathdto.h | 96 + core/include/JellyfinQt/dto/mediapathinfo.h | 82 + core/include/JellyfinQt/dto/mediaprotocol.h | 65 + core/include/JellyfinQt/dto/mediasourceinfo.h | 377 + core/include/JellyfinQt/dto/mediasourcetype.h | 61 + core/include/JellyfinQt/dto/mediastream.h | 578 + core/include/JellyfinQt/dto/mediastreamtype.h | 62 + .../JellyfinQt/dto/mediaupdateinfodto.h | 92 + core/include/JellyfinQt/dto/mediaurl.h | 82 + .../JellyfinQt/dto/metadataeditorinfo.h | 122 + core/include/JellyfinQt/dto/metadatafield.h | 67 + core/include/JellyfinQt/dto/metadataoptions.h | 124 + .../JellyfinQt/dto/metadatarefreshmode.h | 62 + .../dto/moveplaylistitemrequestdto.h | 86 + core/include/JellyfinQt/dto/movieinfo.h | 169 + .../dto/movieinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/musicvideoinfo.h | 179 + .../dto/musicvideoinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/nameguidpair.h | 80 + core/include/JellyfinQt/dto/nameidpair.h | 90 + core/include/JellyfinQt/dto/namevaluepair.h | 90 + .../JellyfinQt/dto/newgrouprequestdto.h | 78 + .../JellyfinQt/dto/nextitemrequestdto.h | 76 + core/include/JellyfinQt/dto/notificationdto.h | 154 + .../JellyfinQt/dto/notificationlevel.h | 61 + .../JellyfinQt/dto/notificationresultdto.h | 91 + .../JellyfinQt/dto/notificationssummarydto.h | 82 + .../JellyfinQt/dto/notificationtypeinfo.h | 102 + .../JellyfinQt/dto/objectgroupupdate.h | 96 + .../JellyfinQt/dto/openlivestreamdto.h | 221 + core/include/JellyfinQt/dto/packageinfo.h | 168 + core/include/JellyfinQt/dto/parentalrating.h | 88 + .../include/JellyfinQt/dto/pathsubstitution.h | 90 + .../include/JellyfinQt/dto/personlookupinfo.h | 169 + .../dto/personlookupinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/pingrequestdto.h | 75 + core/include/JellyfinQt/dto/pinredeemresult.h | 90 + core/include/JellyfinQt/dto/playaccess.h | 60 + .../JellyfinQt/dto/playbackerrorcode.h | 61 + core/include/JellyfinQt/dto/playbackinfodto.h | 242 + .../JellyfinQt/dto/playbackinforesponse.h | 101 + .../JellyfinQt/dto/playbackprogressinfo.h | 267 + .../JellyfinQt/dto/playbackstartinfo.h | 267 + .../include/JellyfinQt/dto/playbackstopinfo.h | 181 + core/include/JellyfinQt/dto/playcommand.h | 63 + core/include/JellyfinQt/dto/playerstateinfo.h | 170 + .../JellyfinQt/dto/playlistcreationresult.h | 74 + core/include/JellyfinQt/dto/playmethod.h | 61 + core/include/JellyfinQt/dto/playrequest.h | 141 + core/include/JellyfinQt/dto/playrequestdto.h | 100 + .../include/JellyfinQt/dto/playstatecommand.h | 67 + .../include/JellyfinQt/dto/playstaterequest.h | 93 + core/include/JellyfinQt/dto/plugininfo.h | 147 + .../JellyfinQt/dto/pluginsecurityinfo.h | 88 + core/include/JellyfinQt/dto/pluginstatus.h | 65 + .../JellyfinQt/dto/previousitemrequestdto.h | 76 + core/include/JellyfinQt/dto/problemdetails.h | 106 + .../include/JellyfinQt/dto/profilecondition.h | 94 + .../JellyfinQt/dto/profileconditiontype.h | 63 + .../JellyfinQt/dto/profileconditionvalue.h | 81 + core/include/JellyfinQt/dto/programaudio.h | 64 + .../include/JellyfinQt/dto/publicsysteminfo.h | 150 + core/include/JellyfinQt/dto/queryfilters.h | 85 + .../JellyfinQt/dto/queryfilterslegacy.h | 100 + core/include/JellyfinQt/dto/queueitem.h | 80 + core/include/JellyfinQt/dto/queuerequestdto.h | 87 + core/include/JellyfinQt/dto/quickconnectdto.h | 76 + .../JellyfinQt/dto/quickconnectresult.h | 137 + .../JellyfinQt/dto/quickconnectstate.h | 61 + core/include/JellyfinQt/dto/ratingtype.h | 60 + core/include/JellyfinQt/dto/readyrequestdto.h | 107 + .../JellyfinQt/dto/recommendationdto.h | 99 + .../JellyfinQt/dto/recommendationtype.h | 64 + core/include/JellyfinQt/dto/recordingstatus.h | 65 + core/include/JellyfinQt/dto/remoteimageinfo.h | 176 + .../JellyfinQt/dto/remoteimageresult.h | 103 + .../JellyfinQt/dto/remotesearchresult.h | 176 + .../JellyfinQt/dto/remotesubtitleinfo.h | 155 + .../dto/removefromplaylistrequestdto.h | 80 + core/include/JellyfinQt/dto/repeatmode.h | 61 + core/include/JellyfinQt/dto/repositoryinfo.h | 100 + core/include/JellyfinQt/dto/responseprofile.h | 125 + core/include/JellyfinQt/dto/scrolldirection.h | 60 + core/include/JellyfinQt/dto/searchhint.h | 385 + .../include/JellyfinQt/dto/searchhintresult.h | 91 + core/include/JellyfinQt/dto/seekrequestdto.h | 75 + core/include/JellyfinQt/dto/sendcommand.h | 126 + core/include/JellyfinQt/dto/sendcommandtype.h | 62 + core/include/JellyfinQt/dto/seriesinfo.h | 169 + .../dto/seriesinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/seriesstatus.h | 60 + .../JellyfinQt/dto/seriestimerinfodto.h | 438 + .../dto/seriestimerinfodtoqueryresult.h | 101 + .../JellyfinQt/dto/serverconfiguration.h | 905 + core/include/JellyfinQt/dto/sessioninfo.h | 332 + core/include/JellyfinQt/dto/sessionuserinfo.h | 88 + .../JellyfinQt/dto/setchannelmappingdto.h | 96 + .../dto/setplaylistitemrequestdto.h | 76 + .../JellyfinQt/dto/setrepeatmoderequestdto.h | 72 + .../JellyfinQt/dto/setshufflemoderequestdto.h | 72 + core/include/JellyfinQt/dto/songinfo.h | 195 + core/include/JellyfinQt/dto/sortorder.h | 60 + .../JellyfinQt/dto/specialviewoptiondto.h | 90 + .../JellyfinQt/dto/startupconfigurationdto.h | 102 + .../JellyfinQt/dto/startupremoteaccessdto.h | 85 + core/include/JellyfinQt/dto/startupuserdto.h | 90 + .../JellyfinQt/dto/subtitledeliverymethod.h | 62 + .../JellyfinQt/dto/subtitleplaybackmode.h | 63 + core/include/JellyfinQt/dto/subtitleprofile.h | 105 + .../JellyfinQt/dto/syncplayuseraccesstype.h | 61 + core/include/JellyfinQt/dto/systeminfo.h | 350 + .../JellyfinQt/dto/taskcompletionstatus.h | 62 + core/include/JellyfinQt/dto/taskinfo.h | 178 + core/include/JellyfinQt/dto/taskresult.h | 154 + core/include/JellyfinQt/dto/taskstate.h | 61 + core/include/JellyfinQt/dto/tasktriggerinfo.h | 121 + .../include/JellyfinQt/dto/thememediaresult.h | 112 + core/include/JellyfinQt/dto/timereventinfo.h | 82 + core/include/JellyfinQt/dto/timerinfodto.h | 367 + .../JellyfinQt/dto/timerinfodtoqueryresult.h | 101 + core/include/JellyfinQt/dto/trailerinfo.h | 169 + .../dto/trailerinforemotesearchquery.h | 102 + core/include/JellyfinQt/dto/transcodereason.h | 81 + .../JellyfinQt/dto/transcodeseekinfo.h | 60 + core/include/JellyfinQt/dto/transcodinginfo.h | 161 + .../JellyfinQt/dto/transcodingprofile.h | 169 + .../JellyfinQt/dto/transportstreamtimestamp.h | 61 + .../JellyfinQt/dto/tunerchannelmapping.h | 98 + core/include/JellyfinQt/dto/tunerhostinfo.h | 146 + core/include/JellyfinQt/dto/typeoptions.h | 118 + core/include/JellyfinQt/dto/unrateditem.h | 67 + .../JellyfinQt/dto/updatelibraryoptionsdto.h | 84 + .../JellyfinQt/dto/updateusereasypassword.h | 100 + .../JellyfinQt/dto/updateuserpassword.h | 112 + .../JellyfinQt/dto/uploadsubtitledto.h | 106 + .../JellyfinQt/dto/userconfiguration.h | 183 + core/include/JellyfinQt/dto/userdto.h | 220 + core/include/JellyfinQt/dto/useritemdatadto.h | 191 + core/include/JellyfinQt/dto/userpolicy.h | 350 + core/include/JellyfinQt/dto/utctimeresponse.h | 86 + core/include/JellyfinQt/dto/validatepathdto.h | 100 + core/include/JellyfinQt/dto/version.h | 101 + core/include/JellyfinQt/dto/versioninfo.h | 170 + core/include/JellyfinQt/dto/video3dformat.h | 63 + core/include/JellyfinQt/dto/videotype.h | 62 + .../JellyfinQt/dto/virtualfolderinfo.h | 152 + core/include/JellyfinQt/dto/wakeonlaninfo.h | 88 + core/include/JellyfinQt/dto/xmlattribute.h | 90 + core/include/JellyfinQt/eventbus.h | 49 + core/include/JellyfinQt/jellyfin.h | 13 +- .../include/JellyfinQt/loader/http/activate.h | 49 + .../loader/http/addlistingprovider.h | 60 + .../JellyfinQt/loader/http/addmediapath.h | 49 + .../JellyfinQt/loader/http/addtocollection.h | 49 + .../JellyfinQt/loader/http/addtoplaylist.h | 49 + .../JellyfinQt/loader/http/addtunerhost.h | 60 + .../JellyfinQt/loader/http/addusertosession.h | 49 + .../JellyfinQt/loader/http/addvirtualfolder.h | 49 + .../loader/http/applysearchcriteria.h | 49 + .../JellyfinQt/loader/http/authenticateuser.h | 60 + .../loader/http/authenticateuserbyname.h | 60 + .../http/authenticatewithquickconnect.h | 60 + .../JellyfinQt/loader/http/authorize.h | 49 + .../JellyfinQt/loader/http/available.h | 49 + .../loader/http/cancelpackageinstallation.h | 49 + .../loader/http/cancelseriestimer.h | 49 + .../JellyfinQt/loader/http/canceltimer.h | 49 + .../JellyfinQt/loader/http/closelivestream.h | 49 + .../JellyfinQt/loader/http/completewizard.h | 49 + core/include/JellyfinQt/loader/http/connect.h | 60 + .../loader/http/createadminnotification.h | 49 + .../JellyfinQt/loader/http/createcollection.h | 60 + .../JellyfinQt/loader/http/createkey.h | 49 + .../JellyfinQt/loader/http/createplaylist.h | 60 + .../JellyfinQt/loader/http/createprofile.h | 49 + .../loader/http/createseriestimer.h | 49 + .../JellyfinQt/loader/http/createtimer.h | 49 + .../JellyfinQt/loader/http/createuserbyname.h | 60 + .../JellyfinQt/loader/http/deauthorize.h | 49 + .../loader/http/deletealternatesources.h | 49 + .../JellyfinQt/loader/http/deletedevice.h | 49 + .../JellyfinQt/loader/http/deleteitem.h | 49 + .../JellyfinQt/loader/http/deleteitemimage.h | 49 + .../loader/http/deleteitemimagebyindex.h | 49 + .../JellyfinQt/loader/http/deleteitems.h | 49 + .../loader/http/deletelistingprovider.h | 49 + .../JellyfinQt/loader/http/deleteprofile.h | 49 + .../JellyfinQt/loader/http/deleterecording.h | 49 + .../JellyfinQt/loader/http/deletesubtitle.h | 49 + .../JellyfinQt/loader/http/deletetunerhost.h | 49 + .../JellyfinQt/loader/http/deleteuser.h | 49 + .../JellyfinQt/loader/http/deleteuserimage.h | 49 + .../loader/http/deleteuserimagebyindex.h | 49 + .../loader/http/deleteuseritemrating.h | 60 + .../JellyfinQt/loader/http/disableplugin.h | 49 + .../JellyfinQt/loader/http/discovertuners.h | 49 + .../JellyfinQt/loader/http/discvovertuners.h | 49 + .../JellyfinQt/loader/http/displaycontent.h | 49 + .../loader/http/downloadremoteimage.h | 49 + .../loader/http/downloadremotesubtitles.h | 49 + .../JellyfinQt/loader/http/enableplugin.h | 49 + .../JellyfinQt/loader/http/forgotpassword.h | 60 + .../loader/http/forgotpasswordpin.h | 60 + core/include/JellyfinQt/loader/http/get.h | 60 + .../loader/http/getadditionalpart.h | 60 + .../JellyfinQt/loader/http/getalbumartists.h | 60 + .../loader/http/getallchannelfeatures.h | 49 + .../JellyfinQt/loader/http/getancestors.h | 49 + .../JellyfinQt/loader/http/getartistbyname.h | 60 + .../JellyfinQt/loader/http/getartistimage.h | 49 + .../JellyfinQt/loader/http/getartists.h | 60 + .../JellyfinQt/loader/http/getattachment.h | 49 + .../JellyfinQt/loader/http/getaudiostream.h | 49 + .../loader/http/getaudiostreambycontainer.h | 49 + .../JellyfinQt/loader/http/getauthproviders.h | 49 + .../loader/http/getbitratetestbytes.h | 49 + .../loader/http/getbookremotesearchresults.h | 49 + .../http/getboxsetremotesearchresults.h | 49 + .../JellyfinQt/loader/http/getbrandingcss.h | 49 + .../JellyfinQt/loader/http/getbrandingcss_2.h | 49 + .../loader/http/getbrandingoptions.h | 60 + .../JellyfinQt/loader/http/getchannel.h | 60 + .../loader/http/getchannelfeatures.h | 60 + .../JellyfinQt/loader/http/getchannelitems.h | 60 + .../loader/http/getchannelmappingoptions.h | 60 + .../JellyfinQt/loader/http/getchannels.h | 60 + .../JellyfinQt/loader/http/getconfiguration.h | 60 + .../loader/http/getconfigurationpages.h | 49 + .../loader/http/getconnectionmanager.h | 49 + .../loader/http/getconnectionmanager_2.h | 49 + .../loader/http/getconnectionmanager_3.h | 49 + .../loader/http/getcontentdirectory.h | 49 + .../loader/http/getcontentdirectory_2.h | 49 + .../loader/http/getcontentdirectory_3.h | 49 + .../JellyfinQt/loader/http/getcountries.h | 49 + .../JellyfinQt/loader/http/getcriticreviews.h | 60 + .../JellyfinQt/loader/http/getcultures.h | 49 + .../JellyfinQt/loader/http/getcurrentuser.h | 60 + .../http/getdashboardconfigurationpage.h | 49 + .../loader/http/getdefaultdirectorybrowser.h | 60 + .../loader/http/getdefaultlistingprovider.h | 60 + .../loader/http/getdefaultmetadataoptions.h | 60 + .../loader/http/getdefaultprofile.h | 60 + .../JellyfinQt/loader/http/getdefaulttimer.h | 60 + .../loader/http/getdescriptionxml.h | 49 + .../loader/http/getdescriptionxml_2.h | 49 + .../JellyfinQt/loader/http/getdeviceinfo.h | 60 + .../JellyfinQt/loader/http/getdeviceoptions.h | 60 + .../JellyfinQt/loader/http/getdevices.h | 60 + .../loader/http/getdirectorycontents.h | 49 + .../loader/http/getdisplaypreferences.h | 60 + .../JellyfinQt/loader/http/getdownload.h | 49 + .../JellyfinQt/loader/http/getdrives.h | 49 + .../JellyfinQt/loader/http/getendpointinfo.h | 60 + .../JellyfinQt/loader/http/getepisodes.h | 60 + .../loader/http/getexternalidinfos.h | 49 + .../JellyfinQt/loader/http/getfallbackfont.h | 49 + .../loader/http/getfallbackfontlist.h | 49 + core/include/JellyfinQt/loader/http/getfile.h | 49 + .../JellyfinQt/loader/http/getfirstuser.h | 60 + .../JellyfinQt/loader/http/getfirstuser_2.h | 60 + .../JellyfinQt/loader/http/getgeneralimage.h | 49 + .../JellyfinQt/loader/http/getgeneralimages.h | 49 + .../include/JellyfinQt/loader/http/getgenre.h | 60 + .../JellyfinQt/loader/http/getgenreimage.h | 49 + .../loader/http/getgenreimagebyindex.h | 49 + .../JellyfinQt/loader/http/getgenres.h | 60 + .../loader/http/getgroupingoptions.h | 49 + .../JellyfinQt/loader/http/getguideinfo.h | 60 + .../loader/http/gethlsaudiosegment.h | 49 + .../loader/http/gethlsaudiosegmentlegacyaac.h | 49 + .../loader/http/gethlsaudiosegmentlegacymp3.h | 49 + .../loader/http/gethlsplaylistlegacy.h | 49 + .../loader/http/gethlsvideosegment.h | 49 + .../loader/http/gethlsvideosegmentlegacy.h | 49 + core/include/JellyfinQt/loader/http/geticon.h | 49 + .../JellyfinQt/loader/http/geticonid.h | 49 + .../loader/http/getinstantmixfromalbum.h | 60 + .../loader/http/getinstantmixfromartists.h | 60 + .../loader/http/getinstantmixfromitem.h | 60 + .../loader/http/getinstantmixfrommusicgenre.h | 60 + .../http/getinstantmixfrommusicgenres.h | 60 + .../loader/http/getinstantmixfromplaylist.h | 60 + .../loader/http/getinstantmixfromsong.h | 60 + .../JellyfinQt/loader/http/getintros.h | 60 + core/include/JellyfinQt/loader/http/getitem.h | 60 + .../JellyfinQt/loader/http/getitemcounts.h | 60 + .../JellyfinQt/loader/http/getitemimage.h | 49 + .../JellyfinQt/loader/http/getitemimage2.h | 49 + .../loader/http/getitemimagebyindex.h | 49 + .../loader/http/getitemimageinfos.h | 49 + .../include/JellyfinQt/loader/http/getitems.h | 60 + .../JellyfinQt/loader/http/getitemsbyuserid.h | 60 + core/include/JellyfinQt/loader/http/getkeys.h | 60 + .../loader/http/getlatestchannelitems.h | 60 + .../JellyfinQt/loader/http/getlatestmedia.h | 49 + .../loader/http/getlibraryoptionsinfo.h | 60 + .../JellyfinQt/loader/http/getlineups.h | 49 + .../JellyfinQt/loader/http/getlivehlsstream.h | 49 + .../loader/http/getliverecordingfile.h | 49 + .../loader/http/getlivestreamfile.h | 49 + .../loader/http/getlivetvchannels.h | 60 + .../JellyfinQt/loader/http/getlivetvinfo.h | 60 + .../loader/http/getlivetvprograms.h | 60 + .../loader/http/getlocalizationoptions.h | 49 + .../JellyfinQt/loader/http/getlocaltrailers.h | 49 + .../JellyfinQt/loader/http/getlogentries.h | 60 + .../JellyfinQt/loader/http/getlogfile.h | 49 + .../loader/http/getmasterhlsaudioplaylist.h | 49 + .../loader/http/getmasterhlsvideoplaylist.h | 49 + .../JellyfinQt/loader/http/getmediafolders.h | 60 + .../loader/http/getmediainfoimage.h | 49 + .../loader/http/getmediainfoimages.h | 49 + .../loader/http/getmediareceiverregistrar.h | 49 + .../loader/http/getmediareceiverregistrar_2.h | 49 + .../loader/http/getmediareceiverregistrar_3.h | 49 + .../loader/http/getmetadataeditorinfo.h | 60 + .../loader/http/getmovierecommendations.h | 49 + .../loader/http/getmovieremotesearchresults.h | 49 + .../http/getmusicalbumremotesearchresults.h | 49 + .../http/getmusicartistremotesearchresults.h | 49 + .../JellyfinQt/loader/http/getmusicgenre.h | 60 + .../loader/http/getmusicgenreimage.h | 49 + .../loader/http/getmusicgenreimagebyindex.h | 49 + .../JellyfinQt/loader/http/getmusicgenres.h | 60 + .../http/getmusicvideoremotesearchresults.h | 49 + .../loader/http/getnamedconfiguration.h | 49 + .../JellyfinQt/loader/http/getnetworkshares.h | 49 + .../JellyfinQt/loader/http/getnextup.h | 60 + .../JellyfinQt/loader/http/getnotifications.h | 60 + .../loader/http/getnotificationservices.h | 49 + .../loader/http/getnotificationssummary.h | 60 + .../loader/http/getnotificationtypes.h | 49 + .../JellyfinQt/loader/http/getpackageinfo.h | 60 + .../JellyfinQt/loader/http/getpackages.h | 49 + .../loader/http/getparentalratings.h | 49 + .../JellyfinQt/loader/http/getparentpath.h | 49 + .../loader/http/getpasswordresetproviders.h | 49 + .../JellyfinQt/loader/http/getperson.h | 60 + .../JellyfinQt/loader/http/getpersonimage.h | 49 + .../loader/http/getpersonimagebyindex.h | 49 + .../http/getpersonremotesearchresults.h | 49 + .../JellyfinQt/loader/http/getpersons.h | 60 + .../JellyfinQt/loader/http/getphysicalpaths.h | 49 + .../JellyfinQt/loader/http/getpingsystem.h | 49 + .../JellyfinQt/loader/http/getplaybackinfo.h | 60 + .../JellyfinQt/loader/http/getplaylistitems.h | 60 + .../loader/http/getpluginconfiguration.h | 60 + .../JellyfinQt/loader/http/getpluginimage.h | 49 + .../loader/http/getpluginmanifest.h | 49 + .../JellyfinQt/loader/http/getplugins.h | 49 + .../loader/http/getpostedplaybackinfo.h | 60 + .../JellyfinQt/loader/http/getprofile.h | 60 + .../JellyfinQt/loader/http/getprofileinfos.h | 49 + .../JellyfinQt/loader/http/getprogram.h | 60 + .../JellyfinQt/loader/http/getprograms.h | 60 + .../loader/http/getpublicsysteminfo.h | 60 + .../JellyfinQt/loader/http/getpublicusers.h | 49 + .../JellyfinQt/loader/http/getqueryfilters.h | 60 + .../loader/http/getqueryfilterslegacy.h | 60 + .../JellyfinQt/loader/http/getratingimage.h | 49 + .../JellyfinQt/loader/http/getratingimages.h | 49 + .../loader/http/getrecommendedprograms.h | 60 + .../JellyfinQt/loader/http/getrecording.h | 60 + .../loader/http/getrecordingfolders.h | 60 + .../loader/http/getrecordinggroup.h | 49 + .../loader/http/getrecordinggroups.h | 60 + .../JellyfinQt/loader/http/getrecordings.h | 60 + .../loader/http/getrecordingsseries.h | 60 + .../JellyfinQt/loader/http/getremoteimage.h | 49 + .../loader/http/getremoteimageproviders.h | 49 + .../JellyfinQt/loader/http/getremoteimages.h | 60 + .../loader/http/getremotesearchimage.h | 49 + .../loader/http/getremotesubtitles.h | 49 + .../JellyfinQt/loader/http/getrepositories.h | 49 + .../JellyfinQt/loader/http/getresumeitems.h | 60 + .../JellyfinQt/loader/http/getrootfolder.h | 60 + .../loader/http/getschedulesdirectcountries.h | 49 + .../JellyfinQt/loader/http/getseasons.h | 60 + .../http/getseriesremotesearchresults.h | 49 + .../JellyfinQt/loader/http/getseriestimer.h | 60 + .../JellyfinQt/loader/http/getseriestimers.h | 60 + .../JellyfinQt/loader/http/getserverlogs.h | 49 + .../JellyfinQt/loader/http/getsessions.h | 49 + .../JellyfinQt/loader/http/getsimilaralbums.h | 60 + .../loader/http/getsimilarartists.h | 60 + .../JellyfinQt/loader/http/getsimilaritems.h | 60 + .../JellyfinQt/loader/http/getsimilarmovies.h | 60 + .../JellyfinQt/loader/http/getsimilarshows.h | 60 + .../loader/http/getsimilartrailers.h | 60 + .../loader/http/getspecialfeatures.h | 49 + .../loader/http/getstartupconfiguration.h | 60 + .../JellyfinQt/loader/http/getstatus.h | 60 + .../JellyfinQt/loader/http/getstudio.h | 60 + .../JellyfinQt/loader/http/getstudioimage.h | 49 + .../loader/http/getstudioimagebyindex.h | 49 + .../JellyfinQt/loader/http/getstudios.h | 60 + .../JellyfinQt/loader/http/getsubtitle.h | 49 + .../loader/http/getsubtitleplaylist.h | 49 + .../loader/http/getsubtitlewithticks.h | 49 + .../JellyfinQt/loader/http/getsuggestions.h | 60 + .../JellyfinQt/loader/http/getsysteminfo.h | 60 + core/include/JellyfinQt/loader/http/gettask.h | 60 + .../include/JellyfinQt/loader/http/gettasks.h | 49 + .../JellyfinQt/loader/http/getthememedia.h | 60 + .../JellyfinQt/loader/http/getthemesongs.h | 60 + .../JellyfinQt/loader/http/getthemevideos.h | 60 + .../include/JellyfinQt/loader/http/gettimer.h | 60 + .../JellyfinQt/loader/http/gettimers.h | 60 + .../http/gettrailerremotesearchresults.h | 49 + .../JellyfinQt/loader/http/gettrailers.h | 60 + .../loader/http/gettunerhosttypes.h | 49 + .../loader/http/getuniversalaudiostream.h | 49 + .../loader/http/getupcomingepisodes.h | 60 + .../JellyfinQt/loader/http/getuserbyid.h | 60 + .../JellyfinQt/loader/http/getuserimage.h | 49 + .../loader/http/getuserimagebyindex.h | 49 + .../include/JellyfinQt/loader/http/getusers.h | 49 + .../JellyfinQt/loader/http/getuserviews.h | 60 + .../JellyfinQt/loader/http/getutctime.h | 60 + .../loader/http/getvarianthlsaudioplaylist.h | 49 + .../loader/http/getvarianthlsvideoplaylist.h | 49 + .../JellyfinQt/loader/http/getvideostream.h | 49 + .../loader/http/getvideostreambycontainer.h | 49 + .../loader/http/getvirtualfolders.h | 49 + .../JellyfinQt/loader/http/getwakeonlaninfo.h | 49 + core/include/JellyfinQt/loader/http/getyear.h | 60 + .../include/JellyfinQt/loader/http/getyears.h | 60 + .../JellyfinQt/loader/http/headartistimage.h | 49 + .../JellyfinQt/loader/http/headaudiostream.h | 49 + .../loader/http/headaudiostreambycontainer.h | 49 + .../JellyfinQt/loader/http/headgenreimage.h | 49 + .../loader/http/headgenreimagebyindex.h | 49 + .../JellyfinQt/loader/http/headitemimage.h | 49 + .../JellyfinQt/loader/http/headitemimage2.h | 49 + .../loader/http/headitemimagebyindex.h | 49 + .../loader/http/headmasterhlsaudioplaylist.h | 49 + .../loader/http/headmasterhlsvideoplaylist.h | 49 + .../loader/http/headmusicgenreimage.h | 49 + .../loader/http/headmusicgenreimagebyindex.h | 49 + .../JellyfinQt/loader/http/headpersonimage.h | 49 + .../loader/http/headpersonimagebyindex.h | 49 + .../JellyfinQt/loader/http/headstudioimage.h | 49 + .../loader/http/headstudioimagebyindex.h | 49 + .../loader/http/headuniversalaudiostream.h | 49 + .../JellyfinQt/loader/http/headuserimage.h | 49 + .../loader/http/headuserimagebyindex.h | 49 + .../JellyfinQt/loader/http/headvideostream.h | 49 + .../loader/http/headvideostreambycontainer.h | 49 + .../include/JellyfinQt/loader/http/initiate.h | 60 + .../JellyfinQt/loader/http/installpackage.h | 49 + .../JellyfinQt/loader/http/markfavoriteitem.h | 60 + .../JellyfinQt/loader/http/markplayeditem.h | 60 + .../JellyfinQt/loader/http/markunplayeditem.h | 60 + .../JellyfinQt/loader/http/mergeversions.h | 49 + .../include/JellyfinQt/loader/http/moveitem.h | 49 + .../loader/http/onplaybackprogress.h | 49 + .../JellyfinQt/loader/http/onplaybackstart.h | 49 + .../loader/http/onplaybackstopped.h | 49 + .../JellyfinQt/loader/http/openlivestream.h | 60 + .../loader/http/pingplaybacksession.h | 49 + core/include/JellyfinQt/loader/http/play.h | 49 + core/include/JellyfinQt/loader/http/post.h | 49 + .../JellyfinQt/loader/http/postaddedmovies.h | 49 + .../JellyfinQt/loader/http/postaddedseries.h | 49 + .../JellyfinQt/loader/http/postcapabilities.h | 49 + .../loader/http/postfullcapabilities.h | 49 + .../JellyfinQt/loader/http/postpingsystem.h | 49 + .../JellyfinQt/loader/http/postupdatedmedia.h | 49 + .../loader/http/postupdatedmovies.h | 49 + .../loader/http/postupdatedseries.h | 49 + .../JellyfinQt/loader/http/postuserimage.h | 49 + .../loader/http/postuserimagebyindex.h | 49 + .../processconnectionmanagercontrolrequest.h | 49 + .../processcontentdirectorycontrolrequest.h | 49 + ...cessmediareceiverregistrarcontrolrequest.h | 49 + .../JellyfinQt/loader/http/refreshlibrary.h | 49 + .../loader/http/removefromcollection.h | 49 + .../loader/http/removefromplaylist.h | 49 + .../JellyfinQt/loader/http/removemediapath.h | 49 + .../loader/http/removeuserfromsession.h | 49 + .../loader/http/removevirtualfolder.h | 49 + .../loader/http/renamevirtualfolder.h | 49 + .../loader/http/reportplaybackprogress.h | 49 + .../loader/http/reportplaybackstart.h | 49 + .../loader/http/reportplaybackstopped.h | 49 + .../loader/http/reportsessionended.h | 49 + .../JellyfinQt/loader/http/reportviewing.h | 49 + .../JellyfinQt/loader/http/resettuner.h | 49 + .../loader/http/restartapplication.h | 49 + .../JellyfinQt/loader/http/revokekey.h | 49 + .../loader/http/searchremotesubtitles.h | 49 + .../loader/http/sendfullgeneralcommand.h | 49 + .../loader/http/sendgeneralcommand.h | 49 + .../loader/http/sendmessagecommand.h | 49 + .../loader/http/sendplaystatecommand.h | 49 + .../loader/http/sendsystemcommand.h | 49 + .../loader/http/setchannelmapping.h | 60 + .../JellyfinQt/loader/http/setitemimage.h | 49 + .../loader/http/setitemimagebyindex.h | 49 + core/include/JellyfinQt/loader/http/setread.h | 49 + .../JellyfinQt/loader/http/setremoteaccess.h | 49 + .../JellyfinQt/loader/http/setrepositories.h | 49 + .../JellyfinQt/loader/http/setunread.h | 49 + .../loader/http/shutdownapplication.h | 49 + .../JellyfinQt/loader/http/starttask.h | 49 + .../loader/http/stopencodingprocess.h | 49 + .../include/JellyfinQt/loader/http/stoptask.h | 49 + .../loader/http/syncplaybuffering.h | 49 + .../loader/http/syncplaycreategroup.h | 49 + .../loader/http/syncplaygetgroups.h | 49 + .../loader/http/syncplayjoingroup.h | 49 + .../loader/http/syncplayleavegroup.h | 49 + .../loader/http/syncplaymoveplaylistitem.h | 49 + .../JellyfinQt/loader/http/syncplaynextitem.h | 49 + .../JellyfinQt/loader/http/syncplaypause.h | 49 + .../JellyfinQt/loader/http/syncplayping.h | 49 + .../loader/http/syncplaypreviousitem.h | 49 + .../JellyfinQt/loader/http/syncplayqueue.h | 49 + .../JellyfinQt/loader/http/syncplayready.h | 49 + .../loader/http/syncplayremovefromplaylist.h | 49 + .../JellyfinQt/loader/http/syncplayseek.h | 49 + .../loader/http/syncplaysetignorewait.h | 49 + .../loader/http/syncplaysetnewqueue.h | 49 + .../loader/http/syncplaysetplaylistitem.h | 49 + .../loader/http/syncplaysetrepeatmode.h | 49 + .../loader/http/syncplaysetshufflemode.h | 49 + .../JellyfinQt/loader/http/syncplaystop.h | 49 + .../JellyfinQt/loader/http/syncplayunpause.h | 49 + .../JellyfinQt/loader/http/uninstallplugin.h | 49 + .../loader/http/uninstallpluginbyversion.h | 49 + .../loader/http/unmarkfavoriteitem.h | 60 + .../loader/http/updateconfiguration.h | 49 + .../loader/http/updatedeviceoptions.h | 49 + .../loader/http/updatedisplaypreferences.h | 49 + .../loader/http/updateinitialconfiguration.h | 49 + .../JellyfinQt/loader/http/updateitem.h | 49 + .../loader/http/updateitemcontenttype.h | 49 + .../loader/http/updateitemimageindex.h | 49 + .../loader/http/updatelibraryoptions.h | 49 + .../loader/http/updatemediaencoderpath.h | 49 + .../JellyfinQt/loader/http/updatemediapath.h | 49 + .../loader/http/updatenamedconfiguration.h | 49 + .../loader/http/updatepluginconfiguration.h | 49 + .../loader/http/updatepluginsecurityinfo.h | 49 + .../JellyfinQt/loader/http/updateprofile.h | 49 + .../loader/http/updateseriestimer.h | 49 + .../loader/http/updatestartupuser.h | 49 + .../JellyfinQt/loader/http/updatetask.h | 49 + .../JellyfinQt/loader/http/updatetimer.h | 49 + .../JellyfinQt/loader/http/updateuser.h | 49 + .../loader/http/updateuserconfiguration.h | 49 + .../loader/http/updateusereasypassword.h | 49 + .../loader/http/updateuseritemrating.h | 60 + .../loader/http/updateuserpassword.h | 49 + .../JellyfinQt/loader/http/updateuserpolicy.h | 49 + .../JellyfinQt/loader/http/uploadsubtitle.h | 49 + .../JellyfinQt/loader/http/validatepath.h | 49 + core/include/JellyfinQt/loader/requesttypes.h | 23289 ++++++++++++++++ core/include/JellyfinQt/model/item.h | 228 +- core/include/JellyfinQt/remotedata.h | 234 - core/include/JellyfinQt/support/jsonconv.h | 20 +- core/include/JellyfinQt/support/loader.h | 91 +- core/include/JellyfinQt/viewmodel/item.h | 197 + core/include/JellyfinQt/viewmodel/loader.h | 211 + .../{ => viewmodel}/playbackmanager.h | 59 +- core/openapigenerator.d | 567 +- core/src/DTO/accessschedule.cpp | 6 + core/src/DTO/activitylogentry.cpp | 11 + core/src/DTO/activitylogentryqueryresult.cpp | 4 + core/src/DTO/addvirtualfolderdto.cpp | 2 + core/src/DTO/albuminfo.cpp | 14 + core/src/DTO/albuminforemotesearchquery.cpp | 5 + core/src/DTO/allthememediaresult.cpp | 4 + core/src/DTO/artistinfo.cpp | 12 + core/src/DTO/artistinforemotesearchquery.cpp | 5 + core/src/DTO/authenticateuserbyname.cpp | 4 + core/src/DTO/authenticationinfo.cpp | 13 + .../src/DTO/authenticationinfoqueryresult.cpp | 4 + core/src/DTO/authenticationresult.cpp | 5 + core/src/DTO/baseitem.cpp | 12 + core/src/DTO/baseitemdto.cpp | 152 + core/src/DTO/baseitemdtoqueryresult.cpp | 4 + core/src/DTO/baseitemperson.cpp | 7 + core/src/DTO/bookinfo.cpp | 12 + core/src/DTO/bookinforemotesearchquery.cpp | 5 + core/src/DTO/boxsetinfo.cpp | 11 + core/src/DTO/boxsetinforemotesearchquery.cpp | 5 + core/src/DTO/brandingoptions.cpp | 3 + core/src/DTO/bufferrequestdto.cpp | 5 + core/src/DTO/channelfeatures.cpp | 13 + core/src/DTO/channelmappingoptionsdto.cpp | 5 + core/src/DTO/chapterinfo.cpp | 6 + core/src/DTO/clientcapabilities.cpp | 11 + core/src/DTO/clientcapabilitiesdto.cpp | 11 + core/src/DTO/codecprofile.cpp | 6 + core/src/DTO/collectioncreationresult.cpp | 2 + core/src/DTO/configurationpageinfo.cpp | 8 + core/src/DTO/containerprofile.cpp | 4 + core/src/DTO/controlresponse.cpp | 4 + core/src/DTO/countryinfo.cpp | 5 + core/src/DTO/createplaylistdto.cpp | 5 + core/src/DTO/createuserbyname.cpp | 3 + core/src/DTO/culturedto.cpp | 6 + .../DTO/defaultdirectorybrowserinfodto.cpp | 2 + core/src/DTO/deviceidentification.cpp | 10 + core/src/DTO/deviceinfo.cpp | 10 + core/src/DTO/deviceinfoqueryresult.cpp | 4 + core/src/DTO/deviceoptions.cpp | 2 + core/src/DTO/deviceprofile.cpp | 40 + core/src/DTO/deviceprofileinfo.cpp | 4 + core/src/DTO/directplayprofile.cpp | 5 + core/src/DTO/displaypreferencesdto.cpp | 15 + core/src/DTO/endpointinfo.cpp | 3 + core/src/DTO/externalidinfo.cpp | 5 + core/src/DTO/externalurl.cpp | 3 + core/src/DTO/filesystementryinfo.cpp | 4 + core/src/DTO/fontfile.cpp | 5 + core/src/DTO/forgotpassworddto.cpp | 2 + core/src/DTO/forgotpasswordresult.cpp | 4 + core/src/DTO/generalcommand.cpp | 4 + core/src/DTO/getprogramsdto.cpp | 28 + core/src/DTO/groupinfodto.cpp | 6 + core/src/DTO/guideinfo.cpp | 3 + core/src/DTO/httpheaderinfo.cpp | 4 + core/src/DTO/ignorewaitrequestdto.cpp | 2 + core/src/DTO/imagebynameinfo.cpp | 6 + core/src/DTO/imageinfo.cpp | 9 + core/src/DTO/imageoption.cpp | 4 + core/src/DTO/imageproviderinfo.cpp | 3 + core/src/DTO/installationinfo.cpp | 7 + core/src/DTO/iplugin.cpp | 8 + core/src/DTO/itemcounts.cpp | 13 + core/src/DTO/joingrouprequestdto.cpp | 2 + core/src/DTO/libraryoptioninfodto.cpp | 3 + core/src/DTO/libraryoptions.cpp | 26 + core/src/DTO/libraryoptionsresultdto.cpp | 5 + core/src/DTO/librarytypeoptionsdto.cpp | 6 + core/src/DTO/libraryupdateinfo.cpp | 8 + core/src/DTO/listingsproviderinfo.cpp | 19 + core/src/DTO/livestreamresponse.cpp | 2 + core/src/DTO/livetvinfo.cpp | 4 + core/src/DTO/livetvserviceinfo.cpp | 9 + core/src/DTO/localizationoption.cpp | 3 + core/src/DTO/logfile.cpp | 5 + core/src/DTO/mediaattachment.cpp | 8 + core/src/DTO/mediaencoderpathdto.cpp | 3 + core/src/DTO/mediapathdto.cpp | 4 + core/src/DTO/mediapathinfo.cpp | 3 + core/src/DTO/mediasourceinfo.cpp | 43 + core/src/DTO/mediastream.cpp | 48 + core/src/DTO/mediaupdateinfodto.cpp | 3 + core/src/DTO/mediaurl.cpp | 3 + core/src/DTO/metadataeditorinfo.cpp | 7 + core/src/DTO/metadataoptions.cpp | 8 + core/src/DTO/moveplaylistitemrequestdto.cpp | 3 + core/src/DTO/movieinfo.cpp | 11 + core/src/DTO/movieinforemotesearchquery.cpp | 5 + core/src/DTO/musicvideoinfo.cpp | 12 + .../DTO/musicvideoinforemotesearchquery.cpp | 5 + core/src/DTO/nameguidpair.cpp | 3 + core/src/DTO/nameidpair.cpp | 3 + core/src/DTO/namevaluepair.cpp | 3 + core/src/DTO/newgrouprequestdto.cpp | 2 + core/src/DTO/nextitemrequestdto.cpp | 2 + core/src/DTO/notificationdto.cpp | 9 + core/src/DTO/notificationresultdto.cpp | 3 + core/src/DTO/notificationssummarydto.cpp | 3 + core/src/DTO/notificationtypeinfo.cpp | 6 + core/src/DTO/objectgroupupdate.cpp | 4 + core/src/DTO/openlivestreamdto.cpp | 14 + core/src/DTO/packageinfo.cpp | 9 + core/src/DTO/parentalrating.cpp | 3 + core/src/DTO/pathsubstitution.cpp | 3 + core/src/DTO/personlookupinfo.cpp | 11 + .../DTO/personlookupinforemotesearchquery.cpp | 5 + core/src/DTO/pingrequestdto.cpp | 2 + core/src/DTO/pinredeemresult.cpp | 3 + core/src/DTO/playbackinfodto.cpp | 16 + core/src/DTO/playbackinforesponse.cpp | 4 + core/src/DTO/playbackprogressinfo.cpp | 21 + core/src/DTO/playbackstartinfo.cpp | 21 + core/src/DTO/playbackstopinfo.cpp | 12 + core/src/DTO/playerstateinfo.cpp | 11 + core/src/DTO/playlistcreationresult.cpp | 2 + core/src/DTO/playrequest.cpp | 9 + core/src/DTO/playrequestdto.cpp | 4 + core/src/DTO/playstaterequest.cpp | 4 + core/src/DTO/plugininfo.cpp | 9 + core/src/DTO/pluginsecurityinfo.cpp | 3 + core/src/DTO/previousitemrequestdto.cpp | 2 + core/src/DTO/problemdetails.cpp | 6 + core/src/DTO/profilecondition.cpp | 5 + core/src/DTO/publicsysteminfo.cpp | 8 + core/src/DTO/queryfilters.cpp | 3 + core/src/DTO/queryfilterslegacy.cpp | 5 + core/src/DTO/queueitem.cpp | 3 + core/src/DTO/queuerequestdto.cpp | 3 + core/src/DTO/quickconnectdto.cpp | 2 + core/src/DTO/quickconnectresult.cpp | 7 + core/src/DTO/readyrequestdto.cpp | 5 + core/src/DTO/recommendationdto.cpp | 5 + core/src/DTO/remoteimageinfo.cpp | 11 + core/src/DTO/remoteimageresult.cpp | 4 + core/src/DTO/remotesearchresult.cpp | 13 + core/src/DTO/remotesubtitleinfo.cpp | 12 + core/src/DTO/removefromplaylistrequestdto.cpp | 2 + core/src/DTO/repositoryinfo.cpp | 4 + core/src/DTO/responseprofile.cpp | 8 + core/src/DTO/searchhint.cpp | 30 + core/src/DTO/searchhintresult.cpp | 3 + core/src/DTO/seekrequestdto.cpp | 2 + core/src/DTO/sendcommand.cpp | 7 + core/src/DTO/seriesinfo.cpp | 11 + core/src/DTO/seriesinforemotesearchquery.cpp | 5 + core/src/DTO/seriestimerinfodto.cpp | 36 + .../src/DTO/seriestimerinfodtoqueryresult.cpp | 4 + core/src/DTO/serverconfiguration.cpp | 86 + core/src/DTO/sessioninfo.cpp | 29 + core/src/DTO/sessionuserinfo.cpp | 3 + core/src/DTO/setchannelmappingdto.cpp | 4 + core/src/DTO/setplaylistitemrequestdto.cpp | 2 + core/src/DTO/setrepeatmoderequestdto.cpp | 2 + core/src/DTO/setshufflemoderequestdto.cpp | 2 + core/src/DTO/songinfo.cpp | 14 + core/src/DTO/specialviewoptiondto.cpp | 3 + core/src/DTO/startupconfigurationdto.cpp | 4 + core/src/DTO/startupremoteaccessdto.cpp | 3 + core/src/DTO/startupuserdto.cpp | 3 + core/src/DTO/subtitleprofile.cpp | 6 + core/src/DTO/systeminfo.cpp | 27 + core/src/DTO/taskinfo.cpp | 11 + core/src/DTO/taskresult.cpp | 9 + core/src/DTO/tasktriggerinfo.cpp | 6 + core/src/DTO/thememediaresult.cpp | 5 + core/src/DTO/timereventinfo.cpp | 3 + core/src/DTO/timerinfodto.cpp | 29 + core/src/DTO/timerinfodtoqueryresult.cpp | 4 + core/src/DTO/trailerinfo.cpp | 11 + core/src/DTO/trailerinforemotesearchquery.cpp | 5 + core/src/DTO/transcodinginfo.cpp | 13 + core/src/DTO/transcodingprofile.cpp | 16 + core/src/DTO/tunerchannelmapping.cpp | 5 + core/src/DTO/tunerhostinfo.cpp | 12 + core/src/DTO/typeoptions.cpp | 7 + core/src/DTO/updatelibraryoptionsdto.cpp | 3 + core/src/DTO/updateusereasypassword.cpp | 4 + core/src/DTO/updateuserpassword.cpp | 5 + core/src/DTO/uploadsubtitledto.cpp | 5 + core/src/DTO/userconfiguration.cpp | 16 + core/src/DTO/userdto.cpp | 15 + core/src/DTO/useritemdatadto.cpp | 12 + core/src/DTO/userpolicy.cpp | 40 + core/src/DTO/utctimeresponse.cpp | 3 + core/src/DTO/validatepathdto.cpp | 4 + core/src/DTO/version.cpp | 7 + core/src/DTO/versioninfo.cpp | 10 + core/src/DTO/virtualfolderinfo.cpp | 9 + core/src/DTO/wakeonlaninfo.cpp | 3 + core/src/DTO/xmlattribute.cpp | 3 + core/src/apiclient.cpp | 60 +- core/src/dto/accessschedule.cpp | 125 + core/src/dto/activitylogentry.cpp | 217 + core/src/dto/activitylogentryqueryresult.cpp | 112 + core/src/dto/addvirtualfolderdto.cpp | 85 + core/src/dto/albuminfo.cpp | 289 + core/src/dto/albuminforemotesearchquery.cpp | 122 + core/src/dto/allthememediaresult.cpp | 105 + core/src/dto/architecture.cpp | 69 + core/src/dto/artistinfo.cpp | 255 + core/src/dto/artistinforemotesearchquery.cpp | 122 + core/src/dto/authenticateuserbyname.cpp | 126 + core/src/dto/authenticationinfo.cpp | 244 + .../src/dto/authenticationinfoqueryresult.cpp | 112 + core/src/dto/authenticationresult.cpp | 129 + core/src/dto/baseitem.cpp | 220 + core/src/dto/baseitemdto.cpp | 2565 ++ core/src/dto/baseitemdtoqueryresult.cpp | 112 + core/src/dto/baseitemperson.cpp | 177 + core/src/dto/basepluginconfiguration.cpp | 0 core/src/dto/bookinfo.cpp | 255 + core/src/dto/bookinforemotesearchquery.cpp | 122 + core/src/dto/boxsetinfo.cpp | 238 + core/src/dto/boxsetinforemotesearchquery.cpp | 122 + core/src/dto/brandingoptions.cpp | 109 + core/src/dto/bufferrequestdto.cpp | 115 + core/src/dto/channelfeatures.cpp | 244 + core/src/dto/channelitemsortfield.cpp | 75 + core/src/dto/channelmappingoptionsdto.cpp | 143 + core/src/dto/channelmediacontenttype.cpp | 78 + core/src/dto/channelmediatype.cpp | 63 + core/src/dto/channeltype.cpp | 60 + core/src/dto/chapterinfo.cpp | 146 + core/src/dto/clientcapabilities.cpp | 210 + core/src/dto/clientcapabilitiesdto.cpp | 210 + core/src/dto/codecprofile.cpp | 153 + core/src/dto/codectype.cpp | 63 + core/src/dto/collectioncreationresult.cpp | 85 + core/src/dto/configurationpageinfo.cpp | 180 + core/src/dto/configurationpagetype.cpp | 60 + core/src/dto/containerprofile.cpp | 119 + core/src/dto/controlresponse.cpp | 119 + core/src/dto/countryinfo.cpp | 143 + core/src/dto/createplaylistdto.cpp | 143 + core/src/dto/createuserbyname.cpp | 109 + core/src/dto/culturedto.cpp | 160 + core/src/dto/dayofweek.cpp | 75 + core/src/dto/daypattern.cpp | 63 + .../dto/defaultdirectorybrowserinfodto.cpp | 92 + core/src/dto/deviceidentification.cpp | 228 + core/src/dto/deviceinfo.cpp | 207 + core/src/dto/deviceinfoqueryresult.cpp | 112 + core/src/dto/deviceoptions.cpp | 92 + core/src/dto/deviceprofile.cpp | 661 + core/src/dto/deviceprofileinfo.cpp | 119 + core/src/dto/deviceprofiletype.cpp | 60 + core/src/dto/directplayprofile.cpp | 136 + core/src/dto/displaypreferencesdto.cpp | 257 + core/src/dto/dlnaprofiletype.cpp | 63 + core/src/dto/dynamicdayofweek.cpp | 84 + core/src/dto/encodingcontext.cpp | 60 + core/src/dto/endpointinfo.cpp | 95 + core/src/dto/externalidinfo.cpp | 136 + core/src/dto/externalidmediatype.cpp | 90 + core/src/dto/externalurl.cpp | 109 + core/src/dto/ffmpeglocation.cpp | 66 + core/src/dto/filesystementryinfo.cpp | 119 + core/src/dto/filesystementrytype.cpp | 66 + core/src/dto/fontfile.cpp | 122 + core/src/dto/forgotpasswordaction.cpp | 63 + core/src/dto/forgotpassworddto.cpp | 85 + core/src/dto/forgotpasswordresult.cpp | 119 + core/src/dto/generalcommand.cpp | 112 + core/src/dto/generalcommandtype.cpp | 177 + core/src/dto/getprogramsdto.cpp | 513 + core/src/dto/groupinfodto.cpp | 139 + core/src/dto/groupqueuemode.cpp | 60 + core/src/dto/grouprepeatmode.cpp | 63 + core/src/dto/groupshufflemode.cpp | 60 + core/src/dto/groupstatetype.cpp | 66 + core/src/dto/groupupdatetype.cpp | 87 + core/src/dto/guideinfo.cpp | 95 + core/src/dto/headermatchtype.cpp | 63 + core/src/dto/httpheaderinfo.cpp | 119 + core/src/dto/ignorewaitrequestdto.cpp | 85 + core/src/dto/imagebynameinfo.cpp | 153 + core/src/dto/imageformat.cpp | 69 + core/src/dto/imageinfo.cpp | 197 + core/src/dto/imageoption.cpp | 105 + core/src/dto/imageorientation.cpp | 78 + core/src/dto/imageproviderinfo.cpp | 109 + core/src/dto/imagesavingconvention.cpp | 60 + core/src/dto/imagetype.cpp | 93 + core/src/dto/installationinfo.cpp | 163 + core/src/dto/iplugin.cpp | 173 + core/src/dto/isotype.cpp | 60 + core/src/dto/itemcounts.cpp | 195 + core/src/dto/itemfields.cpp | 237 + core/src/dto/itemfilter.cpp | 81 + core/src/dto/joingrouprequestdto.cpp | 85 + core/src/dto/keepuntil.cpp | 66 + core/src/dto/libraryoptioninfodto.cpp | 102 + core/src/dto/libraryoptions.cpp | 402 + core/src/dto/libraryoptionsresultdto.cpp | 143 + core/src/dto/librarytypeoptionsdto.cpp | 160 + core/src/dto/libraryupdateinfo.cpp | 187 + core/src/dto/listingsproviderinfo.cpp | 374 + core/src/dto/livestreamresponse.cpp | 85 + core/src/dto/livetvinfo.cpp | 119 + core/src/dto/livetvserviceinfo.cpp | 190 + core/src/dto/livetvservicestatus.cpp | 60 + core/src/dto/localizationoption.cpp | 109 + core/src/dto/locationtype.cpp | 66 + core/src/dto/logfile.cpp | 122 + core/src/dto/loglevel.cpp | 75 + core/src/dto/mediaattachment.cpp | 187 + core/src/dto/mediaencoderpathdto.cpp | 109 + core/src/dto/mediapathdto.cpp | 112 + core/src/dto/mediapathinfo.cpp | 109 + core/src/dto/mediaprotocol.cpp | 75 + core/src/dto/mediasourceinfo.cpp | 649 + core/src/dto/mediasourcetype.cpp | 63 + core/src/dto/mediastream.cpp | 811 + core/src/dto/mediastreamtype.cpp | 66 + core/src/dto/mediaupdateinfodto.cpp | 109 + core/src/dto/mediaurl.cpp | 109 + core/src/dto/metadataeditorinfo.cpp | 177 + core/src/dto/metadatafield.cpp | 81 + core/src/dto/metadataoptions.cpp | 194 + core/src/dto/metadatarefreshmode.cpp | 66 + core/src/dto/moveplaylistitemrequestdto.cpp | 95 + core/src/dto/movieinfo.cpp | 238 + core/src/dto/movieinforemotesearchquery.cpp | 122 + core/src/dto/musicvideoinfo.cpp | 255 + .../dto/musicvideoinforemotesearchquery.cpp | 122 + core/src/dto/nameguidpair.cpp | 102 + core/src/dto/nameidpair.cpp | 109 + core/src/dto/namevaluepair.cpp | 109 + core/src/dto/newgrouprequestdto.cpp | 92 + core/src/dto/nextitemrequestdto.cpp | 85 + core/src/dto/notificationdto.cpp | 190 + core/src/dto/notificationlevel.cpp | 63 + core/src/dto/notificationresultdto.cpp | 102 + core/src/dto/notificationssummarydto.cpp | 95 + core/src/dto/notificationtypeinfo.cpp | 146 + core/src/dto/objectgroupupdate.cpp | 112 + core/src/dto/openlivestreamdto.cpp | 289 + core/src/dto/packageinfo.cpp | 211 + core/src/dto/parentalrating.cpp | 102 + core/src/dto/pathsubstitution.cpp | 109 + core/src/dto/personlookupinfo.cpp | 238 + .../dto/personlookupinforemotesearchquery.cpp | 122 + core/src/dto/pingrequestdto.cpp | 85 + core/src/dto/pinredeemresult.cpp | 102 + core/src/dto/playaccess.cpp | 60 + core/src/dto/playbackerrorcode.cpp | 63 + core/src/dto/playbackinfodto.cpp | 323 + core/src/dto/playbackinforesponse.cpp | 119 + core/src/dto/playbackprogressinfo.cpp | 366 + core/src/dto/playbackstartinfo.cpp | 366 + core/src/dto/playbackstopinfo.cpp | 241 + core/src/dto/playcommand.cpp | 69 + core/src/dto/playerstateinfo.cpp | 210 + core/src/dto/playlistcreationresult.cpp | 92 + core/src/dto/playmethod.cpp | 63 + core/src/dto/playrequest.cpp | 197 + core/src/dto/playrequestdto.cpp | 112 + core/src/dto/playstatecommand.cpp | 81 + core/src/dto/playstaterequest.cpp | 119 + core/src/dto/plugininfo.cpp | 176 + core/src/dto/pluginsecurityinfo.cpp | 102 + core/src/dto/pluginstatus.cpp | 75 + core/src/dto/previousitemrequestdto.cpp | 85 + core/src/dto/problemdetails.cpp | 160 + core/src/dto/profilecondition.cpp | 122 + core/src/dto/profileconditiontype.cpp | 69 + core/src/dto/profileconditionvalue.cpp | 123 + core/src/dto/programaudio.cpp | 72 + core/src/dto/publicsysteminfo.cpp | 194 + core/src/dto/queryfilters.cpp | 109 + core/src/dto/queryfilterslegacy.cpp | 143 + core/src/dto/queueitem.cpp | 102 + core/src/dto/queuerequestdto.cpp | 102 + core/src/dto/quickconnectdto.cpp | 85 + core/src/dto/quickconnectresult.cpp | 170 + core/src/dto/quickconnectstate.cpp | 63 + core/src/dto/ratingtype.cpp | 60 + core/src/dto/readyrequestdto.cpp | 115 + core/src/dto/recommendationdto.cpp | 129 + core/src/dto/recommendationtype.cpp | 72 + core/src/dto/recordingstatus.cpp | 75 + core/src/dto/remoteimageinfo.cpp | 231 + core/src/dto/remoteimageresult.cpp | 119 + core/src/dto/remotesearchresult.cpp | 272 + core/src/dto/remotesubtitleinfo.cpp | 262 + core/src/dto/removefromplaylistrequestdto.cpp | 92 + core/src/dto/repeatmode.cpp | 63 + core/src/dto/repositoryinfo.cpp | 119 + core/src/dto/responseprofile.cpp | 187 + core/src/dto/scrolldirection.cpp | 60 + core/src/dto/searchhint.cpp | 540 + core/src/dto/searchhintresult.cpp | 102 + core/src/dto/seekrequestdto.cpp | 85 + core/src/dto/sendcommand.cpp | 142 + core/src/dto/sendcommandtype.cpp | 66 + core/src/dto/seriesinfo.cpp | 238 + core/src/dto/seriesinforemotesearchquery.cpp | 122 + core/src/dto/seriesstatus.cpp | 60 + core/src/dto/seriestimerinfodto.cpp | 565 + .../src/dto/seriestimerinfodtoqueryresult.cpp | 112 + core/src/dto/serverconfiguration.cpp | 1142 + core/src/dto/sessioninfo.cpp | 460 + core/src/dto/sessionuserinfo.cpp | 102 + core/src/dto/setchannelmappingdto.cpp | 105 + core/src/dto/setplaylistitemrequestdto.cpp | 85 + core/src/dto/setrepeatmoderequestdto.cpp | 85 + core/src/dto/setshufflemoderequestdto.cpp | 85 + core/src/dto/songinfo.cpp | 289 + core/src/dto/sortorder.cpp | 60 + core/src/dto/specialviewoptiondto.cpp | 109 + core/src/dto/startupconfigurationdto.cpp | 126 + core/src/dto/startupremoteaccessdto.cpp | 95 + core/src/dto/startupuserdto.cpp | 109 + core/src/dto/subtitledeliverymethod.cpp | 66 + core/src/dto/subtitleplaybackmode.cpp | 69 + core/src/dto/subtitleprofile.cpp | 153 + core/src/dto/syncplayuseraccesstype.cpp | 63 + core/src/dto/systeminfo.cpp | 454 + core/src/dto/taskcompletionstatus.cpp | 66 + core/src/dto/taskinfo.cpp | 224 + core/src/dto/taskresult.cpp | 190 + core/src/dto/taskstate.cpp | 63 + core/src/dto/tasktriggerinfo.cpp | 153 + core/src/dto/thememediaresult.cpp | 122 + core/src/dto/timereventinfo.cpp | 109 + core/src/dto/timerinfodto.cpp | 474 + core/src/dto/timerinfodtoqueryresult.cpp | 112 + core/src/dto/trailerinfo.cpp | 238 + core/src/dto/trailerinforemotesearchquery.cpp | 122 + core/src/dto/transcodereason.cpp | 123 + core/src/dto/transcodeseekinfo.cpp | 60 + core/src/dto/transcodinginfo.cpp | 265 + core/src/dto/transcodingprofile.cpp | 260 + core/src/dto/transportstreamtimestamp.cpp | 63 + core/src/dto/tunerchannelmapping.cpp | 143 + core/src/dto/tunerhostinfo.cpp | 234 + core/src/dto/typeoptions.cpp | 177 + core/src/dto/unrateditem.cpp | 81 + core/src/dto/updatelibraryoptionsdto.cpp | 95 + core/src/dto/updateusereasypassword.cpp | 119 + core/src/dto/updateuserpassword.cpp | 136 + core/src/dto/uploadsubtitledto.cpp | 115 + core/src/dto/userconfiguration.cpp | 267 + core/src/dto/userdto.cpp | 271 + core/src/dto/useritemdatadto.cpp | 234 + core/src/dto/userpolicy.cpp | 549 + core/src/dto/utctimeresponse.cpp | 95 + core/src/dto/validatepathdto.cpp | 119 + core/src/dto/version.cpp | 135 + core/src/dto/versioninfo.cpp | 221 + core/src/dto/video3dformat.cpp | 69 + core/src/dto/videotype.cpp | 66 + core/src/dto/virtualfolderinfo.cpp | 204 + core/src/dto/wakeonlaninfo.cpp | 102 + core/src/dto/xmlattribute.cpp | 109 + core/src/eventbus.cpp | 26 + core/src/jellyfin.cpp | 47 +- core/src/loader/http/activate.cpp | 0 core/src/loader/http/addlistingprovider.cpp | 0 core/src/loader/http/addmediapath.cpp | 0 core/src/loader/http/addtocollection.cpp | 0 core/src/loader/http/addtoplaylist.cpp | 0 core/src/loader/http/addtunerhost.cpp | 0 core/src/loader/http/addusertosession.cpp | 0 core/src/loader/http/addvirtualfolder.cpp | 0 core/src/loader/http/applysearchcriteria.cpp | 0 core/src/loader/http/authenticateuser.cpp | 0 .../loader/http/authenticateuserbyname.cpp | 0 .../http/authenticatewithquickconnect.cpp | 0 core/src/loader/http/authorize.cpp | 0 core/src/loader/http/available.cpp | 0 .../loader/http/cancelpackageinstallation.cpp | 0 core/src/loader/http/cancelseriestimer.cpp | 0 core/src/loader/http/canceltimer.cpp | 0 core/src/loader/http/closelivestream.cpp | 0 core/src/loader/http/completewizard.cpp | 0 core/src/loader/http/connect.cpp | 0 .../loader/http/createadminnotification.cpp | 0 core/src/loader/http/createcollection.cpp | 0 core/src/loader/http/createkey.cpp | 0 core/src/loader/http/createplaylist.cpp | 0 core/src/loader/http/createprofile.cpp | 0 core/src/loader/http/createseriestimer.cpp | 0 core/src/loader/http/createtimer.cpp | 0 core/src/loader/http/createuserbyname.cpp | 0 core/src/loader/http/deauthorize.cpp | 0 .../loader/http/deletealternatesources.cpp | 0 core/src/loader/http/deletedevice.cpp | 0 core/src/loader/http/deleteitem.cpp | 0 core/src/loader/http/deleteitemimage.cpp | 0 .../loader/http/deleteitemimagebyindex.cpp | 0 core/src/loader/http/deleteitems.cpp | 0 .../src/loader/http/deletelistingprovider.cpp | 0 core/src/loader/http/deleteprofile.cpp | 0 core/src/loader/http/deleterecording.cpp | 0 core/src/loader/http/deletesubtitle.cpp | 0 core/src/loader/http/deletetunerhost.cpp | 0 core/src/loader/http/deleteuser.cpp | 0 core/src/loader/http/deleteuserimage.cpp | 0 .../loader/http/deleteuserimagebyindex.cpp | 0 core/src/loader/http/deleteuseritemrating.cpp | 0 core/src/loader/http/disableplugin.cpp | 0 core/src/loader/http/discovertuners.cpp | 0 core/src/loader/http/discvovertuners.cpp | 0 core/src/loader/http/displaycontent.cpp | 0 core/src/loader/http/downloadremoteimage.cpp | 0 .../loader/http/downloadremotesubtitles.cpp | 0 core/src/loader/http/enableplugin.cpp | 0 core/src/loader/http/forgotpassword.cpp | 0 core/src/loader/http/forgotpasswordpin.cpp | 0 core/src/loader/http/get.cpp | 0 core/src/loader/http/getadditionalpart.cpp | 0 core/src/loader/http/getalbumartists.cpp | 0 .../src/loader/http/getallchannelfeatures.cpp | 0 core/src/loader/http/getancestors.cpp | 0 core/src/loader/http/getartistbyname.cpp | 0 core/src/loader/http/getartistimage.cpp | 0 core/src/loader/http/getartists.cpp | 0 core/src/loader/http/getattachment.cpp | 0 core/src/loader/http/getaudiostream.cpp | 0 .../loader/http/getaudiostreambycontainer.cpp | 0 core/src/loader/http/getauthproviders.cpp | 0 core/src/loader/http/getbitratetestbytes.cpp | 0 .../http/getbookremotesearchresults.cpp | 0 .../http/getboxsetremotesearchresults.cpp | 0 core/src/loader/http/getbrandingcss.cpp | 0 core/src/loader/http/getbrandingcss_2.cpp | 0 core/src/loader/http/getbrandingoptions.cpp | 0 core/src/loader/http/getchannel.cpp | 0 core/src/loader/http/getchannelfeatures.cpp | 0 core/src/loader/http/getchannelitems.cpp | 0 .../loader/http/getchannelmappingoptions.cpp | 0 core/src/loader/http/getchannels.cpp | 0 core/src/loader/http/getconfiguration.cpp | 0 .../src/loader/http/getconfigurationpages.cpp | 0 core/src/loader/http/getconnectionmanager.cpp | 0 .../loader/http/getconnectionmanager_2.cpp | 0 .../loader/http/getconnectionmanager_3.cpp | 0 core/src/loader/http/getcontentdirectory.cpp | 0 .../src/loader/http/getcontentdirectory_2.cpp | 0 .../src/loader/http/getcontentdirectory_3.cpp | 0 core/src/loader/http/getcountries.cpp | 0 core/src/loader/http/getcriticreviews.cpp | 0 core/src/loader/http/getcultures.cpp | 0 core/src/loader/http/getcurrentuser.cpp | 0 .../http/getdashboardconfigurationpage.cpp | 0 .../http/getdefaultdirectorybrowser.cpp | 0 .../loader/http/getdefaultlistingprovider.cpp | 0 .../loader/http/getdefaultmetadataoptions.cpp | 0 core/src/loader/http/getdefaultprofile.cpp | 0 core/src/loader/http/getdefaulttimer.cpp | 0 core/src/loader/http/getdescriptionxml.cpp | 0 core/src/loader/http/getdescriptionxml_2.cpp | 0 core/src/loader/http/getdeviceinfo.cpp | 0 core/src/loader/http/getdeviceoptions.cpp | 0 core/src/loader/http/getdevices.cpp | 0 core/src/loader/http/getdirectorycontents.cpp | 0 .../src/loader/http/getdisplaypreferences.cpp | 0 core/src/loader/http/getdownload.cpp | 0 core/src/loader/http/getdrives.cpp | 0 core/src/loader/http/getendpointinfo.cpp | 0 core/src/loader/http/getepisodes.cpp | 0 core/src/loader/http/getexternalidinfos.cpp | 0 core/src/loader/http/getfallbackfont.cpp | 0 core/src/loader/http/getfallbackfontlist.cpp | 0 core/src/loader/http/getfile.cpp | 0 core/src/loader/http/getfirstuser.cpp | 0 core/src/loader/http/getfirstuser_2.cpp | 0 core/src/loader/http/getgeneralimage.cpp | 0 core/src/loader/http/getgeneralimages.cpp | 0 core/src/loader/http/getgenre.cpp | 0 core/src/loader/http/getgenreimage.cpp | 0 core/src/loader/http/getgenreimagebyindex.cpp | 0 core/src/loader/http/getgenres.cpp | 0 core/src/loader/http/getgroupingoptions.cpp | 0 core/src/loader/http/getguideinfo.cpp | 0 core/src/loader/http/gethlsaudiosegment.cpp | 0 .../http/gethlsaudiosegmentlegacyaac.cpp | 0 .../http/gethlsaudiosegmentlegacymp3.cpp | 0 core/src/loader/http/gethlsplaylistlegacy.cpp | 0 core/src/loader/http/gethlsvideosegment.cpp | 0 .../loader/http/gethlsvideosegmentlegacy.cpp | 0 core/src/loader/http/geticon.cpp | 0 core/src/loader/http/geticonid.cpp | 0 .../loader/http/getinstantmixfromalbum.cpp | 0 .../loader/http/getinstantmixfromartists.cpp | 0 .../src/loader/http/getinstantmixfromitem.cpp | 0 .../http/getinstantmixfrommusicgenre.cpp | 0 .../http/getinstantmixfrommusicgenres.cpp | 0 .../loader/http/getinstantmixfromplaylist.cpp | 0 .../src/loader/http/getinstantmixfromsong.cpp | 0 core/src/loader/http/getintros.cpp | 0 core/src/loader/http/getitem.cpp | 0 core/src/loader/http/getitemcounts.cpp | 0 core/src/loader/http/getitemimage.cpp | 0 core/src/loader/http/getitemimage2.cpp | 0 core/src/loader/http/getitemimagebyindex.cpp | 0 core/src/loader/http/getitemimageinfos.cpp | 0 core/src/loader/http/getitems.cpp | 0 core/src/loader/http/getitemsbyuserid.cpp | 0 core/src/loader/http/getkeys.cpp | 0 .../src/loader/http/getlatestchannelitems.cpp | 0 core/src/loader/http/getlatestmedia.cpp | 0 .../src/loader/http/getlibraryoptionsinfo.cpp | 0 core/src/loader/http/getlineups.cpp | 0 core/src/loader/http/getlivehlsstream.cpp | 0 core/src/loader/http/getliverecordingfile.cpp | 0 core/src/loader/http/getlivestreamfile.cpp | 0 core/src/loader/http/getlivetvchannels.cpp | 0 core/src/loader/http/getlivetvinfo.cpp | 0 core/src/loader/http/getlivetvprograms.cpp | 0 .../loader/http/getlocalizationoptions.cpp | 0 core/src/loader/http/getlocaltrailers.cpp | 0 core/src/loader/http/getlogentries.cpp | 0 core/src/loader/http/getlogfile.cpp | 0 .../loader/http/getmasterhlsaudioplaylist.cpp | 0 .../loader/http/getmasterhlsvideoplaylist.cpp | 0 core/src/loader/http/getmediafolders.cpp | 0 core/src/loader/http/getmediainfoimage.cpp | 0 core/src/loader/http/getmediainfoimages.cpp | 0 .../loader/http/getmediareceiverregistrar.cpp | 0 .../http/getmediareceiverregistrar_2.cpp | 0 .../http/getmediareceiverregistrar_3.cpp | 0 .../src/loader/http/getmetadataeditorinfo.cpp | 0 .../loader/http/getmovierecommendations.cpp | 0 .../http/getmovieremotesearchresults.cpp | 0 .../http/getmusicalbumremotesearchresults.cpp | 0 .../getmusicartistremotesearchresults.cpp | 0 core/src/loader/http/getmusicgenre.cpp | 0 core/src/loader/http/getmusicgenreimage.cpp | 0 .../loader/http/getmusicgenreimagebyindex.cpp | 0 core/src/loader/http/getmusicgenres.cpp | 0 .../http/getmusicvideoremotesearchresults.cpp | 0 .../src/loader/http/getnamedconfiguration.cpp | 0 core/src/loader/http/getnetworkshares.cpp | 0 core/src/loader/http/getnextup.cpp | 0 core/src/loader/http/getnotifications.cpp | 0 .../loader/http/getnotificationservices.cpp | 0 .../loader/http/getnotificationssummary.cpp | 0 core/src/loader/http/getnotificationtypes.cpp | 0 core/src/loader/http/getpackageinfo.cpp | 0 core/src/loader/http/getpackages.cpp | 0 core/src/loader/http/getparentalratings.cpp | 0 core/src/loader/http/getparentpath.cpp | 0 .../loader/http/getpasswordresetproviders.cpp | 0 core/src/loader/http/getperson.cpp | 0 core/src/loader/http/getpersonimage.cpp | 0 .../src/loader/http/getpersonimagebyindex.cpp | 0 .../http/getpersonremotesearchresults.cpp | 0 core/src/loader/http/getpersons.cpp | 0 core/src/loader/http/getphysicalpaths.cpp | 0 core/src/loader/http/getpingsystem.cpp | 0 core/src/loader/http/getplaybackinfo.cpp | 0 core/src/loader/http/getplaylistitems.cpp | 0 .../loader/http/getpluginconfiguration.cpp | 0 core/src/loader/http/getpluginimage.cpp | 0 core/src/loader/http/getpluginmanifest.cpp | 0 core/src/loader/http/getplugins.cpp | 0 .../src/loader/http/getpostedplaybackinfo.cpp | 0 core/src/loader/http/getprofile.cpp | 0 core/src/loader/http/getprofileinfos.cpp | 0 core/src/loader/http/getprogram.cpp | 0 core/src/loader/http/getprograms.cpp | 0 core/src/loader/http/getpublicsysteminfo.cpp | 0 core/src/loader/http/getpublicusers.cpp | 0 core/src/loader/http/getqueryfilters.cpp | 0 .../src/loader/http/getqueryfilterslegacy.cpp | 0 core/src/loader/http/getratingimage.cpp | 0 core/src/loader/http/getratingimages.cpp | 0 .../loader/http/getrecommendedprograms.cpp | 0 core/src/loader/http/getrecording.cpp | 0 core/src/loader/http/getrecordingfolders.cpp | 0 core/src/loader/http/getrecordinggroup.cpp | 0 core/src/loader/http/getrecordinggroups.cpp | 0 core/src/loader/http/getrecordings.cpp | 0 core/src/loader/http/getrecordingsseries.cpp | 0 core/src/loader/http/getremoteimage.cpp | 0 .../loader/http/getremoteimageproviders.cpp | 0 core/src/loader/http/getremoteimages.cpp | 0 core/src/loader/http/getremotesearchimage.cpp | 0 core/src/loader/http/getremotesubtitles.cpp | 0 core/src/loader/http/getrepositories.cpp | 0 core/src/loader/http/getresumeitems.cpp | 0 core/src/loader/http/getrootfolder.cpp | 0 .../http/getschedulesdirectcountries.cpp | 0 core/src/loader/http/getseasons.cpp | 0 .../http/getseriesremotesearchresults.cpp | 0 core/src/loader/http/getseriestimer.cpp | 0 core/src/loader/http/getseriestimers.cpp | 0 core/src/loader/http/getserverlogs.cpp | 0 core/src/loader/http/getsessions.cpp | 0 core/src/loader/http/getsimilaralbums.cpp | 0 core/src/loader/http/getsimilarartists.cpp | 0 core/src/loader/http/getsimilaritems.cpp | 0 core/src/loader/http/getsimilarmovies.cpp | 0 core/src/loader/http/getsimilarshows.cpp | 0 core/src/loader/http/getsimilartrailers.cpp | 0 core/src/loader/http/getspecialfeatures.cpp | 0 .../loader/http/getstartupconfiguration.cpp | 0 core/src/loader/http/getstatus.cpp | 0 core/src/loader/http/getstudio.cpp | 0 core/src/loader/http/getstudioimage.cpp | 0 .../src/loader/http/getstudioimagebyindex.cpp | 0 core/src/loader/http/getstudios.cpp | 0 core/src/loader/http/getsubtitle.cpp | 0 core/src/loader/http/getsubtitleplaylist.cpp | 0 core/src/loader/http/getsubtitlewithticks.cpp | 0 core/src/loader/http/getsuggestions.cpp | 0 core/src/loader/http/getsysteminfo.cpp | 0 core/src/loader/http/gettask.cpp | 0 core/src/loader/http/gettasks.cpp | 0 core/src/loader/http/getthememedia.cpp | 0 core/src/loader/http/getthemesongs.cpp | 0 core/src/loader/http/getthemevideos.cpp | 0 core/src/loader/http/gettimer.cpp | 0 core/src/loader/http/gettimers.cpp | 0 .../http/gettrailerremotesearchresults.cpp | 0 core/src/loader/http/gettrailers.cpp | 0 core/src/loader/http/gettunerhosttypes.cpp | 0 .../loader/http/getuniversalaudiostream.cpp | 0 core/src/loader/http/getupcomingepisodes.cpp | 0 core/src/loader/http/getuserbyid.cpp | 0 core/src/loader/http/getuserimage.cpp | 0 core/src/loader/http/getuserimagebyindex.cpp | 0 core/src/loader/http/getusers.cpp | 0 core/src/loader/http/getuserviews.cpp | 0 core/src/loader/http/getutctime.cpp | 0 .../http/getvarianthlsaudioplaylist.cpp | 0 .../http/getvarianthlsvideoplaylist.cpp | 0 core/src/loader/http/getvideostream.cpp | 0 .../loader/http/getvideostreambycontainer.cpp | 0 core/src/loader/http/getvirtualfolders.cpp | 0 core/src/loader/http/getwakeonlaninfo.cpp | 0 core/src/loader/http/getyear.cpp | 0 core/src/loader/http/getyears.cpp | 0 core/src/loader/http/headartistimage.cpp | 0 core/src/loader/http/headaudiostream.cpp | 0 .../http/headaudiostreambycontainer.cpp | 0 core/src/loader/http/headgenreimage.cpp | 0 .../src/loader/http/headgenreimagebyindex.cpp | 0 core/src/loader/http/headitemimage.cpp | 0 core/src/loader/http/headitemimage2.cpp | 0 core/src/loader/http/headitemimagebyindex.cpp | 0 .../http/headmasterhlsaudioplaylist.cpp | 0 .../http/headmasterhlsvideoplaylist.cpp | 0 core/src/loader/http/headmusicgenreimage.cpp | 0 .../http/headmusicgenreimagebyindex.cpp | 0 core/src/loader/http/headpersonimage.cpp | 0 .../loader/http/headpersonimagebyindex.cpp | 0 core/src/loader/http/headstudioimage.cpp | 0 .../loader/http/headstudioimagebyindex.cpp | 0 .../loader/http/headuniversalaudiostream.cpp | 0 core/src/loader/http/headuserimage.cpp | 0 core/src/loader/http/headuserimagebyindex.cpp | 0 core/src/loader/http/headvideostream.cpp | 0 .../http/headvideostreambycontainer.cpp | 0 core/src/loader/http/initiate.cpp | 0 core/src/loader/http/installpackage.cpp | 0 core/src/loader/http/markfavoriteitem.cpp | 0 core/src/loader/http/markplayeditem.cpp | 0 core/src/loader/http/markunplayeditem.cpp | 0 core/src/loader/http/mergeversions.cpp | 0 core/src/loader/http/moveitem.cpp | 0 core/src/loader/http/onplaybackprogress.cpp | 0 core/src/loader/http/onplaybackstart.cpp | 0 core/src/loader/http/onplaybackstopped.cpp | 0 core/src/loader/http/openlivestream.cpp | 0 core/src/loader/http/pingplaybacksession.cpp | 0 core/src/loader/http/play.cpp | 0 core/src/loader/http/post.cpp | 0 core/src/loader/http/postaddedmovies.cpp | 0 core/src/loader/http/postaddedseries.cpp | 0 core/src/loader/http/postcapabilities.cpp | 0 core/src/loader/http/postfullcapabilities.cpp | 0 core/src/loader/http/postpingsystem.cpp | 0 core/src/loader/http/postupdatedmedia.cpp | 0 core/src/loader/http/postupdatedmovies.cpp | 0 core/src/loader/http/postupdatedseries.cpp | 0 core/src/loader/http/postuserimage.cpp | 0 core/src/loader/http/postuserimagebyindex.cpp | 0 ...processconnectionmanagercontrolrequest.cpp | 0 .../processcontentdirectorycontrolrequest.cpp | 0 ...ssmediareceiverregistrarcontrolrequest.cpp | 0 core/src/loader/http/refreshlibrary.cpp | 0 core/src/loader/http/removefromcollection.cpp | 0 core/src/loader/http/removefromplaylist.cpp | 0 core/src/loader/http/removemediapath.cpp | 0 .../src/loader/http/removeuserfromsession.cpp | 0 core/src/loader/http/removevirtualfolder.cpp | 0 core/src/loader/http/renamevirtualfolder.cpp | 0 .../loader/http/reportplaybackprogress.cpp | 0 core/src/loader/http/reportplaybackstart.cpp | 0 .../src/loader/http/reportplaybackstopped.cpp | 0 core/src/loader/http/reportsessionended.cpp | 0 core/src/loader/http/reportviewing.cpp | 0 core/src/loader/http/resettuner.cpp | 0 core/src/loader/http/restartapplication.cpp | 0 core/src/loader/http/revokekey.cpp | 0 .../src/loader/http/searchremotesubtitles.cpp | 0 .../loader/http/sendfullgeneralcommand.cpp | 0 core/src/loader/http/sendgeneralcommand.cpp | 0 core/src/loader/http/sendmessagecommand.cpp | 0 core/src/loader/http/sendplaystatecommand.cpp | 0 core/src/loader/http/sendsystemcommand.cpp | 0 core/src/loader/http/setchannelmapping.cpp | 0 core/src/loader/http/setitemimage.cpp | 0 core/src/loader/http/setitemimagebyindex.cpp | 0 core/src/loader/http/setread.cpp | 0 core/src/loader/http/setremoteaccess.cpp | 0 core/src/loader/http/setrepositories.cpp | 0 core/src/loader/http/setunread.cpp | 0 core/src/loader/http/shutdownapplication.cpp | 0 core/src/loader/http/starttask.cpp | 0 core/src/loader/http/stopencodingprocess.cpp | 0 core/src/loader/http/stoptask.cpp | 0 core/src/loader/http/syncplaybuffering.cpp | 0 core/src/loader/http/syncplaycreategroup.cpp | 0 core/src/loader/http/syncplaygetgroups.cpp | 0 core/src/loader/http/syncplayjoingroup.cpp | 0 core/src/loader/http/syncplayleavegroup.cpp | 0 .../loader/http/syncplaymoveplaylistitem.cpp | 0 core/src/loader/http/syncplaynextitem.cpp | 0 core/src/loader/http/syncplaypause.cpp | 0 core/src/loader/http/syncplayping.cpp | 0 core/src/loader/http/syncplaypreviousitem.cpp | 0 core/src/loader/http/syncplayqueue.cpp | 0 core/src/loader/http/syncplayready.cpp | 0 .../http/syncplayremovefromplaylist.cpp | 0 core/src/loader/http/syncplayseek.cpp | 0 .../src/loader/http/syncplaysetignorewait.cpp | 0 core/src/loader/http/syncplaysetnewqueue.cpp | 0 .../loader/http/syncplaysetplaylistitem.cpp | 0 .../src/loader/http/syncplaysetrepeatmode.cpp | 0 .../loader/http/syncplaysetshufflemode.cpp | 0 core/src/loader/http/syncplaystop.cpp | 0 core/src/loader/http/syncplayunpause.cpp | 0 core/src/loader/http/uninstallplugin.cpp | 0 .../loader/http/uninstallpluginbyversion.cpp | 0 core/src/loader/http/unmarkfavoriteitem.cpp | 0 core/src/loader/http/updateconfiguration.cpp | 0 core/src/loader/http/updatedeviceoptions.cpp | 0 .../loader/http/updatedisplaypreferences.cpp | 0 .../http/updateinitialconfiguration.cpp | 0 core/src/loader/http/updateitem.cpp | 0 .../src/loader/http/updateitemcontenttype.cpp | 0 core/src/loader/http/updateitemimageindex.cpp | 0 core/src/loader/http/updatelibraryoptions.cpp | 0 .../loader/http/updatemediaencoderpath.cpp | 0 core/src/loader/http/updatemediapath.cpp | 0 .../loader/http/updatenamedconfiguration.cpp | 0 .../loader/http/updatepluginconfiguration.cpp | 0 .../loader/http/updatepluginsecurityinfo.cpp | 0 core/src/loader/http/updateprofile.cpp | 0 core/src/loader/http/updateseriestimer.cpp | 0 core/src/loader/http/updatestartupuser.cpp | 0 core/src/loader/http/updatetask.cpp | 0 core/src/loader/http/updatetimer.cpp | 0 core/src/loader/http/updateuser.cpp | 0 .../loader/http/updateuserconfiguration.cpp | 0 .../loader/http/updateusereasypassword.cpp | 0 core/src/loader/http/updateuseritemrating.cpp | 0 core/src/loader/http/updateuserpassword.cpp | 0 core/src/loader/http/updateuserpolicy.cpp | 0 core/src/loader/http/uploadsubtitle.cpp | 0 core/src/loader/http/validatepath.cpp | 0 core/src/model/item.cpp | 65 +- core/src/remotedata.cpp | 304 - core/src/support/jsonconv.cpp | 18 + core/src/support/loader.cpp | 28 + core/src/viewmodel/item.cpp | 34 + core/src/viewmodel/loader.cpp | 57 + core/src/{ => viewmodel}/playbackmanager.cpp | 79 +- qtquick/CMakeLists.txt | 2 +- qtquick/qml.qrc | 2 + qtquick/qml/ApiClient.qml | 7 + qtquick/qml/main.qml | 3 +- qtquick/qml/pages/MainPage.qml | 6 +- qtquick/qml/pages/setup/LoginPage.qml | 3 +- qtquick/qml/pages/setup/ServerSelectPage.qml | 5 +- qtquick/qml/qmldir | 1 + 1769 files changed, 124903 insertions(+), 1963 deletions(-) create mode 100644 core/codegen/loader_header.hbs create mode 100644 core/codegen/loader_implementation.hbs create mode 100644 core/codegen/loader_types_header.hbs create mode 100644 core/codegen/loader_types_header_getters_setters.hbs create mode 100644 core/include/JellyfinQt/dto/accessschedule.h create mode 100644 core/include/JellyfinQt/dto/activitylogentry.h create mode 100644 core/include/JellyfinQt/dto/activitylogentryqueryresult.h create mode 100644 core/include/JellyfinQt/dto/addvirtualfolderdto.h create mode 100644 core/include/JellyfinQt/dto/albuminfo.h create mode 100644 core/include/JellyfinQt/dto/albuminforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/allthememediaresult.h create mode 100644 core/include/JellyfinQt/dto/architecture.h create mode 100644 core/include/JellyfinQt/dto/artistinfo.h create mode 100644 core/include/JellyfinQt/dto/artistinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/authenticateuserbyname.h create mode 100644 core/include/JellyfinQt/dto/authenticationinfo.h create mode 100644 core/include/JellyfinQt/dto/authenticationinfoqueryresult.h create mode 100644 core/include/JellyfinQt/dto/authenticationresult.h create mode 100644 core/include/JellyfinQt/dto/baseitem.h create mode 100644 core/include/JellyfinQt/dto/baseitemdto.h create mode 100644 core/include/JellyfinQt/dto/baseitemdtoqueryresult.h create mode 100644 core/include/JellyfinQt/dto/baseitemperson.h create mode 100644 core/include/JellyfinQt/dto/basepluginconfiguration.h create mode 100644 core/include/JellyfinQt/dto/bookinfo.h create mode 100644 core/include/JellyfinQt/dto/bookinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/boxsetinfo.h create mode 100644 core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/brandingoptions.h create mode 100644 core/include/JellyfinQt/dto/bufferrequestdto.h create mode 100644 core/include/JellyfinQt/dto/channelfeatures.h create mode 100644 core/include/JellyfinQt/dto/channelitemsortfield.h create mode 100644 core/include/JellyfinQt/dto/channelmappingoptionsdto.h create mode 100644 core/include/JellyfinQt/dto/channelmediacontenttype.h create mode 100644 core/include/JellyfinQt/dto/channelmediatype.h create mode 100644 core/include/JellyfinQt/dto/channeltype.h create mode 100644 core/include/JellyfinQt/dto/chapterinfo.h create mode 100644 core/include/JellyfinQt/dto/clientcapabilities.h create mode 100644 core/include/JellyfinQt/dto/clientcapabilitiesdto.h create mode 100644 core/include/JellyfinQt/dto/codecprofile.h create mode 100644 core/include/JellyfinQt/dto/codectype.h create mode 100644 core/include/JellyfinQt/dto/collectioncreationresult.h create mode 100644 core/include/JellyfinQt/dto/configurationpageinfo.h create mode 100644 core/include/JellyfinQt/dto/configurationpagetype.h create mode 100644 core/include/JellyfinQt/dto/containerprofile.h create mode 100644 core/include/JellyfinQt/dto/controlresponse.h create mode 100644 core/include/JellyfinQt/dto/countryinfo.h create mode 100644 core/include/JellyfinQt/dto/createplaylistdto.h create mode 100644 core/include/JellyfinQt/dto/createuserbyname.h create mode 100644 core/include/JellyfinQt/dto/culturedto.h create mode 100644 core/include/JellyfinQt/dto/dayofweek.h create mode 100644 core/include/JellyfinQt/dto/daypattern.h create mode 100644 core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h create mode 100644 core/include/JellyfinQt/dto/deviceidentification.h create mode 100644 core/include/JellyfinQt/dto/deviceinfo.h create mode 100644 core/include/JellyfinQt/dto/deviceinfoqueryresult.h create mode 100644 core/include/JellyfinQt/dto/deviceoptions.h create mode 100644 core/include/JellyfinQt/dto/deviceprofile.h create mode 100644 core/include/JellyfinQt/dto/deviceprofileinfo.h create mode 100644 core/include/JellyfinQt/dto/deviceprofiletype.h create mode 100644 core/include/JellyfinQt/dto/directplayprofile.h create mode 100644 core/include/JellyfinQt/dto/displaypreferencesdto.h create mode 100644 core/include/JellyfinQt/dto/dlnaprofiletype.h create mode 100644 core/include/JellyfinQt/dto/dynamicdayofweek.h create mode 100644 core/include/JellyfinQt/dto/encodingcontext.h create mode 100644 core/include/JellyfinQt/dto/endpointinfo.h create mode 100644 core/include/JellyfinQt/dto/externalidinfo.h create mode 100644 core/include/JellyfinQt/dto/externalidmediatype.h create mode 100644 core/include/JellyfinQt/dto/externalurl.h create mode 100644 core/include/JellyfinQt/dto/ffmpeglocation.h create mode 100644 core/include/JellyfinQt/dto/filesystementryinfo.h create mode 100644 core/include/JellyfinQt/dto/filesystementrytype.h create mode 100644 core/include/JellyfinQt/dto/fontfile.h create mode 100644 core/include/JellyfinQt/dto/forgotpasswordaction.h create mode 100644 core/include/JellyfinQt/dto/forgotpassworddto.h create mode 100644 core/include/JellyfinQt/dto/forgotpasswordresult.h create mode 100644 core/include/JellyfinQt/dto/generalcommand.h create mode 100644 core/include/JellyfinQt/dto/generalcommandtype.h create mode 100644 core/include/JellyfinQt/dto/getprogramsdto.h create mode 100644 core/include/JellyfinQt/dto/groupinfodto.h create mode 100644 core/include/JellyfinQt/dto/groupqueuemode.h create mode 100644 core/include/JellyfinQt/dto/grouprepeatmode.h create mode 100644 core/include/JellyfinQt/dto/groupshufflemode.h create mode 100644 core/include/JellyfinQt/dto/groupstatetype.h create mode 100644 core/include/JellyfinQt/dto/groupupdatetype.h create mode 100644 core/include/JellyfinQt/dto/guideinfo.h create mode 100644 core/include/JellyfinQt/dto/headermatchtype.h create mode 100644 core/include/JellyfinQt/dto/httpheaderinfo.h create mode 100644 core/include/JellyfinQt/dto/ignorewaitrequestdto.h create mode 100644 core/include/JellyfinQt/dto/imagebynameinfo.h create mode 100644 core/include/JellyfinQt/dto/imageformat.h create mode 100644 core/include/JellyfinQt/dto/imageinfo.h create mode 100644 core/include/JellyfinQt/dto/imageoption.h create mode 100644 core/include/JellyfinQt/dto/imageorientation.h create mode 100644 core/include/JellyfinQt/dto/imageproviderinfo.h create mode 100644 core/include/JellyfinQt/dto/imagesavingconvention.h create mode 100644 core/include/JellyfinQt/dto/imagetype.h create mode 100644 core/include/JellyfinQt/dto/installationinfo.h create mode 100644 core/include/JellyfinQt/dto/iplugin.h create mode 100644 core/include/JellyfinQt/dto/isotype.h create mode 100644 core/include/JellyfinQt/dto/itemcounts.h create mode 100644 core/include/JellyfinQt/dto/itemfields.h create mode 100644 core/include/JellyfinQt/dto/itemfilter.h create mode 100644 core/include/JellyfinQt/dto/joingrouprequestdto.h create mode 100644 core/include/JellyfinQt/dto/keepuntil.h create mode 100644 core/include/JellyfinQt/dto/libraryoptioninfodto.h create mode 100644 core/include/JellyfinQt/dto/libraryoptions.h create mode 100644 core/include/JellyfinQt/dto/libraryoptionsresultdto.h create mode 100644 core/include/JellyfinQt/dto/librarytypeoptionsdto.h create mode 100644 core/include/JellyfinQt/dto/libraryupdateinfo.h create mode 100644 core/include/JellyfinQt/dto/listingsproviderinfo.h create mode 100644 core/include/JellyfinQt/dto/livestreamresponse.h create mode 100644 core/include/JellyfinQt/dto/livetvinfo.h create mode 100644 core/include/JellyfinQt/dto/livetvserviceinfo.h create mode 100644 core/include/JellyfinQt/dto/livetvservicestatus.h create mode 100644 core/include/JellyfinQt/dto/localizationoption.h create mode 100644 core/include/JellyfinQt/dto/locationtype.h create mode 100644 core/include/JellyfinQt/dto/logfile.h create mode 100644 core/include/JellyfinQt/dto/loglevel.h create mode 100644 core/include/JellyfinQt/dto/mediaattachment.h create mode 100644 core/include/JellyfinQt/dto/mediaencoderpathdto.h create mode 100644 core/include/JellyfinQt/dto/mediapathdto.h create mode 100644 core/include/JellyfinQt/dto/mediapathinfo.h create mode 100644 core/include/JellyfinQt/dto/mediaprotocol.h create mode 100644 core/include/JellyfinQt/dto/mediasourceinfo.h create mode 100644 core/include/JellyfinQt/dto/mediasourcetype.h create mode 100644 core/include/JellyfinQt/dto/mediastream.h create mode 100644 core/include/JellyfinQt/dto/mediastreamtype.h create mode 100644 core/include/JellyfinQt/dto/mediaupdateinfodto.h create mode 100644 core/include/JellyfinQt/dto/mediaurl.h create mode 100644 core/include/JellyfinQt/dto/metadataeditorinfo.h create mode 100644 core/include/JellyfinQt/dto/metadatafield.h create mode 100644 core/include/JellyfinQt/dto/metadataoptions.h create mode 100644 core/include/JellyfinQt/dto/metadatarefreshmode.h create mode 100644 core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h create mode 100644 core/include/JellyfinQt/dto/movieinfo.h create mode 100644 core/include/JellyfinQt/dto/movieinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/musicvideoinfo.h create mode 100644 core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/nameguidpair.h create mode 100644 core/include/JellyfinQt/dto/nameidpair.h create mode 100644 core/include/JellyfinQt/dto/namevaluepair.h create mode 100644 core/include/JellyfinQt/dto/newgrouprequestdto.h create mode 100644 core/include/JellyfinQt/dto/nextitemrequestdto.h create mode 100644 core/include/JellyfinQt/dto/notificationdto.h create mode 100644 core/include/JellyfinQt/dto/notificationlevel.h create mode 100644 core/include/JellyfinQt/dto/notificationresultdto.h create mode 100644 core/include/JellyfinQt/dto/notificationssummarydto.h create mode 100644 core/include/JellyfinQt/dto/notificationtypeinfo.h create mode 100644 core/include/JellyfinQt/dto/objectgroupupdate.h create mode 100644 core/include/JellyfinQt/dto/openlivestreamdto.h create mode 100644 core/include/JellyfinQt/dto/packageinfo.h create mode 100644 core/include/JellyfinQt/dto/parentalrating.h create mode 100644 core/include/JellyfinQt/dto/pathsubstitution.h create mode 100644 core/include/JellyfinQt/dto/personlookupinfo.h create mode 100644 core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/pingrequestdto.h create mode 100644 core/include/JellyfinQt/dto/pinredeemresult.h create mode 100644 core/include/JellyfinQt/dto/playaccess.h create mode 100644 core/include/JellyfinQt/dto/playbackerrorcode.h create mode 100644 core/include/JellyfinQt/dto/playbackinfodto.h create mode 100644 core/include/JellyfinQt/dto/playbackinforesponse.h create mode 100644 core/include/JellyfinQt/dto/playbackprogressinfo.h create mode 100644 core/include/JellyfinQt/dto/playbackstartinfo.h create mode 100644 core/include/JellyfinQt/dto/playbackstopinfo.h create mode 100644 core/include/JellyfinQt/dto/playcommand.h create mode 100644 core/include/JellyfinQt/dto/playerstateinfo.h create mode 100644 core/include/JellyfinQt/dto/playlistcreationresult.h create mode 100644 core/include/JellyfinQt/dto/playmethod.h create mode 100644 core/include/JellyfinQt/dto/playrequest.h create mode 100644 core/include/JellyfinQt/dto/playrequestdto.h create mode 100644 core/include/JellyfinQt/dto/playstatecommand.h create mode 100644 core/include/JellyfinQt/dto/playstaterequest.h create mode 100644 core/include/JellyfinQt/dto/plugininfo.h create mode 100644 core/include/JellyfinQt/dto/pluginsecurityinfo.h create mode 100644 core/include/JellyfinQt/dto/pluginstatus.h create mode 100644 core/include/JellyfinQt/dto/previousitemrequestdto.h create mode 100644 core/include/JellyfinQt/dto/problemdetails.h create mode 100644 core/include/JellyfinQt/dto/profilecondition.h create mode 100644 core/include/JellyfinQt/dto/profileconditiontype.h create mode 100644 core/include/JellyfinQt/dto/profileconditionvalue.h create mode 100644 core/include/JellyfinQt/dto/programaudio.h create mode 100644 core/include/JellyfinQt/dto/publicsysteminfo.h create mode 100644 core/include/JellyfinQt/dto/queryfilters.h create mode 100644 core/include/JellyfinQt/dto/queryfilterslegacy.h create mode 100644 core/include/JellyfinQt/dto/queueitem.h create mode 100644 core/include/JellyfinQt/dto/queuerequestdto.h create mode 100644 core/include/JellyfinQt/dto/quickconnectdto.h create mode 100644 core/include/JellyfinQt/dto/quickconnectresult.h create mode 100644 core/include/JellyfinQt/dto/quickconnectstate.h create mode 100644 core/include/JellyfinQt/dto/ratingtype.h create mode 100644 core/include/JellyfinQt/dto/readyrequestdto.h create mode 100644 core/include/JellyfinQt/dto/recommendationdto.h create mode 100644 core/include/JellyfinQt/dto/recommendationtype.h create mode 100644 core/include/JellyfinQt/dto/recordingstatus.h create mode 100644 core/include/JellyfinQt/dto/remoteimageinfo.h create mode 100644 core/include/JellyfinQt/dto/remoteimageresult.h create mode 100644 core/include/JellyfinQt/dto/remotesearchresult.h create mode 100644 core/include/JellyfinQt/dto/remotesubtitleinfo.h create mode 100644 core/include/JellyfinQt/dto/removefromplaylistrequestdto.h create mode 100644 core/include/JellyfinQt/dto/repeatmode.h create mode 100644 core/include/JellyfinQt/dto/repositoryinfo.h create mode 100644 core/include/JellyfinQt/dto/responseprofile.h create mode 100644 core/include/JellyfinQt/dto/scrolldirection.h create mode 100644 core/include/JellyfinQt/dto/searchhint.h create mode 100644 core/include/JellyfinQt/dto/searchhintresult.h create mode 100644 core/include/JellyfinQt/dto/seekrequestdto.h create mode 100644 core/include/JellyfinQt/dto/sendcommand.h create mode 100644 core/include/JellyfinQt/dto/sendcommandtype.h create mode 100644 core/include/JellyfinQt/dto/seriesinfo.h create mode 100644 core/include/JellyfinQt/dto/seriesinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/seriesstatus.h create mode 100644 core/include/JellyfinQt/dto/seriestimerinfodto.h create mode 100644 core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h create mode 100644 core/include/JellyfinQt/dto/serverconfiguration.h create mode 100644 core/include/JellyfinQt/dto/sessioninfo.h create mode 100644 core/include/JellyfinQt/dto/sessionuserinfo.h create mode 100644 core/include/JellyfinQt/dto/setchannelmappingdto.h create mode 100644 core/include/JellyfinQt/dto/setplaylistitemrequestdto.h create mode 100644 core/include/JellyfinQt/dto/setrepeatmoderequestdto.h create mode 100644 core/include/JellyfinQt/dto/setshufflemoderequestdto.h create mode 100644 core/include/JellyfinQt/dto/songinfo.h create mode 100644 core/include/JellyfinQt/dto/sortorder.h create mode 100644 core/include/JellyfinQt/dto/specialviewoptiondto.h create mode 100644 core/include/JellyfinQt/dto/startupconfigurationdto.h create mode 100644 core/include/JellyfinQt/dto/startupremoteaccessdto.h create mode 100644 core/include/JellyfinQt/dto/startupuserdto.h create mode 100644 core/include/JellyfinQt/dto/subtitledeliverymethod.h create mode 100644 core/include/JellyfinQt/dto/subtitleplaybackmode.h create mode 100644 core/include/JellyfinQt/dto/subtitleprofile.h create mode 100644 core/include/JellyfinQt/dto/syncplayuseraccesstype.h create mode 100644 core/include/JellyfinQt/dto/systeminfo.h create mode 100644 core/include/JellyfinQt/dto/taskcompletionstatus.h create mode 100644 core/include/JellyfinQt/dto/taskinfo.h create mode 100644 core/include/JellyfinQt/dto/taskresult.h create mode 100644 core/include/JellyfinQt/dto/taskstate.h create mode 100644 core/include/JellyfinQt/dto/tasktriggerinfo.h create mode 100644 core/include/JellyfinQt/dto/thememediaresult.h create mode 100644 core/include/JellyfinQt/dto/timereventinfo.h create mode 100644 core/include/JellyfinQt/dto/timerinfodto.h create mode 100644 core/include/JellyfinQt/dto/timerinfodtoqueryresult.h create mode 100644 core/include/JellyfinQt/dto/trailerinfo.h create mode 100644 core/include/JellyfinQt/dto/trailerinforemotesearchquery.h create mode 100644 core/include/JellyfinQt/dto/transcodereason.h create mode 100644 core/include/JellyfinQt/dto/transcodeseekinfo.h create mode 100644 core/include/JellyfinQt/dto/transcodinginfo.h create mode 100644 core/include/JellyfinQt/dto/transcodingprofile.h create mode 100644 core/include/JellyfinQt/dto/transportstreamtimestamp.h create mode 100644 core/include/JellyfinQt/dto/tunerchannelmapping.h create mode 100644 core/include/JellyfinQt/dto/tunerhostinfo.h create mode 100644 core/include/JellyfinQt/dto/typeoptions.h create mode 100644 core/include/JellyfinQt/dto/unrateditem.h create mode 100644 core/include/JellyfinQt/dto/updatelibraryoptionsdto.h create mode 100644 core/include/JellyfinQt/dto/updateusereasypassword.h create mode 100644 core/include/JellyfinQt/dto/updateuserpassword.h create mode 100644 core/include/JellyfinQt/dto/uploadsubtitledto.h create mode 100644 core/include/JellyfinQt/dto/userconfiguration.h create mode 100644 core/include/JellyfinQt/dto/userdto.h create mode 100644 core/include/JellyfinQt/dto/useritemdatadto.h create mode 100644 core/include/JellyfinQt/dto/userpolicy.h create mode 100644 core/include/JellyfinQt/dto/utctimeresponse.h create mode 100644 core/include/JellyfinQt/dto/validatepathdto.h create mode 100644 core/include/JellyfinQt/dto/version.h create mode 100644 core/include/JellyfinQt/dto/versioninfo.h create mode 100644 core/include/JellyfinQt/dto/video3dformat.h create mode 100644 core/include/JellyfinQt/dto/videotype.h create mode 100644 core/include/JellyfinQt/dto/virtualfolderinfo.h create mode 100644 core/include/JellyfinQt/dto/wakeonlaninfo.h create mode 100644 core/include/JellyfinQt/dto/xmlattribute.h create mode 100644 core/include/JellyfinQt/eventbus.h create mode 100644 core/include/JellyfinQt/loader/http/activate.h create mode 100644 core/include/JellyfinQt/loader/http/addlistingprovider.h create mode 100644 core/include/JellyfinQt/loader/http/addmediapath.h create mode 100644 core/include/JellyfinQt/loader/http/addtocollection.h create mode 100644 core/include/JellyfinQt/loader/http/addtoplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/addtunerhost.h create mode 100644 core/include/JellyfinQt/loader/http/addusertosession.h create mode 100644 core/include/JellyfinQt/loader/http/addvirtualfolder.h create mode 100644 core/include/JellyfinQt/loader/http/applysearchcriteria.h create mode 100644 core/include/JellyfinQt/loader/http/authenticateuser.h create mode 100644 core/include/JellyfinQt/loader/http/authenticateuserbyname.h create mode 100644 core/include/JellyfinQt/loader/http/authenticatewithquickconnect.h create mode 100644 core/include/JellyfinQt/loader/http/authorize.h create mode 100644 core/include/JellyfinQt/loader/http/available.h create mode 100644 core/include/JellyfinQt/loader/http/cancelpackageinstallation.h create mode 100644 core/include/JellyfinQt/loader/http/cancelseriestimer.h create mode 100644 core/include/JellyfinQt/loader/http/canceltimer.h create mode 100644 core/include/JellyfinQt/loader/http/closelivestream.h create mode 100644 core/include/JellyfinQt/loader/http/completewizard.h create mode 100644 core/include/JellyfinQt/loader/http/connect.h create mode 100644 core/include/JellyfinQt/loader/http/createadminnotification.h create mode 100644 core/include/JellyfinQt/loader/http/createcollection.h create mode 100644 core/include/JellyfinQt/loader/http/createkey.h create mode 100644 core/include/JellyfinQt/loader/http/createplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/createprofile.h create mode 100644 core/include/JellyfinQt/loader/http/createseriestimer.h create mode 100644 core/include/JellyfinQt/loader/http/createtimer.h create mode 100644 core/include/JellyfinQt/loader/http/createuserbyname.h create mode 100644 core/include/JellyfinQt/loader/http/deauthorize.h create mode 100644 core/include/JellyfinQt/loader/http/deletealternatesources.h create mode 100644 core/include/JellyfinQt/loader/http/deletedevice.h create mode 100644 core/include/JellyfinQt/loader/http/deleteitem.h create mode 100644 core/include/JellyfinQt/loader/http/deleteitemimage.h create mode 100644 core/include/JellyfinQt/loader/http/deleteitemimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/deleteitems.h create mode 100644 core/include/JellyfinQt/loader/http/deletelistingprovider.h create mode 100644 core/include/JellyfinQt/loader/http/deleteprofile.h create mode 100644 core/include/JellyfinQt/loader/http/deleterecording.h create mode 100644 core/include/JellyfinQt/loader/http/deletesubtitle.h create mode 100644 core/include/JellyfinQt/loader/http/deletetunerhost.h create mode 100644 core/include/JellyfinQt/loader/http/deleteuser.h create mode 100644 core/include/JellyfinQt/loader/http/deleteuserimage.h create mode 100644 core/include/JellyfinQt/loader/http/deleteuserimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/deleteuseritemrating.h create mode 100644 core/include/JellyfinQt/loader/http/disableplugin.h create mode 100644 core/include/JellyfinQt/loader/http/discovertuners.h create mode 100644 core/include/JellyfinQt/loader/http/discvovertuners.h create mode 100644 core/include/JellyfinQt/loader/http/displaycontent.h create mode 100644 core/include/JellyfinQt/loader/http/downloadremoteimage.h create mode 100644 core/include/JellyfinQt/loader/http/downloadremotesubtitles.h create mode 100644 core/include/JellyfinQt/loader/http/enableplugin.h create mode 100644 core/include/JellyfinQt/loader/http/forgotpassword.h create mode 100644 core/include/JellyfinQt/loader/http/forgotpasswordpin.h create mode 100644 core/include/JellyfinQt/loader/http/get.h create mode 100644 core/include/JellyfinQt/loader/http/getadditionalpart.h create mode 100644 core/include/JellyfinQt/loader/http/getalbumartists.h create mode 100644 core/include/JellyfinQt/loader/http/getallchannelfeatures.h create mode 100644 core/include/JellyfinQt/loader/http/getancestors.h create mode 100644 core/include/JellyfinQt/loader/http/getartistbyname.h create mode 100644 core/include/JellyfinQt/loader/http/getartistimage.h create mode 100644 core/include/JellyfinQt/loader/http/getartists.h create mode 100644 core/include/JellyfinQt/loader/http/getattachment.h create mode 100644 core/include/JellyfinQt/loader/http/getaudiostream.h create mode 100644 core/include/JellyfinQt/loader/http/getaudiostreambycontainer.h create mode 100644 core/include/JellyfinQt/loader/http/getauthproviders.h create mode 100644 core/include/JellyfinQt/loader/http/getbitratetestbytes.h create mode 100644 core/include/JellyfinQt/loader/http/getbookremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getboxsetremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getbrandingcss.h create mode 100644 core/include/JellyfinQt/loader/http/getbrandingcss_2.h create mode 100644 core/include/JellyfinQt/loader/http/getbrandingoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getchannel.h create mode 100644 core/include/JellyfinQt/loader/http/getchannelfeatures.h create mode 100644 core/include/JellyfinQt/loader/http/getchannelitems.h create mode 100644 core/include/JellyfinQt/loader/http/getchannelmappingoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getchannels.h create mode 100644 core/include/JellyfinQt/loader/http/getconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/getconfigurationpages.h create mode 100644 core/include/JellyfinQt/loader/http/getconnectionmanager.h create mode 100644 core/include/JellyfinQt/loader/http/getconnectionmanager_2.h create mode 100644 core/include/JellyfinQt/loader/http/getconnectionmanager_3.h create mode 100644 core/include/JellyfinQt/loader/http/getcontentdirectory.h create mode 100644 core/include/JellyfinQt/loader/http/getcontentdirectory_2.h create mode 100644 core/include/JellyfinQt/loader/http/getcontentdirectory_3.h create mode 100644 core/include/JellyfinQt/loader/http/getcountries.h create mode 100644 core/include/JellyfinQt/loader/http/getcriticreviews.h create mode 100644 core/include/JellyfinQt/loader/http/getcultures.h create mode 100644 core/include/JellyfinQt/loader/http/getcurrentuser.h create mode 100644 core/include/JellyfinQt/loader/http/getdashboardconfigurationpage.h create mode 100644 core/include/JellyfinQt/loader/http/getdefaultdirectorybrowser.h create mode 100644 core/include/JellyfinQt/loader/http/getdefaultlistingprovider.h create mode 100644 core/include/JellyfinQt/loader/http/getdefaultmetadataoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getdefaultprofile.h create mode 100644 core/include/JellyfinQt/loader/http/getdefaulttimer.h create mode 100644 core/include/JellyfinQt/loader/http/getdescriptionxml.h create mode 100644 core/include/JellyfinQt/loader/http/getdescriptionxml_2.h create mode 100644 core/include/JellyfinQt/loader/http/getdeviceinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getdeviceoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getdevices.h create mode 100644 core/include/JellyfinQt/loader/http/getdirectorycontents.h create mode 100644 core/include/JellyfinQt/loader/http/getdisplaypreferences.h create mode 100644 core/include/JellyfinQt/loader/http/getdownload.h create mode 100644 core/include/JellyfinQt/loader/http/getdrives.h create mode 100644 core/include/JellyfinQt/loader/http/getendpointinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getepisodes.h create mode 100644 core/include/JellyfinQt/loader/http/getexternalidinfos.h create mode 100644 core/include/JellyfinQt/loader/http/getfallbackfont.h create mode 100644 core/include/JellyfinQt/loader/http/getfallbackfontlist.h create mode 100644 core/include/JellyfinQt/loader/http/getfile.h create mode 100644 core/include/JellyfinQt/loader/http/getfirstuser.h create mode 100644 core/include/JellyfinQt/loader/http/getfirstuser_2.h create mode 100644 core/include/JellyfinQt/loader/http/getgeneralimage.h create mode 100644 core/include/JellyfinQt/loader/http/getgeneralimages.h create mode 100644 core/include/JellyfinQt/loader/http/getgenre.h create mode 100644 core/include/JellyfinQt/loader/http/getgenreimage.h create mode 100644 core/include/JellyfinQt/loader/http/getgenreimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getgenres.h create mode 100644 core/include/JellyfinQt/loader/http/getgroupingoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getguideinfo.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsaudiosegment.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacyaac.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacymp3.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsplaylistlegacy.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsvideosegment.h create mode 100644 core/include/JellyfinQt/loader/http/gethlsvideosegmentlegacy.h create mode 100644 core/include/JellyfinQt/loader/http/geticon.h create mode 100644 core/include/JellyfinQt/loader/http/geticonid.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfromalbum.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfromartists.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfromitem.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenre.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenres.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfromplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getinstantmixfromsong.h create mode 100644 core/include/JellyfinQt/loader/http/getintros.h create mode 100644 core/include/JellyfinQt/loader/http/getitem.h create mode 100644 core/include/JellyfinQt/loader/http/getitemcounts.h create mode 100644 core/include/JellyfinQt/loader/http/getitemimage.h create mode 100644 core/include/JellyfinQt/loader/http/getitemimage2.h create mode 100644 core/include/JellyfinQt/loader/http/getitemimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getitemimageinfos.h create mode 100644 core/include/JellyfinQt/loader/http/getitems.h create mode 100644 core/include/JellyfinQt/loader/http/getitemsbyuserid.h create mode 100644 core/include/JellyfinQt/loader/http/getkeys.h create mode 100644 core/include/JellyfinQt/loader/http/getlatestchannelitems.h create mode 100644 core/include/JellyfinQt/loader/http/getlatestmedia.h create mode 100644 core/include/JellyfinQt/loader/http/getlibraryoptionsinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getlineups.h create mode 100644 core/include/JellyfinQt/loader/http/getlivehlsstream.h create mode 100644 core/include/JellyfinQt/loader/http/getliverecordingfile.h create mode 100644 core/include/JellyfinQt/loader/http/getlivestreamfile.h create mode 100644 core/include/JellyfinQt/loader/http/getlivetvchannels.h create mode 100644 core/include/JellyfinQt/loader/http/getlivetvinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getlivetvprograms.h create mode 100644 core/include/JellyfinQt/loader/http/getlocalizationoptions.h create mode 100644 core/include/JellyfinQt/loader/http/getlocaltrailers.h create mode 100644 core/include/JellyfinQt/loader/http/getlogentries.h create mode 100644 core/include/JellyfinQt/loader/http/getlogfile.h create mode 100644 core/include/JellyfinQt/loader/http/getmasterhlsaudioplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getmasterhlsvideoplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getmediafolders.h create mode 100644 core/include/JellyfinQt/loader/http/getmediainfoimage.h create mode 100644 core/include/JellyfinQt/loader/http/getmediainfoimages.h create mode 100644 core/include/JellyfinQt/loader/http/getmediareceiverregistrar.h create mode 100644 core/include/JellyfinQt/loader/http/getmediareceiverregistrar_2.h create mode 100644 core/include/JellyfinQt/loader/http/getmediareceiverregistrar_3.h create mode 100644 core/include/JellyfinQt/loader/http/getmetadataeditorinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getmovierecommendations.h create mode 100644 core/include/JellyfinQt/loader/http/getmovieremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicalbumremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicartistremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicgenre.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicgenreimage.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicgenreimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicgenres.h create mode 100644 core/include/JellyfinQt/loader/http/getmusicvideoremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getnamedconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/getnetworkshares.h create mode 100644 core/include/JellyfinQt/loader/http/getnextup.h create mode 100644 core/include/JellyfinQt/loader/http/getnotifications.h create mode 100644 core/include/JellyfinQt/loader/http/getnotificationservices.h create mode 100644 core/include/JellyfinQt/loader/http/getnotificationssummary.h create mode 100644 core/include/JellyfinQt/loader/http/getnotificationtypes.h create mode 100644 core/include/JellyfinQt/loader/http/getpackageinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getpackages.h create mode 100644 core/include/JellyfinQt/loader/http/getparentalratings.h create mode 100644 core/include/JellyfinQt/loader/http/getparentpath.h create mode 100644 core/include/JellyfinQt/loader/http/getpasswordresetproviders.h create mode 100644 core/include/JellyfinQt/loader/http/getperson.h create mode 100644 core/include/JellyfinQt/loader/http/getpersonimage.h create mode 100644 core/include/JellyfinQt/loader/http/getpersonimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getpersonremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getpersons.h create mode 100644 core/include/JellyfinQt/loader/http/getphysicalpaths.h create mode 100644 core/include/JellyfinQt/loader/http/getpingsystem.h create mode 100644 core/include/JellyfinQt/loader/http/getplaybackinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getplaylistitems.h create mode 100644 core/include/JellyfinQt/loader/http/getpluginconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/getpluginimage.h create mode 100644 core/include/JellyfinQt/loader/http/getpluginmanifest.h create mode 100644 core/include/JellyfinQt/loader/http/getplugins.h create mode 100644 core/include/JellyfinQt/loader/http/getpostedplaybackinfo.h create mode 100644 core/include/JellyfinQt/loader/http/getprofile.h create mode 100644 core/include/JellyfinQt/loader/http/getprofileinfos.h create mode 100644 core/include/JellyfinQt/loader/http/getprogram.h create mode 100644 core/include/JellyfinQt/loader/http/getprograms.h create mode 100644 core/include/JellyfinQt/loader/http/getpublicsysteminfo.h create mode 100644 core/include/JellyfinQt/loader/http/getpublicusers.h create mode 100644 core/include/JellyfinQt/loader/http/getqueryfilters.h create mode 100644 core/include/JellyfinQt/loader/http/getqueryfilterslegacy.h create mode 100644 core/include/JellyfinQt/loader/http/getratingimage.h create mode 100644 core/include/JellyfinQt/loader/http/getratingimages.h create mode 100644 core/include/JellyfinQt/loader/http/getrecommendedprograms.h create mode 100644 core/include/JellyfinQt/loader/http/getrecording.h create mode 100644 core/include/JellyfinQt/loader/http/getrecordingfolders.h create mode 100644 core/include/JellyfinQt/loader/http/getrecordinggroup.h create mode 100644 core/include/JellyfinQt/loader/http/getrecordinggroups.h create mode 100644 core/include/JellyfinQt/loader/http/getrecordings.h create mode 100644 core/include/JellyfinQt/loader/http/getrecordingsseries.h create mode 100644 core/include/JellyfinQt/loader/http/getremoteimage.h create mode 100644 core/include/JellyfinQt/loader/http/getremoteimageproviders.h create mode 100644 core/include/JellyfinQt/loader/http/getremoteimages.h create mode 100644 core/include/JellyfinQt/loader/http/getremotesearchimage.h create mode 100644 core/include/JellyfinQt/loader/http/getremotesubtitles.h create mode 100644 core/include/JellyfinQt/loader/http/getrepositories.h create mode 100644 core/include/JellyfinQt/loader/http/getresumeitems.h create mode 100644 core/include/JellyfinQt/loader/http/getrootfolder.h create mode 100644 core/include/JellyfinQt/loader/http/getschedulesdirectcountries.h create mode 100644 core/include/JellyfinQt/loader/http/getseasons.h create mode 100644 core/include/JellyfinQt/loader/http/getseriesremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/getseriestimer.h create mode 100644 core/include/JellyfinQt/loader/http/getseriestimers.h create mode 100644 core/include/JellyfinQt/loader/http/getserverlogs.h create mode 100644 core/include/JellyfinQt/loader/http/getsessions.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilaralbums.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilarartists.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilaritems.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilarmovies.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilarshows.h create mode 100644 core/include/JellyfinQt/loader/http/getsimilartrailers.h create mode 100644 core/include/JellyfinQt/loader/http/getspecialfeatures.h create mode 100644 core/include/JellyfinQt/loader/http/getstartupconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/getstatus.h create mode 100644 core/include/JellyfinQt/loader/http/getstudio.h create mode 100644 core/include/JellyfinQt/loader/http/getstudioimage.h create mode 100644 core/include/JellyfinQt/loader/http/getstudioimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getstudios.h create mode 100644 core/include/JellyfinQt/loader/http/getsubtitle.h create mode 100644 core/include/JellyfinQt/loader/http/getsubtitleplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getsubtitlewithticks.h create mode 100644 core/include/JellyfinQt/loader/http/getsuggestions.h create mode 100644 core/include/JellyfinQt/loader/http/getsysteminfo.h create mode 100644 core/include/JellyfinQt/loader/http/gettask.h create mode 100644 core/include/JellyfinQt/loader/http/gettasks.h create mode 100644 core/include/JellyfinQt/loader/http/getthememedia.h create mode 100644 core/include/JellyfinQt/loader/http/getthemesongs.h create mode 100644 core/include/JellyfinQt/loader/http/getthemevideos.h create mode 100644 core/include/JellyfinQt/loader/http/gettimer.h create mode 100644 core/include/JellyfinQt/loader/http/gettimers.h create mode 100644 core/include/JellyfinQt/loader/http/gettrailerremotesearchresults.h create mode 100644 core/include/JellyfinQt/loader/http/gettrailers.h create mode 100644 core/include/JellyfinQt/loader/http/gettunerhosttypes.h create mode 100644 core/include/JellyfinQt/loader/http/getuniversalaudiostream.h create mode 100644 core/include/JellyfinQt/loader/http/getupcomingepisodes.h create mode 100644 core/include/JellyfinQt/loader/http/getuserbyid.h create mode 100644 core/include/JellyfinQt/loader/http/getuserimage.h create mode 100644 core/include/JellyfinQt/loader/http/getuserimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/getusers.h create mode 100644 core/include/JellyfinQt/loader/http/getuserviews.h create mode 100644 core/include/JellyfinQt/loader/http/getutctime.h create mode 100644 core/include/JellyfinQt/loader/http/getvarianthlsaudioplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getvarianthlsvideoplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/getvideostream.h create mode 100644 core/include/JellyfinQt/loader/http/getvideostreambycontainer.h create mode 100644 core/include/JellyfinQt/loader/http/getvirtualfolders.h create mode 100644 core/include/JellyfinQt/loader/http/getwakeonlaninfo.h create mode 100644 core/include/JellyfinQt/loader/http/getyear.h create mode 100644 core/include/JellyfinQt/loader/http/getyears.h create mode 100644 core/include/JellyfinQt/loader/http/headartistimage.h create mode 100644 core/include/JellyfinQt/loader/http/headaudiostream.h create mode 100644 core/include/JellyfinQt/loader/http/headaudiostreambycontainer.h create mode 100644 core/include/JellyfinQt/loader/http/headgenreimage.h create mode 100644 core/include/JellyfinQt/loader/http/headgenreimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headitemimage.h create mode 100644 core/include/JellyfinQt/loader/http/headitemimage2.h create mode 100644 core/include/JellyfinQt/loader/http/headitemimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headmasterhlsaudioplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/headmasterhlsvideoplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/headmusicgenreimage.h create mode 100644 core/include/JellyfinQt/loader/http/headmusicgenreimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headpersonimage.h create mode 100644 core/include/JellyfinQt/loader/http/headpersonimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headstudioimage.h create mode 100644 core/include/JellyfinQt/loader/http/headstudioimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headuniversalaudiostream.h create mode 100644 core/include/JellyfinQt/loader/http/headuserimage.h create mode 100644 core/include/JellyfinQt/loader/http/headuserimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/headvideostream.h create mode 100644 core/include/JellyfinQt/loader/http/headvideostreambycontainer.h create mode 100644 core/include/JellyfinQt/loader/http/initiate.h create mode 100644 core/include/JellyfinQt/loader/http/installpackage.h create mode 100644 core/include/JellyfinQt/loader/http/markfavoriteitem.h create mode 100644 core/include/JellyfinQt/loader/http/markplayeditem.h create mode 100644 core/include/JellyfinQt/loader/http/markunplayeditem.h create mode 100644 core/include/JellyfinQt/loader/http/mergeversions.h create mode 100644 core/include/JellyfinQt/loader/http/moveitem.h create mode 100644 core/include/JellyfinQt/loader/http/onplaybackprogress.h create mode 100644 core/include/JellyfinQt/loader/http/onplaybackstart.h create mode 100644 core/include/JellyfinQt/loader/http/onplaybackstopped.h create mode 100644 core/include/JellyfinQt/loader/http/openlivestream.h create mode 100644 core/include/JellyfinQt/loader/http/pingplaybacksession.h create mode 100644 core/include/JellyfinQt/loader/http/play.h create mode 100644 core/include/JellyfinQt/loader/http/post.h create mode 100644 core/include/JellyfinQt/loader/http/postaddedmovies.h create mode 100644 core/include/JellyfinQt/loader/http/postaddedseries.h create mode 100644 core/include/JellyfinQt/loader/http/postcapabilities.h create mode 100644 core/include/JellyfinQt/loader/http/postfullcapabilities.h create mode 100644 core/include/JellyfinQt/loader/http/postpingsystem.h create mode 100644 core/include/JellyfinQt/loader/http/postupdatedmedia.h create mode 100644 core/include/JellyfinQt/loader/http/postupdatedmovies.h create mode 100644 core/include/JellyfinQt/loader/http/postupdatedseries.h create mode 100644 core/include/JellyfinQt/loader/http/postuserimage.h create mode 100644 core/include/JellyfinQt/loader/http/postuserimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/processconnectionmanagercontrolrequest.h create mode 100644 core/include/JellyfinQt/loader/http/processcontentdirectorycontrolrequest.h create mode 100644 core/include/JellyfinQt/loader/http/processmediareceiverregistrarcontrolrequest.h create mode 100644 core/include/JellyfinQt/loader/http/refreshlibrary.h create mode 100644 core/include/JellyfinQt/loader/http/removefromcollection.h create mode 100644 core/include/JellyfinQt/loader/http/removefromplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/removemediapath.h create mode 100644 core/include/JellyfinQt/loader/http/removeuserfromsession.h create mode 100644 core/include/JellyfinQt/loader/http/removevirtualfolder.h create mode 100644 core/include/JellyfinQt/loader/http/renamevirtualfolder.h create mode 100644 core/include/JellyfinQt/loader/http/reportplaybackprogress.h create mode 100644 core/include/JellyfinQt/loader/http/reportplaybackstart.h create mode 100644 core/include/JellyfinQt/loader/http/reportplaybackstopped.h create mode 100644 core/include/JellyfinQt/loader/http/reportsessionended.h create mode 100644 core/include/JellyfinQt/loader/http/reportviewing.h create mode 100644 core/include/JellyfinQt/loader/http/resettuner.h create mode 100644 core/include/JellyfinQt/loader/http/restartapplication.h create mode 100644 core/include/JellyfinQt/loader/http/revokekey.h create mode 100644 core/include/JellyfinQt/loader/http/searchremotesubtitles.h create mode 100644 core/include/JellyfinQt/loader/http/sendfullgeneralcommand.h create mode 100644 core/include/JellyfinQt/loader/http/sendgeneralcommand.h create mode 100644 core/include/JellyfinQt/loader/http/sendmessagecommand.h create mode 100644 core/include/JellyfinQt/loader/http/sendplaystatecommand.h create mode 100644 core/include/JellyfinQt/loader/http/sendsystemcommand.h create mode 100644 core/include/JellyfinQt/loader/http/setchannelmapping.h create mode 100644 core/include/JellyfinQt/loader/http/setitemimage.h create mode 100644 core/include/JellyfinQt/loader/http/setitemimagebyindex.h create mode 100644 core/include/JellyfinQt/loader/http/setread.h create mode 100644 core/include/JellyfinQt/loader/http/setremoteaccess.h create mode 100644 core/include/JellyfinQt/loader/http/setrepositories.h create mode 100644 core/include/JellyfinQt/loader/http/setunread.h create mode 100644 core/include/JellyfinQt/loader/http/shutdownapplication.h create mode 100644 core/include/JellyfinQt/loader/http/starttask.h create mode 100644 core/include/JellyfinQt/loader/http/stopencodingprocess.h create mode 100644 core/include/JellyfinQt/loader/http/stoptask.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaybuffering.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaycreategroup.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaygetgroups.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayjoingroup.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayleavegroup.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaymoveplaylistitem.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaynextitem.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaypause.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayping.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaypreviousitem.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayqueue.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayready.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayremovefromplaylist.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayseek.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaysetignorewait.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaysetnewqueue.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaysetplaylistitem.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaysetrepeatmode.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaysetshufflemode.h create mode 100644 core/include/JellyfinQt/loader/http/syncplaystop.h create mode 100644 core/include/JellyfinQt/loader/http/syncplayunpause.h create mode 100644 core/include/JellyfinQt/loader/http/uninstallplugin.h create mode 100644 core/include/JellyfinQt/loader/http/uninstallpluginbyversion.h create mode 100644 core/include/JellyfinQt/loader/http/unmarkfavoriteitem.h create mode 100644 core/include/JellyfinQt/loader/http/updateconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/updatedeviceoptions.h create mode 100644 core/include/JellyfinQt/loader/http/updatedisplaypreferences.h create mode 100644 core/include/JellyfinQt/loader/http/updateinitialconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/updateitem.h create mode 100644 core/include/JellyfinQt/loader/http/updateitemcontenttype.h create mode 100644 core/include/JellyfinQt/loader/http/updateitemimageindex.h create mode 100644 core/include/JellyfinQt/loader/http/updatelibraryoptions.h create mode 100644 core/include/JellyfinQt/loader/http/updatemediaencoderpath.h create mode 100644 core/include/JellyfinQt/loader/http/updatemediapath.h create mode 100644 core/include/JellyfinQt/loader/http/updatenamedconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/updatepluginconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/updatepluginsecurityinfo.h create mode 100644 core/include/JellyfinQt/loader/http/updateprofile.h create mode 100644 core/include/JellyfinQt/loader/http/updateseriestimer.h create mode 100644 core/include/JellyfinQt/loader/http/updatestartupuser.h create mode 100644 core/include/JellyfinQt/loader/http/updatetask.h create mode 100644 core/include/JellyfinQt/loader/http/updatetimer.h create mode 100644 core/include/JellyfinQt/loader/http/updateuser.h create mode 100644 core/include/JellyfinQt/loader/http/updateuserconfiguration.h create mode 100644 core/include/JellyfinQt/loader/http/updateusereasypassword.h create mode 100644 core/include/JellyfinQt/loader/http/updateuseritemrating.h create mode 100644 core/include/JellyfinQt/loader/http/updateuserpassword.h create mode 100644 core/include/JellyfinQt/loader/http/updateuserpolicy.h create mode 100644 core/include/JellyfinQt/loader/http/uploadsubtitle.h create mode 100644 core/include/JellyfinQt/loader/http/validatepath.h create mode 100644 core/include/JellyfinQt/loader/requesttypes.h delete mode 100644 core/include/JellyfinQt/remotedata.h create mode 100644 core/include/JellyfinQt/viewmodel/item.h create mode 100644 core/include/JellyfinQt/viewmodel/loader.h rename core/include/JellyfinQt/{ => viewmodel}/playbackmanager.h (85%) create mode 100644 core/src/dto/accessschedule.cpp create mode 100644 core/src/dto/activitylogentry.cpp create mode 100644 core/src/dto/activitylogentryqueryresult.cpp create mode 100644 core/src/dto/addvirtualfolderdto.cpp create mode 100644 core/src/dto/albuminfo.cpp create mode 100644 core/src/dto/albuminforemotesearchquery.cpp create mode 100644 core/src/dto/allthememediaresult.cpp create mode 100644 core/src/dto/architecture.cpp create mode 100644 core/src/dto/artistinfo.cpp create mode 100644 core/src/dto/artistinforemotesearchquery.cpp create mode 100644 core/src/dto/authenticateuserbyname.cpp create mode 100644 core/src/dto/authenticationinfo.cpp create mode 100644 core/src/dto/authenticationinfoqueryresult.cpp create mode 100644 core/src/dto/authenticationresult.cpp create mode 100644 core/src/dto/baseitem.cpp create mode 100644 core/src/dto/baseitemdto.cpp create mode 100644 core/src/dto/baseitemdtoqueryresult.cpp create mode 100644 core/src/dto/baseitemperson.cpp create mode 100644 core/src/dto/basepluginconfiguration.cpp create mode 100644 core/src/dto/bookinfo.cpp create mode 100644 core/src/dto/bookinforemotesearchquery.cpp create mode 100644 core/src/dto/boxsetinfo.cpp create mode 100644 core/src/dto/boxsetinforemotesearchquery.cpp create mode 100644 core/src/dto/brandingoptions.cpp create mode 100644 core/src/dto/bufferrequestdto.cpp create mode 100644 core/src/dto/channelfeatures.cpp create mode 100644 core/src/dto/channelitemsortfield.cpp create mode 100644 core/src/dto/channelmappingoptionsdto.cpp create mode 100644 core/src/dto/channelmediacontenttype.cpp create mode 100644 core/src/dto/channelmediatype.cpp create mode 100644 core/src/dto/channeltype.cpp create mode 100644 core/src/dto/chapterinfo.cpp create mode 100644 core/src/dto/clientcapabilities.cpp create mode 100644 core/src/dto/clientcapabilitiesdto.cpp create mode 100644 core/src/dto/codecprofile.cpp create mode 100644 core/src/dto/codectype.cpp create mode 100644 core/src/dto/collectioncreationresult.cpp create mode 100644 core/src/dto/configurationpageinfo.cpp create mode 100644 core/src/dto/configurationpagetype.cpp create mode 100644 core/src/dto/containerprofile.cpp create mode 100644 core/src/dto/controlresponse.cpp create mode 100644 core/src/dto/countryinfo.cpp create mode 100644 core/src/dto/createplaylistdto.cpp create mode 100644 core/src/dto/createuserbyname.cpp create mode 100644 core/src/dto/culturedto.cpp create mode 100644 core/src/dto/dayofweek.cpp create mode 100644 core/src/dto/daypattern.cpp create mode 100644 core/src/dto/defaultdirectorybrowserinfodto.cpp create mode 100644 core/src/dto/deviceidentification.cpp create mode 100644 core/src/dto/deviceinfo.cpp create mode 100644 core/src/dto/deviceinfoqueryresult.cpp create mode 100644 core/src/dto/deviceoptions.cpp create mode 100644 core/src/dto/deviceprofile.cpp create mode 100644 core/src/dto/deviceprofileinfo.cpp create mode 100644 core/src/dto/deviceprofiletype.cpp create mode 100644 core/src/dto/directplayprofile.cpp create mode 100644 core/src/dto/displaypreferencesdto.cpp create mode 100644 core/src/dto/dlnaprofiletype.cpp create mode 100644 core/src/dto/dynamicdayofweek.cpp create mode 100644 core/src/dto/encodingcontext.cpp create mode 100644 core/src/dto/endpointinfo.cpp create mode 100644 core/src/dto/externalidinfo.cpp create mode 100644 core/src/dto/externalidmediatype.cpp create mode 100644 core/src/dto/externalurl.cpp create mode 100644 core/src/dto/ffmpeglocation.cpp create mode 100644 core/src/dto/filesystementryinfo.cpp create mode 100644 core/src/dto/filesystementrytype.cpp create mode 100644 core/src/dto/fontfile.cpp create mode 100644 core/src/dto/forgotpasswordaction.cpp create mode 100644 core/src/dto/forgotpassworddto.cpp create mode 100644 core/src/dto/forgotpasswordresult.cpp create mode 100644 core/src/dto/generalcommand.cpp create mode 100644 core/src/dto/generalcommandtype.cpp create mode 100644 core/src/dto/getprogramsdto.cpp create mode 100644 core/src/dto/groupinfodto.cpp create mode 100644 core/src/dto/groupqueuemode.cpp create mode 100644 core/src/dto/grouprepeatmode.cpp create mode 100644 core/src/dto/groupshufflemode.cpp create mode 100644 core/src/dto/groupstatetype.cpp create mode 100644 core/src/dto/groupupdatetype.cpp create mode 100644 core/src/dto/guideinfo.cpp create mode 100644 core/src/dto/headermatchtype.cpp create mode 100644 core/src/dto/httpheaderinfo.cpp create mode 100644 core/src/dto/ignorewaitrequestdto.cpp create mode 100644 core/src/dto/imagebynameinfo.cpp create mode 100644 core/src/dto/imageformat.cpp create mode 100644 core/src/dto/imageinfo.cpp create mode 100644 core/src/dto/imageoption.cpp create mode 100644 core/src/dto/imageorientation.cpp create mode 100644 core/src/dto/imageproviderinfo.cpp create mode 100644 core/src/dto/imagesavingconvention.cpp create mode 100644 core/src/dto/imagetype.cpp create mode 100644 core/src/dto/installationinfo.cpp create mode 100644 core/src/dto/iplugin.cpp create mode 100644 core/src/dto/isotype.cpp create mode 100644 core/src/dto/itemcounts.cpp create mode 100644 core/src/dto/itemfields.cpp create mode 100644 core/src/dto/itemfilter.cpp create mode 100644 core/src/dto/joingrouprequestdto.cpp create mode 100644 core/src/dto/keepuntil.cpp create mode 100644 core/src/dto/libraryoptioninfodto.cpp create mode 100644 core/src/dto/libraryoptions.cpp create mode 100644 core/src/dto/libraryoptionsresultdto.cpp create mode 100644 core/src/dto/librarytypeoptionsdto.cpp create mode 100644 core/src/dto/libraryupdateinfo.cpp create mode 100644 core/src/dto/listingsproviderinfo.cpp create mode 100644 core/src/dto/livestreamresponse.cpp create mode 100644 core/src/dto/livetvinfo.cpp create mode 100644 core/src/dto/livetvserviceinfo.cpp create mode 100644 core/src/dto/livetvservicestatus.cpp create mode 100644 core/src/dto/localizationoption.cpp create mode 100644 core/src/dto/locationtype.cpp create mode 100644 core/src/dto/logfile.cpp create mode 100644 core/src/dto/loglevel.cpp create mode 100644 core/src/dto/mediaattachment.cpp create mode 100644 core/src/dto/mediaencoderpathdto.cpp create mode 100644 core/src/dto/mediapathdto.cpp create mode 100644 core/src/dto/mediapathinfo.cpp create mode 100644 core/src/dto/mediaprotocol.cpp create mode 100644 core/src/dto/mediasourceinfo.cpp create mode 100644 core/src/dto/mediasourcetype.cpp create mode 100644 core/src/dto/mediastream.cpp create mode 100644 core/src/dto/mediastreamtype.cpp create mode 100644 core/src/dto/mediaupdateinfodto.cpp create mode 100644 core/src/dto/mediaurl.cpp create mode 100644 core/src/dto/metadataeditorinfo.cpp create mode 100644 core/src/dto/metadatafield.cpp create mode 100644 core/src/dto/metadataoptions.cpp create mode 100644 core/src/dto/metadatarefreshmode.cpp create mode 100644 core/src/dto/moveplaylistitemrequestdto.cpp create mode 100644 core/src/dto/movieinfo.cpp create mode 100644 core/src/dto/movieinforemotesearchquery.cpp create mode 100644 core/src/dto/musicvideoinfo.cpp create mode 100644 core/src/dto/musicvideoinforemotesearchquery.cpp create mode 100644 core/src/dto/nameguidpair.cpp create mode 100644 core/src/dto/nameidpair.cpp create mode 100644 core/src/dto/namevaluepair.cpp create mode 100644 core/src/dto/newgrouprequestdto.cpp create mode 100644 core/src/dto/nextitemrequestdto.cpp create mode 100644 core/src/dto/notificationdto.cpp create mode 100644 core/src/dto/notificationlevel.cpp create mode 100644 core/src/dto/notificationresultdto.cpp create mode 100644 core/src/dto/notificationssummarydto.cpp create mode 100644 core/src/dto/notificationtypeinfo.cpp create mode 100644 core/src/dto/objectgroupupdate.cpp create mode 100644 core/src/dto/openlivestreamdto.cpp create mode 100644 core/src/dto/packageinfo.cpp create mode 100644 core/src/dto/parentalrating.cpp create mode 100644 core/src/dto/pathsubstitution.cpp create mode 100644 core/src/dto/personlookupinfo.cpp create mode 100644 core/src/dto/personlookupinforemotesearchquery.cpp create mode 100644 core/src/dto/pingrequestdto.cpp create mode 100644 core/src/dto/pinredeemresult.cpp create mode 100644 core/src/dto/playaccess.cpp create mode 100644 core/src/dto/playbackerrorcode.cpp create mode 100644 core/src/dto/playbackinfodto.cpp create mode 100644 core/src/dto/playbackinforesponse.cpp create mode 100644 core/src/dto/playbackprogressinfo.cpp create mode 100644 core/src/dto/playbackstartinfo.cpp create mode 100644 core/src/dto/playbackstopinfo.cpp create mode 100644 core/src/dto/playcommand.cpp create mode 100644 core/src/dto/playerstateinfo.cpp create mode 100644 core/src/dto/playlistcreationresult.cpp create mode 100644 core/src/dto/playmethod.cpp create mode 100644 core/src/dto/playrequest.cpp create mode 100644 core/src/dto/playrequestdto.cpp create mode 100644 core/src/dto/playstatecommand.cpp create mode 100644 core/src/dto/playstaterequest.cpp create mode 100644 core/src/dto/plugininfo.cpp create mode 100644 core/src/dto/pluginsecurityinfo.cpp create mode 100644 core/src/dto/pluginstatus.cpp create mode 100644 core/src/dto/previousitemrequestdto.cpp create mode 100644 core/src/dto/problemdetails.cpp create mode 100644 core/src/dto/profilecondition.cpp create mode 100644 core/src/dto/profileconditiontype.cpp create mode 100644 core/src/dto/profileconditionvalue.cpp create mode 100644 core/src/dto/programaudio.cpp create mode 100644 core/src/dto/publicsysteminfo.cpp create mode 100644 core/src/dto/queryfilters.cpp create mode 100644 core/src/dto/queryfilterslegacy.cpp create mode 100644 core/src/dto/queueitem.cpp create mode 100644 core/src/dto/queuerequestdto.cpp create mode 100644 core/src/dto/quickconnectdto.cpp create mode 100644 core/src/dto/quickconnectresult.cpp create mode 100644 core/src/dto/quickconnectstate.cpp create mode 100644 core/src/dto/ratingtype.cpp create mode 100644 core/src/dto/readyrequestdto.cpp create mode 100644 core/src/dto/recommendationdto.cpp create mode 100644 core/src/dto/recommendationtype.cpp create mode 100644 core/src/dto/recordingstatus.cpp create mode 100644 core/src/dto/remoteimageinfo.cpp create mode 100644 core/src/dto/remoteimageresult.cpp create mode 100644 core/src/dto/remotesearchresult.cpp create mode 100644 core/src/dto/remotesubtitleinfo.cpp create mode 100644 core/src/dto/removefromplaylistrequestdto.cpp create mode 100644 core/src/dto/repeatmode.cpp create mode 100644 core/src/dto/repositoryinfo.cpp create mode 100644 core/src/dto/responseprofile.cpp create mode 100644 core/src/dto/scrolldirection.cpp create mode 100644 core/src/dto/searchhint.cpp create mode 100644 core/src/dto/searchhintresult.cpp create mode 100644 core/src/dto/seekrequestdto.cpp create mode 100644 core/src/dto/sendcommand.cpp create mode 100644 core/src/dto/sendcommandtype.cpp create mode 100644 core/src/dto/seriesinfo.cpp create mode 100644 core/src/dto/seriesinforemotesearchquery.cpp create mode 100644 core/src/dto/seriesstatus.cpp create mode 100644 core/src/dto/seriestimerinfodto.cpp create mode 100644 core/src/dto/seriestimerinfodtoqueryresult.cpp create mode 100644 core/src/dto/serverconfiguration.cpp create mode 100644 core/src/dto/sessioninfo.cpp create mode 100644 core/src/dto/sessionuserinfo.cpp create mode 100644 core/src/dto/setchannelmappingdto.cpp create mode 100644 core/src/dto/setplaylistitemrequestdto.cpp create mode 100644 core/src/dto/setrepeatmoderequestdto.cpp create mode 100644 core/src/dto/setshufflemoderequestdto.cpp create mode 100644 core/src/dto/songinfo.cpp create mode 100644 core/src/dto/sortorder.cpp create mode 100644 core/src/dto/specialviewoptiondto.cpp create mode 100644 core/src/dto/startupconfigurationdto.cpp create mode 100644 core/src/dto/startupremoteaccessdto.cpp create mode 100644 core/src/dto/startupuserdto.cpp create mode 100644 core/src/dto/subtitledeliverymethod.cpp create mode 100644 core/src/dto/subtitleplaybackmode.cpp create mode 100644 core/src/dto/subtitleprofile.cpp create mode 100644 core/src/dto/syncplayuseraccesstype.cpp create mode 100644 core/src/dto/systeminfo.cpp create mode 100644 core/src/dto/taskcompletionstatus.cpp create mode 100644 core/src/dto/taskinfo.cpp create mode 100644 core/src/dto/taskresult.cpp create mode 100644 core/src/dto/taskstate.cpp create mode 100644 core/src/dto/tasktriggerinfo.cpp create mode 100644 core/src/dto/thememediaresult.cpp create mode 100644 core/src/dto/timereventinfo.cpp create mode 100644 core/src/dto/timerinfodto.cpp create mode 100644 core/src/dto/timerinfodtoqueryresult.cpp create mode 100644 core/src/dto/trailerinfo.cpp create mode 100644 core/src/dto/trailerinforemotesearchquery.cpp create mode 100644 core/src/dto/transcodereason.cpp create mode 100644 core/src/dto/transcodeseekinfo.cpp create mode 100644 core/src/dto/transcodinginfo.cpp create mode 100644 core/src/dto/transcodingprofile.cpp create mode 100644 core/src/dto/transportstreamtimestamp.cpp create mode 100644 core/src/dto/tunerchannelmapping.cpp create mode 100644 core/src/dto/tunerhostinfo.cpp create mode 100644 core/src/dto/typeoptions.cpp create mode 100644 core/src/dto/unrateditem.cpp create mode 100644 core/src/dto/updatelibraryoptionsdto.cpp create mode 100644 core/src/dto/updateusereasypassword.cpp create mode 100644 core/src/dto/updateuserpassword.cpp create mode 100644 core/src/dto/uploadsubtitledto.cpp create mode 100644 core/src/dto/userconfiguration.cpp create mode 100644 core/src/dto/userdto.cpp create mode 100644 core/src/dto/useritemdatadto.cpp create mode 100644 core/src/dto/userpolicy.cpp create mode 100644 core/src/dto/utctimeresponse.cpp create mode 100644 core/src/dto/validatepathdto.cpp create mode 100644 core/src/dto/version.cpp create mode 100644 core/src/dto/versioninfo.cpp create mode 100644 core/src/dto/video3dformat.cpp create mode 100644 core/src/dto/videotype.cpp create mode 100644 core/src/dto/virtualfolderinfo.cpp create mode 100644 core/src/dto/wakeonlaninfo.cpp create mode 100644 core/src/dto/xmlattribute.cpp create mode 100644 core/src/eventbus.cpp create mode 100644 core/src/loader/http/activate.cpp create mode 100644 core/src/loader/http/addlistingprovider.cpp create mode 100644 core/src/loader/http/addmediapath.cpp create mode 100644 core/src/loader/http/addtocollection.cpp create mode 100644 core/src/loader/http/addtoplaylist.cpp create mode 100644 core/src/loader/http/addtunerhost.cpp create mode 100644 core/src/loader/http/addusertosession.cpp create mode 100644 core/src/loader/http/addvirtualfolder.cpp create mode 100644 core/src/loader/http/applysearchcriteria.cpp create mode 100644 core/src/loader/http/authenticateuser.cpp create mode 100644 core/src/loader/http/authenticateuserbyname.cpp create mode 100644 core/src/loader/http/authenticatewithquickconnect.cpp create mode 100644 core/src/loader/http/authorize.cpp create mode 100644 core/src/loader/http/available.cpp create mode 100644 core/src/loader/http/cancelpackageinstallation.cpp create mode 100644 core/src/loader/http/cancelseriestimer.cpp create mode 100644 core/src/loader/http/canceltimer.cpp create mode 100644 core/src/loader/http/closelivestream.cpp create mode 100644 core/src/loader/http/completewizard.cpp create mode 100644 core/src/loader/http/connect.cpp create mode 100644 core/src/loader/http/createadminnotification.cpp create mode 100644 core/src/loader/http/createcollection.cpp create mode 100644 core/src/loader/http/createkey.cpp create mode 100644 core/src/loader/http/createplaylist.cpp create mode 100644 core/src/loader/http/createprofile.cpp create mode 100644 core/src/loader/http/createseriestimer.cpp create mode 100644 core/src/loader/http/createtimer.cpp create mode 100644 core/src/loader/http/createuserbyname.cpp create mode 100644 core/src/loader/http/deauthorize.cpp create mode 100644 core/src/loader/http/deletealternatesources.cpp create mode 100644 core/src/loader/http/deletedevice.cpp create mode 100644 core/src/loader/http/deleteitem.cpp create mode 100644 core/src/loader/http/deleteitemimage.cpp create mode 100644 core/src/loader/http/deleteitemimagebyindex.cpp create mode 100644 core/src/loader/http/deleteitems.cpp create mode 100644 core/src/loader/http/deletelistingprovider.cpp create mode 100644 core/src/loader/http/deleteprofile.cpp create mode 100644 core/src/loader/http/deleterecording.cpp create mode 100644 core/src/loader/http/deletesubtitle.cpp create mode 100644 core/src/loader/http/deletetunerhost.cpp create mode 100644 core/src/loader/http/deleteuser.cpp create mode 100644 core/src/loader/http/deleteuserimage.cpp create mode 100644 core/src/loader/http/deleteuserimagebyindex.cpp create mode 100644 core/src/loader/http/deleteuseritemrating.cpp create mode 100644 core/src/loader/http/disableplugin.cpp create mode 100644 core/src/loader/http/discovertuners.cpp create mode 100644 core/src/loader/http/discvovertuners.cpp create mode 100644 core/src/loader/http/displaycontent.cpp create mode 100644 core/src/loader/http/downloadremoteimage.cpp create mode 100644 core/src/loader/http/downloadremotesubtitles.cpp create mode 100644 core/src/loader/http/enableplugin.cpp create mode 100644 core/src/loader/http/forgotpassword.cpp create mode 100644 core/src/loader/http/forgotpasswordpin.cpp create mode 100644 core/src/loader/http/get.cpp create mode 100644 core/src/loader/http/getadditionalpart.cpp create mode 100644 core/src/loader/http/getalbumartists.cpp create mode 100644 core/src/loader/http/getallchannelfeatures.cpp create mode 100644 core/src/loader/http/getancestors.cpp create mode 100644 core/src/loader/http/getartistbyname.cpp create mode 100644 core/src/loader/http/getartistimage.cpp create mode 100644 core/src/loader/http/getartists.cpp create mode 100644 core/src/loader/http/getattachment.cpp create mode 100644 core/src/loader/http/getaudiostream.cpp create mode 100644 core/src/loader/http/getaudiostreambycontainer.cpp create mode 100644 core/src/loader/http/getauthproviders.cpp create mode 100644 core/src/loader/http/getbitratetestbytes.cpp create mode 100644 core/src/loader/http/getbookremotesearchresults.cpp create mode 100644 core/src/loader/http/getboxsetremotesearchresults.cpp create mode 100644 core/src/loader/http/getbrandingcss.cpp create mode 100644 core/src/loader/http/getbrandingcss_2.cpp create mode 100644 core/src/loader/http/getbrandingoptions.cpp create mode 100644 core/src/loader/http/getchannel.cpp create mode 100644 core/src/loader/http/getchannelfeatures.cpp create mode 100644 core/src/loader/http/getchannelitems.cpp create mode 100644 core/src/loader/http/getchannelmappingoptions.cpp create mode 100644 core/src/loader/http/getchannels.cpp create mode 100644 core/src/loader/http/getconfiguration.cpp create mode 100644 core/src/loader/http/getconfigurationpages.cpp create mode 100644 core/src/loader/http/getconnectionmanager.cpp create mode 100644 core/src/loader/http/getconnectionmanager_2.cpp create mode 100644 core/src/loader/http/getconnectionmanager_3.cpp create mode 100644 core/src/loader/http/getcontentdirectory.cpp create mode 100644 core/src/loader/http/getcontentdirectory_2.cpp create mode 100644 core/src/loader/http/getcontentdirectory_3.cpp create mode 100644 core/src/loader/http/getcountries.cpp create mode 100644 core/src/loader/http/getcriticreviews.cpp create mode 100644 core/src/loader/http/getcultures.cpp create mode 100644 core/src/loader/http/getcurrentuser.cpp create mode 100644 core/src/loader/http/getdashboardconfigurationpage.cpp create mode 100644 core/src/loader/http/getdefaultdirectorybrowser.cpp create mode 100644 core/src/loader/http/getdefaultlistingprovider.cpp create mode 100644 core/src/loader/http/getdefaultmetadataoptions.cpp create mode 100644 core/src/loader/http/getdefaultprofile.cpp create mode 100644 core/src/loader/http/getdefaulttimer.cpp create mode 100644 core/src/loader/http/getdescriptionxml.cpp create mode 100644 core/src/loader/http/getdescriptionxml_2.cpp create mode 100644 core/src/loader/http/getdeviceinfo.cpp create mode 100644 core/src/loader/http/getdeviceoptions.cpp create mode 100644 core/src/loader/http/getdevices.cpp create mode 100644 core/src/loader/http/getdirectorycontents.cpp create mode 100644 core/src/loader/http/getdisplaypreferences.cpp create mode 100644 core/src/loader/http/getdownload.cpp create mode 100644 core/src/loader/http/getdrives.cpp create mode 100644 core/src/loader/http/getendpointinfo.cpp create mode 100644 core/src/loader/http/getepisodes.cpp create mode 100644 core/src/loader/http/getexternalidinfos.cpp create mode 100644 core/src/loader/http/getfallbackfont.cpp create mode 100644 core/src/loader/http/getfallbackfontlist.cpp create mode 100644 core/src/loader/http/getfile.cpp create mode 100644 core/src/loader/http/getfirstuser.cpp create mode 100644 core/src/loader/http/getfirstuser_2.cpp create mode 100644 core/src/loader/http/getgeneralimage.cpp create mode 100644 core/src/loader/http/getgeneralimages.cpp create mode 100644 core/src/loader/http/getgenre.cpp create mode 100644 core/src/loader/http/getgenreimage.cpp create mode 100644 core/src/loader/http/getgenreimagebyindex.cpp create mode 100644 core/src/loader/http/getgenres.cpp create mode 100644 core/src/loader/http/getgroupingoptions.cpp create mode 100644 core/src/loader/http/getguideinfo.cpp create mode 100644 core/src/loader/http/gethlsaudiosegment.cpp create mode 100644 core/src/loader/http/gethlsaudiosegmentlegacyaac.cpp create mode 100644 core/src/loader/http/gethlsaudiosegmentlegacymp3.cpp create mode 100644 core/src/loader/http/gethlsplaylistlegacy.cpp create mode 100644 core/src/loader/http/gethlsvideosegment.cpp create mode 100644 core/src/loader/http/gethlsvideosegmentlegacy.cpp create mode 100644 core/src/loader/http/geticon.cpp create mode 100644 core/src/loader/http/geticonid.cpp create mode 100644 core/src/loader/http/getinstantmixfromalbum.cpp create mode 100644 core/src/loader/http/getinstantmixfromartists.cpp create mode 100644 core/src/loader/http/getinstantmixfromitem.cpp create mode 100644 core/src/loader/http/getinstantmixfrommusicgenre.cpp create mode 100644 core/src/loader/http/getinstantmixfrommusicgenres.cpp create mode 100644 core/src/loader/http/getinstantmixfromplaylist.cpp create mode 100644 core/src/loader/http/getinstantmixfromsong.cpp create mode 100644 core/src/loader/http/getintros.cpp create mode 100644 core/src/loader/http/getitem.cpp create mode 100644 core/src/loader/http/getitemcounts.cpp create mode 100644 core/src/loader/http/getitemimage.cpp create mode 100644 core/src/loader/http/getitemimage2.cpp create mode 100644 core/src/loader/http/getitemimagebyindex.cpp create mode 100644 core/src/loader/http/getitemimageinfos.cpp create mode 100644 core/src/loader/http/getitems.cpp create mode 100644 core/src/loader/http/getitemsbyuserid.cpp create mode 100644 core/src/loader/http/getkeys.cpp create mode 100644 core/src/loader/http/getlatestchannelitems.cpp create mode 100644 core/src/loader/http/getlatestmedia.cpp create mode 100644 core/src/loader/http/getlibraryoptionsinfo.cpp create mode 100644 core/src/loader/http/getlineups.cpp create mode 100644 core/src/loader/http/getlivehlsstream.cpp create mode 100644 core/src/loader/http/getliverecordingfile.cpp create mode 100644 core/src/loader/http/getlivestreamfile.cpp create mode 100644 core/src/loader/http/getlivetvchannels.cpp create mode 100644 core/src/loader/http/getlivetvinfo.cpp create mode 100644 core/src/loader/http/getlivetvprograms.cpp create mode 100644 core/src/loader/http/getlocalizationoptions.cpp create mode 100644 core/src/loader/http/getlocaltrailers.cpp create mode 100644 core/src/loader/http/getlogentries.cpp create mode 100644 core/src/loader/http/getlogfile.cpp create mode 100644 core/src/loader/http/getmasterhlsaudioplaylist.cpp create mode 100644 core/src/loader/http/getmasterhlsvideoplaylist.cpp create mode 100644 core/src/loader/http/getmediafolders.cpp create mode 100644 core/src/loader/http/getmediainfoimage.cpp create mode 100644 core/src/loader/http/getmediainfoimages.cpp create mode 100644 core/src/loader/http/getmediareceiverregistrar.cpp create mode 100644 core/src/loader/http/getmediareceiverregistrar_2.cpp create mode 100644 core/src/loader/http/getmediareceiverregistrar_3.cpp create mode 100644 core/src/loader/http/getmetadataeditorinfo.cpp create mode 100644 core/src/loader/http/getmovierecommendations.cpp create mode 100644 core/src/loader/http/getmovieremotesearchresults.cpp create mode 100644 core/src/loader/http/getmusicalbumremotesearchresults.cpp create mode 100644 core/src/loader/http/getmusicartistremotesearchresults.cpp create mode 100644 core/src/loader/http/getmusicgenre.cpp create mode 100644 core/src/loader/http/getmusicgenreimage.cpp create mode 100644 core/src/loader/http/getmusicgenreimagebyindex.cpp create mode 100644 core/src/loader/http/getmusicgenres.cpp create mode 100644 core/src/loader/http/getmusicvideoremotesearchresults.cpp create mode 100644 core/src/loader/http/getnamedconfiguration.cpp create mode 100644 core/src/loader/http/getnetworkshares.cpp create mode 100644 core/src/loader/http/getnextup.cpp create mode 100644 core/src/loader/http/getnotifications.cpp create mode 100644 core/src/loader/http/getnotificationservices.cpp create mode 100644 core/src/loader/http/getnotificationssummary.cpp create mode 100644 core/src/loader/http/getnotificationtypes.cpp create mode 100644 core/src/loader/http/getpackageinfo.cpp create mode 100644 core/src/loader/http/getpackages.cpp create mode 100644 core/src/loader/http/getparentalratings.cpp create mode 100644 core/src/loader/http/getparentpath.cpp create mode 100644 core/src/loader/http/getpasswordresetproviders.cpp create mode 100644 core/src/loader/http/getperson.cpp create mode 100644 core/src/loader/http/getpersonimage.cpp create mode 100644 core/src/loader/http/getpersonimagebyindex.cpp create mode 100644 core/src/loader/http/getpersonremotesearchresults.cpp create mode 100644 core/src/loader/http/getpersons.cpp create mode 100644 core/src/loader/http/getphysicalpaths.cpp create mode 100644 core/src/loader/http/getpingsystem.cpp create mode 100644 core/src/loader/http/getplaybackinfo.cpp create mode 100644 core/src/loader/http/getplaylistitems.cpp create mode 100644 core/src/loader/http/getpluginconfiguration.cpp create mode 100644 core/src/loader/http/getpluginimage.cpp create mode 100644 core/src/loader/http/getpluginmanifest.cpp create mode 100644 core/src/loader/http/getplugins.cpp create mode 100644 core/src/loader/http/getpostedplaybackinfo.cpp create mode 100644 core/src/loader/http/getprofile.cpp create mode 100644 core/src/loader/http/getprofileinfos.cpp create mode 100644 core/src/loader/http/getprogram.cpp create mode 100644 core/src/loader/http/getprograms.cpp create mode 100644 core/src/loader/http/getpublicsysteminfo.cpp create mode 100644 core/src/loader/http/getpublicusers.cpp create mode 100644 core/src/loader/http/getqueryfilters.cpp create mode 100644 core/src/loader/http/getqueryfilterslegacy.cpp create mode 100644 core/src/loader/http/getratingimage.cpp create mode 100644 core/src/loader/http/getratingimages.cpp create mode 100644 core/src/loader/http/getrecommendedprograms.cpp create mode 100644 core/src/loader/http/getrecording.cpp create mode 100644 core/src/loader/http/getrecordingfolders.cpp create mode 100644 core/src/loader/http/getrecordinggroup.cpp create mode 100644 core/src/loader/http/getrecordinggroups.cpp create mode 100644 core/src/loader/http/getrecordings.cpp create mode 100644 core/src/loader/http/getrecordingsseries.cpp create mode 100644 core/src/loader/http/getremoteimage.cpp create mode 100644 core/src/loader/http/getremoteimageproviders.cpp create mode 100644 core/src/loader/http/getremoteimages.cpp create mode 100644 core/src/loader/http/getremotesearchimage.cpp create mode 100644 core/src/loader/http/getremotesubtitles.cpp create mode 100644 core/src/loader/http/getrepositories.cpp create mode 100644 core/src/loader/http/getresumeitems.cpp create mode 100644 core/src/loader/http/getrootfolder.cpp create mode 100644 core/src/loader/http/getschedulesdirectcountries.cpp create mode 100644 core/src/loader/http/getseasons.cpp create mode 100644 core/src/loader/http/getseriesremotesearchresults.cpp create mode 100644 core/src/loader/http/getseriestimer.cpp create mode 100644 core/src/loader/http/getseriestimers.cpp create mode 100644 core/src/loader/http/getserverlogs.cpp create mode 100644 core/src/loader/http/getsessions.cpp create mode 100644 core/src/loader/http/getsimilaralbums.cpp create mode 100644 core/src/loader/http/getsimilarartists.cpp create mode 100644 core/src/loader/http/getsimilaritems.cpp create mode 100644 core/src/loader/http/getsimilarmovies.cpp create mode 100644 core/src/loader/http/getsimilarshows.cpp create mode 100644 core/src/loader/http/getsimilartrailers.cpp create mode 100644 core/src/loader/http/getspecialfeatures.cpp create mode 100644 core/src/loader/http/getstartupconfiguration.cpp create mode 100644 core/src/loader/http/getstatus.cpp create mode 100644 core/src/loader/http/getstudio.cpp create mode 100644 core/src/loader/http/getstudioimage.cpp create mode 100644 core/src/loader/http/getstudioimagebyindex.cpp create mode 100644 core/src/loader/http/getstudios.cpp create mode 100644 core/src/loader/http/getsubtitle.cpp create mode 100644 core/src/loader/http/getsubtitleplaylist.cpp create mode 100644 core/src/loader/http/getsubtitlewithticks.cpp create mode 100644 core/src/loader/http/getsuggestions.cpp create mode 100644 core/src/loader/http/getsysteminfo.cpp create mode 100644 core/src/loader/http/gettask.cpp create mode 100644 core/src/loader/http/gettasks.cpp create mode 100644 core/src/loader/http/getthememedia.cpp create mode 100644 core/src/loader/http/getthemesongs.cpp create mode 100644 core/src/loader/http/getthemevideos.cpp create mode 100644 core/src/loader/http/gettimer.cpp create mode 100644 core/src/loader/http/gettimers.cpp create mode 100644 core/src/loader/http/gettrailerremotesearchresults.cpp create mode 100644 core/src/loader/http/gettrailers.cpp create mode 100644 core/src/loader/http/gettunerhosttypes.cpp create mode 100644 core/src/loader/http/getuniversalaudiostream.cpp create mode 100644 core/src/loader/http/getupcomingepisodes.cpp create mode 100644 core/src/loader/http/getuserbyid.cpp create mode 100644 core/src/loader/http/getuserimage.cpp create mode 100644 core/src/loader/http/getuserimagebyindex.cpp create mode 100644 core/src/loader/http/getusers.cpp create mode 100644 core/src/loader/http/getuserviews.cpp create mode 100644 core/src/loader/http/getutctime.cpp create mode 100644 core/src/loader/http/getvarianthlsaudioplaylist.cpp create mode 100644 core/src/loader/http/getvarianthlsvideoplaylist.cpp create mode 100644 core/src/loader/http/getvideostream.cpp create mode 100644 core/src/loader/http/getvideostreambycontainer.cpp create mode 100644 core/src/loader/http/getvirtualfolders.cpp create mode 100644 core/src/loader/http/getwakeonlaninfo.cpp create mode 100644 core/src/loader/http/getyear.cpp create mode 100644 core/src/loader/http/getyears.cpp create mode 100644 core/src/loader/http/headartistimage.cpp create mode 100644 core/src/loader/http/headaudiostream.cpp create mode 100644 core/src/loader/http/headaudiostreambycontainer.cpp create mode 100644 core/src/loader/http/headgenreimage.cpp create mode 100644 core/src/loader/http/headgenreimagebyindex.cpp create mode 100644 core/src/loader/http/headitemimage.cpp create mode 100644 core/src/loader/http/headitemimage2.cpp create mode 100644 core/src/loader/http/headitemimagebyindex.cpp create mode 100644 core/src/loader/http/headmasterhlsaudioplaylist.cpp create mode 100644 core/src/loader/http/headmasterhlsvideoplaylist.cpp create mode 100644 core/src/loader/http/headmusicgenreimage.cpp create mode 100644 core/src/loader/http/headmusicgenreimagebyindex.cpp create mode 100644 core/src/loader/http/headpersonimage.cpp create mode 100644 core/src/loader/http/headpersonimagebyindex.cpp create mode 100644 core/src/loader/http/headstudioimage.cpp create mode 100644 core/src/loader/http/headstudioimagebyindex.cpp create mode 100644 core/src/loader/http/headuniversalaudiostream.cpp create mode 100644 core/src/loader/http/headuserimage.cpp create mode 100644 core/src/loader/http/headuserimagebyindex.cpp create mode 100644 core/src/loader/http/headvideostream.cpp create mode 100644 core/src/loader/http/headvideostreambycontainer.cpp create mode 100644 core/src/loader/http/initiate.cpp create mode 100644 core/src/loader/http/installpackage.cpp create mode 100644 core/src/loader/http/markfavoriteitem.cpp create mode 100644 core/src/loader/http/markplayeditem.cpp create mode 100644 core/src/loader/http/markunplayeditem.cpp create mode 100644 core/src/loader/http/mergeversions.cpp create mode 100644 core/src/loader/http/moveitem.cpp create mode 100644 core/src/loader/http/onplaybackprogress.cpp create mode 100644 core/src/loader/http/onplaybackstart.cpp create mode 100644 core/src/loader/http/onplaybackstopped.cpp create mode 100644 core/src/loader/http/openlivestream.cpp create mode 100644 core/src/loader/http/pingplaybacksession.cpp create mode 100644 core/src/loader/http/play.cpp create mode 100644 core/src/loader/http/post.cpp create mode 100644 core/src/loader/http/postaddedmovies.cpp create mode 100644 core/src/loader/http/postaddedseries.cpp create mode 100644 core/src/loader/http/postcapabilities.cpp create mode 100644 core/src/loader/http/postfullcapabilities.cpp create mode 100644 core/src/loader/http/postpingsystem.cpp create mode 100644 core/src/loader/http/postupdatedmedia.cpp create mode 100644 core/src/loader/http/postupdatedmovies.cpp create mode 100644 core/src/loader/http/postupdatedseries.cpp create mode 100644 core/src/loader/http/postuserimage.cpp create mode 100644 core/src/loader/http/postuserimagebyindex.cpp create mode 100644 core/src/loader/http/processconnectionmanagercontrolrequest.cpp create mode 100644 core/src/loader/http/processcontentdirectorycontrolrequest.cpp create mode 100644 core/src/loader/http/processmediareceiverregistrarcontrolrequest.cpp create mode 100644 core/src/loader/http/refreshlibrary.cpp create mode 100644 core/src/loader/http/removefromcollection.cpp create mode 100644 core/src/loader/http/removefromplaylist.cpp create mode 100644 core/src/loader/http/removemediapath.cpp create mode 100644 core/src/loader/http/removeuserfromsession.cpp create mode 100644 core/src/loader/http/removevirtualfolder.cpp create mode 100644 core/src/loader/http/renamevirtualfolder.cpp create mode 100644 core/src/loader/http/reportplaybackprogress.cpp create mode 100644 core/src/loader/http/reportplaybackstart.cpp create mode 100644 core/src/loader/http/reportplaybackstopped.cpp create mode 100644 core/src/loader/http/reportsessionended.cpp create mode 100644 core/src/loader/http/reportviewing.cpp create mode 100644 core/src/loader/http/resettuner.cpp create mode 100644 core/src/loader/http/restartapplication.cpp create mode 100644 core/src/loader/http/revokekey.cpp create mode 100644 core/src/loader/http/searchremotesubtitles.cpp create mode 100644 core/src/loader/http/sendfullgeneralcommand.cpp create mode 100644 core/src/loader/http/sendgeneralcommand.cpp create mode 100644 core/src/loader/http/sendmessagecommand.cpp create mode 100644 core/src/loader/http/sendplaystatecommand.cpp create mode 100644 core/src/loader/http/sendsystemcommand.cpp create mode 100644 core/src/loader/http/setchannelmapping.cpp create mode 100644 core/src/loader/http/setitemimage.cpp create mode 100644 core/src/loader/http/setitemimagebyindex.cpp create mode 100644 core/src/loader/http/setread.cpp create mode 100644 core/src/loader/http/setremoteaccess.cpp create mode 100644 core/src/loader/http/setrepositories.cpp create mode 100644 core/src/loader/http/setunread.cpp create mode 100644 core/src/loader/http/shutdownapplication.cpp create mode 100644 core/src/loader/http/starttask.cpp create mode 100644 core/src/loader/http/stopencodingprocess.cpp create mode 100644 core/src/loader/http/stoptask.cpp create mode 100644 core/src/loader/http/syncplaybuffering.cpp create mode 100644 core/src/loader/http/syncplaycreategroup.cpp create mode 100644 core/src/loader/http/syncplaygetgroups.cpp create mode 100644 core/src/loader/http/syncplayjoingroup.cpp create mode 100644 core/src/loader/http/syncplayleavegroup.cpp create mode 100644 core/src/loader/http/syncplaymoveplaylistitem.cpp create mode 100644 core/src/loader/http/syncplaynextitem.cpp create mode 100644 core/src/loader/http/syncplaypause.cpp create mode 100644 core/src/loader/http/syncplayping.cpp create mode 100644 core/src/loader/http/syncplaypreviousitem.cpp create mode 100644 core/src/loader/http/syncplayqueue.cpp create mode 100644 core/src/loader/http/syncplayready.cpp create mode 100644 core/src/loader/http/syncplayremovefromplaylist.cpp create mode 100644 core/src/loader/http/syncplayseek.cpp create mode 100644 core/src/loader/http/syncplaysetignorewait.cpp create mode 100644 core/src/loader/http/syncplaysetnewqueue.cpp create mode 100644 core/src/loader/http/syncplaysetplaylistitem.cpp create mode 100644 core/src/loader/http/syncplaysetrepeatmode.cpp create mode 100644 core/src/loader/http/syncplaysetshufflemode.cpp create mode 100644 core/src/loader/http/syncplaystop.cpp create mode 100644 core/src/loader/http/syncplayunpause.cpp create mode 100644 core/src/loader/http/uninstallplugin.cpp create mode 100644 core/src/loader/http/uninstallpluginbyversion.cpp create mode 100644 core/src/loader/http/unmarkfavoriteitem.cpp create mode 100644 core/src/loader/http/updateconfiguration.cpp create mode 100644 core/src/loader/http/updatedeviceoptions.cpp create mode 100644 core/src/loader/http/updatedisplaypreferences.cpp create mode 100644 core/src/loader/http/updateinitialconfiguration.cpp create mode 100644 core/src/loader/http/updateitem.cpp create mode 100644 core/src/loader/http/updateitemcontenttype.cpp create mode 100644 core/src/loader/http/updateitemimageindex.cpp create mode 100644 core/src/loader/http/updatelibraryoptions.cpp create mode 100644 core/src/loader/http/updatemediaencoderpath.cpp create mode 100644 core/src/loader/http/updatemediapath.cpp create mode 100644 core/src/loader/http/updatenamedconfiguration.cpp create mode 100644 core/src/loader/http/updatepluginconfiguration.cpp create mode 100644 core/src/loader/http/updatepluginsecurityinfo.cpp create mode 100644 core/src/loader/http/updateprofile.cpp create mode 100644 core/src/loader/http/updateseriestimer.cpp create mode 100644 core/src/loader/http/updatestartupuser.cpp create mode 100644 core/src/loader/http/updatetask.cpp create mode 100644 core/src/loader/http/updatetimer.cpp create mode 100644 core/src/loader/http/updateuser.cpp create mode 100644 core/src/loader/http/updateuserconfiguration.cpp create mode 100644 core/src/loader/http/updateusereasypassword.cpp create mode 100644 core/src/loader/http/updateuseritemrating.cpp create mode 100644 core/src/loader/http/updateuserpassword.cpp create mode 100644 core/src/loader/http/updateuserpolicy.cpp create mode 100644 core/src/loader/http/uploadsubtitle.cpp create mode 100644 core/src/loader/http/validatepath.cpp delete mode 100644 core/src/remotedata.cpp create mode 100644 core/src/viewmodel/item.cpp create mode 100644 core/src/viewmodel/loader.cpp rename core/src/{ => viewmodel}/playbackmanager.cpp (86%) create mode 100644 qtquick/qml/ApiClient.qml create mode 100644 qtquick/qml/qmldir diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index a589af8..3b9963a 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -1,96 +1,62 @@ project(jellyfin-qt VERSION 0.1.0) find_package(Qt5 5.6 COMPONENTS Multimedia Network Qml WebSockets REQUIRED) include(GNUInstallDirs) -include(FetchContent) - -find_package(Boost REQUIRED) -find_package(Immer) -if(NOT Immer_FOUND) - message(STATUS "Using Immer from FetchContent") - set(immer_BUILD_TESTS OFF) - set(immer_BUILD_EXAMPLES OFF) - set(immer_BUILD_DOCS OFF) - set(immer_BUILD_EXTRAS OFF) - FetchContent_Declare(immer GIT_REPOSITORY https://github.com/arximboldi/immer GIT_TAG - 800ddb04e528a3e83e69e8021d7e872e7c34cbcd) - FetchContent_MakeAvailable(immer) -endif() - -find_package(Lager) -if(NOT Lager_FOUND) - message(STATUS "Using lager from FetchContent") - set(lager_BUILD_TESTS OFF) - set(lager_BUILD_EXAMPLES OFF) - set(lager_BUILD_DOCS OFF) - set(lager_EMBED_RESOURCES_PATH OFF) - FetchContent_Declare(lager GIT_REPOSITORY https://github.com/arximboldi/lager GIT_TAG - 71eca6b0ebbccf3e0e54324b6967f047e49ba92d) - FetchContent_MakeAvailable(lager) -endif() - -find_package(cereal) -if(NOT cereal_FOUND) - set(JUST_INSTALL_CEREAL ON) - FetchContent_Declare(cereal GIT_REPOSITORY https://github.com/USCiLab/cereal GIT_TAG v1.3.0) - FetchContent_MakeAvailable(cereal) -endif() - - include(GeneratedSources.cmake) -set(jellyfin-qt_SOURCES +set(JellyfinQt_SOURCES # src/DTO/dto.cpp src/model/item.cpp src/support/jsonconv.cpp src/support/loader.cpp + src/viewmodel/item.cpp + src/viewmodel/loader.cpp + src/viewmodel/playbackmanager.cpp src/apiclient.cpp src/apimodel.cpp src/credentialmanager.cpp src/deviceprofile.cpp + src/eventbus.cpp src/jellyfin.cpp src/jsonhelper.cpp - src/playbackmanager.cpp - src/remotedata.cpp src/serverdiscoverymodel.cpp src/websocket.cpp) -list(APPEND jellyfin-qt_SOURCES ${openapi_SOURCES}) +list(APPEND JellyfinQt_SOURCES ${openapi_SOURCES}) -set(jellyfin-qt_HEADERS - # include/JellyfinQt/DTO/dto.h +set(JellyfinQt_HEADERS include/JellyfinQt/model/item.h include/JellyfinQt/support/jsonconv.h include/JellyfinQt/support/loader.h + include/JellyfinQt/viewmodel/item.h + include/JellyfinQt/viewmodel/loader.h + include/JellyfinQt/viewmodel/playbackmanager.h include/JellyfinQt/apiclient.h include/JellyfinQt/apimodel.h include/JellyfinQt/credentialmanager.h include/JellyfinQt/deviceprofile.h + include/JellyfinQt/eventbus.h include/JellyfinQt/jellyfin.h include/JellyfinQt/jsonhelper.h - include/JellyfinQt/playbackmanager.h - include/JellyfinQt/remotedata.h include/JellyfinQt/serverdiscoverymodel.h include/JellyfinQt/websocket.h) -list(APPEND jellyfin-qt_SOURCES ${openapi_HEADERS}) +list(APPEND JellyfinQt_SOURCES ${openapi_HEADERS}) add_definitions(-DSAILFIN_VERSION=\"${SAILFIN_VERSION}\") if (PLATFORM_SAILFISHOS) add_definitions(-DPLATFORM_SAILFISHOS=1) endif() -add_library(jellyfin-qt ${jellyfin-qt_SOURCES} ${jellyfin-qt_HEADERS}) +add_library(JellyfinQt ${JellyfinQt_SOURCES} ${JellyfinQt_HEADERS}) if(${CMAKE_VERSION} VERSION_GREATER "3.16.0") - target_precompile_headers(jellyfin-qt PRIVATE ${jellyfin-qt_HEADERS}) + # target_precompile_headers(JellyfinQt PRIVATE ${JellyfinQt_HEADERS}) endif() -target_include_directories(jellyfin-qt - PUBLIC "include" "generated/include" -) -target_link_libraries(jellyfin-qt PUBLIC Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::WebSockets) -set_target_properties(jellyfin-qt PROPERTIES CXX_VISIBILITY_PRESET default) -install(TARGETS jellyfin-qt +target_include_directories(JellyfinQt PUBLIC "include") +target_link_libraries(JellyfinQt PUBLIC Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::WebSockets) +set_target_properties(JellyfinQt PROPERTIES CXX_VISIBILITY_PRESET default) +install(TARGETS JellyfinQt LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") -export(TARGETS jellyfin-qt FILE JellyfinQtConfig.cmake) +export(TARGETS JellyfinQt FILE JellyfinQtConfig.cmake) diff --git a/core/GeneratedSources.cmake b/core/GeneratedSources.cmake index 34c476a..7052e8a 100644 --- a/core/GeneratedSources.cmake +++ b/core/GeneratedSources.cmake @@ -31,533 +31,1350 @@ cmake_minimum_required(VERSION 3.0) ]] set(openapi_HEADERS - ./include/JellyfinQt/DTO/loglevel.h - ./include/JellyfinQt/DTO/activitylogentry.h - ./include/JellyfinQt/DTO/activitylogentryqueryresult.h - ./include/JellyfinQt/DTO/authenticationinfo.h - ./include/JellyfinQt/DTO/authenticationinfoqueryresult.h - ./include/JellyfinQt/DTO/itemfields.h - ./include/JellyfinQt/DTO/itemfilter.h - ./include/JellyfinQt/DTO/imagetype.h - ./include/JellyfinQt/DTO/video3dformat.h - ./include/JellyfinQt/DTO/externalurl.h - ./include/JellyfinQt/DTO/mediaprotocol.h - ./include/JellyfinQt/DTO/mediasourcetype.h - ./include/JellyfinQt/DTO/videotype.h - ./include/JellyfinQt/DTO/isotype.h - ./include/JellyfinQt/DTO/mediastreamtype.h - ./include/JellyfinQt/DTO/subtitledeliverymethod.h - ./include/JellyfinQt/DTO/mediastream.h - ./include/JellyfinQt/DTO/mediaattachment.h - ./include/JellyfinQt/DTO/transportstreamtimestamp.h - ./include/JellyfinQt/DTO/mediasourceinfo.h - ./include/JellyfinQt/DTO/playaccess.h - ./include/JellyfinQt/DTO/mediaurl.h - ./include/JellyfinQt/DTO/baseitemperson.h - ./include/JellyfinQt/DTO/nameguidpair.h - ./include/JellyfinQt/DTO/useritemdatadto.h - ./include/JellyfinQt/DTO/dayofweek.h - ./include/JellyfinQt/DTO/chapterinfo.h - ./include/JellyfinQt/DTO/locationtype.h - ./include/JellyfinQt/DTO/metadatafield.h - ./include/JellyfinQt/DTO/imageorientation.h - ./include/JellyfinQt/DTO/channeltype.h - ./include/JellyfinQt/DTO/programaudio.h - ./include/JellyfinQt/DTO/baseitemdto.h - ./include/JellyfinQt/DTO/baseitemdtoqueryresult.h - ./include/JellyfinQt/DTO/encodingcontext.h - ./include/JellyfinQt/DTO/brandingoptions.h - ./include/JellyfinQt/DTO/channelmediatype.h - ./include/JellyfinQt/DTO/channelmediacontenttype.h - ./include/JellyfinQt/DTO/channelitemsortfield.h - ./include/JellyfinQt/DTO/channelfeatures.h - ./include/JellyfinQt/DTO/collectioncreationresult.h - ./include/JellyfinQt/DTO/version.h - ./include/JellyfinQt/DTO/imagesavingconvention.h - ./include/JellyfinQt/DTO/metadataoptions.h - ./include/JellyfinQt/DTO/namevaluepair.h - ./include/JellyfinQt/DTO/repositoryinfo.h - ./include/JellyfinQt/DTO/pathsubstitution.h - ./include/JellyfinQt/DTO/serverconfiguration.h - ./include/JellyfinQt/DTO/mediaencoderpathdto.h - ./include/JellyfinQt/DTO/problemdetails.h - ./include/JellyfinQt/DTO/configurationpagetype.h - ./include/JellyfinQt/DTO/configurationpageinfo.h - ./include/JellyfinQt/DTO/generalcommandtype.h - ./include/JellyfinQt/DTO/headermatchtype.h - ./include/JellyfinQt/DTO/httpheaderinfo.h - ./include/JellyfinQt/DTO/deviceidentification.h - ./include/JellyfinQt/DTO/xmlattribute.h - ./include/JellyfinQt/DTO/dlnaprofiletype.h - ./include/JellyfinQt/DTO/directplayprofile.h - ./include/JellyfinQt/DTO/transcodeseekinfo.h - ./include/JellyfinQt/DTO/transcodingprofile.h - ./include/JellyfinQt/DTO/profileconditiontype.h - ./include/JellyfinQt/DTO/profileconditionvalue.h - ./include/JellyfinQt/DTO/profilecondition.h - ./include/JellyfinQt/DTO/containerprofile.h - ./include/JellyfinQt/DTO/codectype.h - ./include/JellyfinQt/DTO/codecprofile.h - ./include/JellyfinQt/DTO/responseprofile.h - ./include/JellyfinQt/DTO/subtitleprofile.h - ./include/JellyfinQt/DTO/deviceprofile.h - ./include/JellyfinQt/DTO/clientcapabilities.h - ./include/JellyfinQt/DTO/deviceinfo.h - ./include/JellyfinQt/DTO/deviceinfoqueryresult.h - ./include/JellyfinQt/DTO/deviceoptions.h - ./include/JellyfinQt/DTO/scrolldirection.h - ./include/JellyfinQt/DTO/sortorder.h - ./include/JellyfinQt/DTO/displaypreferencesdto.h - ./include/JellyfinQt/DTO/deviceprofiletype.h - ./include/JellyfinQt/DTO/deviceprofileinfo.h - ./include/JellyfinQt/DTO/controlresponse.h - ./include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h - ./include/JellyfinQt/DTO/filesystementrytype.h - ./include/JellyfinQt/DTO/filesystementryinfo.h - ./include/JellyfinQt/DTO/validatepathdto.h - ./include/JellyfinQt/DTO/queryfilterslegacy.h - ./include/JellyfinQt/DTO/queryfilters.h - ./include/JellyfinQt/DTO/imageformat.h - ./include/JellyfinQt/DTO/imageinfo.h - ./include/JellyfinQt/DTO/imagebynameinfo.h - ./include/JellyfinQt/DTO/externalidmediatype.h - ./include/JellyfinQt/DTO/externalidinfo.h - ./include/JellyfinQt/DTO/remotesearchresult.h - ./include/JellyfinQt/DTO/bookinfo.h - ./include/JellyfinQt/DTO/bookinforemotesearchquery.h - ./include/JellyfinQt/DTO/boxsetinfo.h - ./include/JellyfinQt/DTO/boxsetinforemotesearchquery.h - ./include/JellyfinQt/DTO/movieinfo.h - ./include/JellyfinQt/DTO/movieinforemotesearchquery.h - ./include/JellyfinQt/DTO/songinfo.h - ./include/JellyfinQt/DTO/albuminfo.h - ./include/JellyfinQt/DTO/albuminforemotesearchquery.h - ./include/JellyfinQt/DTO/artistinfo.h - ./include/JellyfinQt/DTO/artistinforemotesearchquery.h - ./include/JellyfinQt/DTO/musicvideoinfo.h - ./include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h - ./include/JellyfinQt/DTO/personlookupinfo.h - ./include/JellyfinQt/DTO/personlookupinforemotesearchquery.h - ./include/JellyfinQt/DTO/seriesinfo.h - ./include/JellyfinQt/DTO/seriesinforemotesearchquery.h - ./include/JellyfinQt/DTO/trailerinfo.h - ./include/JellyfinQt/DTO/trailerinforemotesearchquery.h - ./include/JellyfinQt/DTO/metadatarefreshmode.h - ./include/JellyfinQt/DTO/seriesstatus.h - ./include/JellyfinQt/DTO/parentalrating.h - ./include/JellyfinQt/DTO/countryinfo.h - ./include/JellyfinQt/DTO/culturedto.h - ./include/JellyfinQt/DTO/metadataeditorinfo.h - ./include/JellyfinQt/DTO/thememediaresult.h - ./include/JellyfinQt/DTO/allthememediaresult.h - ./include/JellyfinQt/DTO/itemcounts.h - ./include/JellyfinQt/DTO/libraryoptioninfodto.h - ./include/JellyfinQt/DTO/imageoption.h - ./include/JellyfinQt/DTO/librarytypeoptionsdto.h - ./include/JellyfinQt/DTO/libraryoptionsresultdto.h - ./include/JellyfinQt/DTO/mediaupdateinfodto.h - ./include/JellyfinQt/DTO/mediapathinfo.h - ./include/JellyfinQt/DTO/typeoptions.h - ./include/JellyfinQt/DTO/libraryoptions.h - ./include/JellyfinQt/DTO/virtualfolderinfo.h - ./include/JellyfinQt/DTO/addvirtualfolderdto.h - ./include/JellyfinQt/DTO/updatelibraryoptionsdto.h - ./include/JellyfinQt/DTO/mediapathdto.h - ./include/JellyfinQt/DTO/tunerchannelmapping.h - ./include/JellyfinQt/DTO/nameidpair.h - ./include/JellyfinQt/DTO/channelmappingoptionsdto.h - ./include/JellyfinQt/DTO/setchannelmappingdto.h - ./include/JellyfinQt/DTO/guideinfo.h - ./include/JellyfinQt/DTO/livetvservicestatus.h - ./include/JellyfinQt/DTO/livetvserviceinfo.h - ./include/JellyfinQt/DTO/livetvinfo.h - ./include/JellyfinQt/DTO/listingsproviderinfo.h - ./include/JellyfinQt/DTO/getprogramsdto.h - ./include/JellyfinQt/DTO/recordingstatus.h - ./include/JellyfinQt/DTO/keepuntil.h - ./include/JellyfinQt/DTO/daypattern.h - ./include/JellyfinQt/DTO/seriestimerinfodto.h - ./include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h - ./include/JellyfinQt/DTO/timerinfodto.h - ./include/JellyfinQt/DTO/timerinfodtoqueryresult.h - ./include/JellyfinQt/DTO/tunerhostinfo.h - ./include/JellyfinQt/DTO/localizationoption.h - ./include/JellyfinQt/DTO/playbackerrorcode.h - ./include/JellyfinQt/DTO/playbackinforesponse.h - ./include/JellyfinQt/DTO/playbackinfodto.h - ./include/JellyfinQt/DTO/openlivestreamdto.h - ./include/JellyfinQt/DTO/livestreamresponse.h - ./include/JellyfinQt/DTO/recommendationtype.h - ./include/JellyfinQt/DTO/recommendationdto.h - ./include/JellyfinQt/DTO/notificationlevel.h - ./include/JellyfinQt/DTO/notificationdto.h - ./include/JellyfinQt/DTO/notificationresultdto.h - ./include/JellyfinQt/DTO/notificationssummarydto.h - ./include/JellyfinQt/DTO/notificationtypeinfo.h - ./include/JellyfinQt/DTO/versioninfo.h - ./include/JellyfinQt/DTO/packageinfo.h - ./include/JellyfinQt/DTO/createplaylistdto.h - ./include/JellyfinQt/DTO/playlistcreationresult.h - ./include/JellyfinQt/DTO/playmethod.h - ./include/JellyfinQt/DTO/repeatmode.h - ./include/JellyfinQt/DTO/queueitem.h - ./include/JellyfinQt/DTO/playbackstartinfo.h - ./include/JellyfinQt/DTO/playbackprogressinfo.h - ./include/JellyfinQt/DTO/playbackstopinfo.h - ./include/JellyfinQt/DTO/pluginstatus.h - ./include/JellyfinQt/DTO/plugininfo.h - ./include/JellyfinQt/DTO/basepluginconfiguration.h - ./include/JellyfinQt/DTO/pluginsecurityinfo.h - ./include/JellyfinQt/DTO/quickconnectstate.h - ./include/JellyfinQt/DTO/quickconnectresult.h - ./include/JellyfinQt/DTO/ratingtype.h - ./include/JellyfinQt/DTO/remoteimageinfo.h - ./include/JellyfinQt/DTO/remoteimageresult.h - ./include/JellyfinQt/DTO/imageproviderinfo.h - ./include/JellyfinQt/DTO/taskstate.h - ./include/JellyfinQt/DTO/taskcompletionstatus.h - ./include/JellyfinQt/DTO/taskresult.h - ./include/JellyfinQt/DTO/tasktriggerinfo.h - ./include/JellyfinQt/DTO/taskinfo.h - ./include/JellyfinQt/DTO/searchhint.h - ./include/JellyfinQt/DTO/searchhintresult.h - ./include/JellyfinQt/DTO/playerstateinfo.h - ./include/JellyfinQt/DTO/sessionuserinfo.h - ./include/JellyfinQt/DTO/baseitem.h - ./include/JellyfinQt/DTO/transcodereason.h - ./include/JellyfinQt/DTO/transcodinginfo.h - ./include/JellyfinQt/DTO/sessioninfo.h - ./include/JellyfinQt/DTO/generalcommand.h - ./include/JellyfinQt/DTO/playcommand.h - ./include/JellyfinQt/DTO/playstatecommand.h - ./include/JellyfinQt/DTO/clientcapabilitiesdto.h - ./include/JellyfinQt/DTO/startupconfigurationdto.h - ./include/JellyfinQt/DTO/startupuserdto.h - ./include/JellyfinQt/DTO/startupremoteaccessdto.h - ./include/JellyfinQt/DTO/fontfile.h - ./include/JellyfinQt/DTO/remotesubtitleinfo.h - ./include/JellyfinQt/DTO/uploadsubtitledto.h - ./include/JellyfinQt/DTO/bufferrequestdto.h - ./include/JellyfinQt/DTO/joingrouprequestdto.h - ./include/JellyfinQt/DTO/groupstatetype.h - ./include/JellyfinQt/DTO/groupinfodto.h - ./include/JellyfinQt/DTO/moveplaylistitemrequestdto.h - ./include/JellyfinQt/DTO/newgrouprequestdto.h - ./include/JellyfinQt/DTO/nextitemrequestdto.h - ./include/JellyfinQt/DTO/pingrequestdto.h - ./include/JellyfinQt/DTO/previousitemrequestdto.h - ./include/JellyfinQt/DTO/groupqueuemode.h - ./include/JellyfinQt/DTO/queuerequestdto.h - ./include/JellyfinQt/DTO/readyrequestdto.h - ./include/JellyfinQt/DTO/removefromplaylistrequestdto.h - ./include/JellyfinQt/DTO/seekrequestdto.h - ./include/JellyfinQt/DTO/ignorewaitrequestdto.h - ./include/JellyfinQt/DTO/playrequestdto.h - ./include/JellyfinQt/DTO/setplaylistitemrequestdto.h - ./include/JellyfinQt/DTO/grouprepeatmode.h - ./include/JellyfinQt/DTO/setrepeatmoderequestdto.h - ./include/JellyfinQt/DTO/groupshufflemode.h - ./include/JellyfinQt/DTO/setshufflemoderequestdto.h - ./include/JellyfinQt/DTO/endpointinfo.h - ./include/JellyfinQt/DTO/installationinfo.h - ./include/JellyfinQt/DTO/ffmpeglocation.h - ./include/JellyfinQt/DTO/architecture.h - ./include/JellyfinQt/DTO/systeminfo.h - ./include/JellyfinQt/DTO/publicsysteminfo.h - ./include/JellyfinQt/DTO/logfile.h - ./include/JellyfinQt/DTO/wakeonlaninfo.h - ./include/JellyfinQt/DTO/utctimeresponse.h - ./include/JellyfinQt/DTO/subtitleplaybackmode.h - ./include/JellyfinQt/DTO/userconfiguration.h - ./include/JellyfinQt/DTO/dynamicdayofweek.h - ./include/JellyfinQt/DTO/accessschedule.h - ./include/JellyfinQt/DTO/unrateditem.h - ./include/JellyfinQt/DTO/syncplayuseraccesstype.h - ./include/JellyfinQt/DTO/userpolicy.h - ./include/JellyfinQt/DTO/userdto.h - ./include/JellyfinQt/DTO/authenticationresult.h - ./include/JellyfinQt/DTO/updateusereasypassword.h - ./include/JellyfinQt/DTO/updateuserpassword.h - ./include/JellyfinQt/DTO/authenticateuserbyname.h - ./include/JellyfinQt/DTO/quickconnectdto.h - ./include/JellyfinQt/DTO/forgotpassworddto.h - ./include/JellyfinQt/DTO/forgotpasswordaction.h - ./include/JellyfinQt/DTO/forgotpasswordresult.h - ./include/JellyfinQt/DTO/pinredeemresult.h - ./include/JellyfinQt/DTO/createuserbyname.h - ./include/JellyfinQt/DTO/specialviewoptiondto.h - ./include/JellyfinQt/DTO/libraryupdateinfo.h - ./include/JellyfinQt/DTO/iplugin.h - ./include/JellyfinQt/DTO/playrequest.h - ./include/JellyfinQt/DTO/playstaterequest.h - ./include/JellyfinQt/DTO/timereventinfo.h - ./include/JellyfinQt/DTO/sendcommandtype.h - ./include/JellyfinQt/DTO/sendcommand.h - ./include/JellyfinQt/DTO/groupupdatetype.h - ./include/JellyfinQt/DTO/objectgroupupdate.h) + ./include/JellyfinQt/dto/loglevel.h + ./include/JellyfinQt/dto/activitylogentry.h + ./include/JellyfinQt/dto/activitylogentryqueryresult.h + ./include/JellyfinQt/dto/authenticationinfo.h + ./include/JellyfinQt/dto/authenticationinfoqueryresult.h + ./include/JellyfinQt/dto/itemfields.h + ./include/JellyfinQt/dto/itemfilter.h + ./include/JellyfinQt/dto/imagetype.h + ./include/JellyfinQt/dto/video3dformat.h + ./include/JellyfinQt/dto/externalurl.h + ./include/JellyfinQt/dto/mediaprotocol.h + ./include/JellyfinQt/dto/mediasourcetype.h + ./include/JellyfinQt/dto/videotype.h + ./include/JellyfinQt/dto/isotype.h + ./include/JellyfinQt/dto/mediastreamtype.h + ./include/JellyfinQt/dto/subtitledeliverymethod.h + ./include/JellyfinQt/dto/mediastream.h + ./include/JellyfinQt/dto/mediaattachment.h + ./include/JellyfinQt/dto/transportstreamtimestamp.h + ./include/JellyfinQt/dto/mediasourceinfo.h + ./include/JellyfinQt/dto/playaccess.h + ./include/JellyfinQt/dto/mediaurl.h + ./include/JellyfinQt/dto/baseitemperson.h + ./include/JellyfinQt/dto/nameguidpair.h + ./include/JellyfinQt/dto/useritemdatadto.h + ./include/JellyfinQt/dto/dayofweek.h + ./include/JellyfinQt/dto/chapterinfo.h + ./include/JellyfinQt/dto/locationtype.h + ./include/JellyfinQt/dto/metadatafield.h + ./include/JellyfinQt/dto/imageorientation.h + ./include/JellyfinQt/dto/channeltype.h + ./include/JellyfinQt/dto/programaudio.h + ./include/JellyfinQt/dto/baseitemdto.h + ./include/JellyfinQt/dto/baseitemdtoqueryresult.h + ./include/JellyfinQt/dto/encodingcontext.h + ./include/JellyfinQt/dto/brandingoptions.h + ./include/JellyfinQt/dto/channelmediatype.h + ./include/JellyfinQt/dto/channelmediacontenttype.h + ./include/JellyfinQt/dto/channelitemsortfield.h + ./include/JellyfinQt/dto/channelfeatures.h + ./include/JellyfinQt/dto/collectioncreationresult.h + ./include/JellyfinQt/dto/version.h + ./include/JellyfinQt/dto/imagesavingconvention.h + ./include/JellyfinQt/dto/metadataoptions.h + ./include/JellyfinQt/dto/namevaluepair.h + ./include/JellyfinQt/dto/repositoryinfo.h + ./include/JellyfinQt/dto/pathsubstitution.h + ./include/JellyfinQt/dto/serverconfiguration.h + ./include/JellyfinQt/dto/mediaencoderpathdto.h + ./include/JellyfinQt/dto/problemdetails.h + ./include/JellyfinQt/dto/configurationpagetype.h + ./include/JellyfinQt/dto/configurationpageinfo.h + ./include/JellyfinQt/dto/generalcommandtype.h + ./include/JellyfinQt/dto/headermatchtype.h + ./include/JellyfinQt/dto/httpheaderinfo.h + ./include/JellyfinQt/dto/deviceidentification.h + ./include/JellyfinQt/dto/xmlattribute.h + ./include/JellyfinQt/dto/dlnaprofiletype.h + ./include/JellyfinQt/dto/directplayprofile.h + ./include/JellyfinQt/dto/transcodeseekinfo.h + ./include/JellyfinQt/dto/transcodingprofile.h + ./include/JellyfinQt/dto/profileconditiontype.h + ./include/JellyfinQt/dto/profileconditionvalue.h + ./include/JellyfinQt/dto/profilecondition.h + ./include/JellyfinQt/dto/containerprofile.h + ./include/JellyfinQt/dto/codectype.h + ./include/JellyfinQt/dto/codecprofile.h + ./include/JellyfinQt/dto/responseprofile.h + ./include/JellyfinQt/dto/subtitleprofile.h + ./include/JellyfinQt/dto/deviceprofile.h + ./include/JellyfinQt/dto/clientcapabilities.h + ./include/JellyfinQt/dto/deviceinfo.h + ./include/JellyfinQt/dto/deviceinfoqueryresult.h + ./include/JellyfinQt/dto/deviceoptions.h + ./include/JellyfinQt/dto/scrolldirection.h + ./include/JellyfinQt/dto/sortorder.h + ./include/JellyfinQt/dto/displaypreferencesdto.h + ./include/JellyfinQt/dto/deviceprofiletype.h + ./include/JellyfinQt/dto/deviceprofileinfo.h + ./include/JellyfinQt/dto/controlresponse.h + ./include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h + ./include/JellyfinQt/dto/filesystementrytype.h + ./include/JellyfinQt/dto/filesystementryinfo.h + ./include/JellyfinQt/dto/validatepathdto.h + ./include/JellyfinQt/dto/queryfilterslegacy.h + ./include/JellyfinQt/dto/queryfilters.h + ./include/JellyfinQt/dto/imageformat.h + ./include/JellyfinQt/dto/imageinfo.h + ./include/JellyfinQt/dto/imagebynameinfo.h + ./include/JellyfinQt/dto/externalidmediatype.h + ./include/JellyfinQt/dto/externalidinfo.h + ./include/JellyfinQt/dto/remotesearchresult.h + ./include/JellyfinQt/dto/bookinfo.h + ./include/JellyfinQt/dto/bookinforemotesearchquery.h + ./include/JellyfinQt/dto/boxsetinfo.h + ./include/JellyfinQt/dto/boxsetinforemotesearchquery.h + ./include/JellyfinQt/dto/movieinfo.h + ./include/JellyfinQt/dto/movieinforemotesearchquery.h + ./include/JellyfinQt/dto/songinfo.h + ./include/JellyfinQt/dto/albuminfo.h + ./include/JellyfinQt/dto/albuminforemotesearchquery.h + ./include/JellyfinQt/dto/artistinfo.h + ./include/JellyfinQt/dto/artistinforemotesearchquery.h + ./include/JellyfinQt/dto/musicvideoinfo.h + ./include/JellyfinQt/dto/musicvideoinforemotesearchquery.h + ./include/JellyfinQt/dto/personlookupinfo.h + ./include/JellyfinQt/dto/personlookupinforemotesearchquery.h + ./include/JellyfinQt/dto/seriesinfo.h + ./include/JellyfinQt/dto/seriesinforemotesearchquery.h + ./include/JellyfinQt/dto/trailerinfo.h + ./include/JellyfinQt/dto/trailerinforemotesearchquery.h + ./include/JellyfinQt/dto/metadatarefreshmode.h + ./include/JellyfinQt/dto/seriesstatus.h + ./include/JellyfinQt/dto/parentalrating.h + ./include/JellyfinQt/dto/countryinfo.h + ./include/JellyfinQt/dto/culturedto.h + ./include/JellyfinQt/dto/metadataeditorinfo.h + ./include/JellyfinQt/dto/thememediaresult.h + ./include/JellyfinQt/dto/allthememediaresult.h + ./include/JellyfinQt/dto/itemcounts.h + ./include/JellyfinQt/dto/libraryoptioninfodto.h + ./include/JellyfinQt/dto/imageoption.h + ./include/JellyfinQt/dto/librarytypeoptionsdto.h + ./include/JellyfinQt/dto/libraryoptionsresultdto.h + ./include/JellyfinQt/dto/mediaupdateinfodto.h + ./include/JellyfinQt/dto/mediapathinfo.h + ./include/JellyfinQt/dto/typeoptions.h + ./include/JellyfinQt/dto/libraryoptions.h + ./include/JellyfinQt/dto/virtualfolderinfo.h + ./include/JellyfinQt/dto/addvirtualfolderdto.h + ./include/JellyfinQt/dto/updatelibraryoptionsdto.h + ./include/JellyfinQt/dto/mediapathdto.h + ./include/JellyfinQt/dto/tunerchannelmapping.h + ./include/JellyfinQt/dto/nameidpair.h + ./include/JellyfinQt/dto/channelmappingoptionsdto.h + ./include/JellyfinQt/dto/setchannelmappingdto.h + ./include/JellyfinQt/dto/guideinfo.h + ./include/JellyfinQt/dto/livetvservicestatus.h + ./include/JellyfinQt/dto/livetvserviceinfo.h + ./include/JellyfinQt/dto/livetvinfo.h + ./include/JellyfinQt/dto/listingsproviderinfo.h + ./include/JellyfinQt/dto/getprogramsdto.h + ./include/JellyfinQt/dto/recordingstatus.h + ./include/JellyfinQt/dto/keepuntil.h + ./include/JellyfinQt/dto/daypattern.h + ./include/JellyfinQt/dto/seriestimerinfodto.h + ./include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h + ./include/JellyfinQt/dto/timerinfodto.h + ./include/JellyfinQt/dto/timerinfodtoqueryresult.h + ./include/JellyfinQt/dto/tunerhostinfo.h + ./include/JellyfinQt/dto/localizationoption.h + ./include/JellyfinQt/dto/playbackerrorcode.h + ./include/JellyfinQt/dto/playbackinforesponse.h + ./include/JellyfinQt/dto/playbackinfodto.h + ./include/JellyfinQt/dto/openlivestreamdto.h + ./include/JellyfinQt/dto/livestreamresponse.h + ./include/JellyfinQt/dto/recommendationtype.h + ./include/JellyfinQt/dto/recommendationdto.h + ./include/JellyfinQt/dto/notificationlevel.h + ./include/JellyfinQt/dto/notificationdto.h + ./include/JellyfinQt/dto/notificationresultdto.h + ./include/JellyfinQt/dto/notificationssummarydto.h + ./include/JellyfinQt/dto/notificationtypeinfo.h + ./include/JellyfinQt/dto/versioninfo.h + ./include/JellyfinQt/dto/packageinfo.h + ./include/JellyfinQt/dto/createplaylistdto.h + ./include/JellyfinQt/dto/playlistcreationresult.h + ./include/JellyfinQt/dto/playmethod.h + ./include/JellyfinQt/dto/repeatmode.h + ./include/JellyfinQt/dto/queueitem.h + ./include/JellyfinQt/dto/playbackstartinfo.h + ./include/JellyfinQt/dto/playbackprogressinfo.h + ./include/JellyfinQt/dto/playbackstopinfo.h + ./include/JellyfinQt/dto/pluginstatus.h + ./include/JellyfinQt/dto/plugininfo.h + ./include/JellyfinQt/dto/basepluginconfiguration.h + ./include/JellyfinQt/dto/pluginsecurityinfo.h + ./include/JellyfinQt/dto/quickconnectstate.h + ./include/JellyfinQt/dto/quickconnectresult.h + ./include/JellyfinQt/dto/ratingtype.h + ./include/JellyfinQt/dto/remoteimageinfo.h + ./include/JellyfinQt/dto/remoteimageresult.h + ./include/JellyfinQt/dto/imageproviderinfo.h + ./include/JellyfinQt/dto/taskstate.h + ./include/JellyfinQt/dto/taskcompletionstatus.h + ./include/JellyfinQt/dto/taskresult.h + ./include/JellyfinQt/dto/tasktriggerinfo.h + ./include/JellyfinQt/dto/taskinfo.h + ./include/JellyfinQt/dto/searchhint.h + ./include/JellyfinQt/dto/searchhintresult.h + ./include/JellyfinQt/dto/playerstateinfo.h + ./include/JellyfinQt/dto/sessionuserinfo.h + ./include/JellyfinQt/dto/baseitem.h + ./include/JellyfinQt/dto/transcodereason.h + ./include/JellyfinQt/dto/transcodinginfo.h + ./include/JellyfinQt/dto/sessioninfo.h + ./include/JellyfinQt/dto/generalcommand.h + ./include/JellyfinQt/dto/playcommand.h + ./include/JellyfinQt/dto/playstatecommand.h + ./include/JellyfinQt/dto/clientcapabilitiesdto.h + ./include/JellyfinQt/dto/startupconfigurationdto.h + ./include/JellyfinQt/dto/startupuserdto.h + ./include/JellyfinQt/dto/startupremoteaccessdto.h + ./include/JellyfinQt/dto/fontfile.h + ./include/JellyfinQt/dto/remotesubtitleinfo.h + ./include/JellyfinQt/dto/uploadsubtitledto.h + ./include/JellyfinQt/dto/bufferrequestdto.h + ./include/JellyfinQt/dto/joingrouprequestdto.h + ./include/JellyfinQt/dto/groupstatetype.h + ./include/JellyfinQt/dto/groupinfodto.h + ./include/JellyfinQt/dto/moveplaylistitemrequestdto.h + ./include/JellyfinQt/dto/newgrouprequestdto.h + ./include/JellyfinQt/dto/nextitemrequestdto.h + ./include/JellyfinQt/dto/pingrequestdto.h + ./include/JellyfinQt/dto/previousitemrequestdto.h + ./include/JellyfinQt/dto/groupqueuemode.h + ./include/JellyfinQt/dto/queuerequestdto.h + ./include/JellyfinQt/dto/readyrequestdto.h + ./include/JellyfinQt/dto/removefromplaylistrequestdto.h + ./include/JellyfinQt/dto/seekrequestdto.h + ./include/JellyfinQt/dto/ignorewaitrequestdto.h + ./include/JellyfinQt/dto/playrequestdto.h + ./include/JellyfinQt/dto/setplaylistitemrequestdto.h + ./include/JellyfinQt/dto/grouprepeatmode.h + ./include/JellyfinQt/dto/setrepeatmoderequestdto.h + ./include/JellyfinQt/dto/groupshufflemode.h + ./include/JellyfinQt/dto/setshufflemoderequestdto.h + ./include/JellyfinQt/dto/endpointinfo.h + ./include/JellyfinQt/dto/installationinfo.h + ./include/JellyfinQt/dto/ffmpeglocation.h + ./include/JellyfinQt/dto/architecture.h + ./include/JellyfinQt/dto/systeminfo.h + ./include/JellyfinQt/dto/publicsysteminfo.h + ./include/JellyfinQt/dto/logfile.h + ./include/JellyfinQt/dto/wakeonlaninfo.h + ./include/JellyfinQt/dto/utctimeresponse.h + ./include/JellyfinQt/dto/subtitleplaybackmode.h + ./include/JellyfinQt/dto/userconfiguration.h + ./include/JellyfinQt/dto/dynamicdayofweek.h + ./include/JellyfinQt/dto/accessschedule.h + ./include/JellyfinQt/dto/unrateditem.h + ./include/JellyfinQt/dto/syncplayuseraccesstype.h + ./include/JellyfinQt/dto/userpolicy.h + ./include/JellyfinQt/dto/userdto.h + ./include/JellyfinQt/dto/authenticationresult.h + ./include/JellyfinQt/dto/updateusereasypassword.h + ./include/JellyfinQt/dto/updateuserpassword.h + ./include/JellyfinQt/dto/authenticateuserbyname.h + ./include/JellyfinQt/dto/quickconnectdto.h + ./include/JellyfinQt/dto/forgotpassworddto.h + ./include/JellyfinQt/dto/forgotpasswordaction.h + ./include/JellyfinQt/dto/forgotpasswordresult.h + ./include/JellyfinQt/dto/pinredeemresult.h + ./include/JellyfinQt/dto/createuserbyname.h + ./include/JellyfinQt/dto/specialviewoptiondto.h + ./include/JellyfinQt/dto/libraryupdateinfo.h + ./include/JellyfinQt/dto/iplugin.h + ./include/JellyfinQt/dto/playrequest.h + ./include/JellyfinQt/dto/playstaterequest.h + ./include/JellyfinQt/dto/timereventinfo.h + ./include/JellyfinQt/dto/sendcommandtype.h + ./include/JellyfinQt/dto/sendcommand.h + ./include/JellyfinQt/dto/groupupdatetype.h + ./include/JellyfinQt/dto/objectgroupupdate.h + ./include/JellyfinQt/loader/http/getlogentries.h + ./include/JellyfinQt/loader/http/getkeys.h + ./include/JellyfinQt/loader/http/createkey.h + ./include/JellyfinQt/loader/http/revokekey.h + ./include/JellyfinQt/loader/http/getartists.h + ./include/JellyfinQt/loader/http/getartistbyname.h + ./include/JellyfinQt/loader/http/getalbumartists.h + ./include/JellyfinQt/loader/http/getaudiostream.h + ./include/JellyfinQt/loader/http/headaudiostream.h + ./include/JellyfinQt/loader/http/getaudiostreambycontainer.h + ./include/JellyfinQt/loader/http/headaudiostreambycontainer.h + ./include/JellyfinQt/loader/http/getbrandingoptions.h + ./include/JellyfinQt/loader/http/getbrandingcss.h + ./include/JellyfinQt/loader/http/getbrandingcss_2.h + ./include/JellyfinQt/loader/http/getchannels.h + ./include/JellyfinQt/loader/http/getchannelfeatures.h + ./include/JellyfinQt/loader/http/getchannelitems.h + ./include/JellyfinQt/loader/http/getallchannelfeatures.h + ./include/JellyfinQt/loader/http/getlatestchannelitems.h + ./include/JellyfinQt/loader/http/createcollection.h + ./include/JellyfinQt/loader/http/addtocollection.h + ./include/JellyfinQt/loader/http/removefromcollection.h + ./include/JellyfinQt/loader/http/getconfiguration.h + ./include/JellyfinQt/loader/http/updateconfiguration.h + ./include/JellyfinQt/loader/http/getnamedconfiguration.h + ./include/JellyfinQt/loader/http/updatenamedconfiguration.h + ./include/JellyfinQt/loader/http/getdefaultmetadataoptions.h + ./include/JellyfinQt/loader/http/updatemediaencoderpath.h + ./include/JellyfinQt/loader/http/getdashboardconfigurationpage.h + ./include/JellyfinQt/loader/http/getconfigurationpages.h + ./include/JellyfinQt/loader/http/getdevices.h + ./include/JellyfinQt/loader/http/deletedevice.h + ./include/JellyfinQt/loader/http/getdeviceinfo.h + ./include/JellyfinQt/loader/http/getdeviceoptions.h + ./include/JellyfinQt/loader/http/updatedeviceoptions.h + ./include/JellyfinQt/loader/http/getdisplaypreferences.h + ./include/JellyfinQt/loader/http/updatedisplaypreferences.h + ./include/JellyfinQt/loader/http/getprofileinfos.h + ./include/JellyfinQt/loader/http/createprofile.h + ./include/JellyfinQt/loader/http/getprofile.h + ./include/JellyfinQt/loader/http/deleteprofile.h + ./include/JellyfinQt/loader/http/updateprofile.h + ./include/JellyfinQt/loader/http/getdefaultprofile.h + ./include/JellyfinQt/loader/http/getconnectionmanager.h + ./include/JellyfinQt/loader/http/getconnectionmanager_2.h + ./include/JellyfinQt/loader/http/getconnectionmanager_3.h + ./include/JellyfinQt/loader/http/processconnectionmanagercontrolrequest.h + ./include/JellyfinQt/loader/http/getcontentdirectory.h + ./include/JellyfinQt/loader/http/getcontentdirectory_2.h + ./include/JellyfinQt/loader/http/getcontentdirectory_3.h + ./include/JellyfinQt/loader/http/processcontentdirectorycontrolrequest.h + ./include/JellyfinQt/loader/http/getdescriptionxml.h + ./include/JellyfinQt/loader/http/getdescriptionxml_2.h + ./include/JellyfinQt/loader/http/geticonid.h + ./include/JellyfinQt/loader/http/getmediareceiverregistrar.h + ./include/JellyfinQt/loader/http/processmediareceiverregistrarcontrolrequest.h + ./include/JellyfinQt/loader/http/getmediareceiverregistrar_2.h + ./include/JellyfinQt/loader/http/getmediareceiverregistrar_3.h + ./include/JellyfinQt/loader/http/geticon.h + ./include/JellyfinQt/loader/http/gethlsaudiosegment.h + ./include/JellyfinQt/loader/http/getvarianthlsaudioplaylist.h + ./include/JellyfinQt/loader/http/getmasterhlsaudioplaylist.h + ./include/JellyfinQt/loader/http/headmasterhlsaudioplaylist.h + ./include/JellyfinQt/loader/http/gethlsvideosegment.h + ./include/JellyfinQt/loader/http/getvarianthlsvideoplaylist.h + ./include/JellyfinQt/loader/http/getmasterhlsvideoplaylist.h + ./include/JellyfinQt/loader/http/headmasterhlsvideoplaylist.h + ./include/JellyfinQt/loader/http/getdefaultdirectorybrowser.h + ./include/JellyfinQt/loader/http/getdirectorycontents.h + ./include/JellyfinQt/loader/http/getdrives.h + ./include/JellyfinQt/loader/http/getnetworkshares.h + ./include/JellyfinQt/loader/http/getparentpath.h + ./include/JellyfinQt/loader/http/validatepath.h + ./include/JellyfinQt/loader/http/getqueryfilterslegacy.h + ./include/JellyfinQt/loader/http/getqueryfilters.h + ./include/JellyfinQt/loader/http/getgenres.h + ./include/JellyfinQt/loader/http/getgenre.h + ./include/JellyfinQt/loader/http/gethlsaudiosegmentlegacyaac.h + ./include/JellyfinQt/loader/http/gethlsaudiosegmentlegacymp3.h + ./include/JellyfinQt/loader/http/gethlsvideosegmentlegacy.h + ./include/JellyfinQt/loader/http/gethlsplaylistlegacy.h + ./include/JellyfinQt/loader/http/stopencodingprocess.h + ./include/JellyfinQt/loader/http/getartistimage.h + ./include/JellyfinQt/loader/http/headartistimage.h + ./include/JellyfinQt/loader/http/getgenreimage.h + ./include/JellyfinQt/loader/http/headgenreimage.h + ./include/JellyfinQt/loader/http/getgenreimagebyindex.h + ./include/JellyfinQt/loader/http/headgenreimagebyindex.h + ./include/JellyfinQt/loader/http/getitemimageinfos.h + ./include/JellyfinQt/loader/http/deleteitemimage.h + ./include/JellyfinQt/loader/http/setitemimage.h + ./include/JellyfinQt/loader/http/getitemimage.h + ./include/JellyfinQt/loader/http/headitemimage.h + ./include/JellyfinQt/loader/http/deleteitemimagebyindex.h + ./include/JellyfinQt/loader/http/setitemimagebyindex.h + ./include/JellyfinQt/loader/http/getitemimagebyindex.h + ./include/JellyfinQt/loader/http/headitemimagebyindex.h + ./include/JellyfinQt/loader/http/getitemimage2.h + ./include/JellyfinQt/loader/http/headitemimage2.h + ./include/JellyfinQt/loader/http/updateitemimageindex.h + ./include/JellyfinQt/loader/http/getmusicgenreimage.h + ./include/JellyfinQt/loader/http/headmusicgenreimage.h + ./include/JellyfinQt/loader/http/getmusicgenreimagebyindex.h + ./include/JellyfinQt/loader/http/headmusicgenreimagebyindex.h + ./include/JellyfinQt/loader/http/getpersonimage.h + ./include/JellyfinQt/loader/http/headpersonimage.h + ./include/JellyfinQt/loader/http/getpersonimagebyindex.h + ./include/JellyfinQt/loader/http/headpersonimagebyindex.h + ./include/JellyfinQt/loader/http/getstudioimage.h + ./include/JellyfinQt/loader/http/headstudioimage.h + ./include/JellyfinQt/loader/http/getstudioimagebyindex.h + ./include/JellyfinQt/loader/http/headstudioimagebyindex.h + ./include/JellyfinQt/loader/http/postuserimage.h + ./include/JellyfinQt/loader/http/deleteuserimage.h + ./include/JellyfinQt/loader/http/getuserimage.h + ./include/JellyfinQt/loader/http/headuserimage.h + ./include/JellyfinQt/loader/http/getuserimagebyindex.h + ./include/JellyfinQt/loader/http/headuserimagebyindex.h + ./include/JellyfinQt/loader/http/postuserimagebyindex.h + ./include/JellyfinQt/loader/http/deleteuserimagebyindex.h + ./include/JellyfinQt/loader/http/getgeneralimages.h + ./include/JellyfinQt/loader/http/getgeneralimage.h + ./include/JellyfinQt/loader/http/getmediainfoimages.h + ./include/JellyfinQt/loader/http/getmediainfoimage.h + ./include/JellyfinQt/loader/http/getratingimages.h + ./include/JellyfinQt/loader/http/getratingimage.h + ./include/JellyfinQt/loader/http/getinstantmixfromalbum.h + ./include/JellyfinQt/loader/http/getinstantmixfromartists.h + ./include/JellyfinQt/loader/http/getinstantmixfromitem.h + ./include/JellyfinQt/loader/http/getinstantmixfrommusicgenres.h + ./include/JellyfinQt/loader/http/getinstantmixfrommusicgenre.h + ./include/JellyfinQt/loader/http/getinstantmixfromplaylist.h + ./include/JellyfinQt/loader/http/getinstantmixfromsong.h + ./include/JellyfinQt/loader/http/getexternalidinfos.h + ./include/JellyfinQt/loader/http/applysearchcriteria.h + ./include/JellyfinQt/loader/http/getbookremotesearchresults.h + ./include/JellyfinQt/loader/http/getboxsetremotesearchresults.h + ./include/JellyfinQt/loader/http/getremotesearchimage.h + ./include/JellyfinQt/loader/http/getmovieremotesearchresults.h + ./include/JellyfinQt/loader/http/getmusicalbumremotesearchresults.h + ./include/JellyfinQt/loader/http/getmusicartistremotesearchresults.h + ./include/JellyfinQt/loader/http/getmusicvideoremotesearchresults.h + ./include/JellyfinQt/loader/http/getpersonremotesearchresults.h + ./include/JellyfinQt/loader/http/getseriesremotesearchresults.h + ./include/JellyfinQt/loader/http/gettrailerremotesearchresults.h + ./include/JellyfinQt/loader/http/post.h + ./include/JellyfinQt/loader/http/getitems.h + ./include/JellyfinQt/loader/http/deleteitems.h + ./include/JellyfinQt/loader/http/getitemsbyuserid.h + ./include/JellyfinQt/loader/http/getresumeitems.h + ./include/JellyfinQt/loader/http/updateitem.h + ./include/JellyfinQt/loader/http/deleteitem.h + ./include/JellyfinQt/loader/http/updateitemcontenttype.h + ./include/JellyfinQt/loader/http/getmetadataeditorinfo.h + ./include/JellyfinQt/loader/http/getsimilaralbums.h + ./include/JellyfinQt/loader/http/getsimilarartists.h + ./include/JellyfinQt/loader/http/getancestors.h + ./include/JellyfinQt/loader/http/getcriticreviews.h + ./include/JellyfinQt/loader/http/getdownload.h + ./include/JellyfinQt/loader/http/getfile.h + ./include/JellyfinQt/loader/http/getsimilaritems.h + ./include/JellyfinQt/loader/http/getthememedia.h + ./include/JellyfinQt/loader/http/getthemesongs.h + ./include/JellyfinQt/loader/http/getthemevideos.h + ./include/JellyfinQt/loader/http/getitemcounts.h + ./include/JellyfinQt/loader/http/getlibraryoptionsinfo.h + ./include/JellyfinQt/loader/http/postupdatedmedia.h + ./include/JellyfinQt/loader/http/getmediafolders.h + ./include/JellyfinQt/loader/http/postaddedmovies.h + ./include/JellyfinQt/loader/http/postupdatedmovies.h + ./include/JellyfinQt/loader/http/getphysicalpaths.h + ./include/JellyfinQt/loader/http/refreshlibrary.h + ./include/JellyfinQt/loader/http/postaddedseries.h + ./include/JellyfinQt/loader/http/postupdatedseries.h + ./include/JellyfinQt/loader/http/getsimilarmovies.h + ./include/JellyfinQt/loader/http/getsimilarshows.h + ./include/JellyfinQt/loader/http/getsimilartrailers.h + ./include/JellyfinQt/loader/http/getvirtualfolders.h + ./include/JellyfinQt/loader/http/addvirtualfolder.h + ./include/JellyfinQt/loader/http/removevirtualfolder.h + ./include/JellyfinQt/loader/http/updatelibraryoptions.h + ./include/JellyfinQt/loader/http/renamevirtualfolder.h + ./include/JellyfinQt/loader/http/addmediapath.h + ./include/JellyfinQt/loader/http/removemediapath.h + ./include/JellyfinQt/loader/http/updatemediapath.h + ./include/JellyfinQt/loader/http/getchannelmappingoptions.h + ./include/JellyfinQt/loader/http/setchannelmapping.h + ./include/JellyfinQt/loader/http/getlivetvchannels.h + ./include/JellyfinQt/loader/http/getchannel.h + ./include/JellyfinQt/loader/http/getguideinfo.h + ./include/JellyfinQt/loader/http/getlivetvinfo.h + ./include/JellyfinQt/loader/http/addlistingprovider.h + ./include/JellyfinQt/loader/http/deletelistingprovider.h + ./include/JellyfinQt/loader/http/getdefaultlistingprovider.h + ./include/JellyfinQt/loader/http/getlineups.h + ./include/JellyfinQt/loader/http/getschedulesdirectcountries.h + ./include/JellyfinQt/loader/http/getliverecordingfile.h + ./include/JellyfinQt/loader/http/getlivestreamfile.h + ./include/JellyfinQt/loader/http/getlivetvprograms.h + ./include/JellyfinQt/loader/http/getprograms.h + ./include/JellyfinQt/loader/http/getprogram.h + ./include/JellyfinQt/loader/http/getrecommendedprograms.h + ./include/JellyfinQt/loader/http/getrecordings.h + ./include/JellyfinQt/loader/http/getrecording.h + ./include/JellyfinQt/loader/http/deleterecording.h + ./include/JellyfinQt/loader/http/getrecordingfolders.h + ./include/JellyfinQt/loader/http/getrecordinggroups.h + ./include/JellyfinQt/loader/http/getrecordinggroup.h + ./include/JellyfinQt/loader/http/getrecordingsseries.h + ./include/JellyfinQt/loader/http/getseriestimers.h + ./include/JellyfinQt/loader/http/createseriestimer.h + ./include/JellyfinQt/loader/http/getseriestimer.h + ./include/JellyfinQt/loader/http/cancelseriestimer.h + ./include/JellyfinQt/loader/http/updateseriestimer.h + ./include/JellyfinQt/loader/http/gettimers.h + ./include/JellyfinQt/loader/http/createtimer.h + ./include/JellyfinQt/loader/http/gettimer.h + ./include/JellyfinQt/loader/http/canceltimer.h + ./include/JellyfinQt/loader/http/updatetimer.h + ./include/JellyfinQt/loader/http/getdefaulttimer.h + ./include/JellyfinQt/loader/http/addtunerhost.h + ./include/JellyfinQt/loader/http/deletetunerhost.h + ./include/JellyfinQt/loader/http/gettunerhosttypes.h + ./include/JellyfinQt/loader/http/resettuner.h + ./include/JellyfinQt/loader/http/discovertuners.h + ./include/JellyfinQt/loader/http/discvovertuners.h + ./include/JellyfinQt/loader/http/getcountries.h + ./include/JellyfinQt/loader/http/getcultures.h + ./include/JellyfinQt/loader/http/getlocalizationoptions.h + ./include/JellyfinQt/loader/http/getparentalratings.h + ./include/JellyfinQt/loader/http/getplaybackinfo.h + ./include/JellyfinQt/loader/http/getpostedplaybackinfo.h + ./include/JellyfinQt/loader/http/closelivestream.h + ./include/JellyfinQt/loader/http/openlivestream.h + ./include/JellyfinQt/loader/http/getbitratetestbytes.h + ./include/JellyfinQt/loader/http/getmovierecommendations.h + ./include/JellyfinQt/loader/http/getmusicgenres.h + ./include/JellyfinQt/loader/http/getmusicgenre.h + ./include/JellyfinQt/loader/http/getnotifications.h + ./include/JellyfinQt/loader/http/setread.h + ./include/JellyfinQt/loader/http/getnotificationssummary.h + ./include/JellyfinQt/loader/http/setunread.h + ./include/JellyfinQt/loader/http/createadminnotification.h + ./include/JellyfinQt/loader/http/getnotificationservices.h + ./include/JellyfinQt/loader/http/getnotificationtypes.h + ./include/JellyfinQt/loader/http/getpackages.h + ./include/JellyfinQt/loader/http/getpackageinfo.h + ./include/JellyfinQt/loader/http/installpackage.h + ./include/JellyfinQt/loader/http/cancelpackageinstallation.h + ./include/JellyfinQt/loader/http/getrepositories.h + ./include/JellyfinQt/loader/http/setrepositories.h + ./include/JellyfinQt/loader/http/getpersons.h + ./include/JellyfinQt/loader/http/getperson.h + ./include/JellyfinQt/loader/http/createplaylist.h + ./include/JellyfinQt/loader/http/addtoplaylist.h + ./include/JellyfinQt/loader/http/removefromplaylist.h + ./include/JellyfinQt/loader/http/getplaylistitems.h + ./include/JellyfinQt/loader/http/moveitem.h + ./include/JellyfinQt/loader/http/reportplaybackstart.h + ./include/JellyfinQt/loader/http/pingplaybacksession.h + ./include/JellyfinQt/loader/http/reportplaybackprogress.h + ./include/JellyfinQt/loader/http/reportplaybackstopped.h + ./include/JellyfinQt/loader/http/markplayeditem.h + ./include/JellyfinQt/loader/http/markunplayeditem.h + ./include/JellyfinQt/loader/http/onplaybackstart.h + ./include/JellyfinQt/loader/http/onplaybackstopped.h + ./include/JellyfinQt/loader/http/onplaybackprogress.h + ./include/JellyfinQt/loader/http/getplugins.h + ./include/JellyfinQt/loader/http/uninstallplugin.h + ./include/JellyfinQt/loader/http/uninstallpluginbyversion.h + ./include/JellyfinQt/loader/http/disableplugin.h + ./include/JellyfinQt/loader/http/enableplugin.h + ./include/JellyfinQt/loader/http/getpluginimage.h + ./include/JellyfinQt/loader/http/getpluginconfiguration.h + ./include/JellyfinQt/loader/http/updatepluginconfiguration.h + ./include/JellyfinQt/loader/http/getpluginmanifest.h + ./include/JellyfinQt/loader/http/updatepluginsecurityinfo.h + ./include/JellyfinQt/loader/http/activate.h + ./include/JellyfinQt/loader/http/authorize.h + ./include/JellyfinQt/loader/http/available.h + ./include/JellyfinQt/loader/http/connect.h + ./include/JellyfinQt/loader/http/deauthorize.h + ./include/JellyfinQt/loader/http/initiate.h + ./include/JellyfinQt/loader/http/getstatus.h + ./include/JellyfinQt/loader/http/getremoteimage.h + ./include/JellyfinQt/loader/http/getremoteimages.h + ./include/JellyfinQt/loader/http/downloadremoteimage.h + ./include/JellyfinQt/loader/http/getremoteimageproviders.h + ./include/JellyfinQt/loader/http/gettasks.h + ./include/JellyfinQt/loader/http/gettask.h + ./include/JellyfinQt/loader/http/updatetask.h + ./include/JellyfinQt/loader/http/starttask.h + ./include/JellyfinQt/loader/http/stoptask.h + ./include/JellyfinQt/loader/http/get.h + ./include/JellyfinQt/loader/http/getpasswordresetproviders.h + ./include/JellyfinQt/loader/http/getauthproviders.h + ./include/JellyfinQt/loader/http/getsessions.h + ./include/JellyfinQt/loader/http/sendfullgeneralcommand.h + ./include/JellyfinQt/loader/http/sendgeneralcommand.h + ./include/JellyfinQt/loader/http/sendmessagecommand.h + ./include/JellyfinQt/loader/http/play.h + ./include/JellyfinQt/loader/http/sendplaystatecommand.h + ./include/JellyfinQt/loader/http/sendsystemcommand.h + ./include/JellyfinQt/loader/http/addusertosession.h + ./include/JellyfinQt/loader/http/removeuserfromsession.h + ./include/JellyfinQt/loader/http/displaycontent.h + ./include/JellyfinQt/loader/http/postcapabilities.h + ./include/JellyfinQt/loader/http/postfullcapabilities.h + ./include/JellyfinQt/loader/http/reportsessionended.h + ./include/JellyfinQt/loader/http/reportviewing.h + ./include/JellyfinQt/loader/http/completewizard.h + ./include/JellyfinQt/loader/http/getstartupconfiguration.h + ./include/JellyfinQt/loader/http/updateinitialconfiguration.h + ./include/JellyfinQt/loader/http/getfirstuser_2.h + ./include/JellyfinQt/loader/http/setremoteaccess.h + ./include/JellyfinQt/loader/http/getfirstuser.h + ./include/JellyfinQt/loader/http/updatestartupuser.h + ./include/JellyfinQt/loader/http/getstudios.h + ./include/JellyfinQt/loader/http/getstudio.h + ./include/JellyfinQt/loader/http/getfallbackfontlist.h + ./include/JellyfinQt/loader/http/getfallbackfont.h + ./include/JellyfinQt/loader/http/searchremotesubtitles.h + ./include/JellyfinQt/loader/http/downloadremotesubtitles.h + ./include/JellyfinQt/loader/http/getremotesubtitles.h + ./include/JellyfinQt/loader/http/getsubtitlewithticks.h + ./include/JellyfinQt/loader/http/getsubtitle.h + ./include/JellyfinQt/loader/http/getsubtitleplaylist.h + ./include/JellyfinQt/loader/http/uploadsubtitle.h + ./include/JellyfinQt/loader/http/deletesubtitle.h + ./include/JellyfinQt/loader/http/getsuggestions.h + ./include/JellyfinQt/loader/http/syncplaybuffering.h + ./include/JellyfinQt/loader/http/syncplayjoingroup.h + ./include/JellyfinQt/loader/http/syncplayleavegroup.h + ./include/JellyfinQt/loader/http/syncplaygetgroups.h + ./include/JellyfinQt/loader/http/syncplaymoveplaylistitem.h + ./include/JellyfinQt/loader/http/syncplaycreategroup.h + ./include/JellyfinQt/loader/http/syncplaynextitem.h + ./include/JellyfinQt/loader/http/syncplaypause.h + ./include/JellyfinQt/loader/http/syncplayping.h + ./include/JellyfinQt/loader/http/syncplaypreviousitem.h + ./include/JellyfinQt/loader/http/syncplayqueue.h + ./include/JellyfinQt/loader/http/syncplayready.h + ./include/JellyfinQt/loader/http/syncplayremovefromplaylist.h + ./include/JellyfinQt/loader/http/syncplayseek.h + ./include/JellyfinQt/loader/http/syncplaysetignorewait.h + ./include/JellyfinQt/loader/http/syncplaysetnewqueue.h + ./include/JellyfinQt/loader/http/syncplaysetplaylistitem.h + ./include/JellyfinQt/loader/http/syncplaysetrepeatmode.h + ./include/JellyfinQt/loader/http/syncplaysetshufflemode.h + ./include/JellyfinQt/loader/http/syncplaystop.h + ./include/JellyfinQt/loader/http/syncplayunpause.h + ./include/JellyfinQt/loader/http/getendpointinfo.h + ./include/JellyfinQt/loader/http/getsysteminfo.h + ./include/JellyfinQt/loader/http/getpublicsysteminfo.h + ./include/JellyfinQt/loader/http/getserverlogs.h + ./include/JellyfinQt/loader/http/getlogfile.h + ./include/JellyfinQt/loader/http/getpingsystem.h + ./include/JellyfinQt/loader/http/postpingsystem.h + ./include/JellyfinQt/loader/http/restartapplication.h + ./include/JellyfinQt/loader/http/shutdownapplication.h + ./include/JellyfinQt/loader/http/getwakeonlaninfo.h + ./include/JellyfinQt/loader/http/getutctime.h + ./include/JellyfinQt/loader/http/gettrailers.h + ./include/JellyfinQt/loader/http/getepisodes.h + ./include/JellyfinQt/loader/http/getseasons.h + ./include/JellyfinQt/loader/http/getnextup.h + ./include/JellyfinQt/loader/http/getupcomingepisodes.h + ./include/JellyfinQt/loader/http/getuniversalaudiostream.h + ./include/JellyfinQt/loader/http/headuniversalaudiostream.h + ./include/JellyfinQt/loader/http/getusers.h + ./include/JellyfinQt/loader/http/getuserbyid.h + ./include/JellyfinQt/loader/http/deleteuser.h + ./include/JellyfinQt/loader/http/updateuser.h + ./include/JellyfinQt/loader/http/authenticateuser.h + ./include/JellyfinQt/loader/http/updateuserconfiguration.h + ./include/JellyfinQt/loader/http/updateusereasypassword.h + ./include/JellyfinQt/loader/http/updateuserpassword.h + ./include/JellyfinQt/loader/http/updateuserpolicy.h + ./include/JellyfinQt/loader/http/authenticateuserbyname.h + ./include/JellyfinQt/loader/http/authenticatewithquickconnect.h + ./include/JellyfinQt/loader/http/forgotpassword.h + ./include/JellyfinQt/loader/http/forgotpasswordpin.h + ./include/JellyfinQt/loader/http/getcurrentuser.h + ./include/JellyfinQt/loader/http/createuserbyname.h + ./include/JellyfinQt/loader/http/getpublicusers.h + ./include/JellyfinQt/loader/http/markfavoriteitem.h + ./include/JellyfinQt/loader/http/unmarkfavoriteitem.h + ./include/JellyfinQt/loader/http/getitem.h + ./include/JellyfinQt/loader/http/getintros.h + ./include/JellyfinQt/loader/http/getlocaltrailers.h + ./include/JellyfinQt/loader/http/deleteuseritemrating.h + ./include/JellyfinQt/loader/http/updateuseritemrating.h + ./include/JellyfinQt/loader/http/getspecialfeatures.h + ./include/JellyfinQt/loader/http/getlatestmedia.h + ./include/JellyfinQt/loader/http/getrootfolder.h + ./include/JellyfinQt/loader/http/getgroupingoptions.h + ./include/JellyfinQt/loader/http/getuserviews.h + ./include/JellyfinQt/loader/http/getattachment.h + ./include/JellyfinQt/loader/http/getlivehlsstream.h + ./include/JellyfinQt/loader/http/getvideostreambycontainer.h + ./include/JellyfinQt/loader/http/headvideostreambycontainer.h + ./include/JellyfinQt/loader/http/getadditionalpart.h + ./include/JellyfinQt/loader/http/deletealternatesources.h + ./include/JellyfinQt/loader/http/getvideostream.h + ./include/JellyfinQt/loader/http/headvideostream.h + ./include/JellyfinQt/loader/http/mergeversions.h + ./include/JellyfinQt/loader/http/getyears.h + ./include/JellyfinQt/loader/http/getyear.h) set(openapi_SOURCES - ./src/DTO/loglevel.cpp - ./src/DTO/activitylogentry.cpp - ./src/DTO/activitylogentryqueryresult.cpp - ./src/DTO/authenticationinfo.cpp - ./src/DTO/authenticationinfoqueryresult.cpp - ./src/DTO/itemfields.cpp - ./src/DTO/itemfilter.cpp - ./src/DTO/imagetype.cpp - ./src/DTO/video3dformat.cpp - ./src/DTO/externalurl.cpp - ./src/DTO/mediaprotocol.cpp - ./src/DTO/mediasourcetype.cpp - ./src/DTO/videotype.cpp - ./src/DTO/isotype.cpp - ./src/DTO/mediastreamtype.cpp - ./src/DTO/subtitledeliverymethod.cpp - ./src/DTO/mediastream.cpp - ./src/DTO/mediaattachment.cpp - ./src/DTO/transportstreamtimestamp.cpp - ./src/DTO/mediasourceinfo.cpp - ./src/DTO/playaccess.cpp - ./src/DTO/mediaurl.cpp - ./src/DTO/baseitemperson.cpp - ./src/DTO/nameguidpair.cpp - ./src/DTO/useritemdatadto.cpp - ./src/DTO/dayofweek.cpp - ./src/DTO/chapterinfo.cpp - ./src/DTO/locationtype.cpp - ./src/DTO/metadatafield.cpp - ./src/DTO/imageorientation.cpp - ./src/DTO/channeltype.cpp - ./src/DTO/programaudio.cpp - ./src/DTO/baseitemdto.cpp - ./src/DTO/baseitemdtoqueryresult.cpp - ./src/DTO/encodingcontext.cpp - ./src/DTO/brandingoptions.cpp - ./src/DTO/channelmediatype.cpp - ./src/DTO/channelmediacontenttype.cpp - ./src/DTO/channelitemsortfield.cpp - ./src/DTO/channelfeatures.cpp - ./src/DTO/collectioncreationresult.cpp - ./src/DTO/version.cpp - ./src/DTO/imagesavingconvention.cpp - ./src/DTO/metadataoptions.cpp - ./src/DTO/namevaluepair.cpp - ./src/DTO/repositoryinfo.cpp - ./src/DTO/pathsubstitution.cpp - ./src/DTO/serverconfiguration.cpp - ./src/DTO/mediaencoderpathdto.cpp - ./src/DTO/problemdetails.cpp - ./src/DTO/configurationpagetype.cpp - ./src/DTO/configurationpageinfo.cpp - ./src/DTO/generalcommandtype.cpp - ./src/DTO/headermatchtype.cpp - ./src/DTO/httpheaderinfo.cpp - ./src/DTO/deviceidentification.cpp - ./src/DTO/xmlattribute.cpp - ./src/DTO/dlnaprofiletype.cpp - ./src/DTO/directplayprofile.cpp - ./src/DTO/transcodeseekinfo.cpp - ./src/DTO/transcodingprofile.cpp - ./src/DTO/profileconditiontype.cpp - ./src/DTO/profileconditionvalue.cpp - ./src/DTO/profilecondition.cpp - ./src/DTO/containerprofile.cpp - ./src/DTO/codectype.cpp - ./src/DTO/codecprofile.cpp - ./src/DTO/responseprofile.cpp - ./src/DTO/subtitleprofile.cpp - ./src/DTO/deviceprofile.cpp - ./src/DTO/clientcapabilities.cpp - ./src/DTO/deviceinfo.cpp - ./src/DTO/deviceinfoqueryresult.cpp - ./src/DTO/deviceoptions.cpp - ./src/DTO/scrolldirection.cpp - ./src/DTO/sortorder.cpp - ./src/DTO/displaypreferencesdto.cpp - ./src/DTO/deviceprofiletype.cpp - ./src/DTO/deviceprofileinfo.cpp - ./src/DTO/controlresponse.cpp - ./src/DTO/defaultdirectorybrowserinfodto.cpp - ./src/DTO/filesystementrytype.cpp - ./src/DTO/filesystementryinfo.cpp - ./src/DTO/validatepathdto.cpp - ./src/DTO/queryfilterslegacy.cpp - ./src/DTO/queryfilters.cpp - ./src/DTO/imageformat.cpp - ./src/DTO/imageinfo.cpp - ./src/DTO/imagebynameinfo.cpp - ./src/DTO/externalidmediatype.cpp - ./src/DTO/externalidinfo.cpp - ./src/DTO/remotesearchresult.cpp - ./src/DTO/bookinfo.cpp - ./src/DTO/bookinforemotesearchquery.cpp - ./src/DTO/boxsetinfo.cpp - ./src/DTO/boxsetinforemotesearchquery.cpp - ./src/DTO/movieinfo.cpp - ./src/DTO/movieinforemotesearchquery.cpp - ./src/DTO/songinfo.cpp - ./src/DTO/albuminfo.cpp - ./src/DTO/albuminforemotesearchquery.cpp - ./src/DTO/artistinfo.cpp - ./src/DTO/artistinforemotesearchquery.cpp - ./src/DTO/musicvideoinfo.cpp - ./src/DTO/musicvideoinforemotesearchquery.cpp - ./src/DTO/personlookupinfo.cpp - ./src/DTO/personlookupinforemotesearchquery.cpp - ./src/DTO/seriesinfo.cpp - ./src/DTO/seriesinforemotesearchquery.cpp - ./src/DTO/trailerinfo.cpp - ./src/DTO/trailerinforemotesearchquery.cpp - ./src/DTO/metadatarefreshmode.cpp - ./src/DTO/seriesstatus.cpp - ./src/DTO/parentalrating.cpp - ./src/DTO/countryinfo.cpp - ./src/DTO/culturedto.cpp - ./src/DTO/metadataeditorinfo.cpp - ./src/DTO/thememediaresult.cpp - ./src/DTO/allthememediaresult.cpp - ./src/DTO/itemcounts.cpp - ./src/DTO/libraryoptioninfodto.cpp - ./src/DTO/imageoption.cpp - ./src/DTO/librarytypeoptionsdto.cpp - ./src/DTO/libraryoptionsresultdto.cpp - ./src/DTO/mediaupdateinfodto.cpp - ./src/DTO/mediapathinfo.cpp - ./src/DTO/typeoptions.cpp - ./src/DTO/libraryoptions.cpp - ./src/DTO/virtualfolderinfo.cpp - ./src/DTO/addvirtualfolderdto.cpp - ./src/DTO/updatelibraryoptionsdto.cpp - ./src/DTO/mediapathdto.cpp - ./src/DTO/tunerchannelmapping.cpp - ./src/DTO/nameidpair.cpp - ./src/DTO/channelmappingoptionsdto.cpp - ./src/DTO/setchannelmappingdto.cpp - ./src/DTO/guideinfo.cpp - ./src/DTO/livetvservicestatus.cpp - ./src/DTO/livetvserviceinfo.cpp - ./src/DTO/livetvinfo.cpp - ./src/DTO/listingsproviderinfo.cpp - ./src/DTO/getprogramsdto.cpp - ./src/DTO/recordingstatus.cpp - ./src/DTO/keepuntil.cpp - ./src/DTO/daypattern.cpp - ./src/DTO/seriestimerinfodto.cpp - ./src/DTO/seriestimerinfodtoqueryresult.cpp - ./src/DTO/timerinfodto.cpp - ./src/DTO/timerinfodtoqueryresult.cpp - ./src/DTO/tunerhostinfo.cpp - ./src/DTO/localizationoption.cpp - ./src/DTO/playbackerrorcode.cpp - ./src/DTO/playbackinforesponse.cpp - ./src/DTO/playbackinfodto.cpp - ./src/DTO/openlivestreamdto.cpp - ./src/DTO/livestreamresponse.cpp - ./src/DTO/recommendationtype.cpp - ./src/DTO/recommendationdto.cpp - ./src/DTO/notificationlevel.cpp - ./src/DTO/notificationdto.cpp - ./src/DTO/notificationresultdto.cpp - ./src/DTO/notificationssummarydto.cpp - ./src/DTO/notificationtypeinfo.cpp - ./src/DTO/versioninfo.cpp - ./src/DTO/packageinfo.cpp - ./src/DTO/createplaylistdto.cpp - ./src/DTO/playlistcreationresult.cpp - ./src/DTO/playmethod.cpp - ./src/DTO/repeatmode.cpp - ./src/DTO/queueitem.cpp - ./src/DTO/playbackstartinfo.cpp - ./src/DTO/playbackprogressinfo.cpp - ./src/DTO/playbackstopinfo.cpp - ./src/DTO/pluginstatus.cpp - ./src/DTO/plugininfo.cpp - ./src/DTO/basepluginconfiguration.cpp - ./src/DTO/pluginsecurityinfo.cpp - ./src/DTO/quickconnectstate.cpp - ./src/DTO/quickconnectresult.cpp - ./src/DTO/ratingtype.cpp - ./src/DTO/remoteimageinfo.cpp - ./src/DTO/remoteimageresult.cpp - ./src/DTO/imageproviderinfo.cpp - ./src/DTO/taskstate.cpp - ./src/DTO/taskcompletionstatus.cpp - ./src/DTO/taskresult.cpp - ./src/DTO/tasktriggerinfo.cpp - ./src/DTO/taskinfo.cpp - ./src/DTO/searchhint.cpp - ./src/DTO/searchhintresult.cpp - ./src/DTO/playerstateinfo.cpp - ./src/DTO/sessionuserinfo.cpp - ./src/DTO/baseitem.cpp - ./src/DTO/transcodereason.cpp - ./src/DTO/transcodinginfo.cpp - ./src/DTO/sessioninfo.cpp - ./src/DTO/generalcommand.cpp - ./src/DTO/playcommand.cpp - ./src/DTO/playstatecommand.cpp - ./src/DTO/clientcapabilitiesdto.cpp - ./src/DTO/startupconfigurationdto.cpp - ./src/DTO/startupuserdto.cpp - ./src/DTO/startupremoteaccessdto.cpp - ./src/DTO/fontfile.cpp - ./src/DTO/remotesubtitleinfo.cpp - ./src/DTO/uploadsubtitledto.cpp - ./src/DTO/bufferrequestdto.cpp - ./src/DTO/joingrouprequestdto.cpp - ./src/DTO/groupstatetype.cpp - ./src/DTO/groupinfodto.cpp - ./src/DTO/moveplaylistitemrequestdto.cpp - ./src/DTO/newgrouprequestdto.cpp - ./src/DTO/nextitemrequestdto.cpp - ./src/DTO/pingrequestdto.cpp - ./src/DTO/previousitemrequestdto.cpp - ./src/DTO/groupqueuemode.cpp - ./src/DTO/queuerequestdto.cpp - ./src/DTO/readyrequestdto.cpp - ./src/DTO/removefromplaylistrequestdto.cpp - ./src/DTO/seekrequestdto.cpp - ./src/DTO/ignorewaitrequestdto.cpp - ./src/DTO/playrequestdto.cpp - ./src/DTO/setplaylistitemrequestdto.cpp - ./src/DTO/grouprepeatmode.cpp - ./src/DTO/setrepeatmoderequestdto.cpp - ./src/DTO/groupshufflemode.cpp - ./src/DTO/setshufflemoderequestdto.cpp - ./src/DTO/endpointinfo.cpp - ./src/DTO/installationinfo.cpp - ./src/DTO/ffmpeglocation.cpp - ./src/DTO/architecture.cpp - ./src/DTO/systeminfo.cpp - ./src/DTO/publicsysteminfo.cpp - ./src/DTO/logfile.cpp - ./src/DTO/wakeonlaninfo.cpp - ./src/DTO/utctimeresponse.cpp - ./src/DTO/subtitleplaybackmode.cpp - ./src/DTO/userconfiguration.cpp - ./src/DTO/dynamicdayofweek.cpp - ./src/DTO/accessschedule.cpp - ./src/DTO/unrateditem.cpp - ./src/DTO/syncplayuseraccesstype.cpp - ./src/DTO/userpolicy.cpp - ./src/DTO/userdto.cpp - ./src/DTO/authenticationresult.cpp - ./src/DTO/updateusereasypassword.cpp - ./src/DTO/updateuserpassword.cpp - ./src/DTO/authenticateuserbyname.cpp - ./src/DTO/quickconnectdto.cpp - ./src/DTO/forgotpassworddto.cpp - ./src/DTO/forgotpasswordaction.cpp - ./src/DTO/forgotpasswordresult.cpp - ./src/DTO/pinredeemresult.cpp - ./src/DTO/createuserbyname.cpp - ./src/DTO/specialviewoptiondto.cpp - ./src/DTO/libraryupdateinfo.cpp - ./src/DTO/iplugin.cpp - ./src/DTO/playrequest.cpp - ./src/DTO/playstaterequest.cpp - ./src/DTO/timereventinfo.cpp - ./src/DTO/sendcommandtype.cpp - ./src/DTO/sendcommand.cpp - ./src/DTO/groupupdatetype.cpp - ./src/DTO/objectgroupupdate.cpp) + ./src/dto/loglevel.cpp + ./src/dto/activitylogentry.cpp + ./src/dto/activitylogentryqueryresult.cpp + ./src/dto/authenticationinfo.cpp + ./src/dto/authenticationinfoqueryresult.cpp + ./src/dto/itemfields.cpp + ./src/dto/itemfilter.cpp + ./src/dto/imagetype.cpp + ./src/dto/video3dformat.cpp + ./src/dto/externalurl.cpp + ./src/dto/mediaprotocol.cpp + ./src/dto/mediasourcetype.cpp + ./src/dto/videotype.cpp + ./src/dto/isotype.cpp + ./src/dto/mediastreamtype.cpp + ./src/dto/subtitledeliverymethod.cpp + ./src/dto/mediastream.cpp + ./src/dto/mediaattachment.cpp + ./src/dto/transportstreamtimestamp.cpp + ./src/dto/mediasourceinfo.cpp + ./src/dto/playaccess.cpp + ./src/dto/mediaurl.cpp + ./src/dto/baseitemperson.cpp + ./src/dto/nameguidpair.cpp + ./src/dto/useritemdatadto.cpp + ./src/dto/dayofweek.cpp + ./src/dto/chapterinfo.cpp + ./src/dto/locationtype.cpp + ./src/dto/metadatafield.cpp + ./src/dto/imageorientation.cpp + ./src/dto/channeltype.cpp + ./src/dto/programaudio.cpp + ./src/dto/baseitemdto.cpp + ./src/dto/baseitemdtoqueryresult.cpp + ./src/dto/encodingcontext.cpp + ./src/dto/brandingoptions.cpp + ./src/dto/channelmediatype.cpp + ./src/dto/channelmediacontenttype.cpp + ./src/dto/channelitemsortfield.cpp + ./src/dto/channelfeatures.cpp + ./src/dto/collectioncreationresult.cpp + ./src/dto/version.cpp + ./src/dto/imagesavingconvention.cpp + ./src/dto/metadataoptions.cpp + ./src/dto/namevaluepair.cpp + ./src/dto/repositoryinfo.cpp + ./src/dto/pathsubstitution.cpp + ./src/dto/serverconfiguration.cpp + ./src/dto/mediaencoderpathdto.cpp + ./src/dto/problemdetails.cpp + ./src/dto/configurationpagetype.cpp + ./src/dto/configurationpageinfo.cpp + ./src/dto/generalcommandtype.cpp + ./src/dto/headermatchtype.cpp + ./src/dto/httpheaderinfo.cpp + ./src/dto/deviceidentification.cpp + ./src/dto/xmlattribute.cpp + ./src/dto/dlnaprofiletype.cpp + ./src/dto/directplayprofile.cpp + ./src/dto/transcodeseekinfo.cpp + ./src/dto/transcodingprofile.cpp + ./src/dto/profileconditiontype.cpp + ./src/dto/profileconditionvalue.cpp + ./src/dto/profilecondition.cpp + ./src/dto/containerprofile.cpp + ./src/dto/codectype.cpp + ./src/dto/codecprofile.cpp + ./src/dto/responseprofile.cpp + ./src/dto/subtitleprofile.cpp + ./src/dto/deviceprofile.cpp + ./src/dto/clientcapabilities.cpp + ./src/dto/deviceinfo.cpp + ./src/dto/deviceinfoqueryresult.cpp + ./src/dto/deviceoptions.cpp + ./src/dto/scrolldirection.cpp + ./src/dto/sortorder.cpp + ./src/dto/displaypreferencesdto.cpp + ./src/dto/deviceprofiletype.cpp + ./src/dto/deviceprofileinfo.cpp + ./src/dto/controlresponse.cpp + ./src/dto/defaultdirectorybrowserinfodto.cpp + ./src/dto/filesystementrytype.cpp + ./src/dto/filesystementryinfo.cpp + ./src/dto/validatepathdto.cpp + ./src/dto/queryfilterslegacy.cpp + ./src/dto/queryfilters.cpp + ./src/dto/imageformat.cpp + ./src/dto/imageinfo.cpp + ./src/dto/imagebynameinfo.cpp + ./src/dto/externalidmediatype.cpp + ./src/dto/externalidinfo.cpp + ./src/dto/remotesearchresult.cpp + ./src/dto/bookinfo.cpp + ./src/dto/bookinforemotesearchquery.cpp + ./src/dto/boxsetinfo.cpp + ./src/dto/boxsetinforemotesearchquery.cpp + ./src/dto/movieinfo.cpp + ./src/dto/movieinforemotesearchquery.cpp + ./src/dto/songinfo.cpp + ./src/dto/albuminfo.cpp + ./src/dto/albuminforemotesearchquery.cpp + ./src/dto/artistinfo.cpp + ./src/dto/artistinforemotesearchquery.cpp + ./src/dto/musicvideoinfo.cpp + ./src/dto/musicvideoinforemotesearchquery.cpp + ./src/dto/personlookupinfo.cpp + ./src/dto/personlookupinforemotesearchquery.cpp + ./src/dto/seriesinfo.cpp + ./src/dto/seriesinforemotesearchquery.cpp + ./src/dto/trailerinfo.cpp + ./src/dto/trailerinforemotesearchquery.cpp + ./src/dto/metadatarefreshmode.cpp + ./src/dto/seriesstatus.cpp + ./src/dto/parentalrating.cpp + ./src/dto/countryinfo.cpp + ./src/dto/culturedto.cpp + ./src/dto/metadataeditorinfo.cpp + ./src/dto/thememediaresult.cpp + ./src/dto/allthememediaresult.cpp + ./src/dto/itemcounts.cpp + ./src/dto/libraryoptioninfodto.cpp + ./src/dto/imageoption.cpp + ./src/dto/librarytypeoptionsdto.cpp + ./src/dto/libraryoptionsresultdto.cpp + ./src/dto/mediaupdateinfodto.cpp + ./src/dto/mediapathinfo.cpp + ./src/dto/typeoptions.cpp + ./src/dto/libraryoptions.cpp + ./src/dto/virtualfolderinfo.cpp + ./src/dto/addvirtualfolderdto.cpp + ./src/dto/updatelibraryoptionsdto.cpp + ./src/dto/mediapathdto.cpp + ./src/dto/tunerchannelmapping.cpp + ./src/dto/nameidpair.cpp + ./src/dto/channelmappingoptionsdto.cpp + ./src/dto/setchannelmappingdto.cpp + ./src/dto/guideinfo.cpp + ./src/dto/livetvservicestatus.cpp + ./src/dto/livetvserviceinfo.cpp + ./src/dto/livetvinfo.cpp + ./src/dto/listingsproviderinfo.cpp + ./src/dto/getprogramsdto.cpp + ./src/dto/recordingstatus.cpp + ./src/dto/keepuntil.cpp + ./src/dto/daypattern.cpp + ./src/dto/seriestimerinfodto.cpp + ./src/dto/seriestimerinfodtoqueryresult.cpp + ./src/dto/timerinfodto.cpp + ./src/dto/timerinfodtoqueryresult.cpp + ./src/dto/tunerhostinfo.cpp + ./src/dto/localizationoption.cpp + ./src/dto/playbackerrorcode.cpp + ./src/dto/playbackinforesponse.cpp + ./src/dto/playbackinfodto.cpp + ./src/dto/openlivestreamdto.cpp + ./src/dto/livestreamresponse.cpp + ./src/dto/recommendationtype.cpp + ./src/dto/recommendationdto.cpp + ./src/dto/notificationlevel.cpp + ./src/dto/notificationdto.cpp + ./src/dto/notificationresultdto.cpp + ./src/dto/notificationssummarydto.cpp + ./src/dto/notificationtypeinfo.cpp + ./src/dto/versioninfo.cpp + ./src/dto/packageinfo.cpp + ./src/dto/createplaylistdto.cpp + ./src/dto/playlistcreationresult.cpp + ./src/dto/playmethod.cpp + ./src/dto/repeatmode.cpp + ./src/dto/queueitem.cpp + ./src/dto/playbackstartinfo.cpp + ./src/dto/playbackprogressinfo.cpp + ./src/dto/playbackstopinfo.cpp + ./src/dto/pluginstatus.cpp + ./src/dto/plugininfo.cpp + ./src/dto/basepluginconfiguration.cpp + ./src/dto/pluginsecurityinfo.cpp + ./src/dto/quickconnectstate.cpp + ./src/dto/quickconnectresult.cpp + ./src/dto/ratingtype.cpp + ./src/dto/remoteimageinfo.cpp + ./src/dto/remoteimageresult.cpp + ./src/dto/imageproviderinfo.cpp + ./src/dto/taskstate.cpp + ./src/dto/taskcompletionstatus.cpp + ./src/dto/taskresult.cpp + ./src/dto/tasktriggerinfo.cpp + ./src/dto/taskinfo.cpp + ./src/dto/searchhint.cpp + ./src/dto/searchhintresult.cpp + ./src/dto/playerstateinfo.cpp + ./src/dto/sessionuserinfo.cpp + ./src/dto/baseitem.cpp + ./src/dto/transcodereason.cpp + ./src/dto/transcodinginfo.cpp + ./src/dto/sessioninfo.cpp + ./src/dto/generalcommand.cpp + ./src/dto/playcommand.cpp + ./src/dto/playstatecommand.cpp + ./src/dto/clientcapabilitiesdto.cpp + ./src/dto/startupconfigurationdto.cpp + ./src/dto/startupuserdto.cpp + ./src/dto/startupremoteaccessdto.cpp + ./src/dto/fontfile.cpp + ./src/dto/remotesubtitleinfo.cpp + ./src/dto/uploadsubtitledto.cpp + ./src/dto/bufferrequestdto.cpp + ./src/dto/joingrouprequestdto.cpp + ./src/dto/groupstatetype.cpp + ./src/dto/groupinfodto.cpp + ./src/dto/moveplaylistitemrequestdto.cpp + ./src/dto/newgrouprequestdto.cpp + ./src/dto/nextitemrequestdto.cpp + ./src/dto/pingrequestdto.cpp + ./src/dto/previousitemrequestdto.cpp + ./src/dto/groupqueuemode.cpp + ./src/dto/queuerequestdto.cpp + ./src/dto/readyrequestdto.cpp + ./src/dto/removefromplaylistrequestdto.cpp + ./src/dto/seekrequestdto.cpp + ./src/dto/ignorewaitrequestdto.cpp + ./src/dto/playrequestdto.cpp + ./src/dto/setplaylistitemrequestdto.cpp + ./src/dto/grouprepeatmode.cpp + ./src/dto/setrepeatmoderequestdto.cpp + ./src/dto/groupshufflemode.cpp + ./src/dto/setshufflemoderequestdto.cpp + ./src/dto/endpointinfo.cpp + ./src/dto/installationinfo.cpp + ./src/dto/ffmpeglocation.cpp + ./src/dto/architecture.cpp + ./src/dto/systeminfo.cpp + ./src/dto/publicsysteminfo.cpp + ./src/dto/logfile.cpp + ./src/dto/wakeonlaninfo.cpp + ./src/dto/utctimeresponse.cpp + ./src/dto/subtitleplaybackmode.cpp + ./src/dto/userconfiguration.cpp + ./src/dto/dynamicdayofweek.cpp + ./src/dto/accessschedule.cpp + ./src/dto/unrateditem.cpp + ./src/dto/syncplayuseraccesstype.cpp + ./src/dto/userpolicy.cpp + ./src/dto/userdto.cpp + ./src/dto/authenticationresult.cpp + ./src/dto/updateusereasypassword.cpp + ./src/dto/updateuserpassword.cpp + ./src/dto/authenticateuserbyname.cpp + ./src/dto/quickconnectdto.cpp + ./src/dto/forgotpassworddto.cpp + ./src/dto/forgotpasswordaction.cpp + ./src/dto/forgotpasswordresult.cpp + ./src/dto/pinredeemresult.cpp + ./src/dto/createuserbyname.cpp + ./src/dto/specialviewoptiondto.cpp + ./src/dto/libraryupdateinfo.cpp + ./src/dto/iplugin.cpp + ./src/dto/playrequest.cpp + ./src/dto/playstaterequest.cpp + ./src/dto/timereventinfo.cpp + ./src/dto/sendcommandtype.cpp + ./src/dto/sendcommand.cpp + ./src/dto/groupupdatetype.cpp + ./src/dto/objectgroupupdate.cpp + ./src/loader/http/getlogentries.cpp + ./src/loader/http/getkeys.cpp + ./src/loader/http/createkey.cpp + ./src/loader/http/revokekey.cpp + ./src/loader/http/getartists.cpp + ./src/loader/http/getartistbyname.cpp + ./src/loader/http/getalbumartists.cpp + ./src/loader/http/getaudiostream.cpp + ./src/loader/http/headaudiostream.cpp + ./src/loader/http/getaudiostreambycontainer.cpp + ./src/loader/http/headaudiostreambycontainer.cpp + ./src/loader/http/getbrandingoptions.cpp + ./src/loader/http/getbrandingcss.cpp + ./src/loader/http/getbrandingcss_2.cpp + ./src/loader/http/getchannels.cpp + ./src/loader/http/getchannelfeatures.cpp + ./src/loader/http/getchannelitems.cpp + ./src/loader/http/getallchannelfeatures.cpp + ./src/loader/http/getlatestchannelitems.cpp + ./src/loader/http/createcollection.cpp + ./src/loader/http/addtocollection.cpp + ./src/loader/http/removefromcollection.cpp + ./src/loader/http/getconfiguration.cpp + ./src/loader/http/updateconfiguration.cpp + ./src/loader/http/getnamedconfiguration.cpp + ./src/loader/http/updatenamedconfiguration.cpp + ./src/loader/http/getdefaultmetadataoptions.cpp + ./src/loader/http/updatemediaencoderpath.cpp + ./src/loader/http/getdashboardconfigurationpage.cpp + ./src/loader/http/getconfigurationpages.cpp + ./src/loader/http/getdevices.cpp + ./src/loader/http/deletedevice.cpp + ./src/loader/http/getdeviceinfo.cpp + ./src/loader/http/getdeviceoptions.cpp + ./src/loader/http/updatedeviceoptions.cpp + ./src/loader/http/getdisplaypreferences.cpp + ./src/loader/http/updatedisplaypreferences.cpp + ./src/loader/http/getprofileinfos.cpp + ./src/loader/http/createprofile.cpp + ./src/loader/http/getprofile.cpp + ./src/loader/http/deleteprofile.cpp + ./src/loader/http/updateprofile.cpp + ./src/loader/http/getdefaultprofile.cpp + ./src/loader/http/getconnectionmanager.cpp + ./src/loader/http/getconnectionmanager_2.cpp + ./src/loader/http/getconnectionmanager_3.cpp + ./src/loader/http/processconnectionmanagercontrolrequest.cpp + ./src/loader/http/getcontentdirectory.cpp + ./src/loader/http/getcontentdirectory_2.cpp + ./src/loader/http/getcontentdirectory_3.cpp + ./src/loader/http/processcontentdirectorycontrolrequest.cpp + ./src/loader/http/getdescriptionxml.cpp + ./src/loader/http/getdescriptionxml_2.cpp + ./src/loader/http/geticonid.cpp + ./src/loader/http/getmediareceiverregistrar.cpp + ./src/loader/http/processmediareceiverregistrarcontrolrequest.cpp + ./src/loader/http/getmediareceiverregistrar_2.cpp + ./src/loader/http/getmediareceiverregistrar_3.cpp + ./src/loader/http/geticon.cpp + ./src/loader/http/gethlsaudiosegment.cpp + ./src/loader/http/getvarianthlsaudioplaylist.cpp + ./src/loader/http/getmasterhlsaudioplaylist.cpp + ./src/loader/http/headmasterhlsaudioplaylist.cpp + ./src/loader/http/gethlsvideosegment.cpp + ./src/loader/http/getvarianthlsvideoplaylist.cpp + ./src/loader/http/getmasterhlsvideoplaylist.cpp + ./src/loader/http/headmasterhlsvideoplaylist.cpp + ./src/loader/http/getdefaultdirectorybrowser.cpp + ./src/loader/http/getdirectorycontents.cpp + ./src/loader/http/getdrives.cpp + ./src/loader/http/getnetworkshares.cpp + ./src/loader/http/getparentpath.cpp + ./src/loader/http/validatepath.cpp + ./src/loader/http/getqueryfilterslegacy.cpp + ./src/loader/http/getqueryfilters.cpp + ./src/loader/http/getgenres.cpp + ./src/loader/http/getgenre.cpp + ./src/loader/http/gethlsaudiosegmentlegacyaac.cpp + ./src/loader/http/gethlsaudiosegmentlegacymp3.cpp + ./src/loader/http/gethlsvideosegmentlegacy.cpp + ./src/loader/http/gethlsplaylistlegacy.cpp + ./src/loader/http/stopencodingprocess.cpp + ./src/loader/http/getartistimage.cpp + ./src/loader/http/headartistimage.cpp + ./src/loader/http/getgenreimage.cpp + ./src/loader/http/headgenreimage.cpp + ./src/loader/http/getgenreimagebyindex.cpp + ./src/loader/http/headgenreimagebyindex.cpp + ./src/loader/http/getitemimageinfos.cpp + ./src/loader/http/deleteitemimage.cpp + ./src/loader/http/setitemimage.cpp + ./src/loader/http/getitemimage.cpp + ./src/loader/http/headitemimage.cpp + ./src/loader/http/deleteitemimagebyindex.cpp + ./src/loader/http/setitemimagebyindex.cpp + ./src/loader/http/getitemimagebyindex.cpp + ./src/loader/http/headitemimagebyindex.cpp + ./src/loader/http/getitemimage2.cpp + ./src/loader/http/headitemimage2.cpp + ./src/loader/http/updateitemimageindex.cpp + ./src/loader/http/getmusicgenreimage.cpp + ./src/loader/http/headmusicgenreimage.cpp + ./src/loader/http/getmusicgenreimagebyindex.cpp + ./src/loader/http/headmusicgenreimagebyindex.cpp + ./src/loader/http/getpersonimage.cpp + ./src/loader/http/headpersonimage.cpp + ./src/loader/http/getpersonimagebyindex.cpp + ./src/loader/http/headpersonimagebyindex.cpp + ./src/loader/http/getstudioimage.cpp + ./src/loader/http/headstudioimage.cpp + ./src/loader/http/getstudioimagebyindex.cpp + ./src/loader/http/headstudioimagebyindex.cpp + ./src/loader/http/postuserimage.cpp + ./src/loader/http/deleteuserimage.cpp + ./src/loader/http/getuserimage.cpp + ./src/loader/http/headuserimage.cpp + ./src/loader/http/getuserimagebyindex.cpp + ./src/loader/http/headuserimagebyindex.cpp + ./src/loader/http/postuserimagebyindex.cpp + ./src/loader/http/deleteuserimagebyindex.cpp + ./src/loader/http/getgeneralimages.cpp + ./src/loader/http/getgeneralimage.cpp + ./src/loader/http/getmediainfoimages.cpp + ./src/loader/http/getmediainfoimage.cpp + ./src/loader/http/getratingimages.cpp + ./src/loader/http/getratingimage.cpp + ./src/loader/http/getinstantmixfromalbum.cpp + ./src/loader/http/getinstantmixfromartists.cpp + ./src/loader/http/getinstantmixfromitem.cpp + ./src/loader/http/getinstantmixfrommusicgenres.cpp + ./src/loader/http/getinstantmixfrommusicgenre.cpp + ./src/loader/http/getinstantmixfromplaylist.cpp + ./src/loader/http/getinstantmixfromsong.cpp + ./src/loader/http/getexternalidinfos.cpp + ./src/loader/http/applysearchcriteria.cpp + ./src/loader/http/getbookremotesearchresults.cpp + ./src/loader/http/getboxsetremotesearchresults.cpp + ./src/loader/http/getremotesearchimage.cpp + ./src/loader/http/getmovieremotesearchresults.cpp + ./src/loader/http/getmusicalbumremotesearchresults.cpp + ./src/loader/http/getmusicartistremotesearchresults.cpp + ./src/loader/http/getmusicvideoremotesearchresults.cpp + ./src/loader/http/getpersonremotesearchresults.cpp + ./src/loader/http/getseriesremotesearchresults.cpp + ./src/loader/http/gettrailerremotesearchresults.cpp + ./src/loader/http/post.cpp + ./src/loader/http/getitems.cpp + ./src/loader/http/deleteitems.cpp + ./src/loader/http/getitemsbyuserid.cpp + ./src/loader/http/getresumeitems.cpp + ./src/loader/http/updateitem.cpp + ./src/loader/http/deleteitem.cpp + ./src/loader/http/updateitemcontenttype.cpp + ./src/loader/http/getmetadataeditorinfo.cpp + ./src/loader/http/getsimilaralbums.cpp + ./src/loader/http/getsimilarartists.cpp + ./src/loader/http/getancestors.cpp + ./src/loader/http/getcriticreviews.cpp + ./src/loader/http/getdownload.cpp + ./src/loader/http/getfile.cpp + ./src/loader/http/getsimilaritems.cpp + ./src/loader/http/getthememedia.cpp + ./src/loader/http/getthemesongs.cpp + ./src/loader/http/getthemevideos.cpp + ./src/loader/http/getitemcounts.cpp + ./src/loader/http/getlibraryoptionsinfo.cpp + ./src/loader/http/postupdatedmedia.cpp + ./src/loader/http/getmediafolders.cpp + ./src/loader/http/postaddedmovies.cpp + ./src/loader/http/postupdatedmovies.cpp + ./src/loader/http/getphysicalpaths.cpp + ./src/loader/http/refreshlibrary.cpp + ./src/loader/http/postaddedseries.cpp + ./src/loader/http/postupdatedseries.cpp + ./src/loader/http/getsimilarmovies.cpp + ./src/loader/http/getsimilarshows.cpp + ./src/loader/http/getsimilartrailers.cpp + ./src/loader/http/getvirtualfolders.cpp + ./src/loader/http/addvirtualfolder.cpp + ./src/loader/http/removevirtualfolder.cpp + ./src/loader/http/updatelibraryoptions.cpp + ./src/loader/http/renamevirtualfolder.cpp + ./src/loader/http/addmediapath.cpp + ./src/loader/http/removemediapath.cpp + ./src/loader/http/updatemediapath.cpp + ./src/loader/http/getchannelmappingoptions.cpp + ./src/loader/http/setchannelmapping.cpp + ./src/loader/http/getlivetvchannels.cpp + ./src/loader/http/getchannel.cpp + ./src/loader/http/getguideinfo.cpp + ./src/loader/http/getlivetvinfo.cpp + ./src/loader/http/addlistingprovider.cpp + ./src/loader/http/deletelistingprovider.cpp + ./src/loader/http/getdefaultlistingprovider.cpp + ./src/loader/http/getlineups.cpp + ./src/loader/http/getschedulesdirectcountries.cpp + ./src/loader/http/getliverecordingfile.cpp + ./src/loader/http/getlivestreamfile.cpp + ./src/loader/http/getlivetvprograms.cpp + ./src/loader/http/getprograms.cpp + ./src/loader/http/getprogram.cpp + ./src/loader/http/getrecommendedprograms.cpp + ./src/loader/http/getrecordings.cpp + ./src/loader/http/getrecording.cpp + ./src/loader/http/deleterecording.cpp + ./src/loader/http/getrecordingfolders.cpp + ./src/loader/http/getrecordinggroups.cpp + ./src/loader/http/getrecordinggroup.cpp + ./src/loader/http/getrecordingsseries.cpp + ./src/loader/http/getseriestimers.cpp + ./src/loader/http/createseriestimer.cpp + ./src/loader/http/getseriestimer.cpp + ./src/loader/http/cancelseriestimer.cpp + ./src/loader/http/updateseriestimer.cpp + ./src/loader/http/gettimers.cpp + ./src/loader/http/createtimer.cpp + ./src/loader/http/gettimer.cpp + ./src/loader/http/canceltimer.cpp + ./src/loader/http/updatetimer.cpp + ./src/loader/http/getdefaulttimer.cpp + ./src/loader/http/addtunerhost.cpp + ./src/loader/http/deletetunerhost.cpp + ./src/loader/http/gettunerhosttypes.cpp + ./src/loader/http/resettuner.cpp + ./src/loader/http/discovertuners.cpp + ./src/loader/http/discvovertuners.cpp + ./src/loader/http/getcountries.cpp + ./src/loader/http/getcultures.cpp + ./src/loader/http/getlocalizationoptions.cpp + ./src/loader/http/getparentalratings.cpp + ./src/loader/http/getplaybackinfo.cpp + ./src/loader/http/getpostedplaybackinfo.cpp + ./src/loader/http/closelivestream.cpp + ./src/loader/http/openlivestream.cpp + ./src/loader/http/getbitratetestbytes.cpp + ./src/loader/http/getmovierecommendations.cpp + ./src/loader/http/getmusicgenres.cpp + ./src/loader/http/getmusicgenre.cpp + ./src/loader/http/getnotifications.cpp + ./src/loader/http/setread.cpp + ./src/loader/http/getnotificationssummary.cpp + ./src/loader/http/setunread.cpp + ./src/loader/http/createadminnotification.cpp + ./src/loader/http/getnotificationservices.cpp + ./src/loader/http/getnotificationtypes.cpp + ./src/loader/http/getpackages.cpp + ./src/loader/http/getpackageinfo.cpp + ./src/loader/http/installpackage.cpp + ./src/loader/http/cancelpackageinstallation.cpp + ./src/loader/http/getrepositories.cpp + ./src/loader/http/setrepositories.cpp + ./src/loader/http/getpersons.cpp + ./src/loader/http/getperson.cpp + ./src/loader/http/createplaylist.cpp + ./src/loader/http/addtoplaylist.cpp + ./src/loader/http/removefromplaylist.cpp + ./src/loader/http/getplaylistitems.cpp + ./src/loader/http/moveitem.cpp + ./src/loader/http/reportplaybackstart.cpp + ./src/loader/http/pingplaybacksession.cpp + ./src/loader/http/reportplaybackprogress.cpp + ./src/loader/http/reportplaybackstopped.cpp + ./src/loader/http/markplayeditem.cpp + ./src/loader/http/markunplayeditem.cpp + ./src/loader/http/onplaybackstart.cpp + ./src/loader/http/onplaybackstopped.cpp + ./src/loader/http/onplaybackprogress.cpp + ./src/loader/http/getplugins.cpp + ./src/loader/http/uninstallplugin.cpp + ./src/loader/http/uninstallpluginbyversion.cpp + ./src/loader/http/disableplugin.cpp + ./src/loader/http/enableplugin.cpp + ./src/loader/http/getpluginimage.cpp + ./src/loader/http/getpluginconfiguration.cpp + ./src/loader/http/updatepluginconfiguration.cpp + ./src/loader/http/getpluginmanifest.cpp + ./src/loader/http/updatepluginsecurityinfo.cpp + ./src/loader/http/activate.cpp + ./src/loader/http/authorize.cpp + ./src/loader/http/available.cpp + ./src/loader/http/connect.cpp + ./src/loader/http/deauthorize.cpp + ./src/loader/http/initiate.cpp + ./src/loader/http/getstatus.cpp + ./src/loader/http/getremoteimage.cpp + ./src/loader/http/getremoteimages.cpp + ./src/loader/http/downloadremoteimage.cpp + ./src/loader/http/getremoteimageproviders.cpp + ./src/loader/http/gettasks.cpp + ./src/loader/http/gettask.cpp + ./src/loader/http/updatetask.cpp + ./src/loader/http/starttask.cpp + ./src/loader/http/stoptask.cpp + ./src/loader/http/get.cpp + ./src/loader/http/getpasswordresetproviders.cpp + ./src/loader/http/getauthproviders.cpp + ./src/loader/http/getsessions.cpp + ./src/loader/http/sendfullgeneralcommand.cpp + ./src/loader/http/sendgeneralcommand.cpp + ./src/loader/http/sendmessagecommand.cpp + ./src/loader/http/play.cpp + ./src/loader/http/sendplaystatecommand.cpp + ./src/loader/http/sendsystemcommand.cpp + ./src/loader/http/addusertosession.cpp + ./src/loader/http/removeuserfromsession.cpp + ./src/loader/http/displaycontent.cpp + ./src/loader/http/postcapabilities.cpp + ./src/loader/http/postfullcapabilities.cpp + ./src/loader/http/reportsessionended.cpp + ./src/loader/http/reportviewing.cpp + ./src/loader/http/completewizard.cpp + ./src/loader/http/getstartupconfiguration.cpp + ./src/loader/http/updateinitialconfiguration.cpp + ./src/loader/http/getfirstuser_2.cpp + ./src/loader/http/setremoteaccess.cpp + ./src/loader/http/getfirstuser.cpp + ./src/loader/http/updatestartupuser.cpp + ./src/loader/http/getstudios.cpp + ./src/loader/http/getstudio.cpp + ./src/loader/http/getfallbackfontlist.cpp + ./src/loader/http/getfallbackfont.cpp + ./src/loader/http/searchremotesubtitles.cpp + ./src/loader/http/downloadremotesubtitles.cpp + ./src/loader/http/getremotesubtitles.cpp + ./src/loader/http/getsubtitlewithticks.cpp + ./src/loader/http/getsubtitle.cpp + ./src/loader/http/getsubtitleplaylist.cpp + ./src/loader/http/uploadsubtitle.cpp + ./src/loader/http/deletesubtitle.cpp + ./src/loader/http/getsuggestions.cpp + ./src/loader/http/syncplaybuffering.cpp + ./src/loader/http/syncplayjoingroup.cpp + ./src/loader/http/syncplayleavegroup.cpp + ./src/loader/http/syncplaygetgroups.cpp + ./src/loader/http/syncplaymoveplaylistitem.cpp + ./src/loader/http/syncplaycreategroup.cpp + ./src/loader/http/syncplaynextitem.cpp + ./src/loader/http/syncplaypause.cpp + ./src/loader/http/syncplayping.cpp + ./src/loader/http/syncplaypreviousitem.cpp + ./src/loader/http/syncplayqueue.cpp + ./src/loader/http/syncplayready.cpp + ./src/loader/http/syncplayremovefromplaylist.cpp + ./src/loader/http/syncplayseek.cpp + ./src/loader/http/syncplaysetignorewait.cpp + ./src/loader/http/syncplaysetnewqueue.cpp + ./src/loader/http/syncplaysetplaylistitem.cpp + ./src/loader/http/syncplaysetrepeatmode.cpp + ./src/loader/http/syncplaysetshufflemode.cpp + ./src/loader/http/syncplaystop.cpp + ./src/loader/http/syncplayunpause.cpp + ./src/loader/http/getendpointinfo.cpp + ./src/loader/http/getsysteminfo.cpp + ./src/loader/http/getpublicsysteminfo.cpp + ./src/loader/http/getserverlogs.cpp + ./src/loader/http/getlogfile.cpp + ./src/loader/http/getpingsystem.cpp + ./src/loader/http/postpingsystem.cpp + ./src/loader/http/restartapplication.cpp + ./src/loader/http/shutdownapplication.cpp + ./src/loader/http/getwakeonlaninfo.cpp + ./src/loader/http/getutctime.cpp + ./src/loader/http/gettrailers.cpp + ./src/loader/http/getepisodes.cpp + ./src/loader/http/getseasons.cpp + ./src/loader/http/getnextup.cpp + ./src/loader/http/getupcomingepisodes.cpp + ./src/loader/http/getuniversalaudiostream.cpp + ./src/loader/http/headuniversalaudiostream.cpp + ./src/loader/http/getusers.cpp + ./src/loader/http/getuserbyid.cpp + ./src/loader/http/deleteuser.cpp + ./src/loader/http/updateuser.cpp + ./src/loader/http/authenticateuser.cpp + ./src/loader/http/updateuserconfiguration.cpp + ./src/loader/http/updateusereasypassword.cpp + ./src/loader/http/updateuserpassword.cpp + ./src/loader/http/updateuserpolicy.cpp + ./src/loader/http/authenticateuserbyname.cpp + ./src/loader/http/authenticatewithquickconnect.cpp + ./src/loader/http/forgotpassword.cpp + ./src/loader/http/forgotpasswordpin.cpp + ./src/loader/http/getcurrentuser.cpp + ./src/loader/http/createuserbyname.cpp + ./src/loader/http/getpublicusers.cpp + ./src/loader/http/markfavoriteitem.cpp + ./src/loader/http/unmarkfavoriteitem.cpp + ./src/loader/http/getitem.cpp + ./src/loader/http/getintros.cpp + ./src/loader/http/getlocaltrailers.cpp + ./src/loader/http/deleteuseritemrating.cpp + ./src/loader/http/updateuseritemrating.cpp + ./src/loader/http/getspecialfeatures.cpp + ./src/loader/http/getlatestmedia.cpp + ./src/loader/http/getrootfolder.cpp + ./src/loader/http/getgroupingoptions.cpp + ./src/loader/http/getuserviews.cpp + ./src/loader/http/getattachment.cpp + ./src/loader/http/getlivehlsstream.cpp + ./src/loader/http/getvideostreambycontainer.cpp + ./src/loader/http/headvideostreambycontainer.cpp + ./src/loader/http/getadditionalpart.cpp + ./src/loader/http/deletealternatesources.cpp + ./src/loader/http/getvideostream.cpp + ./src/loader/http/headvideostream.cpp + ./src/loader/http/mergeversions.cpp + ./src/loader/http/getyears.cpp + ./src/loader/http/getyear.cpp + ./include/JellyfinQt/loader/requesttypes.h) diff --git a/core/codegen/loader_header.hbs b/core/codegen/loader_header.hbs new file mode 100644 index 0000000..8f76c74 --- /dev/null +++ b/core/codegen/loader_header.hbs @@ -0,0 +1,17 @@ +{{#if endpoint.hasSuccessResponse}} +{{#if endpoint.description.length > 0}} +/** + * @brief {{endpoint.description}} + + */ +{{/if}} + +class {{className}} : public {{supportNamespace}}::HttpLoader<{{dtoNamespace}}::{{endpoint.resultType}}, {{endpoint.parameterType}}> { +public: + explicit {{className}}(ApiClient *apiClient); + +protected: + QString url(const {{endpoint.parameterType}}& parameters) const override; + QUrlQuery query(const {{endpoint.parameterType}}& parameters) const override; +}; +{{/if}} diff --git a/core/codegen/loader_implementation.hbs b/core/codegen/loader_implementation.hbs new file mode 100644 index 0000000..f7d7e83 --- /dev/null +++ b/core/codegen/loader_implementation.hbs @@ -0,0 +1,2 @@ +{{className}}::{{className}}(ApiClient *apiClient) + : Loader<>(apiClient) {} diff --git a/core/codegen/loader_types_header.hbs b/core/codegen/loader_types_header.hbs new file mode 100644 index 0000000..b88e5e9 --- /dev/null +++ b/core/codegen/loader_types_header.hbs @@ -0,0 +1,55 @@ +using namespace {{dtoNamespace}}; + +{{#each endpoints as |e|}} +class {{e.name}} { +public: + + {{#each e.parameters as |param|}} + /** + * @brief {{param.description}} + + */ + + {{param.type.typeNameWithQualifiers}} {{param.type.name}}() const; + void set{{param.type.writeName}}({{param.type.typeNameWithQualifiers}} new{{param.type.writeName}}) const; + + + {{/each}} + +private: + // Required path parameters + + {{#each e.requiredPathParameters as |param|}} + {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; + + {{/each}} + + // Required query parameters + + {{#each e.requiredQueryParameters as |param|}} + {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; + + {{/each}} + + // Optional path parameters + + {{#each e.optionalPathParameters as |param|}} + {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; + + {{/each}} + + // Optional query parameters + + {{#each e.optionalQueryParameters as |param|}} +{{#if param.type.defaultInitializer.length > 0}} + {{param.type.typeNameWithQualifiers}} {{param.type.memberName}} = {{param.type.defaultInitializer}}; +{{else}} + {{param.type.typeNameWithQualifiers}} {{param.type.memberName}}; +{{/if}} + +{{/each}} + +}; + + +{{/each}} diff --git a/core/codegen/loader_types_header_getters_setters.hbs b/core/codegen/loader_types_header_getters_setters.hbs new file mode 100644 index 0000000..078a338 --- /dev/null +++ b/core/codegen/loader_types_header_getters_setters.hbs @@ -0,0 +1,7 @@ + /** + * @brief {{description}} + + */ + + {{typeNameWithQualifiers}} {{name}}() const; + void set{{writeName}}({{typeNameWithQualifiers}} new{{writeName}}) const; diff --git a/core/codegen/object_header.hbs b/core/codegen/object_header.hbs index ebabcd1..d359c83 100644 --- a/core/codegen/object_header.hbs +++ b/core/codegen/object_header.hbs @@ -7,7 +7,16 @@ class {{className}}; class {{className}} { public: - explicit {{className}}(); + + {{className}}(); + + {{className}}(const {{className}} &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData({{className}} &other); + static {{className}} fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); @@ -34,9 +43,11 @@ public: void set{{p.writeName}}({{p.typeNameWithQualifiers}} new{{p.writeName}}); {{#if p.isNullable}} - bool is{{p.writeName}}Null() const; + bool {{p.name}}Null() const; void set{{p.writeName}}Null(); + {{/if}} + {{/each}} protected: diff --git a/core/codegen/object_implementation.hbs b/core/codegen/object_implementation.hbs index b789aa3..fd689da 100644 --- a/core/codegen/object_implementation.hbs +++ b/core/codegen/object_implementation.hbs @@ -1,6 +1,29 @@ {{className}}::{{className}}() {} +{{className}}::{{className}}(const {{className}} &other) : + + +{{#each properties as |property|}} + {{property.memberName}}(other.{{property.memberName}}) + {{#if property.isLast}} +{} + {{else}} +, + {{/if}} + +{{/each}} + + +void {{className}}::replaceData({{className}} &other) { + +{{#each properties as |property|}} + {{property.memberName}} = other.{{property.memberName}}; + +{{/each}} +} + + {{className}} {{className}}::fromJson(QJsonObject source) { {{className}} instance; @@ -39,13 +62,17 @@ void {{className}}::set{{property.writeName}}({{property.typeNameWithQualifiers} } {{#if property.isNullable}} -bool {{className}}::is{{property.writeName}}Null() const { +bool {{className}}::{{property.name}}Null() const { return {{property.nullableCheck}}; } -void {{className}}::setNull() { - {{property.nullableSetter}}; +void {{className}}::set{{property.writeName}}Null() { + + {{property.memberName}}{{property.nullableSetter}}; + } +{{/if}} + {{/each}} } // NS DTO diff --git a/core/include/JellyfinQt/DTO/accessschedule.h b/core/include/JellyfinQt/DTO/accessschedule.h index 135b014..27d0eba 100644 --- a/core/include/JellyfinQt/DTO/accessschedule.h +++ b/core/include/JellyfinQt/DTO/accessschedule.h @@ -43,8 +43,8 @@ namespace DTO { class AccessSchedule { -public: - explicit AccessSchedule(); +public:AccessSchedule();AccessSchedule(const AccessSchedule &other); + static AccessSchedule fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/activitylogentry.h b/core/include/JellyfinQt/DTO/activitylogentry.h index acf4a5f..6c6755f 100644 --- a/core/include/JellyfinQt/DTO/activitylogentry.h +++ b/core/include/JellyfinQt/DTO/activitylogentry.h @@ -45,8 +45,8 @@ namespace DTO { class ActivityLogEntry { -public: - explicit ActivityLogEntry(); +public:ActivityLogEntry();ActivityLogEntry(const ActivityLogEntry &other); + static ActivityLogEntry fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h b/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h index aec81a9..8ea5ce6 100644 --- a/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h +++ b/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class ActivityLogEntryQueryResult { -public: - explicit ActivityLogEntryQueryResult(); +public:ActivityLogEntryQueryResult();ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other); + static ActivityLogEntryQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/addvirtualfolderdto.h b/core/include/JellyfinQt/DTO/addvirtualfolderdto.h index e2e05e2..6fe13fb 100644 --- a/core/include/JellyfinQt/DTO/addvirtualfolderdto.h +++ b/core/include/JellyfinQt/DTO/addvirtualfolderdto.h @@ -43,8 +43,8 @@ namespace DTO { class AddVirtualFolderDto { -public: - explicit AddVirtualFolderDto(); +public:AddVirtualFolderDto();AddVirtualFolderDto(const AddVirtualFolderDto &other); + static AddVirtualFolderDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/albuminfo.h b/core/include/JellyfinQt/DTO/albuminfo.h index 6f5a358..380fcbf 100644 --- a/core/include/JellyfinQt/DTO/albuminfo.h +++ b/core/include/JellyfinQt/DTO/albuminfo.h @@ -47,8 +47,8 @@ namespace DTO { class AlbumInfo { -public: - explicit AlbumInfo(); +public:AlbumInfo();AlbumInfo(const AlbumInfo &other); + static AlbumInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/albuminforemotesearchquery.h b/core/include/JellyfinQt/DTO/albuminforemotesearchquery.h index 8964a90..5f0eefd 100644 --- a/core/include/JellyfinQt/DTO/albuminforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/albuminforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class AlbumInfoRemoteSearchQuery { -public: - explicit AlbumInfoRemoteSearchQuery(); +public:AlbumInfoRemoteSearchQuery();AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other); + static AlbumInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/allthememediaresult.h b/core/include/JellyfinQt/DTO/allthememediaresult.h index f35ce1c..69371b3 100644 --- a/core/include/JellyfinQt/DTO/allthememediaresult.h +++ b/core/include/JellyfinQt/DTO/allthememediaresult.h @@ -43,8 +43,8 @@ namespace DTO { class AllThemeMediaResult { -public: - explicit AllThemeMediaResult(); +public:AllThemeMediaResult();AllThemeMediaResult(const AllThemeMediaResult &other); + static AllThemeMediaResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/artistinfo.h b/core/include/JellyfinQt/DTO/artistinfo.h index f03885e..116bbfa 100644 --- a/core/include/JellyfinQt/DTO/artistinfo.h +++ b/core/include/JellyfinQt/DTO/artistinfo.h @@ -47,8 +47,8 @@ namespace DTO { class ArtistInfo { -public: - explicit ArtistInfo(); +public:ArtistInfo();ArtistInfo(const ArtistInfo &other); + static ArtistInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/artistinforemotesearchquery.h b/core/include/JellyfinQt/DTO/artistinforemotesearchquery.h index 254422d..d56b1ef 100644 --- a/core/include/JellyfinQt/DTO/artistinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/artistinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class ArtistInfoRemoteSearchQuery { -public: - explicit ArtistInfoRemoteSearchQuery(); +public:ArtistInfoRemoteSearchQuery();ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other); + static ArtistInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/authenticateuserbyname.h b/core/include/JellyfinQt/DTO/authenticateuserbyname.h index d24fc4d..2157a9c 100644 --- a/core/include/JellyfinQt/DTO/authenticateuserbyname.h +++ b/core/include/JellyfinQt/DTO/authenticateuserbyname.h @@ -42,8 +42,8 @@ namespace DTO { class AuthenticateUserByName { -public: - explicit AuthenticateUserByName(); +public:AuthenticateUserByName();AuthenticateUserByName(const AuthenticateUserByName &other); + static AuthenticateUserByName fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/authenticationinfo.h b/core/include/JellyfinQt/DTO/authenticationinfo.h index 9c69930..0c591fc 100644 --- a/core/include/JellyfinQt/DTO/authenticationinfo.h +++ b/core/include/JellyfinQt/DTO/authenticationinfo.h @@ -44,8 +44,8 @@ namespace DTO { class AuthenticationInfo { -public: - explicit AuthenticationInfo(); +public:AuthenticationInfo();AuthenticationInfo(const AuthenticationInfo &other); + static AuthenticationInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h b/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h index 0ab6ec6..c59465a 100644 --- a/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h +++ b/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class AuthenticationInfoQueryResult { -public: - explicit AuthenticationInfoQueryResult(); +public:AuthenticationInfoQueryResult();AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other); + static AuthenticationInfoQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/authenticationresult.h b/core/include/JellyfinQt/DTO/authenticationresult.h index 5bea7f0..c54513c 100644 --- a/core/include/JellyfinQt/DTO/authenticationresult.h +++ b/core/include/JellyfinQt/DTO/authenticationresult.h @@ -45,8 +45,8 @@ namespace DTO { class AuthenticationResult { -public: - explicit AuthenticationResult(); +public:AuthenticationResult();AuthenticationResult(const AuthenticationResult &other); + static AuthenticationResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/baseitem.h b/core/include/JellyfinQt/DTO/baseitem.h index 90b6b0b..7162d42 100644 --- a/core/include/JellyfinQt/DTO/baseitem.h +++ b/core/include/JellyfinQt/DTO/baseitem.h @@ -48,8 +48,8 @@ namespace DTO { class BaseItem { -public: - explicit BaseItem(); +public:BaseItem();BaseItem(const BaseItem &other); + static BaseItem fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/baseitemdto.h b/core/include/JellyfinQt/DTO/baseitemdto.h index 02e10b5..f6cbddb 100644 --- a/core/include/JellyfinQt/DTO/baseitemdto.h +++ b/core/include/JellyfinQt/DTO/baseitemdto.h @@ -65,8 +65,8 @@ namespace DTO { class BaseItemDto { -public: - explicit BaseItemDto(); +public:BaseItemDto();BaseItemDto(const BaseItemDto &other); + static BaseItemDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/baseitemdtoqueryresult.h b/core/include/JellyfinQt/DTO/baseitemdtoqueryresult.h index 099bcc1..697cf6c 100644 --- a/core/include/JellyfinQt/DTO/baseitemdtoqueryresult.h +++ b/core/include/JellyfinQt/DTO/baseitemdtoqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class BaseItemDtoQueryResult { -public: - explicit BaseItemDtoQueryResult(); +public:BaseItemDtoQueryResult();BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other); + static BaseItemDtoQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/baseitemperson.h b/core/include/JellyfinQt/DTO/baseitemperson.h index f5e730f..74e1cb8 100644 --- a/core/include/JellyfinQt/DTO/baseitemperson.h +++ b/core/include/JellyfinQt/DTO/baseitemperson.h @@ -42,8 +42,8 @@ namespace DTO { class BaseItemPerson { -public: - explicit BaseItemPerson(); +public:BaseItemPerson();BaseItemPerson(const BaseItemPerson &other); + static BaseItemPerson fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/bookinfo.h b/core/include/JellyfinQt/DTO/bookinfo.h index 6149b36..716a95c 100644 --- a/core/include/JellyfinQt/DTO/bookinfo.h +++ b/core/include/JellyfinQt/DTO/bookinfo.h @@ -43,8 +43,8 @@ namespace DTO { class BookInfo { -public: - explicit BookInfo(); +public:BookInfo();BookInfo(const BookInfo &other); + static BookInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h b/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h index 0a99f70..826f63c 100644 --- a/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class BookInfoRemoteSearchQuery { -public: - explicit BookInfoRemoteSearchQuery(); +public:BookInfoRemoteSearchQuery();BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other); + static BookInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/boxsetinfo.h b/core/include/JellyfinQt/DTO/boxsetinfo.h index e49088b..b27f6fe 100644 --- a/core/include/JellyfinQt/DTO/boxsetinfo.h +++ b/core/include/JellyfinQt/DTO/boxsetinfo.h @@ -43,8 +43,8 @@ namespace DTO { class BoxSetInfo { -public: - explicit BoxSetInfo(); +public:BoxSetInfo();BoxSetInfo(const BoxSetInfo &other); + static BoxSetInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h b/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h index c204764..e94618d 100644 --- a/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class BoxSetInfoRemoteSearchQuery { -public: - explicit BoxSetInfoRemoteSearchQuery(); +public:BoxSetInfoRemoteSearchQuery();BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other); + static BoxSetInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/brandingoptions.h b/core/include/JellyfinQt/DTO/brandingoptions.h index e267287..9169c7c 100644 --- a/core/include/JellyfinQt/DTO/brandingoptions.h +++ b/core/include/JellyfinQt/DTO/brandingoptions.h @@ -42,8 +42,8 @@ namespace DTO { class BrandingOptions { -public: - explicit BrandingOptions(); +public:BrandingOptions();BrandingOptions(const BrandingOptions &other); + static BrandingOptions fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/bufferrequestdto.h b/core/include/JellyfinQt/DTO/bufferrequestdto.h index 36902fa..d859b46 100644 --- a/core/include/JellyfinQt/DTO/bufferrequestdto.h +++ b/core/include/JellyfinQt/DTO/bufferrequestdto.h @@ -43,8 +43,8 @@ namespace DTO { class BufferRequestDto { -public: - explicit BufferRequestDto(); +public:BufferRequestDto();BufferRequestDto(const BufferRequestDto &other); + static BufferRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/channelfeatures.h b/core/include/JellyfinQt/DTO/channelfeatures.h index 2b0106d..9ddcf7d 100644 --- a/core/include/JellyfinQt/DTO/channelfeatures.h +++ b/core/include/JellyfinQt/DTO/channelfeatures.h @@ -47,8 +47,8 @@ namespace DTO { class ChannelFeatures { -public: - explicit ChannelFeatures(); +public:ChannelFeatures();ChannelFeatures(const ChannelFeatures &other); + static ChannelFeatures fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h b/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h index cbb7db8..ac4cc9d 100644 --- a/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h +++ b/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h @@ -48,8 +48,8 @@ namespace DTO { class ChannelMappingOptionsDto { -public: - explicit ChannelMappingOptionsDto(); +public:ChannelMappingOptionsDto();ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other); + static ChannelMappingOptionsDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/chapterinfo.h b/core/include/JellyfinQt/DTO/chapterinfo.h index c6f49e9..a5a757a 100644 --- a/core/include/JellyfinQt/DTO/chapterinfo.h +++ b/core/include/JellyfinQt/DTO/chapterinfo.h @@ -43,8 +43,8 @@ namespace DTO { class ChapterInfo { -public: - explicit ChapterInfo(); +public:ChapterInfo();ChapterInfo(const ChapterInfo &other); + static ChapterInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/clientcapabilities.h b/core/include/JellyfinQt/DTO/clientcapabilities.h index 46b6ee1..50ca4c6 100644 --- a/core/include/JellyfinQt/DTO/clientcapabilities.h +++ b/core/include/JellyfinQt/DTO/clientcapabilities.h @@ -47,8 +47,8 @@ namespace DTO { class ClientCapabilities { -public: - explicit ClientCapabilities(); +public:ClientCapabilities();ClientCapabilities(const ClientCapabilities &other); + static ClientCapabilities fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h b/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h index dc7a1e3..2d6861f 100644 --- a/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h +++ b/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h @@ -47,8 +47,8 @@ namespace DTO { class ClientCapabilitiesDto { -public: - explicit ClientCapabilitiesDto(); +public:ClientCapabilitiesDto();ClientCapabilitiesDto(const ClientCapabilitiesDto &other); + static ClientCapabilitiesDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/codecprofile.h b/core/include/JellyfinQt/DTO/codecprofile.h index 583510c..57fa12b 100644 --- a/core/include/JellyfinQt/DTO/codecprofile.h +++ b/core/include/JellyfinQt/DTO/codecprofile.h @@ -47,8 +47,8 @@ namespace DTO { class CodecProfile { -public: - explicit CodecProfile(); +public:CodecProfile();CodecProfile(const CodecProfile &other); + static CodecProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/collectioncreationresult.h b/core/include/JellyfinQt/DTO/collectioncreationresult.h index cadb535..b971b78 100644 --- a/core/include/JellyfinQt/DTO/collectioncreationresult.h +++ b/core/include/JellyfinQt/DTO/collectioncreationresult.h @@ -42,8 +42,8 @@ namespace DTO { class CollectionCreationResult { -public: - explicit CollectionCreationResult(); +public:CollectionCreationResult();CollectionCreationResult(const CollectionCreationResult &other); + static CollectionCreationResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/configurationpageinfo.h b/core/include/JellyfinQt/DTO/configurationpageinfo.h index 882942e..9171fc8 100644 --- a/core/include/JellyfinQt/DTO/configurationpageinfo.h +++ b/core/include/JellyfinQt/DTO/configurationpageinfo.h @@ -44,8 +44,8 @@ namespace DTO { class ConfigurationPageInfo { -public: - explicit ConfigurationPageInfo(); +public:ConfigurationPageInfo();ConfigurationPageInfo(const ConfigurationPageInfo &other); + static ConfigurationPageInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/containerprofile.h b/core/include/JellyfinQt/DTO/containerprofile.h index 32d4681..f473204 100644 --- a/core/include/JellyfinQt/DTO/containerprofile.h +++ b/core/include/JellyfinQt/DTO/containerprofile.h @@ -47,8 +47,8 @@ namespace DTO { class ContainerProfile { -public: - explicit ContainerProfile(); +public:ContainerProfile();ContainerProfile(const ContainerProfile &other); + static ContainerProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/controlresponse.h b/core/include/JellyfinQt/DTO/controlresponse.h index 97fb2b8..96253a9 100644 --- a/core/include/JellyfinQt/DTO/controlresponse.h +++ b/core/include/JellyfinQt/DTO/controlresponse.h @@ -42,8 +42,8 @@ namespace DTO { class ControlResponse { -public: - explicit ControlResponse(); +public:ControlResponse();ControlResponse(const ControlResponse &other); + static ControlResponse fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/countryinfo.h b/core/include/JellyfinQt/DTO/countryinfo.h index d538a5a..133d26f 100644 --- a/core/include/JellyfinQt/DTO/countryinfo.h +++ b/core/include/JellyfinQt/DTO/countryinfo.h @@ -42,8 +42,8 @@ namespace DTO { class CountryInfo { -public: - explicit CountryInfo(); +public:CountryInfo();CountryInfo(const CountryInfo &other); + static CountryInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/createplaylistdto.h b/core/include/JellyfinQt/DTO/createplaylistdto.h index 0a1449d..a2ee46c 100644 --- a/core/include/JellyfinQt/DTO/createplaylistdto.h +++ b/core/include/JellyfinQt/DTO/createplaylistdto.h @@ -45,8 +45,8 @@ namespace DTO { class CreatePlaylistDto { -public: - explicit CreatePlaylistDto(); +public:CreatePlaylistDto();CreatePlaylistDto(const CreatePlaylistDto &other); + static CreatePlaylistDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/createuserbyname.h b/core/include/JellyfinQt/DTO/createuserbyname.h index d842796..959b533 100644 --- a/core/include/JellyfinQt/DTO/createuserbyname.h +++ b/core/include/JellyfinQt/DTO/createuserbyname.h @@ -42,8 +42,8 @@ namespace DTO { class CreateUserByName { -public: - explicit CreateUserByName(); +public:CreateUserByName();CreateUserByName(const CreateUserByName &other); + static CreateUserByName fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/culturedto.h b/core/include/JellyfinQt/DTO/culturedto.h index 8549026..a313820 100644 --- a/core/include/JellyfinQt/DTO/culturedto.h +++ b/core/include/JellyfinQt/DTO/culturedto.h @@ -44,8 +44,8 @@ namespace DTO { class CultureDto { -public: - explicit CultureDto(); +public:CultureDto();CultureDto(const CultureDto &other); + static CultureDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h b/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h index 6aae9e0..3d404e9 100644 --- a/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h +++ b/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h @@ -42,8 +42,8 @@ namespace DTO { class DefaultDirectoryBrowserInfoDto { -public: - explicit DefaultDirectoryBrowserInfoDto(); +public:DefaultDirectoryBrowserInfoDto();DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other); + static DefaultDirectoryBrowserInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceidentification.h b/core/include/JellyfinQt/DTO/deviceidentification.h index e7866df..ff3d5fb 100644 --- a/core/include/JellyfinQt/DTO/deviceidentification.h +++ b/core/include/JellyfinQt/DTO/deviceidentification.h @@ -46,8 +46,8 @@ namespace DTO { class DeviceIdentification { -public: - explicit DeviceIdentification(); +public:DeviceIdentification();DeviceIdentification(const DeviceIdentification &other); + static DeviceIdentification fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceinfo.h b/core/include/JellyfinQt/DTO/deviceinfo.h index dd3a8c8..71fd36f 100644 --- a/core/include/JellyfinQt/DTO/deviceinfo.h +++ b/core/include/JellyfinQt/DTO/deviceinfo.h @@ -46,8 +46,8 @@ namespace DTO { class DeviceInfo { -public: - explicit DeviceInfo(); +public:DeviceInfo();DeviceInfo(const DeviceInfo &other); + static DeviceInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h b/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h index 978f432..ce43f01 100644 --- a/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h +++ b/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class DeviceInfoQueryResult { -public: - explicit DeviceInfoQueryResult(); +public:DeviceInfoQueryResult();DeviceInfoQueryResult(const DeviceInfoQueryResult &other); + static DeviceInfoQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceoptions.h b/core/include/JellyfinQt/DTO/deviceoptions.h index 91380f3..3c7853f 100644 --- a/core/include/JellyfinQt/DTO/deviceoptions.h +++ b/core/include/JellyfinQt/DTO/deviceoptions.h @@ -42,8 +42,8 @@ namespace DTO { class DeviceOptions { -public: - explicit DeviceOptions(); +public:DeviceOptions();DeviceOptions(const DeviceOptions &other); + static DeviceOptions fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceprofile.h b/core/include/JellyfinQt/DTO/deviceprofile.h index 0024791..3de9ff2 100644 --- a/core/include/JellyfinQt/DTO/deviceprofile.h +++ b/core/include/JellyfinQt/DTO/deviceprofile.h @@ -53,8 +53,8 @@ namespace DTO { class DeviceProfile { -public: - explicit DeviceProfile(); +public:DeviceProfile();DeviceProfile(const DeviceProfile &other); + static DeviceProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/deviceprofileinfo.h b/core/include/JellyfinQt/DTO/deviceprofileinfo.h index a370c97..d9a3048 100644 --- a/core/include/JellyfinQt/DTO/deviceprofileinfo.h +++ b/core/include/JellyfinQt/DTO/deviceprofileinfo.h @@ -43,8 +43,8 @@ namespace DTO { class DeviceProfileInfo { -public: - explicit DeviceProfileInfo(); +public:DeviceProfileInfo();DeviceProfileInfo(const DeviceProfileInfo &other); + static DeviceProfileInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/directplayprofile.h b/core/include/JellyfinQt/DTO/directplayprofile.h index f0b1f46..350a69e 100644 --- a/core/include/JellyfinQt/DTO/directplayprofile.h +++ b/core/include/JellyfinQt/DTO/directplayprofile.h @@ -43,8 +43,8 @@ namespace DTO { class DirectPlayProfile { -public: - explicit DirectPlayProfile(); +public:DirectPlayProfile();DirectPlayProfile(const DirectPlayProfile &other); + static DirectPlayProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/displaypreferencesdto.h b/core/include/JellyfinQt/DTO/displaypreferencesdto.h index 4839833..f210f42 100644 --- a/core/include/JellyfinQt/DTO/displaypreferencesdto.h +++ b/core/include/JellyfinQt/DTO/displaypreferencesdto.h @@ -44,8 +44,8 @@ namespace DTO { class DisplayPreferencesDto { -public: - explicit DisplayPreferencesDto(); +public:DisplayPreferencesDto();DisplayPreferencesDto(const DisplayPreferencesDto &other); + static DisplayPreferencesDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/endpointinfo.h b/core/include/JellyfinQt/DTO/endpointinfo.h index ae5013c..cbafba5 100644 --- a/core/include/JellyfinQt/DTO/endpointinfo.h +++ b/core/include/JellyfinQt/DTO/endpointinfo.h @@ -41,8 +41,8 @@ namespace DTO { class EndPointInfo { -public: - explicit EndPointInfo(); +public:EndPointInfo();EndPointInfo(const EndPointInfo &other); + static EndPointInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/externalidinfo.h b/core/include/JellyfinQt/DTO/externalidinfo.h index 41066e1..f624644 100644 --- a/core/include/JellyfinQt/DTO/externalidinfo.h +++ b/core/include/JellyfinQt/DTO/externalidinfo.h @@ -43,8 +43,8 @@ namespace DTO { class ExternalIdInfo { -public: - explicit ExternalIdInfo(); +public:ExternalIdInfo();ExternalIdInfo(const ExternalIdInfo &other); + static ExternalIdInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/externalurl.h b/core/include/JellyfinQt/DTO/externalurl.h index fd8c608..5ee648d 100644 --- a/core/include/JellyfinQt/DTO/externalurl.h +++ b/core/include/JellyfinQt/DTO/externalurl.h @@ -42,8 +42,8 @@ namespace DTO { class ExternalUrl { -public: - explicit ExternalUrl(); +public:ExternalUrl();ExternalUrl(const ExternalUrl &other); + static ExternalUrl fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/filesystementryinfo.h b/core/include/JellyfinQt/DTO/filesystementryinfo.h index 38d1a41..4ed6312 100644 --- a/core/include/JellyfinQt/DTO/filesystementryinfo.h +++ b/core/include/JellyfinQt/DTO/filesystementryinfo.h @@ -43,8 +43,8 @@ namespace DTO { class FileSystemEntryInfo { -public: - explicit FileSystemEntryInfo(); +public:FileSystemEntryInfo();FileSystemEntryInfo(const FileSystemEntryInfo &other); + static FileSystemEntryInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/fontfile.h b/core/include/JellyfinQt/DTO/fontfile.h index a1ac025..ba742ee 100644 --- a/core/include/JellyfinQt/DTO/fontfile.h +++ b/core/include/JellyfinQt/DTO/fontfile.h @@ -43,8 +43,8 @@ namespace DTO { class FontFile { -public: - explicit FontFile(); +public:FontFile();FontFile(const FontFile &other); + static FontFile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/forgotpassworddto.h b/core/include/JellyfinQt/DTO/forgotpassworddto.h index 41e8dc1..eaa5ba6 100644 --- a/core/include/JellyfinQt/DTO/forgotpassworddto.h +++ b/core/include/JellyfinQt/DTO/forgotpassworddto.h @@ -42,8 +42,8 @@ namespace DTO { class ForgotPasswordDto { -public: - explicit ForgotPasswordDto(); +public:ForgotPasswordDto();ForgotPasswordDto(const ForgotPasswordDto &other); + static ForgotPasswordDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/forgotpasswordresult.h b/core/include/JellyfinQt/DTO/forgotpasswordresult.h index 6595b6f..84473f3 100644 --- a/core/include/JellyfinQt/DTO/forgotpasswordresult.h +++ b/core/include/JellyfinQt/DTO/forgotpasswordresult.h @@ -44,8 +44,8 @@ namespace DTO { class ForgotPasswordResult { -public: - explicit ForgotPasswordResult(); +public:ForgotPasswordResult();ForgotPasswordResult(const ForgotPasswordResult &other); + static ForgotPasswordResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/generalcommand.h b/core/include/JellyfinQt/DTO/generalcommand.h index b3b5d99..fa67133 100644 --- a/core/include/JellyfinQt/DTO/generalcommand.h +++ b/core/include/JellyfinQt/DTO/generalcommand.h @@ -43,8 +43,8 @@ namespace DTO { class GeneralCommand { -public: - explicit GeneralCommand(); +public:GeneralCommand();GeneralCommand(const GeneralCommand &other); + static GeneralCommand fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/getprogramsdto.h b/core/include/JellyfinQt/DTO/getprogramsdto.h index 5d78915..6959bbb 100644 --- a/core/include/JellyfinQt/DTO/getprogramsdto.h +++ b/core/include/JellyfinQt/DTO/getprogramsdto.h @@ -48,8 +48,8 @@ namespace DTO { class GetProgramsDto { -public: - explicit GetProgramsDto(); +public:GetProgramsDto();GetProgramsDto(const GetProgramsDto &other); + static GetProgramsDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/groupinfodto.h b/core/include/JellyfinQt/DTO/groupinfodto.h index 69b0fb5..12ddf93 100644 --- a/core/include/JellyfinQt/DTO/groupinfodto.h +++ b/core/include/JellyfinQt/DTO/groupinfodto.h @@ -47,8 +47,8 @@ namespace DTO { class GroupInfoDto { -public: - explicit GroupInfoDto(); +public:GroupInfoDto();GroupInfoDto(const GroupInfoDto &other); + static GroupInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/guideinfo.h b/core/include/JellyfinQt/DTO/guideinfo.h index 70c7e14..9ae553d 100644 --- a/core/include/JellyfinQt/DTO/guideinfo.h +++ b/core/include/JellyfinQt/DTO/guideinfo.h @@ -42,8 +42,8 @@ namespace DTO { class GuideInfo { -public: - explicit GuideInfo(); +public:GuideInfo();GuideInfo(const GuideInfo &other); + static GuideInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/httpheaderinfo.h b/core/include/JellyfinQt/DTO/httpheaderinfo.h index c01171c..a437fbe 100644 --- a/core/include/JellyfinQt/DTO/httpheaderinfo.h +++ b/core/include/JellyfinQt/DTO/httpheaderinfo.h @@ -43,8 +43,8 @@ namespace DTO { class HttpHeaderInfo { -public: - explicit HttpHeaderInfo(); +public:HttpHeaderInfo();HttpHeaderInfo(const HttpHeaderInfo &other); + static HttpHeaderInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h b/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h index 74ecccb..40105d2 100644 --- a/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h +++ b/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h @@ -41,8 +41,8 @@ namespace DTO { class IgnoreWaitRequestDto { -public: - explicit IgnoreWaitRequestDto(); +public:IgnoreWaitRequestDto();IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other); + static IgnoreWaitRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/imagebynameinfo.h b/core/include/JellyfinQt/DTO/imagebynameinfo.h index 3d011a0..b3d6499 100644 --- a/core/include/JellyfinQt/DTO/imagebynameinfo.h +++ b/core/include/JellyfinQt/DTO/imagebynameinfo.h @@ -42,8 +42,8 @@ namespace DTO { class ImageByNameInfo { -public: - explicit ImageByNameInfo(); +public:ImageByNameInfo();ImageByNameInfo(const ImageByNameInfo &other); + static ImageByNameInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/imageinfo.h b/core/include/JellyfinQt/DTO/imageinfo.h index fc8cac4..b2c95bc 100644 --- a/core/include/JellyfinQt/DTO/imageinfo.h +++ b/core/include/JellyfinQt/DTO/imageinfo.h @@ -43,8 +43,8 @@ namespace DTO { class ImageInfo { -public: - explicit ImageInfo(); +public:ImageInfo();ImageInfo(const ImageInfo &other); + static ImageInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/imageoption.h b/core/include/JellyfinQt/DTO/imageoption.h index bf6754e..390202c 100644 --- a/core/include/JellyfinQt/DTO/imageoption.h +++ b/core/include/JellyfinQt/DTO/imageoption.h @@ -42,8 +42,8 @@ namespace DTO { class ImageOption { -public: - explicit ImageOption(); +public:ImageOption();ImageOption(const ImageOption &other); + static ImageOption fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/imageproviderinfo.h b/core/include/JellyfinQt/DTO/imageproviderinfo.h index 2c88d2e..2cded8f 100644 --- a/core/include/JellyfinQt/DTO/imageproviderinfo.h +++ b/core/include/JellyfinQt/DTO/imageproviderinfo.h @@ -45,8 +45,8 @@ namespace DTO { class ImageProviderInfo { -public: - explicit ImageProviderInfo(); +public:ImageProviderInfo();ImageProviderInfo(const ImageProviderInfo &other); + static ImageProviderInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/installationinfo.h b/core/include/JellyfinQt/DTO/installationinfo.h index 65b3a61..57a5e73 100644 --- a/core/include/JellyfinQt/DTO/installationinfo.h +++ b/core/include/JellyfinQt/DTO/installationinfo.h @@ -45,8 +45,8 @@ namespace DTO { class InstallationInfo { -public: - explicit InstallationInfo(); +public:InstallationInfo();InstallationInfo(const InstallationInfo &other); + static InstallationInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/iplugin.h b/core/include/JellyfinQt/DTO/iplugin.h index a13846c..e4f9629 100644 --- a/core/include/JellyfinQt/DTO/iplugin.h +++ b/core/include/JellyfinQt/DTO/iplugin.h @@ -45,8 +45,8 @@ namespace DTO { class IPlugin { -public: - explicit IPlugin(); +public:IPlugin();IPlugin(const IPlugin &other); + static IPlugin fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/itemcounts.h b/core/include/JellyfinQt/DTO/itemcounts.h index 0d928f5..e2d4b85 100644 --- a/core/include/JellyfinQt/DTO/itemcounts.h +++ b/core/include/JellyfinQt/DTO/itemcounts.h @@ -41,8 +41,8 @@ namespace DTO { class ItemCounts { -public: - explicit ItemCounts(); +public:ItemCounts();ItemCounts(const ItemCounts &other); + static ItemCounts fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/joingrouprequestdto.h b/core/include/JellyfinQt/DTO/joingrouprequestdto.h index 531706b..2b5a156 100644 --- a/core/include/JellyfinQt/DTO/joingrouprequestdto.h +++ b/core/include/JellyfinQt/DTO/joingrouprequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class JoinGroupRequestDto { -public: - explicit JoinGroupRequestDto(); +public:JoinGroupRequestDto();JoinGroupRequestDto(const JoinGroupRequestDto &other); + static JoinGroupRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/libraryoptioninfodto.h b/core/include/JellyfinQt/DTO/libraryoptioninfodto.h index c9f1f0d..80d4f91 100644 --- a/core/include/JellyfinQt/DTO/libraryoptioninfodto.h +++ b/core/include/JellyfinQt/DTO/libraryoptioninfodto.h @@ -42,8 +42,8 @@ namespace DTO { class LibraryOptionInfoDto { -public: - explicit LibraryOptionInfoDto(); +public:LibraryOptionInfoDto();LibraryOptionInfoDto(const LibraryOptionInfoDto &other); + static LibraryOptionInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/libraryoptions.h b/core/include/JellyfinQt/DTO/libraryoptions.h index 896d415..1ef7d02 100644 --- a/core/include/JellyfinQt/DTO/libraryoptions.h +++ b/core/include/JellyfinQt/DTO/libraryoptions.h @@ -47,8 +47,8 @@ namespace DTO { class LibraryOptions { -public: - explicit LibraryOptions(); +public:LibraryOptions();LibraryOptions(const LibraryOptions &other); + static LibraryOptions fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/libraryoptionsresultdto.h b/core/include/JellyfinQt/DTO/libraryoptionsresultdto.h index 50823a3..bd23df0 100644 --- a/core/include/JellyfinQt/DTO/libraryoptionsresultdto.h +++ b/core/include/JellyfinQt/DTO/libraryoptionsresultdto.h @@ -46,8 +46,8 @@ namespace DTO { class LibraryOptionsResultDto { -public: - explicit LibraryOptionsResultDto(); +public:LibraryOptionsResultDto();LibraryOptionsResultDto(const LibraryOptionsResultDto &other); + static LibraryOptionsResultDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/librarytypeoptionsdto.h b/core/include/JellyfinQt/DTO/librarytypeoptionsdto.h index 9ee1e1e..5fe6bae 100644 --- a/core/include/JellyfinQt/DTO/librarytypeoptionsdto.h +++ b/core/include/JellyfinQt/DTO/librarytypeoptionsdto.h @@ -48,8 +48,8 @@ namespace DTO { class LibraryTypeOptionsDto { -public: - explicit LibraryTypeOptionsDto(); +public:LibraryTypeOptionsDto();LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other); + static LibraryTypeOptionsDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/libraryupdateinfo.h b/core/include/JellyfinQt/DTO/libraryupdateinfo.h index 36dc9cd..4a5c221 100644 --- a/core/include/JellyfinQt/DTO/libraryupdateinfo.h +++ b/core/include/JellyfinQt/DTO/libraryupdateinfo.h @@ -44,8 +44,8 @@ namespace DTO { class LibraryUpdateInfo { -public: - explicit LibraryUpdateInfo(); +public:LibraryUpdateInfo();LibraryUpdateInfo(const LibraryUpdateInfo &other); + static LibraryUpdateInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/listingsproviderinfo.h b/core/include/JellyfinQt/DTO/listingsproviderinfo.h index 5fc73cd..e867f98 100644 --- a/core/include/JellyfinQt/DTO/listingsproviderinfo.h +++ b/core/include/JellyfinQt/DTO/listingsproviderinfo.h @@ -46,8 +46,8 @@ namespace DTO { class ListingsProviderInfo { -public: - explicit ListingsProviderInfo(); +public:ListingsProviderInfo();ListingsProviderInfo(const ListingsProviderInfo &other); + static ListingsProviderInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/livestreamresponse.h b/core/include/JellyfinQt/DTO/livestreamresponse.h index 4c88e81..e69bbdf 100644 --- a/core/include/JellyfinQt/DTO/livestreamresponse.h +++ b/core/include/JellyfinQt/DTO/livestreamresponse.h @@ -43,8 +43,8 @@ namespace DTO { class LiveStreamResponse { -public: - explicit LiveStreamResponse(); +public:LiveStreamResponse();LiveStreamResponse(const LiveStreamResponse &other); + static LiveStreamResponse fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/livetvinfo.h b/core/include/JellyfinQt/DTO/livetvinfo.h index 80345ef..41d3b96 100644 --- a/core/include/JellyfinQt/DTO/livetvinfo.h +++ b/core/include/JellyfinQt/DTO/livetvinfo.h @@ -45,8 +45,8 @@ namespace DTO { class LiveTvInfo { -public: - explicit LiveTvInfo(); +public:LiveTvInfo();LiveTvInfo(const LiveTvInfo &other); + static LiveTvInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/livetvserviceinfo.h b/core/include/JellyfinQt/DTO/livetvserviceinfo.h index 41f2ff3..9d43871 100644 --- a/core/include/JellyfinQt/DTO/livetvserviceinfo.h +++ b/core/include/JellyfinQt/DTO/livetvserviceinfo.h @@ -45,8 +45,8 @@ namespace DTO { class LiveTvServiceInfo { -public: - explicit LiveTvServiceInfo(); +public:LiveTvServiceInfo();LiveTvServiceInfo(const LiveTvServiceInfo &other); + static LiveTvServiceInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/localizationoption.h b/core/include/JellyfinQt/DTO/localizationoption.h index ca6c391..713678f 100644 --- a/core/include/JellyfinQt/DTO/localizationoption.h +++ b/core/include/JellyfinQt/DTO/localizationoption.h @@ -42,8 +42,8 @@ namespace DTO { class LocalizationOption { -public: - explicit LocalizationOption(); +public:LocalizationOption();LocalizationOption(const LocalizationOption &other); + static LocalizationOption fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/logfile.h b/core/include/JellyfinQt/DTO/logfile.h index 6358a24..4b0ce0b 100644 --- a/core/include/JellyfinQt/DTO/logfile.h +++ b/core/include/JellyfinQt/DTO/logfile.h @@ -43,8 +43,8 @@ namespace DTO { class LogFile { -public: - explicit LogFile(); +public:LogFile();LogFile(const LogFile &other); + static LogFile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediaattachment.h b/core/include/JellyfinQt/DTO/mediaattachment.h index 94aed7a..ef17ab3 100644 --- a/core/include/JellyfinQt/DTO/mediaattachment.h +++ b/core/include/JellyfinQt/DTO/mediaattachment.h @@ -42,8 +42,8 @@ namespace DTO { class MediaAttachment { -public: - explicit MediaAttachment(); +public:MediaAttachment();MediaAttachment(const MediaAttachment &other); + static MediaAttachment fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediaencoderpathdto.h b/core/include/JellyfinQt/DTO/mediaencoderpathdto.h index 8ab34ef..abfdb89 100644 --- a/core/include/JellyfinQt/DTO/mediaencoderpathdto.h +++ b/core/include/JellyfinQt/DTO/mediaencoderpathdto.h @@ -42,8 +42,8 @@ namespace DTO { class MediaEncoderPathDto { -public: - explicit MediaEncoderPathDto(); +public:MediaEncoderPathDto();MediaEncoderPathDto(const MediaEncoderPathDto &other); + static MediaEncoderPathDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediapathdto.h b/core/include/JellyfinQt/DTO/mediapathdto.h index f6be18e..8f599f7 100644 --- a/core/include/JellyfinQt/DTO/mediapathdto.h +++ b/core/include/JellyfinQt/DTO/mediapathdto.h @@ -44,8 +44,8 @@ namespace DTO { class MediaPathDto { -public: - explicit MediaPathDto(); +public:MediaPathDto();MediaPathDto(const MediaPathDto &other); + static MediaPathDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediapathinfo.h b/core/include/JellyfinQt/DTO/mediapathinfo.h index 0a12e79..eb95e9b 100644 --- a/core/include/JellyfinQt/DTO/mediapathinfo.h +++ b/core/include/JellyfinQt/DTO/mediapathinfo.h @@ -42,8 +42,8 @@ namespace DTO { class MediaPathInfo { -public: - explicit MediaPathInfo(); +public:MediaPathInfo();MediaPathInfo(const MediaPathInfo &other); + static MediaPathInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediasourceinfo.h b/core/include/JellyfinQt/DTO/mediasourceinfo.h index 22f11e0..a0d0730 100644 --- a/core/include/JellyfinQt/DTO/mediasourceinfo.h +++ b/core/include/JellyfinQt/DTO/mediasourceinfo.h @@ -53,8 +53,8 @@ namespace DTO { class MediaSourceInfo { -public: - explicit MediaSourceInfo(); +public:MediaSourceInfo();MediaSourceInfo(const MediaSourceInfo &other); + static MediaSourceInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediastream.h b/core/include/JellyfinQt/DTO/mediastream.h index 048b86d..38f5bfc 100644 --- a/core/include/JellyfinQt/DTO/mediastream.h +++ b/core/include/JellyfinQt/DTO/mediastream.h @@ -44,8 +44,8 @@ namespace DTO { class MediaStream { -public: - explicit MediaStream(); +public:MediaStream();MediaStream(const MediaStream &other); + static MediaStream fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediaupdateinfodto.h b/core/include/JellyfinQt/DTO/mediaupdateinfodto.h index c94f0ec..b9d5095 100644 --- a/core/include/JellyfinQt/DTO/mediaupdateinfodto.h +++ b/core/include/JellyfinQt/DTO/mediaupdateinfodto.h @@ -42,8 +42,8 @@ namespace DTO { class MediaUpdateInfoDto { -public: - explicit MediaUpdateInfoDto(); +public:MediaUpdateInfoDto();MediaUpdateInfoDto(const MediaUpdateInfoDto &other); + static MediaUpdateInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/mediaurl.h b/core/include/JellyfinQt/DTO/mediaurl.h index dc7143e..f8bc043 100644 --- a/core/include/JellyfinQt/DTO/mediaurl.h +++ b/core/include/JellyfinQt/DTO/mediaurl.h @@ -42,8 +42,8 @@ namespace DTO { class MediaUrl { -public: - explicit MediaUrl(); +public:MediaUrl();MediaUrl(const MediaUrl &other); + static MediaUrl fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/metadataeditorinfo.h b/core/include/JellyfinQt/DTO/metadataeditorinfo.h index 1ba6f66..cdd2323 100644 --- a/core/include/JellyfinQt/DTO/metadataeditorinfo.h +++ b/core/include/JellyfinQt/DTO/metadataeditorinfo.h @@ -50,8 +50,8 @@ namespace DTO { class MetadataEditorInfo { -public: - explicit MetadataEditorInfo(); +public:MetadataEditorInfo();MetadataEditorInfo(const MetadataEditorInfo &other); + static MetadataEditorInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/metadataoptions.h b/core/include/JellyfinQt/DTO/metadataoptions.h index e59ee74..355dfd1 100644 --- a/core/include/JellyfinQt/DTO/metadataoptions.h +++ b/core/include/JellyfinQt/DTO/metadataoptions.h @@ -44,8 +44,8 @@ namespace DTO { class MetadataOptions { -public: - explicit MetadataOptions(); +public:MetadataOptions();MetadataOptions(const MetadataOptions &other); + static MetadataOptions fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/moveplaylistitemrequestdto.h b/core/include/JellyfinQt/DTO/moveplaylistitemrequestdto.h index 1b876a6..e319382 100644 --- a/core/include/JellyfinQt/DTO/moveplaylistitemrequestdto.h +++ b/core/include/JellyfinQt/DTO/moveplaylistitemrequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class MovePlaylistItemRequestDto { -public: - explicit MovePlaylistItemRequestDto(); +public:MovePlaylistItemRequestDto();MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other); + static MovePlaylistItemRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/movieinfo.h b/core/include/JellyfinQt/DTO/movieinfo.h index c78487c..e05d803 100644 --- a/core/include/JellyfinQt/DTO/movieinfo.h +++ b/core/include/JellyfinQt/DTO/movieinfo.h @@ -43,8 +43,8 @@ namespace DTO { class MovieInfo { -public: - explicit MovieInfo(); +public:MovieInfo();MovieInfo(const MovieInfo &other); + static MovieInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h b/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h index 03dc1b1..1b1c789 100644 --- a/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class MovieInfoRemoteSearchQuery { -public: - explicit MovieInfoRemoteSearchQuery(); +public:MovieInfoRemoteSearchQuery();MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other); + static MovieInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/musicvideoinfo.h b/core/include/JellyfinQt/DTO/musicvideoinfo.h index 035ae6e..1071293 100644 --- a/core/include/JellyfinQt/DTO/musicvideoinfo.h +++ b/core/include/JellyfinQt/DTO/musicvideoinfo.h @@ -45,8 +45,8 @@ namespace DTO { class MusicVideoInfo { -public: - explicit MusicVideoInfo(); +public:MusicVideoInfo();MusicVideoInfo(const MusicVideoInfo &other); + static MusicVideoInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h b/core/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h index 06bd2c3..d934831 100644 --- a/core/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class MusicVideoInfoRemoteSearchQuery { -public: - explicit MusicVideoInfoRemoteSearchQuery(); +public:MusicVideoInfoRemoteSearchQuery();MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other); + static MusicVideoInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/nameguidpair.h b/core/include/JellyfinQt/DTO/nameguidpair.h index 3d18f19..5df5d9b 100644 --- a/core/include/JellyfinQt/DTO/nameguidpair.h +++ b/core/include/JellyfinQt/DTO/nameguidpair.h @@ -43,8 +43,8 @@ namespace DTO { class NameGuidPair { -public: - explicit NameGuidPair(); +public:NameGuidPair();NameGuidPair(const NameGuidPair &other); + static NameGuidPair fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/nameidpair.h b/core/include/JellyfinQt/DTO/nameidpair.h index 2b505e2..1f789f9 100644 --- a/core/include/JellyfinQt/DTO/nameidpair.h +++ b/core/include/JellyfinQt/DTO/nameidpair.h @@ -42,8 +42,8 @@ namespace DTO { class NameIdPair { -public: - explicit NameIdPair(); +public:NameIdPair();NameIdPair(const NameIdPair &other); + static NameIdPair fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/namevaluepair.h b/core/include/JellyfinQt/DTO/namevaluepair.h index b01b042..3c05e1f 100644 --- a/core/include/JellyfinQt/DTO/namevaluepair.h +++ b/core/include/JellyfinQt/DTO/namevaluepair.h @@ -42,8 +42,8 @@ namespace DTO { class NameValuePair { -public: - explicit NameValuePair(); +public:NameValuePair();NameValuePair(const NameValuePair &other); + static NameValuePair fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/newgrouprequestdto.h b/core/include/JellyfinQt/DTO/newgrouprequestdto.h index 95256f0..78d879e 100644 --- a/core/include/JellyfinQt/DTO/newgrouprequestdto.h +++ b/core/include/JellyfinQt/DTO/newgrouprequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class NewGroupRequestDto { -public: - explicit NewGroupRequestDto(); +public:NewGroupRequestDto();NewGroupRequestDto(const NewGroupRequestDto &other); + static NewGroupRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/nextitemrequestdto.h b/core/include/JellyfinQt/DTO/nextitemrequestdto.h index 7e0134e..662c84a 100644 --- a/core/include/JellyfinQt/DTO/nextitemrequestdto.h +++ b/core/include/JellyfinQt/DTO/nextitemrequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class NextItemRequestDto { -public: - explicit NextItemRequestDto(); +public:NextItemRequestDto();NextItemRequestDto(const NextItemRequestDto &other); + static NextItemRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/notificationdto.h b/core/include/JellyfinQt/DTO/notificationdto.h index 1106640..c5197d8 100644 --- a/core/include/JellyfinQt/DTO/notificationdto.h +++ b/core/include/JellyfinQt/DTO/notificationdto.h @@ -44,8 +44,8 @@ namespace DTO { class NotificationDto { -public: - explicit NotificationDto(); +public:NotificationDto();NotificationDto(const NotificationDto &other); + static NotificationDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/notificationresultdto.h b/core/include/JellyfinQt/DTO/notificationresultdto.h index 3c82d5b..37903bf 100644 --- a/core/include/JellyfinQt/DTO/notificationresultdto.h +++ b/core/include/JellyfinQt/DTO/notificationresultdto.h @@ -45,8 +45,8 @@ namespace DTO { class NotificationResultDto { -public: - explicit NotificationResultDto(); +public:NotificationResultDto();NotificationResultDto(const NotificationResultDto &other); + static NotificationResultDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/notificationssummarydto.h b/core/include/JellyfinQt/DTO/notificationssummarydto.h index c53d58b..7617eb0 100644 --- a/core/include/JellyfinQt/DTO/notificationssummarydto.h +++ b/core/include/JellyfinQt/DTO/notificationssummarydto.h @@ -42,8 +42,8 @@ namespace DTO { class NotificationsSummaryDto { -public: - explicit NotificationsSummaryDto(); +public:NotificationsSummaryDto();NotificationsSummaryDto(const NotificationsSummaryDto &other); + static NotificationsSummaryDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/notificationtypeinfo.h b/core/include/JellyfinQt/DTO/notificationtypeinfo.h index e555998..fcdfe82 100644 --- a/core/include/JellyfinQt/DTO/notificationtypeinfo.h +++ b/core/include/JellyfinQt/DTO/notificationtypeinfo.h @@ -42,8 +42,8 @@ namespace DTO { class NotificationTypeInfo { -public: - explicit NotificationTypeInfo(); +public:NotificationTypeInfo();NotificationTypeInfo(const NotificationTypeInfo &other); + static NotificationTypeInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/objectgroupupdate.h b/core/include/JellyfinQt/DTO/objectgroupupdate.h index 06c4581..59ede73 100644 --- a/core/include/JellyfinQt/DTO/objectgroupupdate.h +++ b/core/include/JellyfinQt/DTO/objectgroupupdate.h @@ -44,8 +44,8 @@ namespace DTO { class ObjectGroupUpdate { -public: - explicit ObjectGroupUpdate(); +public:ObjectGroupUpdate();ObjectGroupUpdate(const ObjectGroupUpdate &other); + static ObjectGroupUpdate fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/openlivestreamdto.h b/core/include/JellyfinQt/DTO/openlivestreamdto.h index f02e596..78081dd 100644 --- a/core/include/JellyfinQt/DTO/openlivestreamdto.h +++ b/core/include/JellyfinQt/DTO/openlivestreamdto.h @@ -48,8 +48,8 @@ namespace DTO { class OpenLiveStreamDto { -public: - explicit OpenLiveStreamDto(); +public:OpenLiveStreamDto();OpenLiveStreamDto(const OpenLiveStreamDto &other); + static OpenLiveStreamDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/packageinfo.h b/core/include/JellyfinQt/DTO/packageinfo.h index e28520e..6ae9f67 100644 --- a/core/include/JellyfinQt/DTO/packageinfo.h +++ b/core/include/JellyfinQt/DTO/packageinfo.h @@ -46,8 +46,8 @@ namespace DTO { class PackageInfo { -public: - explicit PackageInfo(); +public:PackageInfo();PackageInfo(const PackageInfo &other); + static PackageInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/parentalrating.h b/core/include/JellyfinQt/DTO/parentalrating.h index a7646f4..65135e7 100644 --- a/core/include/JellyfinQt/DTO/parentalrating.h +++ b/core/include/JellyfinQt/DTO/parentalrating.h @@ -42,8 +42,8 @@ namespace DTO { class ParentalRating { -public: - explicit ParentalRating(); +public:ParentalRating();ParentalRating(const ParentalRating &other); + static ParentalRating fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/pathsubstitution.h b/core/include/JellyfinQt/DTO/pathsubstitution.h index 5147173..2cd07fc 100644 --- a/core/include/JellyfinQt/DTO/pathsubstitution.h +++ b/core/include/JellyfinQt/DTO/pathsubstitution.h @@ -42,8 +42,8 @@ namespace DTO { class PathSubstitution { -public: - explicit PathSubstitution(); +public:PathSubstitution();PathSubstitution(const PathSubstitution &other); + static PathSubstitution fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/personlookupinfo.h b/core/include/JellyfinQt/DTO/personlookupinfo.h index 35a94ef..a5ee9ff 100644 --- a/core/include/JellyfinQt/DTO/personlookupinfo.h +++ b/core/include/JellyfinQt/DTO/personlookupinfo.h @@ -43,8 +43,8 @@ namespace DTO { class PersonLookupInfo { -public: - explicit PersonLookupInfo(); +public:PersonLookupInfo();PersonLookupInfo(const PersonLookupInfo &other); + static PersonLookupInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h b/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h index ba80179..63baa6c 100644 --- a/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class PersonLookupInfoRemoteSearchQuery { -public: - explicit PersonLookupInfoRemoteSearchQuery(); +public:PersonLookupInfoRemoteSearchQuery();PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other); + static PersonLookupInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/pingrequestdto.h b/core/include/JellyfinQt/DTO/pingrequestdto.h index bd7e710..7b3a1a5 100644 --- a/core/include/JellyfinQt/DTO/pingrequestdto.h +++ b/core/include/JellyfinQt/DTO/pingrequestdto.h @@ -41,8 +41,8 @@ namespace DTO { class PingRequestDto { -public: - explicit PingRequestDto(); +public:PingRequestDto();PingRequestDto(const PingRequestDto &other); + static PingRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/pinredeemresult.h b/core/include/JellyfinQt/DTO/pinredeemresult.h index a8fd1e4..853c10e 100644 --- a/core/include/JellyfinQt/DTO/pinredeemresult.h +++ b/core/include/JellyfinQt/DTO/pinredeemresult.h @@ -44,8 +44,8 @@ namespace DTO { class PinRedeemResult { -public: - explicit PinRedeemResult(); +public:PinRedeemResult();PinRedeemResult(const PinRedeemResult &other); + static PinRedeemResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playbackinfodto.h b/core/include/JellyfinQt/DTO/playbackinfodto.h index 211aa1d..e8b804d 100644 --- a/core/include/JellyfinQt/DTO/playbackinfodto.h +++ b/core/include/JellyfinQt/DTO/playbackinfodto.h @@ -45,8 +45,8 @@ namespace DTO { class PlaybackInfoDto { -public: - explicit PlaybackInfoDto(); +public:PlaybackInfoDto();PlaybackInfoDto(const PlaybackInfoDto &other); + static PlaybackInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playbackinforesponse.h b/core/include/JellyfinQt/DTO/playbackinforesponse.h index 72b61bc..24b0407 100644 --- a/core/include/JellyfinQt/DTO/playbackinforesponse.h +++ b/core/include/JellyfinQt/DTO/playbackinforesponse.h @@ -47,8 +47,8 @@ namespace DTO { class PlaybackInfoResponse { -public: - explicit PlaybackInfoResponse(); +public:PlaybackInfoResponse();PlaybackInfoResponse(const PlaybackInfoResponse &other); + static PlaybackInfoResponse fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playbackprogressinfo.h b/core/include/JellyfinQt/DTO/playbackprogressinfo.h index 698c004..d0a17e7 100644 --- a/core/include/JellyfinQt/DTO/playbackprogressinfo.h +++ b/core/include/JellyfinQt/DTO/playbackprogressinfo.h @@ -50,8 +50,8 @@ namespace DTO { class PlaybackProgressInfo { -public: - explicit PlaybackProgressInfo(); +public:PlaybackProgressInfo();PlaybackProgressInfo(const PlaybackProgressInfo &other); + static PlaybackProgressInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playbackstartinfo.h b/core/include/JellyfinQt/DTO/playbackstartinfo.h index 46d0b5a..997ffdc 100644 --- a/core/include/JellyfinQt/DTO/playbackstartinfo.h +++ b/core/include/JellyfinQt/DTO/playbackstartinfo.h @@ -50,8 +50,8 @@ namespace DTO { class PlaybackStartInfo { -public: - explicit PlaybackStartInfo(); +public:PlaybackStartInfo();PlaybackStartInfo(const PlaybackStartInfo &other); + static PlaybackStartInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playbackstopinfo.h b/core/include/JellyfinQt/DTO/playbackstopinfo.h index d9ec728..c60b169 100644 --- a/core/include/JellyfinQt/DTO/playbackstopinfo.h +++ b/core/include/JellyfinQt/DTO/playbackstopinfo.h @@ -48,8 +48,8 @@ namespace DTO { class PlaybackStopInfo { -public: - explicit PlaybackStopInfo(); +public:PlaybackStopInfo();PlaybackStopInfo(const PlaybackStopInfo &other); + static PlaybackStopInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playerstateinfo.h b/core/include/JellyfinQt/DTO/playerstateinfo.h index 9111229..31b6531 100644 --- a/core/include/JellyfinQt/DTO/playerstateinfo.h +++ b/core/include/JellyfinQt/DTO/playerstateinfo.h @@ -44,8 +44,8 @@ namespace DTO { class PlayerStateInfo { -public: - explicit PlayerStateInfo(); +public:PlayerStateInfo();PlayerStateInfo(const PlayerStateInfo &other); + static PlayerStateInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playlistcreationresult.h b/core/include/JellyfinQt/DTO/playlistcreationresult.h index 7a8ce97..6c8b5f6 100644 --- a/core/include/JellyfinQt/DTO/playlistcreationresult.h +++ b/core/include/JellyfinQt/DTO/playlistcreationresult.h @@ -42,8 +42,8 @@ namespace DTO { class PlaylistCreationResult { -public: - explicit PlaylistCreationResult(); +public:PlaylistCreationResult();PlaylistCreationResult(const PlaylistCreationResult &other); + static PlaylistCreationResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playrequest.h b/core/include/JellyfinQt/DTO/playrequest.h index d30b2a8..d67a030 100644 --- a/core/include/JellyfinQt/DTO/playrequest.h +++ b/core/include/JellyfinQt/DTO/playrequest.h @@ -46,8 +46,8 @@ namespace DTO { class PlayRequest { -public: - explicit PlayRequest(); +public:PlayRequest();PlayRequest(const PlayRequest &other); + static PlayRequest fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playrequestdto.h b/core/include/JellyfinQt/DTO/playrequestdto.h index 86d9e0b..fea6dea 100644 --- a/core/include/JellyfinQt/DTO/playrequestdto.h +++ b/core/include/JellyfinQt/DTO/playrequestdto.h @@ -44,8 +44,8 @@ namespace DTO { class PlayRequestDto { -public: - explicit PlayRequestDto(); +public:PlayRequestDto();PlayRequestDto(const PlayRequestDto &other); + static PlayRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/playstaterequest.h b/core/include/JellyfinQt/DTO/playstaterequest.h index 32b2044..6880c8d 100644 --- a/core/include/JellyfinQt/DTO/playstaterequest.h +++ b/core/include/JellyfinQt/DTO/playstaterequest.h @@ -43,8 +43,8 @@ namespace DTO { class PlaystateRequest { -public: - explicit PlaystateRequest(); +public:PlaystateRequest();PlaystateRequest(const PlaystateRequest &other); + static PlaystateRequest fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/plugininfo.h b/core/include/JellyfinQt/DTO/plugininfo.h index ef43a67..54679cb 100644 --- a/core/include/JellyfinQt/DTO/plugininfo.h +++ b/core/include/JellyfinQt/DTO/plugininfo.h @@ -46,8 +46,8 @@ namespace DTO { class PluginInfo { -public: - explicit PluginInfo(); +public:PluginInfo();PluginInfo(const PluginInfo &other); + static PluginInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/pluginsecurityinfo.h b/core/include/JellyfinQt/DTO/pluginsecurityinfo.h index b852b7d..5ac4c0f 100644 --- a/core/include/JellyfinQt/DTO/pluginsecurityinfo.h +++ b/core/include/JellyfinQt/DTO/pluginsecurityinfo.h @@ -42,8 +42,8 @@ namespace DTO { class PluginSecurityInfo { -public: - explicit PluginSecurityInfo(); +public:PluginSecurityInfo();PluginSecurityInfo(const PluginSecurityInfo &other); + static PluginSecurityInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/previousitemrequestdto.h b/core/include/JellyfinQt/DTO/previousitemrequestdto.h index 0b7acbe..61a4396 100644 --- a/core/include/JellyfinQt/DTO/previousitemrequestdto.h +++ b/core/include/JellyfinQt/DTO/previousitemrequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class PreviousItemRequestDto { -public: - explicit PreviousItemRequestDto(); +public:PreviousItemRequestDto();PreviousItemRequestDto(const PreviousItemRequestDto &other); + static PreviousItemRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/problemdetails.h b/core/include/JellyfinQt/DTO/problemdetails.h index df60734..10505f2 100644 --- a/core/include/JellyfinQt/DTO/problemdetails.h +++ b/core/include/JellyfinQt/DTO/problemdetails.h @@ -42,8 +42,8 @@ namespace DTO { class ProblemDetails { -public: - explicit ProblemDetails(); +public:ProblemDetails();ProblemDetails(const ProblemDetails &other); + static ProblemDetails fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/profilecondition.h b/core/include/JellyfinQt/DTO/profilecondition.h index 45d0d63..9af1b57 100644 --- a/core/include/JellyfinQt/DTO/profilecondition.h +++ b/core/include/JellyfinQt/DTO/profilecondition.h @@ -44,8 +44,8 @@ namespace DTO { class ProfileCondition { -public: - explicit ProfileCondition(); +public:ProfileCondition();ProfileCondition(const ProfileCondition &other); + static ProfileCondition fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/publicsysteminfo.h b/core/include/JellyfinQt/DTO/publicsysteminfo.h index c75ae38..4be06c5 100644 --- a/core/include/JellyfinQt/DTO/publicsysteminfo.h +++ b/core/include/JellyfinQt/DTO/publicsysteminfo.h @@ -42,8 +42,8 @@ namespace DTO { class PublicSystemInfo { -public: - explicit PublicSystemInfo(); +public:PublicSystemInfo();PublicSystemInfo(const PublicSystemInfo &other); + static PublicSystemInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/queryfilters.h b/core/include/JellyfinQt/DTO/queryfilters.h index 24f1105..0d3c323 100644 --- a/core/include/JellyfinQt/DTO/queryfilters.h +++ b/core/include/JellyfinQt/DTO/queryfilters.h @@ -45,8 +45,8 @@ namespace DTO { class QueryFilters { -public: - explicit QueryFilters(); +public:QueryFilters();QueryFilters(const QueryFilters &other); + static QueryFilters fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/queryfilterslegacy.h b/core/include/JellyfinQt/DTO/queryfilterslegacy.h index 9903837..cdf4c1a 100644 --- a/core/include/JellyfinQt/DTO/queryfilterslegacy.h +++ b/core/include/JellyfinQt/DTO/queryfilterslegacy.h @@ -44,8 +44,8 @@ namespace DTO { class QueryFiltersLegacy { -public: - explicit QueryFiltersLegacy(); +public:QueryFiltersLegacy();QueryFiltersLegacy(const QueryFiltersLegacy &other); + static QueryFiltersLegacy fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/queueitem.h b/core/include/JellyfinQt/DTO/queueitem.h index d98ef46..6054b18 100644 --- a/core/include/JellyfinQt/DTO/queueitem.h +++ b/core/include/JellyfinQt/DTO/queueitem.h @@ -43,8 +43,8 @@ namespace DTO { class QueueItem { -public: - explicit QueueItem(); +public:QueueItem();QueueItem(const QueueItem &other); + static QueueItem fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/queuerequestdto.h b/core/include/JellyfinQt/DTO/queuerequestdto.h index 7179ccd..a712d70 100644 --- a/core/include/JellyfinQt/DTO/queuerequestdto.h +++ b/core/include/JellyfinQt/DTO/queuerequestdto.h @@ -45,8 +45,8 @@ namespace DTO { class QueueRequestDto { -public: - explicit QueueRequestDto(); +public:QueueRequestDto();QueueRequestDto(const QueueRequestDto &other); + static QueueRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/quickconnectdto.h b/core/include/JellyfinQt/DTO/quickconnectdto.h index ddd1efc..e4b60b8 100644 --- a/core/include/JellyfinQt/DTO/quickconnectdto.h +++ b/core/include/JellyfinQt/DTO/quickconnectdto.h @@ -42,8 +42,8 @@ namespace DTO { class QuickConnectDto { -public: - explicit QuickConnectDto(); +public:QuickConnectDto();QuickConnectDto(const QuickConnectDto &other); + static QuickConnectDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/quickconnectresult.h b/core/include/JellyfinQt/DTO/quickconnectresult.h index a27b25c..18518ca 100644 --- a/core/include/JellyfinQt/DTO/quickconnectresult.h +++ b/core/include/JellyfinQt/DTO/quickconnectresult.h @@ -43,8 +43,8 @@ namespace DTO { class QuickConnectResult { -public: - explicit QuickConnectResult(); +public:QuickConnectResult();QuickConnectResult(const QuickConnectResult &other); + static QuickConnectResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/readyrequestdto.h b/core/include/JellyfinQt/DTO/readyrequestdto.h index d51ebd5..8675289 100644 --- a/core/include/JellyfinQt/DTO/readyrequestdto.h +++ b/core/include/JellyfinQt/DTO/readyrequestdto.h @@ -43,8 +43,8 @@ namespace DTO { class ReadyRequestDto { -public: - explicit ReadyRequestDto(); +public:ReadyRequestDto();ReadyRequestDto(const ReadyRequestDto &other); + static ReadyRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/recommendationdto.h b/core/include/JellyfinQt/DTO/recommendationdto.h index 0c91267..17e0a5c 100644 --- a/core/include/JellyfinQt/DTO/recommendationdto.h +++ b/core/include/JellyfinQt/DTO/recommendationdto.h @@ -48,8 +48,8 @@ namespace DTO { class RecommendationDto { -public: - explicit RecommendationDto(); +public:RecommendationDto();RecommendationDto(const RecommendationDto &other); + static RecommendationDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/remoteimageinfo.h b/core/include/JellyfinQt/DTO/remoteimageinfo.h index 3fcaba3..c837208 100644 --- a/core/include/JellyfinQt/DTO/remoteimageinfo.h +++ b/core/include/JellyfinQt/DTO/remoteimageinfo.h @@ -44,8 +44,8 @@ namespace DTO { class RemoteImageInfo { -public: - explicit RemoteImageInfo(); +public:RemoteImageInfo();RemoteImageInfo(const RemoteImageInfo &other); + static RemoteImageInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/remoteimageresult.h b/core/include/JellyfinQt/DTO/remoteimageresult.h index 5b784ed..bff32e7 100644 --- a/core/include/JellyfinQt/DTO/remoteimageresult.h +++ b/core/include/JellyfinQt/DTO/remoteimageresult.h @@ -45,8 +45,8 @@ namespace DTO { class RemoteImageResult { -public: - explicit RemoteImageResult(); +public:RemoteImageResult();RemoteImageResult(const RemoteImageResult &other); + static RemoteImageResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/remotesearchresult.h b/core/include/JellyfinQt/DTO/remotesearchresult.h index ce37f88..b21f394 100644 --- a/core/include/JellyfinQt/DTO/remotesearchresult.h +++ b/core/include/JellyfinQt/DTO/remotesearchresult.h @@ -46,8 +46,8 @@ namespace DTO { class RemoteSearchResult { -public: - explicit RemoteSearchResult(); +public:RemoteSearchResult();RemoteSearchResult(const RemoteSearchResult &other); + static RemoteSearchResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/remotesubtitleinfo.h b/core/include/JellyfinQt/DTO/remotesubtitleinfo.h index 00ee857..edb60db 100644 --- a/core/include/JellyfinQt/DTO/remotesubtitleinfo.h +++ b/core/include/JellyfinQt/DTO/remotesubtitleinfo.h @@ -43,8 +43,8 @@ namespace DTO { class RemoteSubtitleInfo { -public: - explicit RemoteSubtitleInfo(); +public:RemoteSubtitleInfo();RemoteSubtitleInfo(const RemoteSubtitleInfo &other); + static RemoteSubtitleInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/removefromplaylistrequestdto.h b/core/include/JellyfinQt/DTO/removefromplaylistrequestdto.h index 8562fc1..cb31a4b 100644 --- a/core/include/JellyfinQt/DTO/removefromplaylistrequestdto.h +++ b/core/include/JellyfinQt/DTO/removefromplaylistrequestdto.h @@ -44,8 +44,8 @@ namespace DTO { class RemoveFromPlaylistRequestDto { -public: - explicit RemoveFromPlaylistRequestDto(); +public:RemoveFromPlaylistRequestDto();RemoveFromPlaylistRequestDto(const RemoveFromPlaylistRequestDto &other); + static RemoveFromPlaylistRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/repositoryinfo.h b/core/include/JellyfinQt/DTO/repositoryinfo.h index 37c6fed..c0d4bdd 100644 --- a/core/include/JellyfinQt/DTO/repositoryinfo.h +++ b/core/include/JellyfinQt/DTO/repositoryinfo.h @@ -42,8 +42,8 @@ namespace DTO { class RepositoryInfo { -public: - explicit RepositoryInfo(); +public:RepositoryInfo();RepositoryInfo(const RepositoryInfo &other); + static RepositoryInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/responseprofile.h b/core/include/JellyfinQt/DTO/responseprofile.h index 381c60a..f16a6d9 100644 --- a/core/include/JellyfinQt/DTO/responseprofile.h +++ b/core/include/JellyfinQt/DTO/responseprofile.h @@ -47,8 +47,8 @@ namespace DTO { class ResponseProfile { -public: - explicit ResponseProfile(); +public:ResponseProfile();ResponseProfile(const ResponseProfile &other); + static ResponseProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/searchhint.h b/core/include/JellyfinQt/DTO/searchhint.h index 1348b7e..02d1dbc 100644 --- a/core/include/JellyfinQt/DTO/searchhint.h +++ b/core/include/JellyfinQt/DTO/searchhint.h @@ -46,8 +46,8 @@ namespace DTO { class SearchHint { -public: - explicit SearchHint(); +public:SearchHint();SearchHint(const SearchHint &other); + static SearchHint fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/searchhintresult.h b/core/include/JellyfinQt/DTO/searchhintresult.h index be4a04e..fbde26e 100644 --- a/core/include/JellyfinQt/DTO/searchhintresult.h +++ b/core/include/JellyfinQt/DTO/searchhintresult.h @@ -45,8 +45,8 @@ namespace DTO { class SearchHintResult { -public: - explicit SearchHintResult(); +public:SearchHintResult();SearchHintResult(const SearchHintResult &other); + static SearchHintResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/seekrequestdto.h b/core/include/JellyfinQt/DTO/seekrequestdto.h index ab58156..5fc321f 100644 --- a/core/include/JellyfinQt/DTO/seekrequestdto.h +++ b/core/include/JellyfinQt/DTO/seekrequestdto.h @@ -41,8 +41,8 @@ namespace DTO { class SeekRequestDto { -public: - explicit SeekRequestDto(); +public:SeekRequestDto();SeekRequestDto(const SeekRequestDto &other); + static SeekRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/sendcommand.h b/core/include/JellyfinQt/DTO/sendcommand.h index 4a37315..be65442 100644 --- a/core/include/JellyfinQt/DTO/sendcommand.h +++ b/core/include/JellyfinQt/DTO/sendcommand.h @@ -44,8 +44,8 @@ namespace DTO { class SendCommand { -public: - explicit SendCommand(); +public:SendCommand();SendCommand(const SendCommand &other); + static SendCommand fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/seriesinfo.h b/core/include/JellyfinQt/DTO/seriesinfo.h index 812aa3e..add193b 100644 --- a/core/include/JellyfinQt/DTO/seriesinfo.h +++ b/core/include/JellyfinQt/DTO/seriesinfo.h @@ -43,8 +43,8 @@ namespace DTO { class SeriesInfo { -public: - explicit SeriesInfo(); +public:SeriesInfo();SeriesInfo(const SeriesInfo &other); + static SeriesInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h b/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h index 42cd1ad..200b63a 100644 --- a/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class SeriesInfoRemoteSearchQuery { -public: - explicit SeriesInfoRemoteSearchQuery(); +public:SeriesInfoRemoteSearchQuery();SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other); + static SeriesInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/seriestimerinfodto.h b/core/include/JellyfinQt/DTO/seriestimerinfodto.h index baca2f8..4570ba0 100644 --- a/core/include/JellyfinQt/DTO/seriestimerinfodto.h +++ b/core/include/JellyfinQt/DTO/seriestimerinfodto.h @@ -49,8 +49,8 @@ namespace DTO { class SeriesTimerInfoDto { -public: - explicit SeriesTimerInfoDto(); +public:SeriesTimerInfoDto();SeriesTimerInfoDto(const SeriesTimerInfoDto &other); + static SeriesTimerInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h b/core/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h index 222a941..6be8875 100644 --- a/core/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h +++ b/core/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class SeriesTimerInfoDtoQueryResult { -public: - explicit SeriesTimerInfoDtoQueryResult(); +public:SeriesTimerInfoDtoQueryResult();SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other); + static SeriesTimerInfoDtoQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/serverconfiguration.h b/core/include/JellyfinQt/DTO/serverconfiguration.h index 6920f20..5ede92a 100644 --- a/core/include/JellyfinQt/DTO/serverconfiguration.h +++ b/core/include/JellyfinQt/DTO/serverconfiguration.h @@ -51,8 +51,8 @@ namespace DTO { class ServerConfiguration { -public: - explicit ServerConfiguration(); +public:ServerConfiguration();ServerConfiguration(const ServerConfiguration &other); + static ServerConfiguration fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/sessioninfo.h b/core/include/JellyfinQt/DTO/sessioninfo.h index 880281f..0d544c1 100644 --- a/core/include/JellyfinQt/DTO/sessioninfo.h +++ b/core/include/JellyfinQt/DTO/sessioninfo.h @@ -55,8 +55,8 @@ namespace DTO { class SessionInfo { -public: - explicit SessionInfo(); +public:SessionInfo();SessionInfo(const SessionInfo &other); + static SessionInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/sessionuserinfo.h b/core/include/JellyfinQt/DTO/sessionuserinfo.h index 6fd172f..a3606d2 100644 --- a/core/include/JellyfinQt/DTO/sessionuserinfo.h +++ b/core/include/JellyfinQt/DTO/sessionuserinfo.h @@ -43,8 +43,8 @@ namespace DTO { class SessionUserInfo { -public: - explicit SessionUserInfo(); +public:SessionUserInfo();SessionUserInfo(const SessionUserInfo &other); + static SessionUserInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/setchannelmappingdto.h b/core/include/JellyfinQt/DTO/setchannelmappingdto.h index fddbbdc..8205c43 100644 --- a/core/include/JellyfinQt/DTO/setchannelmappingdto.h +++ b/core/include/JellyfinQt/DTO/setchannelmappingdto.h @@ -42,8 +42,8 @@ namespace DTO { class SetChannelMappingDto { -public: - explicit SetChannelMappingDto(); +public:SetChannelMappingDto();SetChannelMappingDto(const SetChannelMappingDto &other); + static SetChannelMappingDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/setplaylistitemrequestdto.h b/core/include/JellyfinQt/DTO/setplaylistitemrequestdto.h index 7162a05..0d89de7 100644 --- a/core/include/JellyfinQt/DTO/setplaylistitemrequestdto.h +++ b/core/include/JellyfinQt/DTO/setplaylistitemrequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class SetPlaylistItemRequestDto { -public: - explicit SetPlaylistItemRequestDto(); +public:SetPlaylistItemRequestDto();SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other); + static SetPlaylistItemRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/setrepeatmoderequestdto.h b/core/include/JellyfinQt/DTO/setrepeatmoderequestdto.h index ffcb72b..cd97edc 100644 --- a/core/include/JellyfinQt/DTO/setrepeatmoderequestdto.h +++ b/core/include/JellyfinQt/DTO/setrepeatmoderequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class SetRepeatModeRequestDto { -public: - explicit SetRepeatModeRequestDto(); +public:SetRepeatModeRequestDto();SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other); + static SetRepeatModeRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/setshufflemoderequestdto.h b/core/include/JellyfinQt/DTO/setshufflemoderequestdto.h index 1b1a664..957ea58 100644 --- a/core/include/JellyfinQt/DTO/setshufflemoderequestdto.h +++ b/core/include/JellyfinQt/DTO/setshufflemoderequestdto.h @@ -42,8 +42,8 @@ namespace DTO { class SetShuffleModeRequestDto { -public: - explicit SetShuffleModeRequestDto(); +public:SetShuffleModeRequestDto();SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other); + static SetShuffleModeRequestDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/songinfo.h b/core/include/JellyfinQt/DTO/songinfo.h index 81067f5..c70688b 100644 --- a/core/include/JellyfinQt/DTO/songinfo.h +++ b/core/include/JellyfinQt/DTO/songinfo.h @@ -45,8 +45,8 @@ namespace DTO { class SongInfo { -public: - explicit SongInfo(); +public:SongInfo();SongInfo(const SongInfo &other); + static SongInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/specialviewoptiondto.h b/core/include/JellyfinQt/DTO/specialviewoptiondto.h index c8183cd..945a2c6 100644 --- a/core/include/JellyfinQt/DTO/specialviewoptiondto.h +++ b/core/include/JellyfinQt/DTO/specialviewoptiondto.h @@ -42,8 +42,8 @@ namespace DTO { class SpecialViewOptionDto { -public: - explicit SpecialViewOptionDto(); +public:SpecialViewOptionDto();SpecialViewOptionDto(const SpecialViewOptionDto &other); + static SpecialViewOptionDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/startupconfigurationdto.h b/core/include/JellyfinQt/DTO/startupconfigurationdto.h index f6d0509..7cd38ee 100644 --- a/core/include/JellyfinQt/DTO/startupconfigurationdto.h +++ b/core/include/JellyfinQt/DTO/startupconfigurationdto.h @@ -42,8 +42,8 @@ namespace DTO { class StartupConfigurationDto { -public: - explicit StartupConfigurationDto(); +public:StartupConfigurationDto();StartupConfigurationDto(const StartupConfigurationDto &other); + static StartupConfigurationDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/startupremoteaccessdto.h b/core/include/JellyfinQt/DTO/startupremoteaccessdto.h index a568484..fcaae0f 100644 --- a/core/include/JellyfinQt/DTO/startupremoteaccessdto.h +++ b/core/include/JellyfinQt/DTO/startupremoteaccessdto.h @@ -41,8 +41,8 @@ namespace DTO { class StartupRemoteAccessDto { -public: - explicit StartupRemoteAccessDto(); +public:StartupRemoteAccessDto();StartupRemoteAccessDto(const StartupRemoteAccessDto &other); + static StartupRemoteAccessDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/startupuserdto.h b/core/include/JellyfinQt/DTO/startupuserdto.h index 13ea286..bf7dd7e 100644 --- a/core/include/JellyfinQt/DTO/startupuserdto.h +++ b/core/include/JellyfinQt/DTO/startupuserdto.h @@ -42,8 +42,8 @@ namespace DTO { class StartupUserDto { -public: - explicit StartupUserDto(); +public:StartupUserDto();StartupUserDto(const StartupUserDto &other); + static StartupUserDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/subtitleprofile.h b/core/include/JellyfinQt/DTO/subtitleprofile.h index eecda65..7c33209 100644 --- a/core/include/JellyfinQt/DTO/subtitleprofile.h +++ b/core/include/JellyfinQt/DTO/subtitleprofile.h @@ -43,8 +43,8 @@ namespace DTO { class SubtitleProfile { -public: - explicit SubtitleProfile(); +public:SubtitleProfile();SubtitleProfile(const SubtitleProfile &other); + static SubtitleProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/systeminfo.h b/core/include/JellyfinQt/DTO/systeminfo.h index 2c079eb..1928bb6 100644 --- a/core/include/JellyfinQt/DTO/systeminfo.h +++ b/core/include/JellyfinQt/DTO/systeminfo.h @@ -48,8 +48,8 @@ namespace DTO { class SystemInfo { -public: - explicit SystemInfo(); +public:SystemInfo();SystemInfo(const SystemInfo &other); + static SystemInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/taskinfo.h b/core/include/JellyfinQt/DTO/taskinfo.h index c4a0be8..1c9f2c4 100644 --- a/core/include/JellyfinQt/DTO/taskinfo.h +++ b/core/include/JellyfinQt/DTO/taskinfo.h @@ -48,8 +48,8 @@ namespace DTO { class TaskInfo { -public: - explicit TaskInfo(); +public:TaskInfo();TaskInfo(const TaskInfo &other); + static TaskInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/taskresult.h b/core/include/JellyfinQt/DTO/taskresult.h index 65c207c..f0a46f8 100644 --- a/core/include/JellyfinQt/DTO/taskresult.h +++ b/core/include/JellyfinQt/DTO/taskresult.h @@ -44,8 +44,8 @@ namespace DTO { class TaskResult { -public: - explicit TaskResult(); +public:TaskResult();TaskResult(const TaskResult &other); + static TaskResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/tasktriggerinfo.h b/core/include/JellyfinQt/DTO/tasktriggerinfo.h index 02b42aa..3fcad02 100644 --- a/core/include/JellyfinQt/DTO/tasktriggerinfo.h +++ b/core/include/JellyfinQt/DTO/tasktriggerinfo.h @@ -43,8 +43,8 @@ namespace DTO { class TaskTriggerInfo { -public: - explicit TaskTriggerInfo(); +public:TaskTriggerInfo();TaskTriggerInfo(const TaskTriggerInfo &other); + static TaskTriggerInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/thememediaresult.h b/core/include/JellyfinQt/DTO/thememediaresult.h index a80ef95..a4d3273 100644 --- a/core/include/JellyfinQt/DTO/thememediaresult.h +++ b/core/include/JellyfinQt/DTO/thememediaresult.h @@ -46,8 +46,8 @@ namespace DTO { class ThemeMediaResult { -public: - explicit ThemeMediaResult(); +public:ThemeMediaResult();ThemeMediaResult(const ThemeMediaResult &other); + static ThemeMediaResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/timereventinfo.h b/core/include/JellyfinQt/DTO/timereventinfo.h index 5838c85..b13e161 100644 --- a/core/include/JellyfinQt/DTO/timereventinfo.h +++ b/core/include/JellyfinQt/DTO/timereventinfo.h @@ -43,8 +43,8 @@ namespace DTO { class TimerEventInfo { -public: - explicit TimerEventInfo(); +public:TimerEventInfo();TimerEventInfo(const TimerEventInfo &other); + static TimerEventInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/timerinfodto.h b/core/include/JellyfinQt/DTO/timerinfodto.h index b6ed51c..abf2ed0 100644 --- a/core/include/JellyfinQt/DTO/timerinfodto.h +++ b/core/include/JellyfinQt/DTO/timerinfodto.h @@ -50,8 +50,8 @@ namespace DTO { class TimerInfoDto { -public: - explicit TimerInfoDto(); +public:TimerInfoDto();TimerInfoDto(const TimerInfoDto &other); + static TimerInfoDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/timerinfodtoqueryresult.h b/core/include/JellyfinQt/DTO/timerinfodtoqueryresult.h index 7d0e89d..ece821a 100644 --- a/core/include/JellyfinQt/DTO/timerinfodtoqueryresult.h +++ b/core/include/JellyfinQt/DTO/timerinfodtoqueryresult.h @@ -45,8 +45,8 @@ namespace DTO { class TimerInfoDtoQueryResult { -public: - explicit TimerInfoDtoQueryResult(); +public:TimerInfoDtoQueryResult();TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other); + static TimerInfoDtoQueryResult fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/trailerinfo.h b/core/include/JellyfinQt/DTO/trailerinfo.h index 690d2ab..3ee669a 100644 --- a/core/include/JellyfinQt/DTO/trailerinfo.h +++ b/core/include/JellyfinQt/DTO/trailerinfo.h @@ -43,8 +43,8 @@ namespace DTO { class TrailerInfo { -public: - explicit TrailerInfo(); +public:TrailerInfo();TrailerInfo(const TrailerInfo &other); + static TrailerInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h b/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h index f4c9d53..acd0741 100644 --- a/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h +++ b/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h @@ -45,8 +45,8 @@ namespace DTO { class TrailerInfoRemoteSearchQuery { -public: - explicit TrailerInfoRemoteSearchQuery(); +public:TrailerInfoRemoteSearchQuery();TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other); + static TrailerInfoRemoteSearchQuery fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/transcodinginfo.h b/core/include/JellyfinQt/DTO/transcodinginfo.h index cbb5362..cec54c3 100644 --- a/core/include/JellyfinQt/DTO/transcodinginfo.h +++ b/core/include/JellyfinQt/DTO/transcodinginfo.h @@ -45,8 +45,8 @@ namespace DTO { class TranscodingInfo { -public: - explicit TranscodingInfo(); +public:TranscodingInfo();TranscodingInfo(const TranscodingInfo &other); + static TranscodingInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/transcodingprofile.h b/core/include/JellyfinQt/DTO/transcodingprofile.h index 97bfcd0..caeff96 100644 --- a/core/include/JellyfinQt/DTO/transcodingprofile.h +++ b/core/include/JellyfinQt/DTO/transcodingprofile.h @@ -45,8 +45,8 @@ namespace DTO { class TranscodingProfile { -public: - explicit TranscodingProfile(); +public:TranscodingProfile();TranscodingProfile(const TranscodingProfile &other); + static TranscodingProfile fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/tunerchannelmapping.h b/core/include/JellyfinQt/DTO/tunerchannelmapping.h index cd23947..aa5b136 100644 --- a/core/include/JellyfinQt/DTO/tunerchannelmapping.h +++ b/core/include/JellyfinQt/DTO/tunerchannelmapping.h @@ -42,8 +42,8 @@ namespace DTO { class TunerChannelMapping { -public: - explicit TunerChannelMapping(); +public:TunerChannelMapping();TunerChannelMapping(const TunerChannelMapping &other); + static TunerChannelMapping fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/tunerhostinfo.h b/core/include/JellyfinQt/DTO/tunerhostinfo.h index edcd3bb..0ceeb8d 100644 --- a/core/include/JellyfinQt/DTO/tunerhostinfo.h +++ b/core/include/JellyfinQt/DTO/tunerhostinfo.h @@ -42,8 +42,8 @@ namespace DTO { class TunerHostInfo { -public: - explicit TunerHostInfo(); +public:TunerHostInfo();TunerHostInfo(const TunerHostInfo &other); + static TunerHostInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/typeoptions.h b/core/include/JellyfinQt/DTO/typeoptions.h index 8967508..4005f7f 100644 --- a/core/include/JellyfinQt/DTO/typeoptions.h +++ b/core/include/JellyfinQt/DTO/typeoptions.h @@ -46,8 +46,8 @@ namespace DTO { class TypeOptions { -public: - explicit TypeOptions(); +public:TypeOptions();TypeOptions(const TypeOptions &other); + static TypeOptions fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/updatelibraryoptionsdto.h b/core/include/JellyfinQt/DTO/updatelibraryoptionsdto.h index 97126ee..ce11fb8 100644 --- a/core/include/JellyfinQt/DTO/updatelibraryoptionsdto.h +++ b/core/include/JellyfinQt/DTO/updatelibraryoptionsdto.h @@ -44,8 +44,8 @@ namespace DTO { class UpdateLibraryOptionsDto { -public: - explicit UpdateLibraryOptionsDto(); +public:UpdateLibraryOptionsDto();UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other); + static UpdateLibraryOptionsDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/updateusereasypassword.h b/core/include/JellyfinQt/DTO/updateusereasypassword.h index f944ea7..cd25338 100644 --- a/core/include/JellyfinQt/DTO/updateusereasypassword.h +++ b/core/include/JellyfinQt/DTO/updateusereasypassword.h @@ -42,8 +42,8 @@ namespace DTO { class UpdateUserEasyPassword { -public: - explicit UpdateUserEasyPassword(); +public:UpdateUserEasyPassword();UpdateUserEasyPassword(const UpdateUserEasyPassword &other); + static UpdateUserEasyPassword fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/updateuserpassword.h b/core/include/JellyfinQt/DTO/updateuserpassword.h index 37920c0..b896c81 100644 --- a/core/include/JellyfinQt/DTO/updateuserpassword.h +++ b/core/include/JellyfinQt/DTO/updateuserpassword.h @@ -42,8 +42,8 @@ namespace DTO { class UpdateUserPassword { -public: - explicit UpdateUserPassword(); +public:UpdateUserPassword();UpdateUserPassword(const UpdateUserPassword &other); + static UpdateUserPassword fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/uploadsubtitledto.h b/core/include/JellyfinQt/DTO/uploadsubtitledto.h index 7d61467..3589ca0 100644 --- a/core/include/JellyfinQt/DTO/uploadsubtitledto.h +++ b/core/include/JellyfinQt/DTO/uploadsubtitledto.h @@ -42,8 +42,8 @@ namespace DTO { class UploadSubtitleDto { -public: - explicit UploadSubtitleDto(); +public:UploadSubtitleDto();UploadSubtitleDto(const UploadSubtitleDto &other); + static UploadSubtitleDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/userconfiguration.h b/core/include/JellyfinQt/DTO/userconfiguration.h index b87bfa9..7e13987 100644 --- a/core/include/JellyfinQt/DTO/userconfiguration.h +++ b/core/include/JellyfinQt/DTO/userconfiguration.h @@ -45,8 +45,8 @@ namespace DTO { class UserConfiguration { -public: - explicit UserConfiguration(); +public:UserConfiguration();UserConfiguration(const UserConfiguration &other); + static UserConfiguration fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/userdto.h b/core/include/JellyfinQt/DTO/userdto.h index 371e563..8678ac2 100644 --- a/core/include/JellyfinQt/DTO/userdto.h +++ b/core/include/JellyfinQt/DTO/userdto.h @@ -47,8 +47,8 @@ namespace DTO { class UserDto { -public: - explicit UserDto(); +public:UserDto();UserDto(const UserDto &other); + static UserDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/useritemdatadto.h b/core/include/JellyfinQt/DTO/useritemdatadto.h index 3371bd5..ab492c9 100644 --- a/core/include/JellyfinQt/DTO/useritemdatadto.h +++ b/core/include/JellyfinQt/DTO/useritemdatadto.h @@ -43,8 +43,8 @@ namespace DTO { class UserItemDataDto { -public: - explicit UserItemDataDto(); +public:UserItemDataDto();UserItemDataDto(const UserItemDataDto &other); + static UserItemDataDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/userpolicy.h b/core/include/JellyfinQt/DTO/userpolicy.h index 012c12f..b2c1abb 100644 --- a/core/include/JellyfinQt/DTO/userpolicy.h +++ b/core/include/JellyfinQt/DTO/userpolicy.h @@ -49,8 +49,8 @@ namespace DTO { class UserPolicy { -public: - explicit UserPolicy(); +public:UserPolicy();UserPolicy(const UserPolicy &other); + static UserPolicy fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/utctimeresponse.h b/core/include/JellyfinQt/DTO/utctimeresponse.h index 8006002..da1a006 100644 --- a/core/include/JellyfinQt/DTO/utctimeresponse.h +++ b/core/include/JellyfinQt/DTO/utctimeresponse.h @@ -42,8 +42,8 @@ namespace DTO { class UtcTimeResponse { -public: - explicit UtcTimeResponse(); +public:UtcTimeResponse();UtcTimeResponse(const UtcTimeResponse &other); + static UtcTimeResponse fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/validatepathdto.h b/core/include/JellyfinQt/DTO/validatepathdto.h index b900dd7..8c9aec3 100644 --- a/core/include/JellyfinQt/DTO/validatepathdto.h +++ b/core/include/JellyfinQt/DTO/validatepathdto.h @@ -42,8 +42,8 @@ namespace DTO { class ValidatePathDto { -public: - explicit ValidatePathDto(); +public:ValidatePathDto();ValidatePathDto(const ValidatePathDto &other); + static ValidatePathDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/version.h b/core/include/JellyfinQt/DTO/version.h index 33b70c4..5edca6f 100644 --- a/core/include/JellyfinQt/DTO/version.h +++ b/core/include/JellyfinQt/DTO/version.h @@ -41,8 +41,8 @@ namespace DTO { class Version { -public: - explicit Version(); +public:Version();Version(const Version &other); + static Version fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/versioninfo.h b/core/include/JellyfinQt/DTO/versioninfo.h index bf5ed80..98bcb8d 100644 --- a/core/include/JellyfinQt/DTO/versioninfo.h +++ b/core/include/JellyfinQt/DTO/versioninfo.h @@ -44,8 +44,8 @@ namespace DTO { class VersionInfo { -public: - explicit VersionInfo(); +public:VersionInfo();VersionInfo(const VersionInfo &other); + static VersionInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/virtualfolderinfo.h b/core/include/JellyfinQt/DTO/virtualfolderinfo.h index e7cee2f..6fdd220 100644 --- a/core/include/JellyfinQt/DTO/virtualfolderinfo.h +++ b/core/include/JellyfinQt/DTO/virtualfolderinfo.h @@ -46,8 +46,8 @@ namespace DTO { class VirtualFolderInfo { -public: - explicit VirtualFolderInfo(); +public:VirtualFolderInfo();VirtualFolderInfo(const VirtualFolderInfo &other); + static VirtualFolderInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/wakeonlaninfo.h b/core/include/JellyfinQt/DTO/wakeonlaninfo.h index 4762e8e..a27b9fa 100644 --- a/core/include/JellyfinQt/DTO/wakeonlaninfo.h +++ b/core/include/JellyfinQt/DTO/wakeonlaninfo.h @@ -42,8 +42,8 @@ namespace DTO { class WakeOnLanInfo { -public: - explicit WakeOnLanInfo(); +public:WakeOnLanInfo();WakeOnLanInfo(const WakeOnLanInfo &other); + static WakeOnLanInfo fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/DTO/xmlattribute.h b/core/include/JellyfinQt/DTO/xmlattribute.h index 57c5aff..5c7f516 100644 --- a/core/include/JellyfinQt/DTO/xmlattribute.h +++ b/core/include/JellyfinQt/DTO/xmlattribute.h @@ -42,8 +42,8 @@ namespace DTO { class XmlAttribute { -public: - explicit XmlAttribute(); +public:XmlAttribute();XmlAttribute(const XmlAttribute &other); + static XmlAttribute fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson(); diff --git a/core/include/JellyfinQt/apiclient.h b/core/include/JellyfinQt/apiclient.h index 7cb4d64..060dd0a 100644 --- a/core/include/JellyfinQt/apiclient.h +++ b/core/include/JellyfinQt/apiclient.h @@ -28,6 +28,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include #include +#include #include #include #include @@ -36,8 +37,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include #include +#include "dto/generalcommandtype.h" +#include "support/jsonconv.h" #include "credentialmanager.h" #include "deviceprofile.h" +#include "eventbus.h" #include "websocket.h" namespace Jellyfin { @@ -88,7 +92,9 @@ public: Q_PROPERTY(QString userId READ userId NOTIFY userIdChanged) Q_PROPERTY(QJsonObject deviceProfile READ deviceProfile NOTIFY deviceProfileChanged) Q_PROPERTY(QString version READ version) - Q_PROPERTY(WebSocket *websocket READ websocket NOTIFY websocketChanged) + Q_PROPERTY(EventBus *eventbus READ eventbus FINAL) + Q_PROPERTY(WebSocket *websocket READ websocket FINAL) + Q_PROPERTY(QList supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged) /*QNetworkReply *handleRequest(QString path, QStringList sort, Pagination *pagination, QVariantMap filters, QStringList fields, QStringList expand, QString id);*/ @@ -104,7 +110,6 @@ public: QNetworkReply *get(const QString &path, const QUrlQuery ¶ms = QUrlQuery()); QNetworkReply *post(const QString &path, const QJsonDocument &data = QJsonDocument(), const QUrlQuery ¶ms = QUrlQuery()); - void getPublicUsers(); enum ApiError { JSON_ERROR, @@ -113,11 +118,30 @@ public: INVALID_PASSWORD }; - QString &baseUrl() { return this->m_baseUrl; } - QString &userId() { return m_userId; } + const QString &baseUrl() const { return this->m_baseUrl; } + const QString &userId() const { return m_userId; } + const QString &deviceId() const { return m_deviceId; } + /** + * @brief QML applications can set this type to indicate which commands they support. + * + * These commands can be sent by other Jellyfin clients to instruct this Jellyfin client to play a + * certain item, control playback and so on. + * + * This property must be set before restoreSavedSession() is called and not be changed afterwards. + * The list support commands will be sent to the Jellyfin server. QML applications should listen to + * the events emitted by the eventBus and act accordingly. + */ + QList supportedCommands() const { return m_supportedCommands; } + void setSupportedCommands(QList newSupportedCommands) { m_supportedCommands = newSupportedCommands; } QJsonObject &deviceProfile() { return m_deviceProfile; } QJsonObject &playbackDeviceProfile() { return m_playbackDeviceProfile; } + /** + * @brief Retrieves the authentication token. Null QString if not authenticated. + * @note This is not the full authentication header, just the token. + */ + QString &token() { return m_token; } QString version() const; + EventBus *eventbus() const { return m_eventbus; } WebSocket *websocket() const { return m_webSocket; } /** @@ -128,8 +152,12 @@ public: * funky casts. */ void setDefaultErrorHandler(QNetworkReply *rep) { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) + connect(rep, &QNetworkReply::errorOccurred, this, &ApiClient::defaultNetworkErrorHandler); +#else connect(rep, static_cast(&QNetworkReply::error), this, &ApiClient::defaultNetworkErrorHandler); +#endif } signals: /* @@ -155,7 +183,8 @@ signals: void userIdChanged(QString userId); void deviceProfileChanged(); - void websocketChanged(WebSocket *newWebsocket); + + void supportedCommandsChanged(); /** * @brief onUserDataChanged Emitted when the user data of an item is changed on the server. @@ -224,7 +253,6 @@ protected: */ void generateDeviceProfile(); - QString &token() { return m_token; } private: QNetworkAccessManager m_naManager; @@ -232,6 +260,7 @@ private: * State information */ WebSocket *m_webSocket; + EventBus *m_eventbus; CredentialsManager * m_credManager; QString m_token; QString m_deviceName; @@ -239,6 +268,7 @@ private: QString m_userId = ""; QJsonObject m_deviceProfile; QJsonObject m_playbackDeviceProfile; + QList m_supportedCommands; bool m_authenticated = false; /** @@ -261,12 +291,18 @@ private: * Utilities */ + /** + * @brief Retreives the device ID or generates a random one. + */ + QUuid retrieveDeviceId(); + /** * @brief Returns the statusCode of a QNetworkReply * @param The reply to obtain the statusCode of * @return The statuscode of the reply * - * Seriously, Qt, why is your method to obtain the status code of a request so horrendous? + * Seriously, Qt, why is your method to obtain the status code of a request so tedious? + * It could've just been a rep->statusCode(); */ static inline int statusCode(QNetworkReply *rep) { return rep->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); diff --git a/core/include/JellyfinQt/apimodel.h b/core/include/JellyfinQt/apimodel.h index 50b29a8..cc2d874 100644 --- a/core/include/JellyfinQt/apimodel.h +++ b/core/include/JellyfinQt/apimodel.h @@ -33,9 +33,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "apiclient.h" #include "jsonhelper.h" -#include "DTO/baseitemdto.h" -#include "DTO/userdto.h" -#include "DTO/useritemdatadto.h" +#include "dto/baseitemdto.h" +#include "dto/userdto.h" +#include "dto/useritemdatadto.h" namespace Jellyfin { diff --git a/core/include/JellyfinQt/dto/accessschedule.h b/core/include/JellyfinQt/dto/accessschedule.h new file mode 100644 index 0000000..87ea0fd --- /dev/null +++ b/core/include/JellyfinQt/dto/accessschedule.h @@ -0,0 +1,113 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ACCESSSCHEDULE_H +#define JELLYFIN_DTO_ACCESSSCHEDULE_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/dynamicdayofweek.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AccessSchedule { +public: + AccessSchedule(); + AccessSchedule(const AccessSchedule &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AccessSchedule &other); + + static AccessSchedule fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the id of this instance. + */ + qint32 jellyfinId() const; + /** + * @brief Gets or sets the id of this instance. + */ + void setJellyfinId(qint32 newJellyfinId); + + /** + * @brief Gets or sets the id of the associated user. + */ + QString userId() const; + /** + * @brief Gets or sets the id of the associated user. + */ + void setUserId(QString newUserId); + + + DynamicDayOfWeek dayOfWeek() const; + + void setDayOfWeek(DynamicDayOfWeek newDayOfWeek); + + /** + * @brief Gets or sets the start hour. + */ + double startHour() const; + /** + * @brief Gets or sets the start hour. + */ + void setStartHour(double newStartHour); + + /** + * @brief Gets or sets the end hour. + */ + double endHour() const; + /** + * @brief Gets or sets the end hour. + */ + void setEndHour(double newEndHour); + + +protected: + qint32 m_jellyfinId; + QString m_userId; + DynamicDayOfWeek m_dayOfWeek; + double m_startHour; + double m_endHour; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ACCESSSCHEDULE_H diff --git a/core/include/JellyfinQt/dto/activitylogentry.h b/core/include/JellyfinQt/dto/activitylogentry.h new file mode 100644 index 0000000..9ab7b12 --- /dev/null +++ b/core/include/JellyfinQt/dto/activitylogentry.h @@ -0,0 +1,176 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ACTIVITYLOGENTRY_H +#define JELLYFIN_DTO_ACTIVITYLOGENTRY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/loglevel.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ActivityLogEntry { +public: + ActivityLogEntry(); + ActivityLogEntry(const ActivityLogEntry &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ActivityLogEntry &other); + + static ActivityLogEntry fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the identifier. + */ + qint64 jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(qint64 newJellyfinId); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the overview. + */ + QString overview() const; + /** + * @brief Gets or sets the overview. + */ + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + /** + * @brief Gets or sets the short overview. + */ + QString shortOverview() const; + /** + * @brief Gets or sets the short overview. + */ + void setShortOverview(QString newShortOverview); + bool shortOverviewNull() const; + void setShortOverviewNull(); + + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + bool itemIdNull() const; + void setItemIdNull(); + + /** + * @brief Gets or sets the date. + */ + QDateTime date() const; + /** + * @brief Gets or sets the date. + */ + void setDate(QDateTime newDate); + + /** + * @brief Gets or sets the user identifier. + */ + QString userId() const; + /** + * @brief Gets or sets the user identifier. + */ + void setUserId(QString newUserId); + + /** + * @brief Gets or sets the user primary image tag. + */ + QString userPrimaryImageTag() const; + /** + * @brief Gets or sets the user primary image tag. + */ + void setUserPrimaryImageTag(QString newUserPrimaryImageTag); + bool userPrimaryImageTagNull() const; + void setUserPrimaryImageTagNull(); + + + LogLevel severity() const; + + void setSeverity(LogLevel newSeverity); + + +protected: + qint64 m_jellyfinId; + QString m_name; + QString m_overview; + QString m_shortOverview; + QString m_type; + QString m_itemId; + QDateTime m_date; + QString m_userId; + QString m_userPrimaryImageTag; + LogLevel m_severity; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ACTIVITYLOGENTRY_H diff --git a/core/include/JellyfinQt/dto/activitylogentryqueryresult.h b/core/include/JellyfinQt/dto/activitylogentryqueryresult.h new file mode 100644 index 0000000..2f99961 --- /dev/null +++ b/core/include/JellyfinQt/dto/activitylogentryqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H +#define JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/activitylogentry.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ActivityLogEntryQueryResult { +public: + ActivityLogEntryQueryResult(); + ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ActivityLogEntryQueryResult &other); + + static ActivityLogEntryQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/addvirtualfolderdto.h b/core/include/JellyfinQt/dto/addvirtualfolderdto.h new file mode 100644 index 0000000..1cf93ce --- /dev/null +++ b/core/include/JellyfinQt/dto/addvirtualfolderdto.h @@ -0,0 +1,73 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H +#define JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/libraryoptions.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AddVirtualFolderDto { +public: + AddVirtualFolderDto(); + AddVirtualFolderDto(const AddVirtualFolderDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AddVirtualFolderDto &other); + + static AddVirtualFolderDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer libraryOptions() const; + + void setLibraryOptions(QSharedPointer newLibraryOptions); + + +protected: + QSharedPointer m_libraryOptions = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H diff --git a/core/include/JellyfinQt/dto/albuminfo.h b/core/include/JellyfinQt/dto/albuminfo.h new file mode 100644 index 0000000..5243bb4 --- /dev/null +++ b/core/include/JellyfinQt/dto/albuminfo.h @@ -0,0 +1,205 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ALBUMINFO_H +#define JELLYFIN_DTO_ALBUMINFO_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/songinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AlbumInfo { +public: + AlbumInfo(); + AlbumInfo(const AlbumInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AlbumInfo &other); + + static AlbumInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + /** + * @brief Gets or sets the album artist. + */ + QStringList albumArtists() const; + /** + * @brief Gets or sets the album artist. + */ + void setAlbumArtists(QStringList newAlbumArtists); + bool albumArtistsNull() const; + void setAlbumArtistsNull(); + + /** + * @brief Gets or sets the artist provider ids. + */ + std::optional artistProviderIds() const; + /** + * @brief Gets or sets the artist provider ids. + */ + void setArtistProviderIds(std::optional newArtistProviderIds); + bool artistProviderIdsNull() const; + void setArtistProviderIdsNull(); + + + QList> songInfos() const; + + void setSongInfos(QList> newSongInfos); + bool songInfosNull() const; + void setSongInfosNull(); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_albumArtists; + std::optional m_artistProviderIds = std::nullopt; + QList> m_songInfos; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ALBUMINFO_H diff --git a/core/include/JellyfinQt/dto/albuminforemotesearchquery.h b/core/include/JellyfinQt/dto/albuminforemotesearchquery.h new file mode 100644 index 0000000..cb85b8f --- /dev/null +++ b/core/include/JellyfinQt/dto/albuminforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/albuminfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AlbumInfoRemoteSearchQuery { +public: + AlbumInfoRemoteSearchQuery(); + AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AlbumInfoRemoteSearchQuery &other); + + static AlbumInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/allthememediaresult.h b/core/include/JellyfinQt/dto/allthememediaresult.h new file mode 100644 index 0000000..4afe025 --- /dev/null +++ b/core/include/JellyfinQt/dto/allthememediaresult.h @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H +#define JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/thememediaresult.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AllThemeMediaResult { +public: + AllThemeMediaResult(); + AllThemeMediaResult(const AllThemeMediaResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AllThemeMediaResult &other); + + static AllThemeMediaResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer themeVideosResult() const; + + void setThemeVideosResult(QSharedPointer newThemeVideosResult); + + + QSharedPointer themeSongsResult() const; + + void setThemeSongsResult(QSharedPointer newThemeSongsResult); + + + QSharedPointer soundtrackSongsResult() const; + + void setSoundtrackSongsResult(QSharedPointer newSoundtrackSongsResult); + + +protected: + QSharedPointer m_themeVideosResult = nullptr; + QSharedPointer m_themeSongsResult = nullptr; + QSharedPointer m_soundtrackSongsResult = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H diff --git a/core/include/JellyfinQt/dto/architecture.h b/core/include/JellyfinQt/dto/architecture.h new file mode 100644 index 0000000..d80c868 --- /dev/null +++ b/core/include/JellyfinQt/dto/architecture.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ARCHITECTURE_H +#define JELLYFIN_DTO_ARCHITECTURE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ArchitectureClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + X86, + X64, + Arm, + Arm64, + Wasm, + }; + Q_ENUM(Value) +private: + explicit ArchitectureClass(); +}; + +typedef ArchitectureClass::Value Architecture; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ARCHITECTURE_H diff --git a/core/include/JellyfinQt/dto/artistinfo.h b/core/include/JellyfinQt/dto/artistinfo.h new file mode 100644 index 0000000..cb4f867 --- /dev/null +++ b/core/include/JellyfinQt/dto/artistinfo.h @@ -0,0 +1,181 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ARTISTINFO_H +#define JELLYFIN_DTO_ARTISTINFO_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/songinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ArtistInfo { +public: + ArtistInfo(); + ArtistInfo(const ArtistInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ArtistInfo &other); + + static ArtistInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + + QList> songInfos() const; + + void setSongInfos(QList> newSongInfos); + bool songInfosNull() const; + void setSongInfosNull(); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; + QList> m_songInfos; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ARTISTINFO_H diff --git a/core/include/JellyfinQt/dto/artistinforemotesearchquery.h b/core/include/JellyfinQt/dto/artistinforemotesearchquery.h new file mode 100644 index 0000000..ce69743 --- /dev/null +++ b/core/include/JellyfinQt/dto/artistinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/artistinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ArtistInfoRemoteSearchQuery { +public: + ArtistInfoRemoteSearchQuery(); + ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ArtistInfoRemoteSearchQuery &other); + + static ArtistInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/authenticateuserbyname.h b/core/include/JellyfinQt/dto/authenticateuserbyname.h new file mode 100644 index 0000000..4d51c37 --- /dev/null +++ b/core/include/JellyfinQt/dto/authenticateuserbyname.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H +#define JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AuthenticateUserByName { +public: + AuthenticateUserByName(); + AuthenticateUserByName(const AuthenticateUserByName &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AuthenticateUserByName &other); + + static AuthenticateUserByName fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the username. + */ + QString username() const; + /** + * @brief Gets or sets the username. + */ + void setUsername(QString newUsername); + bool usernameNull() const; + void setUsernameNull(); + + /** + * @brief Gets or sets the plain text password. + */ + QString pw() const; + /** + * @brief Gets or sets the plain text password. + */ + void setPw(QString newPw); + bool pwNull() const; + void setPwNull(); + + /** + * @brief Gets or sets the sha1-hashed password. + */ + QString password() const; + /** + * @brief Gets or sets the sha1-hashed password. + */ + void setPassword(QString newPassword); + bool passwordNull() const; + void setPasswordNull(); + + +protected: + QString m_username; + QString m_pw; + QString m_password; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/dto/authenticationinfo.h b/core/include/JellyfinQt/dto/authenticationinfo.h new file mode 100644 index 0000000..a205783 --- /dev/null +++ b/core/include/JellyfinQt/dto/authenticationinfo.h @@ -0,0 +1,193 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATIONINFO_H +#define JELLYFIN_DTO_AUTHENTICATIONINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AuthenticationInfo { +public: + AuthenticationInfo(); + AuthenticationInfo(const AuthenticationInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AuthenticationInfo &other); + + static AuthenticationInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the identifier. + */ + qint64 jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(qint64 newJellyfinId); + + /** + * @brief Gets or sets the access token. + */ + QString accessToken() const; + /** + * @brief Gets or sets the access token. + */ + void setAccessToken(QString newAccessToken); + bool accessTokenNull() const; + void setAccessTokenNull(); + + /** + * @brief Gets or sets the device identifier. + */ + QString deviceId() const; + /** + * @brief Gets or sets the device identifier. + */ + void setDeviceId(QString newDeviceId); + bool deviceIdNull() const; + void setDeviceIdNull(); + + /** + * @brief Gets or sets the name of the application. + */ + QString appName() const; + /** + * @brief Gets or sets the name of the application. + */ + void setAppName(QString newAppName); + bool appNameNull() const; + void setAppNameNull(); + + /** + * @brief Gets or sets the application version. + */ + QString appVersion() const; + /** + * @brief Gets or sets the application version. + */ + void setAppVersion(QString newAppVersion); + bool appVersionNull() const; + void setAppVersionNull(); + + /** + * @brief Gets or sets the name of the device. + */ + QString deviceName() const; + /** + * @brief Gets or sets the name of the device. + */ + void setDeviceName(QString newDeviceName); + bool deviceNameNull() const; + void setDeviceNameNull(); + + /** + * @brief Gets or sets the user identifier. + */ + QString userId() const; + /** + * @brief Gets or sets the user identifier. + */ + void setUserId(QString newUserId); + + /** + * @brief Gets or sets a value indicating whether this instance is active. + */ + bool isActive() const; + /** + * @brief Gets or sets a value indicating whether this instance is active. + */ + void setIsActive(bool newIsActive); + + /** + * @brief Gets or sets the date created. + */ + QDateTime dateCreated() const; + /** + * @brief Gets or sets the date created. + */ + void setDateCreated(QDateTime newDateCreated); + + /** + * @brief Gets or sets the date revoked. + */ + QDateTime dateRevoked() const; + /** + * @brief Gets or sets the date revoked. + */ + void setDateRevoked(QDateTime newDateRevoked); + bool dateRevokedNull() const; + void setDateRevokedNull(); + + + QDateTime dateLastActivity() const; + + void setDateLastActivity(QDateTime newDateLastActivity); + + + QString userName() const; + + void setUserName(QString newUserName); + bool userNameNull() const; + void setUserNameNull(); + + +protected: + qint64 m_jellyfinId; + QString m_accessToken; + QString m_deviceId; + QString m_appName; + QString m_appVersion; + QString m_deviceName; + QString m_userId; + bool m_isActive; + QDateTime m_dateCreated; + QDateTime m_dateRevoked; + QDateTime m_dateLastActivity; + QString m_userName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_AUTHENTICATIONINFO_H diff --git a/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h b/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h new file mode 100644 index 0000000..2002313 --- /dev/null +++ b/core/include/JellyfinQt/dto/authenticationinfoqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H +#define JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/authenticationinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AuthenticationInfoQueryResult { +public: + AuthenticationInfoQueryResult(); + AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AuthenticationInfoQueryResult &other); + + static AuthenticationInfoQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/authenticationresult.h b/core/include/JellyfinQt/dto/authenticationresult.h new file mode 100644 index 0000000..2680ef2 --- /dev/null +++ b/core/include/JellyfinQt/dto/authenticationresult.h @@ -0,0 +1,97 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATIONRESULT_H +#define JELLYFIN_DTO_AUTHENTICATIONRESULT_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/sessioninfo.h" +#include "JellyfinQt/dto/userdto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class AuthenticationResult { +public: + AuthenticationResult(); + AuthenticationResult(const AuthenticationResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(AuthenticationResult &other); + + static AuthenticationResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer user() const; + + void setUser(QSharedPointer newUser); + + + QSharedPointer sessionInfo() const; + + void setSessionInfo(QSharedPointer newSessionInfo); + + + QString accessToken() const; + + void setAccessToken(QString newAccessToken); + bool accessTokenNull() const; + void setAccessTokenNull(); + + + QString serverId() const; + + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + +protected: + QSharedPointer m_user = nullptr; + QSharedPointer m_sessionInfo = nullptr; + QString m_accessToken; + QString m_serverId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_AUTHENTICATIONRESULT_H diff --git a/core/include/JellyfinQt/dto/baseitem.h b/core/include/JellyfinQt/dto/baseitem.h new file mode 100644 index 0000000..1746241 --- /dev/null +++ b/core/include/JellyfinQt/dto/baseitem.h @@ -0,0 +1,151 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEM_H +#define JELLYFIN_DTO_BASEITEM_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediaurl.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BaseItem { +public: + BaseItem(); + BaseItem(const BaseItem &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BaseItem &other); + + static BaseItem fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + std::optional size() const; + + void setSize(std::optional newSize); + bool sizeNull() const; + void setSizeNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + QDateTime dateLastSaved() const; + + void setDateLastSaved(QDateTime newDateLastSaved); + + /** + * @brief Gets or sets the remote trailers. + */ + QList> remoteTrailers() const; + /** + * @brief Gets or sets the remote trailers. + */ + void setRemoteTrailers(QList> newRemoteTrailers); + bool remoteTrailersNull() const; + void setRemoteTrailersNull(); + + + bool isHD() const; + + void setIsHD(bool newIsHD); + + + bool isShortcut() const; + + void setIsShortcut(bool newIsShortcut); + + + QString shortcutPath() const; + + void setShortcutPath(QString newShortcutPath); + bool shortcutPathNull() const; + void setShortcutPathNull(); + + + qint32 width() const; + + void setWidth(qint32 newWidth); + + + qint32 height() const; + + void setHeight(qint32 newHeight); + + + QStringList extraIds() const; + + void setExtraIds(QStringList newExtraIds); + bool extraIdsNull() const; + void setExtraIdsNull(); + + + bool supportsExternalTransfer() const; + + void setSupportsExternalTransfer(bool newSupportsExternalTransfer); + + +protected: + std::optional m_size = std::nullopt; + QString m_container; + QDateTime m_dateLastSaved; + QList> m_remoteTrailers; + bool m_isHD; + bool m_isShortcut; + QString m_shortcutPath; + qint32 m_width; + qint32 m_height; + QStringList m_extraIds; + bool m_supportsExternalTransfer; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BASEITEM_H diff --git a/core/include/JellyfinQt/dto/baseitemdto.h b/core/include/JellyfinQt/dto/baseitemdto.h new file mode 100644 index 0000000..5c143c5 --- /dev/null +++ b/core/include/JellyfinQt/dto/baseitemdto.h @@ -0,0 +1,1704 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEMDTO_H +#define JELLYFIN_DTO_BASEITEMDTO_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemperson.h" +#include "JellyfinQt/dto/channeltype.h" +#include "JellyfinQt/dto/chapterinfo.h" +#include "JellyfinQt/dto/dayofweek.h" +#include "JellyfinQt/dto/externalurl.h" +#include "JellyfinQt/dto/imageorientation.h" +#include "JellyfinQt/dto/isotype.h" +#include "JellyfinQt/dto/locationtype.h" +#include "JellyfinQt/dto/mediasourceinfo.h" +#include "JellyfinQt/dto/mediastream.h" +#include "JellyfinQt/dto/mediaurl.h" +#include "JellyfinQt/dto/metadatafield.h" +#include "JellyfinQt/dto/nameguidpair.h" +#include "JellyfinQt/dto/playaccess.h" +#include "JellyfinQt/dto/programaudio.h" +#include "JellyfinQt/dto/useritemdatadto.h" +#include "JellyfinQt/dto/video3dformat.h" +#include "JellyfinQt/dto/videotype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BaseItemDto { +public: + BaseItemDto(); + BaseItemDto(const BaseItemDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BaseItemDto &other); + + static BaseItemDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString originalTitle() const; + + void setOriginalTitle(QString newOriginalTitle); + bool originalTitleNull() const; + void setOriginalTitleNull(); + + /** + * @brief Gets or sets the server identifier. + */ + QString serverId() const; + /** + * @brief Gets or sets the server identifier. + */ + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + + /** + * @brief Gets or sets the etag. + */ + QString etag() const; + /** + * @brief Gets or sets the etag. + */ + void setEtag(QString newEtag); + bool etagNull() const; + void setEtagNull(); + + /** + * @brief Gets or sets the type of the source. + */ + QString sourceType() const; + /** + * @brief Gets or sets the type of the source. + */ + void setSourceType(QString newSourceType); + bool sourceTypeNull() const; + void setSourceTypeNull(); + + /** + * @brief Gets or sets the playlist item identifier. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playlist item identifier. + */ + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + /** + * @brief Gets or sets the date created. + */ + QDateTime dateCreated() const; + /** + * @brief Gets or sets the date created. + */ + void setDateCreated(QDateTime newDateCreated); + bool dateCreatedNull() const; + void setDateCreatedNull(); + + + QDateTime dateLastMediaAdded() const; + + void setDateLastMediaAdded(QDateTime newDateLastMediaAdded); + bool dateLastMediaAddedNull() const; + void setDateLastMediaAddedNull(); + + + QString extraType() const; + + void setExtraType(QString newExtraType); + bool extraTypeNull() const; + void setExtraTypeNull(); + + + std::optional airsBeforeSeasonNumber() const; + + void setAirsBeforeSeasonNumber(std::optional newAirsBeforeSeasonNumber); + bool airsBeforeSeasonNumberNull() const; + void setAirsBeforeSeasonNumberNull(); + + + std::optional airsAfterSeasonNumber() const; + + void setAirsAfterSeasonNumber(std::optional newAirsAfterSeasonNumber); + bool airsAfterSeasonNumberNull() const; + void setAirsAfterSeasonNumberNull(); + + + std::optional airsBeforeEpisodeNumber() const; + + void setAirsBeforeEpisodeNumber(std::optional newAirsBeforeEpisodeNumber); + bool airsBeforeEpisodeNumberNull() const; + void setAirsBeforeEpisodeNumberNull(); + + + std::optional canDelete() const; + + void setCanDelete(std::optional newCanDelete); + bool canDeleteNull() const; + void setCanDeleteNull(); + + + std::optional canDownload() const; + + void setCanDownload(std::optional newCanDownload); + bool canDownloadNull() const; + void setCanDownloadNull(); + + + std::optional hasSubtitles() const; + + void setHasSubtitles(std::optional newHasSubtitles); + bool hasSubtitlesNull() const; + void setHasSubtitlesNull(); + + + QString preferredMetadataLanguage() const; + + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + bool preferredMetadataLanguageNull() const; + void setPreferredMetadataLanguageNull(); + + + QString preferredMetadataCountryCode() const; + + void setPreferredMetadataCountryCode(QString newPreferredMetadataCountryCode); + bool preferredMetadataCountryCodeNull() const; + void setPreferredMetadataCountryCodeNull(); + + /** + * @brief Gets or sets a value indicating whether [supports synchronize]. + */ + std::optional supportsSync() const; + /** + * @brief Gets or sets a value indicating whether [supports synchronize]. + */ + void setSupportsSync(std::optional newSupportsSync); + bool supportsSyncNull() const; + void setSupportsSyncNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + /** + * @brief Gets or sets the name of the sort. + */ + QString sortName() const; + /** + * @brief Gets or sets the name of the sort. + */ + void setSortName(QString newSortName); + bool sortNameNull() const; + void setSortNameNull(); + + + QString forcedSortName() const; + + void setForcedSortName(QString newForcedSortName); + bool forcedSortNameNull() const; + void setForcedSortNameNull(); + + + Video3DFormat video3DFormat() const; + + void setVideo3DFormat(Video3DFormat newVideo3DFormat); + + /** + * @brief Gets or sets the premiere date. + */ + QDateTime premiereDate() const; + /** + * @brief Gets or sets the premiere date. + */ + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + /** + * @brief Gets or sets the external urls. + */ + QList> externalUrls() const; + /** + * @brief Gets or sets the external urls. + */ + void setExternalUrls(QList> newExternalUrls); + bool externalUrlsNull() const; + void setExternalUrlsNull(); + + /** + * @brief Gets or sets the media versions. + */ + QList> mediaSources() const; + /** + * @brief Gets or sets the media versions. + */ + void setMediaSources(QList> newMediaSources); + bool mediaSourcesNull() const; + void setMediaSourcesNull(); + + /** + * @brief Gets or sets the critic rating. + */ + std::optional criticRating() const; + /** + * @brief Gets or sets the critic rating. + */ + void setCriticRating(std::optional newCriticRating); + bool criticRatingNull() const; + void setCriticRatingNull(); + + + QStringList productionLocations() const; + + void setProductionLocations(QStringList newProductionLocations); + bool productionLocationsNull() const; + void setProductionLocationsNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + std::optional enableMediaSourceDisplay() const; + + void setEnableMediaSourceDisplay(std::optional newEnableMediaSourceDisplay); + bool enableMediaSourceDisplayNull() const; + void setEnableMediaSourceDisplayNull(); + + /** + * @brief Gets or sets the official rating. + */ + QString officialRating() const; + /** + * @brief Gets or sets the official rating. + */ + void setOfficialRating(QString newOfficialRating); + bool officialRatingNull() const; + void setOfficialRatingNull(); + + /** + * @brief Gets or sets the custom rating. + */ + QString customRating() const; + /** + * @brief Gets or sets the custom rating. + */ + void setCustomRating(QString newCustomRating); + bool customRatingNull() const; + void setCustomRatingNull(); + + /** + * @brief Gets or sets the channel identifier. + */ + QString channelId() const; + /** + * @brief Gets or sets the channel identifier. + */ + void setChannelId(QString newChannelId); + bool channelIdNull() const; + void setChannelIdNull(); + + + QString channelName() const; + + void setChannelName(QString newChannelName); + bool channelNameNull() const; + void setChannelNameNull(); + + /** + * @brief Gets or sets the overview. + */ + QString overview() const; + /** + * @brief Gets or sets the overview. + */ + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + /** + * @brief Gets or sets the taglines. + */ + QStringList taglines() const; + /** + * @brief Gets or sets the taglines. + */ + void setTaglines(QStringList newTaglines); + bool taglinesNull() const; + void setTaglinesNull(); + + /** + * @brief Gets or sets the genres. + */ + QStringList genres() const; + /** + * @brief Gets or sets the genres. + */ + void setGenres(QStringList newGenres); + bool genresNull() const; + void setGenresNull(); + + /** + * @brief Gets or sets the community rating. + */ + std::optional communityRating() const; + /** + * @brief Gets or sets the community rating. + */ + void setCommunityRating(std::optional newCommunityRating); + bool communityRatingNull() const; + void setCommunityRatingNull(); + + /** + * @brief Gets or sets the cumulative run time ticks. + */ + std::optional cumulativeRunTimeTicks() const; + /** + * @brief Gets or sets the cumulative run time ticks. + */ + void setCumulativeRunTimeTicks(std::optional newCumulativeRunTimeTicks); + bool cumulativeRunTimeTicksNull() const; + void setCumulativeRunTimeTicksNull(); + + /** + * @brief Gets or sets the run time ticks. + */ + std::optional runTimeTicks() const; + /** + * @brief Gets or sets the run time ticks. + */ + void setRunTimeTicks(std::optional newRunTimeTicks); + bool runTimeTicksNull() const; + void setRunTimeTicksNull(); + + + PlayAccess playAccess() const; + + void setPlayAccess(PlayAccess newPlayAccess); + + /** + * @brief Gets or sets the aspect ratio. + */ + QString aspectRatio() const; + /** + * @brief Gets or sets the aspect ratio. + */ + void setAspectRatio(QString newAspectRatio); + bool aspectRatioNull() const; + void setAspectRatioNull(); + + /** + * @brief Gets or sets the production year. + */ + std::optional productionYear() const; + /** + * @brief Gets or sets the production year. + */ + void setProductionYear(std::optional newProductionYear); + bool productionYearNull() const; + void setProductionYearNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is place holder. + */ + std::optional isPlaceHolder() const; + /** + * @brief Gets or sets a value indicating whether this instance is place holder. + */ + void setIsPlaceHolder(std::optional newIsPlaceHolder); + bool isPlaceHolderNull() const; + void setIsPlaceHolderNull(); + + /** + * @brief Gets or sets the number. + */ + QString number() const; + /** + * @brief Gets or sets the number. + */ + void setNumber(QString newNumber); + bool numberNull() const; + void setNumberNull(); + + + QString channelNumber() const; + + void setChannelNumber(QString newChannelNumber); + bool channelNumberNull() const; + void setChannelNumberNull(); + + /** + * @brief Gets or sets the index number. + */ + std::optional indexNumber() const; + /** + * @brief Gets or sets the index number. + */ + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + /** + * @brief Gets or sets the index number end. + */ + std::optional indexNumberEnd() const; + /** + * @brief Gets or sets the index number end. + */ + void setIndexNumberEnd(std::optional newIndexNumberEnd); + bool indexNumberEndNull() const; + void setIndexNumberEndNull(); + + /** + * @brief Gets or sets the parent index number. + */ + std::optional parentIndexNumber() const; + /** + * @brief Gets or sets the parent index number. + */ + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + /** + * @brief Gets or sets the trailer urls. + */ + QList> remoteTrailers() const; + /** + * @brief Gets or sets the trailer urls. + */ + void setRemoteTrailers(QList> newRemoteTrailers); + bool remoteTrailersNull() const; + void setRemoteTrailersNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is HD. + */ + std::optional isHD() const; + /** + * @brief Gets or sets a value indicating whether this instance is HD. + */ + void setIsHD(std::optional newIsHD); + bool isHDNull() const; + void setIsHDNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is folder. + */ + std::optional isFolder() const; + /** + * @brief Gets or sets a value indicating whether this instance is folder. + */ + void setIsFolder(std::optional newIsFolder); + bool isFolderNull() const; + void setIsFolderNull(); + + /** + * @brief Gets or sets the parent id. + */ + QString parentId() const; + /** + * @brief Gets or sets the parent id. + */ + void setParentId(QString newParentId); + bool parentIdNull() const; + void setParentIdNull(); + + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the people. + */ + QList> people() const; + /** + * @brief Gets or sets the people. + */ + void setPeople(QList> newPeople); + bool peopleNull() const; + void setPeopleNull(); + + /** + * @brief Gets or sets the studios. + */ + QList> studios() const; + /** + * @brief Gets or sets the studios. + */ + void setStudios(QList> newStudios); + bool studiosNull() const; + void setStudiosNull(); + + + QList> genreItems() const; + + void setGenreItems(QList> newGenreItems); + bool genreItemsNull() const; + void setGenreItemsNull(); + + /** + * @brief If the item does not have a logo, this will hold the Id of the Parent that has one. + */ + QString parentLogoItemId() const; + /** + * @brief If the item does not have a logo, this will hold the Id of the Parent that has one. + */ + void setParentLogoItemId(QString newParentLogoItemId); + bool parentLogoItemIdNull() const; + void setParentLogoItemIdNull(); + + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + QString parentBackdropItemId() const; + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + void setParentBackdropItemId(QString newParentBackdropItemId); + bool parentBackdropItemIdNull() const; + void setParentBackdropItemIdNull(); + + /** + * @brief Gets or sets the parent backdrop image tags. + */ + QStringList parentBackdropImageTags() const; + /** + * @brief Gets or sets the parent backdrop image tags. + */ + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + bool parentBackdropImageTagsNull() const; + void setParentBackdropImageTagsNull(); + + /** + * @brief Gets or sets the local trailer count. + */ + std::optional localTrailerCount() const; + /** + * @brief Gets or sets the local trailer count. + */ + void setLocalTrailerCount(std::optional newLocalTrailerCount); + bool localTrailerCountNull() const; + void setLocalTrailerCountNull(); + + + QSharedPointer userData() const; + + void setUserData(QSharedPointer newUserData); + + /** + * @brief Gets or sets the recursive item count. + */ + std::optional recursiveItemCount() const; + /** + * @brief Gets or sets the recursive item count. + */ + void setRecursiveItemCount(std::optional newRecursiveItemCount); + bool recursiveItemCountNull() const; + void setRecursiveItemCountNull(); + + /** + * @brief Gets or sets the child count. + */ + std::optional childCount() const; + /** + * @brief Gets or sets the child count. + */ + void setChildCount(std::optional newChildCount); + bool childCountNull() const; + void setChildCountNull(); + + /** + * @brief Gets or sets the name of the series. + */ + QString seriesName() const; + /** + * @brief Gets or sets the name of the series. + */ + void setSeriesName(QString newSeriesName); + bool seriesNameNull() const; + void setSeriesNameNull(); + + /** + * @brief Gets or sets the series id. + */ + QString seriesId() const; + /** + * @brief Gets or sets the series id. + */ + void setSeriesId(QString newSeriesId); + bool seriesIdNull() const; + void setSeriesIdNull(); + + /** + * @brief Gets or sets the season identifier. + */ + QString seasonId() const; + /** + * @brief Gets or sets the season identifier. + */ + void setSeasonId(QString newSeasonId); + bool seasonIdNull() const; + void setSeasonIdNull(); + + /** + * @brief Gets or sets the special feature count. + */ + std::optional specialFeatureCount() const; + /** + * @brief Gets or sets the special feature count. + */ + void setSpecialFeatureCount(std::optional newSpecialFeatureCount); + bool specialFeatureCountNull() const; + void setSpecialFeatureCountNull(); + + /** + * @brief Gets or sets the display preferences id. + */ + QString displayPreferencesId() const; + /** + * @brief Gets or sets the display preferences id. + */ + void setDisplayPreferencesId(QString newDisplayPreferencesId); + bool displayPreferencesIdNull() const; + void setDisplayPreferencesIdNull(); + + /** + * @brief Gets or sets the status. + */ + QString status() const; + /** + * @brief Gets or sets the status. + */ + void setStatus(QString newStatus); + bool statusNull() const; + void setStatusNull(); + + /** + * @brief Gets or sets the air time. + */ + QString airTime() const; + /** + * @brief Gets or sets the air time. + */ + void setAirTime(QString newAirTime); + bool airTimeNull() const; + void setAirTimeNull(); + + /** + * @brief Gets or sets the air days. + */ + QList airDays() const; + /** + * @brief Gets or sets the air days. + */ + void setAirDays(QList newAirDays); + bool airDaysNull() const; + void setAirDaysNull(); + + /** + * @brief Gets or sets the tags. + */ + QStringList tags() const; + /** + * @brief Gets or sets the tags. + */ + void setTags(QStringList newTags); + bool tagsNull() const; + void setTagsNull(); + + /** + * @brief Gets or sets the primary image aspect ratio, after image enhancements. + */ + std::optional primaryImageAspectRatio() const; + /** + * @brief Gets or sets the primary image aspect ratio, after image enhancements. + */ + void setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio); + bool primaryImageAspectRatioNull() const; + void setPrimaryImageAspectRatioNull(); + + /** + * @brief Gets or sets the artists. + */ + QStringList artists() const; + /** + * @brief Gets or sets the artists. + */ + void setArtists(QStringList newArtists); + bool artistsNull() const; + void setArtistsNull(); + + /** + * @brief Gets or sets the artist items. + */ + QList> artistItems() const; + /** + * @brief Gets or sets the artist items. + */ + void setArtistItems(QList> newArtistItems); + bool artistItemsNull() const; + void setArtistItemsNull(); + + /** + * @brief Gets or sets the album. + */ + QString album() const; + /** + * @brief Gets or sets the album. + */ + void setAlbum(QString newAlbum); + bool albumNull() const; + void setAlbumNull(); + + /** + * @brief Gets or sets the type of the collection. + */ + QString collectionType() const; + /** + * @brief Gets or sets the type of the collection. + */ + void setCollectionType(QString newCollectionType); + bool collectionTypeNull() const; + void setCollectionTypeNull(); + + /** + * @brief Gets or sets the display order. + */ + QString displayOrder() const; + /** + * @brief Gets or sets the display order. + */ + void setDisplayOrder(QString newDisplayOrder); + bool displayOrderNull() const; + void setDisplayOrderNull(); + + /** + * @brief Gets or sets the album id. + */ + QString albumId() const; + /** + * @brief Gets or sets the album id. + */ + void setAlbumId(QString newAlbumId); + bool albumIdNull() const; + void setAlbumIdNull(); + + /** + * @brief Gets or sets the album image tag. + */ + QString albumPrimaryImageTag() const; + /** + * @brief Gets or sets the album image tag. + */ + void setAlbumPrimaryImageTag(QString newAlbumPrimaryImageTag); + bool albumPrimaryImageTagNull() const; + void setAlbumPrimaryImageTagNull(); + + /** + * @brief Gets or sets the series primary image tag. + */ + QString seriesPrimaryImageTag() const; + /** + * @brief Gets or sets the series primary image tag. + */ + void setSeriesPrimaryImageTag(QString newSeriesPrimaryImageTag); + bool seriesPrimaryImageTagNull() const; + void setSeriesPrimaryImageTagNull(); + + /** + * @brief Gets or sets the album artist. + */ + QString albumArtist() const; + /** + * @brief Gets or sets the album artist. + */ + void setAlbumArtist(QString newAlbumArtist); + bool albumArtistNull() const; + void setAlbumArtistNull(); + + /** + * @brief Gets or sets the album artists. + */ + QList> albumArtists() const; + /** + * @brief Gets or sets the album artists. + */ + void setAlbumArtists(QList> newAlbumArtists); + bool albumArtistsNull() const; + void setAlbumArtistsNull(); + + /** + * @brief Gets or sets the name of the season. + */ + QString seasonName() const; + /** + * @brief Gets or sets the name of the season. + */ + void setSeasonName(QString newSeasonName); + bool seasonNameNull() const; + void setSeasonNameNull(); + + /** + * @brief Gets or sets the media streams. + */ + QList> mediaStreams() const; + /** + * @brief Gets or sets the media streams. + */ + void setMediaStreams(QList> newMediaStreams); + bool mediaStreamsNull() const; + void setMediaStreamsNull(); + + + VideoType videoType() const; + + void setVideoType(VideoType newVideoType); + + /** + * @brief Gets or sets the part count. + */ + std::optional partCount() const; + /** + * @brief Gets or sets the part count. + */ + void setPartCount(std::optional newPartCount); + bool partCountNull() const; + void setPartCountNull(); + + + std::optional mediaSourceCount() const; + + void setMediaSourceCount(std::optional newMediaSourceCount); + bool mediaSourceCountNull() const; + void setMediaSourceCountNull(); + + /** + * @brief Gets or sets the image tags. + */ + std::optional imageTags() const; + /** + * @brief Gets or sets the image tags. + */ + void setImageTags(std::optional newImageTags); + bool imageTagsNull() const; + void setImageTagsNull(); + + /** + * @brief Gets or sets the backdrop image tags. + */ + QStringList backdropImageTags() const; + /** + * @brief Gets or sets the backdrop image tags. + */ + void setBackdropImageTags(QStringList newBackdropImageTags); + bool backdropImageTagsNull() const; + void setBackdropImageTagsNull(); + + /** + * @brief Gets or sets the screenshot image tags. + */ + QStringList screenshotImageTags() const; + /** + * @brief Gets or sets the screenshot image tags. + */ + void setScreenshotImageTags(QStringList newScreenshotImageTags); + bool screenshotImageTagsNull() const; + void setScreenshotImageTagsNull(); + + /** + * @brief Gets or sets the parent logo image tag. + */ + QString parentLogoImageTag() const; + /** + * @brief Gets or sets the parent logo image tag. + */ + void setParentLogoImageTag(QString newParentLogoImageTag); + bool parentLogoImageTagNull() const; + void setParentLogoImageTagNull(); + + /** + * @brief If the item does not have a art, this will hold the Id of the Parent that has one. + */ + QString parentArtItemId() const; + /** + * @brief If the item does not have a art, this will hold the Id of the Parent that has one. + */ + void setParentArtItemId(QString newParentArtItemId); + bool parentArtItemIdNull() const; + void setParentArtItemIdNull(); + + /** + * @brief Gets or sets the parent art image tag. + */ + QString parentArtImageTag() const; + /** + * @brief Gets or sets the parent art image tag. + */ + void setParentArtImageTag(QString newParentArtImageTag); + bool parentArtImageTagNull() const; + void setParentArtImageTagNull(); + + /** + * @brief Gets or sets the series thumb image tag. + */ + QString seriesThumbImageTag() const; + /** + * @brief Gets or sets the series thumb image tag. + */ + void setSeriesThumbImageTag(QString newSeriesThumbImageTag); + bool seriesThumbImageTagNull() const; + void setSeriesThumbImageTagNull(); + + /** + * @brief Gets or sets the blurhashes for the image tags. +Maps image type to dictionary mapping image tag to blurhash value. + */ + std::optional imageBlurHashes() const; + /** + * @brief Gets or sets the blurhashes for the image tags. +Maps image type to dictionary mapping image tag to blurhash value. + */ + void setImageBlurHashes(std::optional newImageBlurHashes); + bool imageBlurHashesNull() const; + void setImageBlurHashesNull(); + + /** + * @brief Gets or sets the series studio. + */ + QString seriesStudio() const; + /** + * @brief Gets or sets the series studio. + */ + void setSeriesStudio(QString newSeriesStudio); + bool seriesStudioNull() const; + void setSeriesStudioNull(); + + /** + * @brief Gets or sets the parent thumb item id. + */ + QString parentThumbItemId() const; + /** + * @brief Gets or sets the parent thumb item id. + */ + void setParentThumbItemId(QString newParentThumbItemId); + bool parentThumbItemIdNull() const; + void setParentThumbItemIdNull(); + + /** + * @brief Gets or sets the parent thumb image tag. + */ + QString parentThumbImageTag() const; + /** + * @brief Gets or sets the parent thumb image tag. + */ + void setParentThumbImageTag(QString newParentThumbImageTag); + bool parentThumbImageTagNull() const; + void setParentThumbImageTagNull(); + + /** + * @brief Gets or sets the parent primary image item identifier. + */ + QString parentPrimaryImageItemId() const; + /** + * @brief Gets or sets the parent primary image item identifier. + */ + void setParentPrimaryImageItemId(QString newParentPrimaryImageItemId); + bool parentPrimaryImageItemIdNull() const; + void setParentPrimaryImageItemIdNull(); + + /** + * @brief Gets or sets the parent primary image tag. + */ + QString parentPrimaryImageTag() const; + /** + * @brief Gets or sets the parent primary image tag. + */ + void setParentPrimaryImageTag(QString newParentPrimaryImageTag); + bool parentPrimaryImageTagNull() const; + void setParentPrimaryImageTagNull(); + + /** + * @brief Gets or sets the chapters. + */ + QList> chapters() const; + /** + * @brief Gets or sets the chapters. + */ + void setChapters(QList> newChapters); + bool chaptersNull() const; + void setChaptersNull(); + + + LocationType locationType() const; + + void setLocationType(LocationType newLocationType); + + + IsoType isoType() const; + + void setIsoType(IsoType newIsoType); + + /** + * @brief Gets or sets the type of the media. + */ + QString mediaType() const; + /** + * @brief Gets or sets the type of the media. + */ + void setMediaType(QString newMediaType); + bool mediaTypeNull() const; + void setMediaTypeNull(); + + /** + * @brief Gets or sets the end date. + */ + QDateTime endDate() const; + /** + * @brief Gets or sets the end date. + */ + void setEndDate(QDateTime newEndDate); + bool endDateNull() const; + void setEndDateNull(); + + /** + * @brief Gets or sets the locked fields. + */ + QList lockedFields() const; + /** + * @brief Gets or sets the locked fields. + */ + void setLockedFields(QList newLockedFields); + bool lockedFieldsNull() const; + void setLockedFieldsNull(); + + /** + * @brief Gets or sets the trailer count. + */ + std::optional trailerCount() const; + /** + * @brief Gets or sets the trailer count. + */ + void setTrailerCount(std::optional newTrailerCount); + bool trailerCountNull() const; + void setTrailerCountNull(); + + /** + * @brief Gets or sets the movie count. + */ + std::optional movieCount() const; + /** + * @brief Gets or sets the movie count. + */ + void setMovieCount(std::optional newMovieCount); + bool movieCountNull() const; + void setMovieCountNull(); + + /** + * @brief Gets or sets the series count. + */ + std::optional seriesCount() const; + /** + * @brief Gets or sets the series count. + */ + void setSeriesCount(std::optional newSeriesCount); + bool seriesCountNull() const; + void setSeriesCountNull(); + + + std::optional programCount() const; + + void setProgramCount(std::optional newProgramCount); + bool programCountNull() const; + void setProgramCountNull(); + + /** + * @brief Gets or sets the episode count. + */ + std::optional episodeCount() const; + /** + * @brief Gets or sets the episode count. + */ + void setEpisodeCount(std::optional newEpisodeCount); + bool episodeCountNull() const; + void setEpisodeCountNull(); + + /** + * @brief Gets or sets the song count. + */ + std::optional songCount() const; + /** + * @brief Gets or sets the song count. + */ + void setSongCount(std::optional newSongCount); + bool songCountNull() const; + void setSongCountNull(); + + /** + * @brief Gets or sets the album count. + */ + std::optional albumCount() const; + /** + * @brief Gets or sets the album count. + */ + void setAlbumCount(std::optional newAlbumCount); + bool albumCountNull() const; + void setAlbumCountNull(); + + + std::optional artistCount() const; + + void setArtistCount(std::optional newArtistCount); + bool artistCountNull() const; + void setArtistCountNull(); + + /** + * @brief Gets or sets the music video count. + */ + std::optional musicVideoCount() const; + /** + * @brief Gets or sets the music video count. + */ + void setMusicVideoCount(std::optional newMusicVideoCount); + bool musicVideoCountNull() const; + void setMusicVideoCountNull(); + + /** + * @brief Gets or sets a value indicating whether [enable internet providers]. + */ + std::optional lockData() const; + /** + * @brief Gets or sets a value indicating whether [enable internet providers]. + */ + void setLockData(std::optional newLockData); + bool lockDataNull() const; + void setLockDataNull(); + + + std::optional width() const; + + void setWidth(std::optional newWidth); + bool widthNull() const; + void setWidthNull(); + + + std::optional height() const; + + void setHeight(std::optional newHeight); + bool heightNull() const; + void setHeightNull(); + + + QString cameraMake() const; + + void setCameraMake(QString newCameraMake); + bool cameraMakeNull() const; + void setCameraMakeNull(); + + + QString cameraModel() const; + + void setCameraModel(QString newCameraModel); + bool cameraModelNull() const; + void setCameraModelNull(); + + + QString software() const; + + void setSoftware(QString newSoftware); + bool softwareNull() const; + void setSoftwareNull(); + + + std::optional exposureTime() const; + + void setExposureTime(std::optional newExposureTime); + bool exposureTimeNull() const; + void setExposureTimeNull(); + + + std::optional focalLength() const; + + void setFocalLength(std::optional newFocalLength); + bool focalLengthNull() const; + void setFocalLengthNull(); + + + ImageOrientation imageOrientation() const; + + void setImageOrientation(ImageOrientation newImageOrientation); + + + std::optional aperture() const; + + void setAperture(std::optional newAperture); + bool apertureNull() const; + void setApertureNull(); + + + std::optional shutterSpeed() const; + + void setShutterSpeed(std::optional newShutterSpeed); + bool shutterSpeedNull() const; + void setShutterSpeedNull(); + + + std::optional latitude() const; + + void setLatitude(std::optional newLatitude); + bool latitudeNull() const; + void setLatitudeNull(); + + + std::optional longitude() const; + + void setLongitude(std::optional newLongitude); + bool longitudeNull() const; + void setLongitudeNull(); + + + std::optional altitude() const; + + void setAltitude(std::optional newAltitude); + bool altitudeNull() const; + void setAltitudeNull(); + + + std::optional isoSpeedRating() const; + + void setIsoSpeedRating(std::optional newIsoSpeedRating); + bool isoSpeedRatingNull() const; + void setIsoSpeedRatingNull(); + + /** + * @brief Gets or sets the series timer identifier. + */ + QString seriesTimerId() const; + /** + * @brief Gets or sets the series timer identifier. + */ + void setSeriesTimerId(QString newSeriesTimerId); + bool seriesTimerIdNull() const; + void setSeriesTimerIdNull(); + + /** + * @brief Gets or sets the program identifier. + */ + QString programId() const; + /** + * @brief Gets or sets the program identifier. + */ + void setProgramId(QString newProgramId); + bool programIdNull() const; + void setProgramIdNull(); + + /** + * @brief Gets or sets the channel primary image tag. + */ + QString channelPrimaryImageTag() const; + /** + * @brief Gets or sets the channel primary image tag. + */ + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + bool channelPrimaryImageTagNull() const; + void setChannelPrimaryImageTagNull(); + + /** + * @brief The start date of the recording, in UTC. + */ + QDateTime startDate() const; + /** + * @brief The start date of the recording, in UTC. + */ + void setStartDate(QDateTime newStartDate); + bool startDateNull() const; + void setStartDateNull(); + + /** + * @brief Gets or sets the completion percentage. + */ + std::optional completionPercentage() const; + /** + * @brief Gets or sets the completion percentage. + */ + void setCompletionPercentage(std::optional newCompletionPercentage); + bool completionPercentageNull() const; + void setCompletionPercentageNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is repeat. + */ + std::optional isRepeat() const; + /** + * @brief Gets or sets a value indicating whether this instance is repeat. + */ + void setIsRepeat(std::optional newIsRepeat); + bool isRepeatNull() const; + void setIsRepeatNull(); + + /** + * @brief Gets or sets the episode title. + */ + QString episodeTitle() const; + /** + * @brief Gets or sets the episode title. + */ + void setEpisodeTitle(QString newEpisodeTitle); + bool episodeTitleNull() const; + void setEpisodeTitleNull(); + + + ChannelType channelType() const; + + void setChannelType(ChannelType newChannelType); + + + ProgramAudio audio() const; + + void setAudio(ProgramAudio newAudio); + + /** + * @brief Gets or sets a value indicating whether this instance is movie. + */ + std::optional isMovie() const; + /** + * @brief Gets or sets a value indicating whether this instance is movie. + */ + void setIsMovie(std::optional newIsMovie); + bool isMovieNull() const; + void setIsMovieNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is sports. + */ + std::optional isSports() const; + /** + * @brief Gets or sets a value indicating whether this instance is sports. + */ + void setIsSports(std::optional newIsSports); + bool isSportsNull() const; + void setIsSportsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is series. + */ + std::optional isSeries() const; + /** + * @brief Gets or sets a value indicating whether this instance is series. + */ + void setIsSeries(std::optional newIsSeries); + bool isSeriesNull() const; + void setIsSeriesNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is live. + */ + std::optional isLive() const; + /** + * @brief Gets or sets a value indicating whether this instance is live. + */ + void setIsLive(std::optional newIsLive); + bool isLiveNull() const; + void setIsLiveNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is news. + */ + std::optional isNews() const; + /** + * @brief Gets or sets a value indicating whether this instance is news. + */ + void setIsNews(std::optional newIsNews); + bool isNewsNull() const; + void setIsNewsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is kids. + */ + std::optional isKids() const; + /** + * @brief Gets or sets a value indicating whether this instance is kids. + */ + void setIsKids(std::optional newIsKids); + bool isKidsNull() const; + void setIsKidsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is premiere. + */ + std::optional isPremiere() const; + /** + * @brief Gets or sets a value indicating whether this instance is premiere. + */ + void setIsPremiere(std::optional newIsPremiere); + bool isPremiereNull() const; + void setIsPremiereNull(); + + /** + * @brief Gets or sets the timer identifier. + */ + QString timerId() const; + /** + * @brief Gets or sets the timer identifier. + */ + void setTimerId(QString newTimerId); + bool timerIdNull() const; + void setTimerIdNull(); + + + QSharedPointer currentProgram() const; + + void setCurrentProgram(QSharedPointer newCurrentProgram); + + +protected: + QString m_name; + QString m_originalTitle; + QString m_serverId; + QString m_jellyfinId; + QString m_etag; + QString m_sourceType; + QString m_playlistItemId; + QDateTime m_dateCreated; + QDateTime m_dateLastMediaAdded; + QString m_extraType; + std::optional m_airsBeforeSeasonNumber = std::nullopt; + std::optional m_airsAfterSeasonNumber = std::nullopt; + std::optional m_airsBeforeEpisodeNumber = std::nullopt; + std::optional m_canDelete = std::nullopt; + std::optional m_canDownload = std::nullopt; + std::optional m_hasSubtitles = std::nullopt; + QString m_preferredMetadataLanguage; + QString m_preferredMetadataCountryCode; + std::optional m_supportsSync = std::nullopt; + QString m_container; + QString m_sortName; + QString m_forcedSortName; + Video3DFormat m_video3DFormat; + QDateTime m_premiereDate; + QList> m_externalUrls; + QList> m_mediaSources; + std::optional m_criticRating = std::nullopt; + QStringList m_productionLocations; + QString m_path; + std::optional m_enableMediaSourceDisplay = std::nullopt; + QString m_officialRating; + QString m_customRating; + QString m_channelId; + QString m_channelName; + QString m_overview; + QStringList m_taglines; + QStringList m_genres; + std::optional m_communityRating = std::nullopt; + std::optional m_cumulativeRunTimeTicks = std::nullopt; + std::optional m_runTimeTicks = std::nullopt; + PlayAccess m_playAccess; + QString m_aspectRatio; + std::optional m_productionYear = std::nullopt; + std::optional m_isPlaceHolder = std::nullopt; + QString m_number; + QString m_channelNumber; + std::optional m_indexNumber = std::nullopt; + std::optional m_indexNumberEnd = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QList> m_remoteTrailers; + std::optional m_providerIds = std::nullopt; + std::optional m_isHD = std::nullopt; + std::optional m_isFolder = std::nullopt; + QString m_parentId; + QString m_type; + QList> m_people; + QList> m_studios; + QList> m_genreItems; + QString m_parentLogoItemId; + QString m_parentBackdropItemId; + QStringList m_parentBackdropImageTags; + std::optional m_localTrailerCount = std::nullopt; + QSharedPointer m_userData = nullptr; + std::optional m_recursiveItemCount = std::nullopt; + std::optional m_childCount = std::nullopt; + QString m_seriesName; + QString m_seriesId; + QString m_seasonId; + std::optional m_specialFeatureCount = std::nullopt; + QString m_displayPreferencesId; + QString m_status; + QString m_airTime; + QList m_airDays; + QStringList m_tags; + std::optional m_primaryImageAspectRatio = std::nullopt; + QStringList m_artists; + QList> m_artistItems; + QString m_album; + QString m_collectionType; + QString m_displayOrder; + QString m_albumId; + QString m_albumPrimaryImageTag; + QString m_seriesPrimaryImageTag; + QString m_albumArtist; + QList> m_albumArtists; + QString m_seasonName; + QList> m_mediaStreams; + VideoType m_videoType; + std::optional m_partCount = std::nullopt; + std::optional m_mediaSourceCount = std::nullopt; + std::optional m_imageTags = std::nullopt; + QStringList m_backdropImageTags; + QStringList m_screenshotImageTags; + QString m_parentLogoImageTag; + QString m_parentArtItemId; + QString m_parentArtImageTag; + QString m_seriesThumbImageTag; + std::optional m_imageBlurHashes = std::nullopt; + QString m_seriesStudio; + QString m_parentThumbItemId; + QString m_parentThumbImageTag; + QString m_parentPrimaryImageItemId; + QString m_parentPrimaryImageTag; + QList> m_chapters; + LocationType m_locationType; + IsoType m_isoType; + QString m_mediaType; + QDateTime m_endDate; + QList m_lockedFields; + std::optional m_trailerCount = std::nullopt; + std::optional m_movieCount = std::nullopt; + std::optional m_seriesCount = std::nullopt; + std::optional m_programCount = std::nullopt; + std::optional m_episodeCount = std::nullopt; + std::optional m_songCount = std::nullopt; + std::optional m_albumCount = std::nullopt; + std::optional m_artistCount = std::nullopt; + std::optional m_musicVideoCount = std::nullopt; + std::optional m_lockData = std::nullopt; + std::optional m_width = std::nullopt; + std::optional m_height = std::nullopt; + QString m_cameraMake; + QString m_cameraModel; + QString m_software; + std::optional m_exposureTime = std::nullopt; + std::optional m_focalLength = std::nullopt; + ImageOrientation m_imageOrientation; + std::optional m_aperture = std::nullopt; + std::optional m_shutterSpeed = std::nullopt; + std::optional m_latitude = std::nullopt; + std::optional m_longitude = std::nullopt; + std::optional m_altitude = std::nullopt; + std::optional m_isoSpeedRating = std::nullopt; + QString m_seriesTimerId; + QString m_programId; + QString m_channelPrimaryImageTag; + QDateTime m_startDate; + std::optional m_completionPercentage = std::nullopt; + std::optional m_isRepeat = std::nullopt; + QString m_episodeTitle; + ChannelType m_channelType; + ProgramAudio m_audio; + std::optional m_isMovie = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isLive = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isPremiere = std::nullopt; + QString m_timerId; + QSharedPointer m_currentProgram = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BASEITEMDTO_H diff --git a/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h b/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h new file mode 100644 index 0000000..54ac546 --- /dev/null +++ b/core/include/JellyfinQt/dto/baseitemdtoqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H +#define JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BaseItemDtoQueryResult { +public: + BaseItemDtoQueryResult(); + BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BaseItemDtoQueryResult &other); + + static BaseItemDtoQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/baseitemperson.h b/core/include/JellyfinQt/dto/baseitemperson.h new file mode 100644 index 0000000..67dfa0c --- /dev/null +++ b/core/include/JellyfinQt/dto/baseitemperson.h @@ -0,0 +1,138 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEMPERSON_H +#define JELLYFIN_DTO_BASEITEMPERSON_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BaseItemPerson { +public: + BaseItemPerson(); + BaseItemPerson(const BaseItemPerson &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BaseItemPerson &other); + + static BaseItemPerson fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the identifier. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the role. + */ + QString role() const; + /** + * @brief Gets or sets the role. + */ + void setRole(QString newRole); + bool roleNull() const; + void setRoleNull(); + + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the primary image tag. + */ + QString primaryImageTag() const; + /** + * @brief Gets or sets the primary image tag. + */ + void setPrimaryImageTag(QString newPrimaryImageTag); + bool primaryImageTagNull() const; + void setPrimaryImageTagNull(); + + /** + * @brief Gets or sets the primary image blurhash. + */ + std::optional imageBlurHashes() const; + /** + * @brief Gets or sets the primary image blurhash. + */ + void setImageBlurHashes(std::optional newImageBlurHashes); + bool imageBlurHashesNull() const; + void setImageBlurHashesNull(); + + +protected: + QString m_name; + QString m_jellyfinId; + QString m_role; + QString m_type; + QString m_primaryImageTag; + std::optional m_imageBlurHashes = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BASEITEMPERSON_H diff --git a/core/include/JellyfinQt/dto/basepluginconfiguration.h b/core/include/JellyfinQt/dto/basepluginconfiguration.h new file mode 100644 index 0000000..e69de29 diff --git a/core/include/JellyfinQt/dto/bookinfo.h b/core/include/JellyfinQt/dto/bookinfo.h new file mode 100644 index 0000000..809626a --- /dev/null +++ b/core/include/JellyfinQt/dto/bookinfo.h @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BOOKINFO_H +#define JELLYFIN_DTO_BOOKINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BookInfo { +public: + BookInfo(); + BookInfo(const BookInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BookInfo &other); + + static BookInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + + QString seriesName() const; + + void setSeriesName(QString newSeriesName); + bool seriesNameNull() const; + void setSeriesNameNull(); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; + QString m_seriesName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BOOKINFO_H diff --git a/core/include/JellyfinQt/dto/bookinforemotesearchquery.h b/core/include/JellyfinQt/dto/bookinforemotesearchquery.h new file mode 100644 index 0000000..0441e89 --- /dev/null +++ b/core/include/JellyfinQt/dto/bookinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/bookinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BookInfoRemoteSearchQuery { +public: + BookInfoRemoteSearchQuery(); + BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BookInfoRemoteSearchQuery &other); + + static BookInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/boxsetinfo.h b/core/include/JellyfinQt/dto/boxsetinfo.h new file mode 100644 index 0000000..86788a5 --- /dev/null +++ b/core/include/JellyfinQt/dto/boxsetinfo.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BOXSETINFO_H +#define JELLYFIN_DTO_BOXSETINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BoxSetInfo { +public: + BoxSetInfo(); + BoxSetInfo(const BoxSetInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BoxSetInfo &other); + + static BoxSetInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BOXSETINFO_H diff --git a/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h b/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h new file mode 100644 index 0000000..9c27d8e --- /dev/null +++ b/core/include/JellyfinQt/dto/boxsetinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/boxsetinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BoxSetInfoRemoteSearchQuery { +public: + BoxSetInfoRemoteSearchQuery(); + BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BoxSetInfoRemoteSearchQuery &other); + + static BoxSetInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/brandingoptions.h b/core/include/JellyfinQt/dto/brandingoptions.h new file mode 100644 index 0000000..4fb79c4 --- /dev/null +++ b/core/include/JellyfinQt/dto/brandingoptions.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BRANDINGOPTIONS_H +#define JELLYFIN_DTO_BRANDINGOPTIONS_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BrandingOptions { +public: + BrandingOptions(); + BrandingOptions(const BrandingOptions &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BrandingOptions &other); + + static BrandingOptions fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the login disclaimer. + */ + QString loginDisclaimer() const; + /** + * @brief Gets or sets the login disclaimer. + */ + void setLoginDisclaimer(QString newLoginDisclaimer); + bool loginDisclaimerNull() const; + void setLoginDisclaimerNull(); + + /** + * @brief Gets or sets the custom CSS. + */ + QString customCss() const; + /** + * @brief Gets or sets the custom CSS. + */ + void setCustomCss(QString newCustomCss); + bool customCssNull() const; + void setCustomCssNull(); + + +protected: + QString m_loginDisclaimer; + QString m_customCss; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BRANDINGOPTIONS_H diff --git a/core/include/JellyfinQt/dto/bufferrequestdto.h b/core/include/JellyfinQt/dto/bufferrequestdto.h new file mode 100644 index 0000000..f7bd882 --- /dev/null +++ b/core/include/JellyfinQt/dto/bufferrequestdto.h @@ -0,0 +1,107 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BUFFERREQUESTDTO_H +#define JELLYFIN_DTO_BUFFERREQUESTDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class BufferRequestDto { +public: + BufferRequestDto(); + BufferRequestDto(const BufferRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(BufferRequestDto &other); + + static BufferRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets when the request has been made by the client. + */ + QDateTime when() const; + /** + * @brief Gets or sets when the request has been made by the client. + */ + void setWhen(QDateTime newWhen); + + /** + * @brief Gets or sets the position ticks. + */ + qint64 positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(qint64 newPositionTicks); + + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + bool isPlaying() const; + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + void setIsPlaying(bool newIsPlaying); + + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + +protected: + QDateTime m_when; + qint64 m_positionTicks; + bool m_isPlaying; + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_BUFFERREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/channelfeatures.h b/core/include/JellyfinQt/dto/channelfeatures.h new file mode 100644 index 0000000..454a6dd --- /dev/null +++ b/core/include/JellyfinQt/dto/channelfeatures.h @@ -0,0 +1,205 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELFEATURES_H +#define JELLYFIN_DTO_CHANNELFEATURES_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/channelitemsortfield.h" +#include "JellyfinQt/dto/channelmediacontenttype.h" +#include "JellyfinQt/dto/channelmediatype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ChannelFeatures { +public: + ChannelFeatures(); + ChannelFeatures(const ChannelFeatures &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ChannelFeatures &other); + + static ChannelFeatures fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the identifier. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets a value indicating whether this instance can search. + */ + bool canSearch() const; + /** + * @brief Gets or sets a value indicating whether this instance can search. + */ + void setCanSearch(bool newCanSearch); + + /** + * @brief Gets or sets the media types. + */ + QList mediaTypes() const; + /** + * @brief Gets or sets the media types. + */ + void setMediaTypes(QList newMediaTypes); + bool mediaTypesNull() const; + void setMediaTypesNull(); + + /** + * @brief Gets or sets the content types. + */ + QList contentTypes() const; + /** + * @brief Gets or sets the content types. + */ + void setContentTypes(QList newContentTypes); + bool contentTypesNull() const; + void setContentTypesNull(); + + /** + * @brief Represents the maximum number of records the channel allows retrieving at a time. + */ + std::optional maxPageSize() const; + /** + * @brief Represents the maximum number of records the channel allows retrieving at a time. + */ + void setMaxPageSize(std::optional newMaxPageSize); + bool maxPageSizeNull() const; + void setMaxPageSizeNull(); + + /** + * @brief Gets or sets the automatic refresh levels. + */ + std::optional autoRefreshLevels() const; + /** + * @brief Gets or sets the automatic refresh levels. + */ + void setAutoRefreshLevels(std::optional newAutoRefreshLevels); + bool autoRefreshLevelsNull() const; + void setAutoRefreshLevelsNull(); + + /** + * @brief Gets or sets the default sort orders. + */ + QList defaultSortFields() const; + /** + * @brief Gets or sets the default sort orders. + */ + void setDefaultSortFields(QList newDefaultSortFields); + bool defaultSortFieldsNull() const; + void setDefaultSortFieldsNull(); + + /** + * @brief Indicates if a sort ascending/descending toggle is supported or not. + */ + bool supportsSortOrderToggle() const; + /** + * @brief Indicates if a sort ascending/descending toggle is supported or not. + */ + void setSupportsSortOrderToggle(bool newSupportsSortOrderToggle); + + /** + * @brief Gets or sets a value indicating whether [supports latest media]. + */ + bool supportsLatestMedia() const; + /** + * @brief Gets or sets a value indicating whether [supports latest media]. + */ + void setSupportsLatestMedia(bool newSupportsLatestMedia); + + /** + * @brief Gets or sets a value indicating whether this instance can filter. + */ + bool canFilter() const; + /** + * @brief Gets or sets a value indicating whether this instance can filter. + */ + void setCanFilter(bool newCanFilter); + + /** + * @brief Gets or sets a value indicating whether [supports content downloading]. + */ + bool supportsContentDownloading() const; + /** + * @brief Gets or sets a value indicating whether [supports content downloading]. + */ + void setSupportsContentDownloading(bool newSupportsContentDownloading); + + +protected: + QString m_name; + QString m_jellyfinId; + bool m_canSearch; + QList m_mediaTypes; + QList m_contentTypes; + std::optional m_maxPageSize = std::nullopt; + std::optional m_autoRefreshLevels = std::nullopt; + QList m_defaultSortFields; + bool m_supportsSortOrderToggle; + bool m_supportsLatestMedia; + bool m_canFilter; + bool m_supportsContentDownloading; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELFEATURES_H diff --git a/core/include/JellyfinQt/dto/channelitemsortfield.h b/core/include/JellyfinQt/dto/channelitemsortfield.h new file mode 100644 index 0000000..489eabe --- /dev/null +++ b/core/include/JellyfinQt/dto/channelitemsortfield.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELITEMSORTFIELD_H +#define JELLYFIN_DTO_CHANNELITEMSORTFIELD_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ChannelItemSortFieldClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Name, + CommunityRating, + PremiereDate, + DateCreated, + Runtime, + PlayCount, + CommunityPlayCount, + }; + Q_ENUM(Value) +private: + explicit ChannelItemSortFieldClass(); +}; + +typedef ChannelItemSortFieldClass::Value ChannelItemSortField; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELITEMSORTFIELD_H diff --git a/core/include/JellyfinQt/dto/channelmappingoptionsdto.h b/core/include/JellyfinQt/dto/channelmappingoptionsdto.h new file mode 100644 index 0000000..2d24d4b --- /dev/null +++ b/core/include/JellyfinQt/dto/channelmappingoptionsdto.h @@ -0,0 +1,120 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H +#define JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/nameidpair.h" +#include "JellyfinQt/dto/namevaluepair.h" +#include "JellyfinQt/dto/tunerchannelmapping.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ChannelMappingOptionsDto { +public: + ChannelMappingOptionsDto(); + ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ChannelMappingOptionsDto &other); + + static ChannelMappingOptionsDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets list of tuner channels. + */ + QList> tunerChannels() const; + /** + * @brief Gets or sets list of tuner channels. + */ + void setTunerChannels(QList> newTunerChannels); + bool tunerChannelsNull() const; + void setTunerChannelsNull(); + + /** + * @brief Gets or sets list of provider channels. + */ + QList> providerChannels() const; + /** + * @brief Gets or sets list of provider channels. + */ + void setProviderChannels(QList> newProviderChannels); + bool providerChannelsNull() const; + void setProviderChannelsNull(); + + /** + * @brief Gets or sets list of mappings. + */ + QList> mappings() const; + /** + * @brief Gets or sets list of mappings. + */ + void setMappings(QList> newMappings); + bool mappingsNull() const; + void setMappingsNull(); + + /** + * @brief Gets or sets provider name. + */ + QString providerName() const; + /** + * @brief Gets or sets provider name. + */ + void setProviderName(QString newProviderName); + bool providerNameNull() const; + void setProviderNameNull(); + + +protected: + QList> m_tunerChannels; + QList> m_providerChannels; + QList> m_mappings; + QString m_providerName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H diff --git a/core/include/JellyfinQt/dto/channelmediacontenttype.h b/core/include/JellyfinQt/dto/channelmediacontenttype.h new file mode 100644 index 0000000..778d953 --- /dev/null +++ b/core/include/JellyfinQt/dto/channelmediacontenttype.h @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H +#define JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ChannelMediaContentTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Clip, + Podcast, + Trailer, + Movie, + Episode, + Song, + MovieExtra, + TvExtra, + }; + Q_ENUM(Value) +private: + explicit ChannelMediaContentTypeClass(); +}; + +typedef ChannelMediaContentTypeClass::Value ChannelMediaContentType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H diff --git a/core/include/JellyfinQt/dto/channelmediatype.h b/core/include/JellyfinQt/dto/channelmediatype.h new file mode 100644 index 0000000..5c06190 --- /dev/null +++ b/core/include/JellyfinQt/dto/channelmediatype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELMEDIATYPE_H +#define JELLYFIN_DTO_CHANNELMEDIATYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ChannelMediaTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Audio, + Video, + Photo, + }; + Q_ENUM(Value) +private: + explicit ChannelMediaTypeClass(); +}; + +typedef ChannelMediaTypeClass::Value ChannelMediaType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELMEDIATYPE_H diff --git a/core/include/JellyfinQt/dto/channeltype.h b/core/include/JellyfinQt/dto/channeltype.h new file mode 100644 index 0000000..680df3f --- /dev/null +++ b/core/include/JellyfinQt/dto/channeltype.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELTYPE_H +#define JELLYFIN_DTO_CHANNELTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ChannelTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + TV, + Radio, + }; + Q_ENUM(Value) +private: + explicit ChannelTypeClass(); +}; + +typedef ChannelTypeClass::Value ChannelType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHANNELTYPE_H diff --git a/core/include/JellyfinQt/dto/chapterinfo.h b/core/include/JellyfinQt/dto/chapterinfo.h new file mode 100644 index 0000000..1ac895b --- /dev/null +++ b/core/include/JellyfinQt/dto/chapterinfo.h @@ -0,0 +1,115 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHAPTERINFO_H +#define JELLYFIN_DTO_CHAPTERINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ChapterInfo { +public: + ChapterInfo(); + ChapterInfo(const ChapterInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ChapterInfo &other); + + static ChapterInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the start position ticks. + */ + qint64 startPositionTicks() const; + /** + * @brief Gets or sets the start position ticks. + */ + void setStartPositionTicks(qint64 newStartPositionTicks); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the image path. + */ + QString imagePath() const; + /** + * @brief Gets or sets the image path. + */ + void setImagePath(QString newImagePath); + bool imagePathNull() const; + void setImagePathNull(); + + + QDateTime imageDateModified() const; + + void setImageDateModified(QDateTime newImageDateModified); + + + QString imageTag() const; + + void setImageTag(QString newImageTag); + bool imageTagNull() const; + void setImageTagNull(); + + +protected: + qint64 m_startPositionTicks; + QString m_name; + QString m_imagePath; + QDateTime m_imageDateModified; + QString m_imageTag; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CHAPTERINFO_H diff --git a/core/include/JellyfinQt/dto/clientcapabilities.h b/core/include/JellyfinQt/dto/clientcapabilities.h new file mode 100644 index 0000000..2b99695 --- /dev/null +++ b/core/include/JellyfinQt/dto/clientcapabilities.h @@ -0,0 +1,141 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CLIENTCAPABILITIES_H +#define JELLYFIN_DTO_CLIENTCAPABILITIES_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceprofile.h" +#include "JellyfinQt/dto/generalcommandtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ClientCapabilities { +public: + ClientCapabilities(); + ClientCapabilities(const ClientCapabilities &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ClientCapabilities &other); + + static ClientCapabilities fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QStringList playableMediaTypes() const; + + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + bool playableMediaTypesNull() const; + void setPlayableMediaTypesNull(); + + + QList supportedCommands() const; + + void setSupportedCommands(QList newSupportedCommands); + bool supportedCommandsNull() const; + void setSupportedCommandsNull(); + + + bool supportsMediaControl() const; + + void setSupportsMediaControl(bool newSupportsMediaControl); + + + bool supportsContentUploading() const; + + void setSupportsContentUploading(bool newSupportsContentUploading); + + + QString messageCallbackUrl() const; + + void setMessageCallbackUrl(QString newMessageCallbackUrl); + bool messageCallbackUrlNull() const; + void setMessageCallbackUrlNull(); + + + bool supportsPersistentIdentifier() const; + + void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier); + + + bool supportsSync() const; + + void setSupportsSync(bool newSupportsSync); + + + QSharedPointer deviceProfile() const; + + void setDeviceProfile(QSharedPointer newDeviceProfile); + + + QString appStoreUrl() const; + + void setAppStoreUrl(QString newAppStoreUrl); + bool appStoreUrlNull() const; + void setAppStoreUrlNull(); + + + QString iconUrl() const; + + void setIconUrl(QString newIconUrl); + bool iconUrlNull() const; + void setIconUrlNull(); + + +protected: + QStringList m_playableMediaTypes; + QList m_supportedCommands; + bool m_supportsMediaControl; + bool m_supportsContentUploading; + QString m_messageCallbackUrl; + bool m_supportsPersistentIdentifier; + bool m_supportsSync; + QSharedPointer m_deviceProfile = nullptr; + QString m_appStoreUrl; + QString m_iconUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CLIENTCAPABILITIES_H diff --git a/core/include/JellyfinQt/dto/clientcapabilitiesdto.h b/core/include/JellyfinQt/dto/clientcapabilitiesdto.h new file mode 100644 index 0000000..8355593 --- /dev/null +++ b/core/include/JellyfinQt/dto/clientcapabilitiesdto.h @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H +#define JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceprofile.h" +#include "JellyfinQt/dto/generalcommandtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ClientCapabilitiesDto { +public: + ClientCapabilitiesDto(); + ClientCapabilitiesDto(const ClientCapabilitiesDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ClientCapabilitiesDto &other); + + static ClientCapabilitiesDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the list of playable media types. + */ + QStringList playableMediaTypes() const; + /** + * @brief Gets or sets the list of playable media types. + */ + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + bool playableMediaTypesNull() const; + void setPlayableMediaTypesNull(); + + /** + * @brief Gets or sets the list of supported commands. + */ + QList supportedCommands() const; + /** + * @brief Gets or sets the list of supported commands. + */ + void setSupportedCommands(QList newSupportedCommands); + bool supportedCommandsNull() const; + void setSupportedCommandsNull(); + + /** + * @brief Gets or sets a value indicating whether session supports media control. + */ + bool supportsMediaControl() const; + /** + * @brief Gets or sets a value indicating whether session supports media control. + */ + void setSupportsMediaControl(bool newSupportsMediaControl); + + /** + * @brief Gets or sets a value indicating whether session supports content uploading. + */ + bool supportsContentUploading() const; + /** + * @brief Gets or sets a value indicating whether session supports content uploading. + */ + void setSupportsContentUploading(bool newSupportsContentUploading); + + /** + * @brief Gets or sets the message callback url. + */ + QString messageCallbackUrl() const; + /** + * @brief Gets or sets the message callback url. + */ + void setMessageCallbackUrl(QString newMessageCallbackUrl); + bool messageCallbackUrlNull() const; + void setMessageCallbackUrlNull(); + + /** + * @brief Gets or sets a value indicating whether session supports a persistent identifier. + */ + bool supportsPersistentIdentifier() const; + /** + * @brief Gets or sets a value indicating whether session supports a persistent identifier. + */ + void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier); + + /** + * @brief Gets or sets a value indicating whether session supports sync. + */ + bool supportsSync() const; + /** + * @brief Gets or sets a value indicating whether session supports sync. + */ + void setSupportsSync(bool newSupportsSync); + + + QSharedPointer deviceProfile() const; + + void setDeviceProfile(QSharedPointer newDeviceProfile); + + /** + * @brief Gets or sets the app store url. + */ + QString appStoreUrl() const; + /** + * @brief Gets or sets the app store url. + */ + void setAppStoreUrl(QString newAppStoreUrl); + bool appStoreUrlNull() const; + void setAppStoreUrlNull(); + + /** + * @brief Gets or sets the icon url. + */ + QString iconUrl() const; + /** + * @brief Gets or sets the icon url. + */ + void setIconUrl(QString newIconUrl); + bool iconUrlNull() const; + void setIconUrlNull(); + + +protected: + QStringList m_playableMediaTypes; + QList m_supportedCommands; + bool m_supportsMediaControl; + bool m_supportsContentUploading; + QString m_messageCallbackUrl; + bool m_supportsPersistentIdentifier; + bool m_supportsSync; + QSharedPointer m_deviceProfile = nullptr; + QString m_appStoreUrl; + QString m_iconUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H diff --git a/core/include/JellyfinQt/dto/codecprofile.h b/core/include/JellyfinQt/dto/codecprofile.h new file mode 100644 index 0000000..b016c64 --- /dev/null +++ b/core/include/JellyfinQt/dto/codecprofile.h @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CODECPROFILE_H +#define JELLYFIN_DTO_CODECPROFILE_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/codectype.h" +#include "JellyfinQt/dto/profilecondition.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CodecProfile { +public: + CodecProfile(); + CodecProfile(const CodecProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CodecProfile &other); + + static CodecProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + CodecType type() const; + + void setType(CodecType newType); + + + QList> conditions() const; + + void setConditions(QList> newConditions); + bool conditionsNull() const; + void setConditionsNull(); + + + QList> applyConditions() const; + + void setApplyConditions(QList> newApplyConditions); + bool applyConditionsNull() const; + void setApplyConditionsNull(); + + + QString codec() const; + + void setCodec(QString newCodec); + bool codecNull() const; + void setCodecNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + +protected: + CodecType m_type; + QList> m_conditions; + QList> m_applyConditions; + QString m_codec; + QString m_container; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CODECPROFILE_H diff --git a/core/include/JellyfinQt/dto/codectype.h b/core/include/JellyfinQt/dto/codectype.h new file mode 100644 index 0000000..6f88b2d --- /dev/null +++ b/core/include/JellyfinQt/dto/codectype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CODECTYPE_H +#define JELLYFIN_DTO_CODECTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class CodecTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Video, + VideoAudio, + Audio, + }; + Q_ENUM(Value) +private: + explicit CodecTypeClass(); +}; + +typedef CodecTypeClass::Value CodecType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CODECTYPE_H diff --git a/core/include/JellyfinQt/dto/collectioncreationresult.h b/core/include/JellyfinQt/dto/collectioncreationresult.h new file mode 100644 index 0000000..af06f7a --- /dev/null +++ b/core/include/JellyfinQt/dto/collectioncreationresult.h @@ -0,0 +1,72 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H +#define JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CollectionCreationResult { +public: + CollectionCreationResult(); + CollectionCreationResult(const CollectionCreationResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CollectionCreationResult &other); + + static CollectionCreationResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + + +protected: + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H diff --git a/core/include/JellyfinQt/dto/configurationpageinfo.h b/core/include/JellyfinQt/dto/configurationpageinfo.h new file mode 100644 index 0000000..b4f448b --- /dev/null +++ b/core/include/JellyfinQt/dto/configurationpageinfo.h @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H +#define JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/configurationpagetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ConfigurationPageInfo { +public: + ConfigurationPageInfo(); + ConfigurationPageInfo(const ConfigurationPageInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ConfigurationPageInfo &other); + + static ConfigurationPageInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets a value indicating whether the configurations page is enabled in the main menu. + */ + bool enableInMainMenu() const; + /** + * @brief Gets or sets a value indicating whether the configurations page is enabled in the main menu. + */ + void setEnableInMainMenu(bool newEnableInMainMenu); + + /** + * @brief Gets or sets the menu section. + */ + QString menuSection() const; + /** + * @brief Gets or sets the menu section. + */ + void setMenuSection(QString newMenuSection); + bool menuSectionNull() const; + void setMenuSectionNull(); + + /** + * @brief Gets or sets the menu icon. + */ + QString menuIcon() const; + /** + * @brief Gets or sets the menu icon. + */ + void setMenuIcon(QString newMenuIcon); + bool menuIconNull() const; + void setMenuIconNull(); + + /** + * @brief Gets or sets the display name. + */ + QString displayName() const; + /** + * @brief Gets or sets the display name. + */ + void setDisplayName(QString newDisplayName); + bool displayNameNull() const; + void setDisplayNameNull(); + + + ConfigurationPageType configurationPageType() const; + + void setConfigurationPageType(ConfigurationPageType newConfigurationPageType); + + /** + * @brief Gets or sets the plugin id. + */ + QString pluginId() const; + /** + * @brief Gets or sets the plugin id. + */ + void setPluginId(QString newPluginId); + bool pluginIdNull() const; + void setPluginIdNull(); + + +protected: + QString m_name; + bool m_enableInMainMenu; + QString m_menuSection; + QString m_menuIcon; + QString m_displayName; + ConfigurationPageType m_configurationPageType; + QString m_pluginId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H diff --git a/core/include/JellyfinQt/dto/configurationpagetype.h b/core/include/JellyfinQt/dto/configurationpagetype.h new file mode 100644 index 0000000..f38a273 --- /dev/null +++ b/core/include/JellyfinQt/dto/configurationpagetype.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H +#define JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ConfigurationPageTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + PluginConfiguration, + None, + }; + Q_ENUM(Value) +private: + explicit ConfigurationPageTypeClass(); +}; + +typedef ConfigurationPageTypeClass::Value ConfigurationPageType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H diff --git a/core/include/JellyfinQt/dto/containerprofile.h b/core/include/JellyfinQt/dto/containerprofile.h new file mode 100644 index 0000000..2c3c0e5 --- /dev/null +++ b/core/include/JellyfinQt/dto/containerprofile.h @@ -0,0 +1,93 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CONTAINERPROFILE_H +#define JELLYFIN_DTO_CONTAINERPROFILE_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/dlnaprofiletype.h" +#include "JellyfinQt/dto/profilecondition.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ContainerProfile { +public: + ContainerProfile(); + ContainerProfile(const ContainerProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ContainerProfile &other); + + static ContainerProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + DlnaProfileType type() const; + + void setType(DlnaProfileType newType); + + + QList> conditions() const; + + void setConditions(QList> newConditions); + bool conditionsNull() const; + void setConditionsNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + +protected: + DlnaProfileType m_type; + QList> m_conditions; + QString m_container; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CONTAINERPROFILE_H diff --git a/core/include/JellyfinQt/dto/controlresponse.h b/core/include/JellyfinQt/dto/controlresponse.h new file mode 100644 index 0000000..61ffdb2 --- /dev/null +++ b/core/include/JellyfinQt/dto/controlresponse.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CONTROLRESPONSE_H +#define JELLYFIN_DTO_CONTROLRESPONSE_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ControlResponse { +public: + ControlResponse(); + ControlResponse(const ControlResponse &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ControlResponse &other); + + static ControlResponse fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + std::optional headers() const; + + void setHeaders(std::optional newHeaders); + bool headersNull() const; + void setHeadersNull(); + + + QString xml() const; + + void setXml(QString newXml); + bool xmlNull() const; + void setXmlNull(); + + + bool isSuccessful() const; + + void setIsSuccessful(bool newIsSuccessful); + + +protected: + std::optional m_headers = std::nullopt; + QString m_xml; + bool m_isSuccessful; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CONTROLRESPONSE_H diff --git a/core/include/JellyfinQt/dto/countryinfo.h b/core/include/JellyfinQt/dto/countryinfo.h new file mode 100644 index 0000000..af91b8f --- /dev/null +++ b/core/include/JellyfinQt/dto/countryinfo.h @@ -0,0 +1,114 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_COUNTRYINFO_H +#define JELLYFIN_DTO_COUNTRYINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CountryInfo { +public: + CountryInfo(); + CountryInfo(const CountryInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CountryInfo &other); + + static CountryInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the display name. + */ + QString displayName() const; + /** + * @brief Gets or sets the display name. + */ + void setDisplayName(QString newDisplayName); + bool displayNameNull() const; + void setDisplayNameNull(); + + /** + * @brief Gets or sets the name of the two letter ISO region. + */ + QString twoLetterISORegionName() const; + /** + * @brief Gets or sets the name of the two letter ISO region. + */ + void setTwoLetterISORegionName(QString newTwoLetterISORegionName); + bool twoLetterISORegionNameNull() const; + void setTwoLetterISORegionNameNull(); + + /** + * @brief Gets or sets the name of the three letter ISO region. + */ + QString threeLetterISORegionName() const; + /** + * @brief Gets or sets the name of the three letter ISO region. + */ + void setThreeLetterISORegionName(QString newThreeLetterISORegionName); + bool threeLetterISORegionNameNull() const; + void setThreeLetterISORegionNameNull(); + + +protected: + QString m_name; + QString m_displayName; + QString m_twoLetterISORegionName; + QString m_threeLetterISORegionName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_COUNTRYINFO_H diff --git a/core/include/JellyfinQt/dto/createplaylistdto.h b/core/include/JellyfinQt/dto/createplaylistdto.h new file mode 100644 index 0000000..7e2121b --- /dev/null +++ b/core/include/JellyfinQt/dto/createplaylistdto.h @@ -0,0 +1,116 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CREATEPLAYLISTDTO_H +#define JELLYFIN_DTO_CREATEPLAYLISTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CreatePlaylistDto { +public: + CreatePlaylistDto(); + CreatePlaylistDto(const CreatePlaylistDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CreatePlaylistDto &other); + + static CreatePlaylistDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name of the new playlist. + */ + QString name() const; + /** + * @brief Gets or sets the name of the new playlist. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets item ids to add to the playlist. + */ + QStringList ids() const; + /** + * @brief Gets or sets item ids to add to the playlist. + */ + void setIds(QStringList newIds); + bool idsNull() const; + void setIdsNull(); + + /** + * @brief Gets or sets the user id. + */ + QString userId() const; + /** + * @brief Gets or sets the user id. + */ + void setUserId(QString newUserId); + bool userIdNull() const; + void setUserIdNull(); + + /** + * @brief Gets or sets the media type. + */ + QString mediaType() const; + /** + * @brief Gets or sets the media type. + */ + void setMediaType(QString newMediaType); + bool mediaTypeNull() const; + void setMediaTypeNull(); + + +protected: + QString m_name; + QStringList m_ids; + QString m_userId; + QString m_mediaType; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CREATEPLAYLISTDTO_H diff --git a/core/include/JellyfinQt/dto/createuserbyname.h b/core/include/JellyfinQt/dto/createuserbyname.h new file mode 100644 index 0000000..0063183 --- /dev/null +++ b/core/include/JellyfinQt/dto/createuserbyname.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CREATEUSERBYNAME_H +#define JELLYFIN_DTO_CREATEUSERBYNAME_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CreateUserByName { +public: + CreateUserByName(); + CreateUserByName(const CreateUserByName &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CreateUserByName &other); + + static CreateUserByName fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the username. + */ + QString name() const; + /** + * @brief Gets or sets the username. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the password. + */ + QString password() const; + /** + * @brief Gets or sets the password. + */ + void setPassword(QString newPassword); + bool passwordNull() const; + void setPasswordNull(); + + +protected: + QString m_name; + QString m_password; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CREATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/dto/culturedto.h b/core/include/JellyfinQt/dto/culturedto.h new file mode 100644 index 0000000..43944f9 --- /dev/null +++ b/core/include/JellyfinQt/dto/culturedto.h @@ -0,0 +1,124 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CULTUREDTO_H +#define JELLYFIN_DTO_CULTUREDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class CultureDto { +public: + CultureDto(); + CultureDto(const CultureDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(CultureDto &other); + + static CultureDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the display name. + */ + QString displayName() const; + /** + * @brief Gets or sets the display name. + */ + void setDisplayName(QString newDisplayName); + bool displayNameNull() const; + void setDisplayNameNull(); + + /** + * @brief Gets or sets the name of the two letter ISO language. + */ + QString twoLetterISOLanguageName() const; + /** + * @brief Gets or sets the name of the two letter ISO language. + */ + void setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName); + bool twoLetterISOLanguageNameNull() const; + void setTwoLetterISOLanguageNameNull(); + + /** + * @brief Gets or sets the name of the three letter ISO language. + */ + QString threeLetterISOLanguageName() const; + /** + * @brief Gets or sets the name of the three letter ISO language. + */ + void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName); + bool threeLetterISOLanguageNameNull() const; + void setThreeLetterISOLanguageNameNull(); + + + QStringList threeLetterISOLanguageNames() const; + + void setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames); + bool threeLetterISOLanguageNamesNull() const; + void setThreeLetterISOLanguageNamesNull(); + + +protected: + QString m_name; + QString m_displayName; + QString m_twoLetterISOLanguageName; + QString m_threeLetterISOLanguageName; + QStringList m_threeLetterISOLanguageNames; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_CULTUREDTO_H diff --git a/core/include/JellyfinQt/dto/dayofweek.h b/core/include/JellyfinQt/dto/dayofweek.h new file mode 100644 index 0000000..7e77253 --- /dev/null +++ b/core/include/JellyfinQt/dto/dayofweek.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DAYOFWEEK_H +#define JELLYFIN_DTO_DAYOFWEEK_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class DayOfWeekClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Sunday, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + }; + Q_ENUM(Value) +private: + explicit DayOfWeekClass(); +}; + +typedef DayOfWeekClass::Value DayOfWeek; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DAYOFWEEK_H diff --git a/core/include/JellyfinQt/dto/daypattern.h b/core/include/JellyfinQt/dto/daypattern.h new file mode 100644 index 0000000..f4d18ba --- /dev/null +++ b/core/include/JellyfinQt/dto/daypattern.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DAYPATTERN_H +#define JELLYFIN_DTO_DAYPATTERN_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class DayPatternClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Daily, + Weekdays, + Weekends, + }; + Q_ENUM(Value) +private: + explicit DayPatternClass(); +}; + +typedef DayPatternClass::Value DayPattern; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DAYPATTERN_H diff --git a/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h b/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h new file mode 100644 index 0000000..74ff6a8 --- /dev/null +++ b/core/include/JellyfinQt/dto/defaultdirectorybrowserinfodto.h @@ -0,0 +1,78 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H +#define JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DefaultDirectoryBrowserInfoDto { +public: + DefaultDirectoryBrowserInfoDto(); + DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DefaultDirectoryBrowserInfoDto &other); + + static DefaultDirectoryBrowserInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + +protected: + QString m_path; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H diff --git a/core/include/JellyfinQt/dto/deviceidentification.h b/core/include/JellyfinQt/dto/deviceidentification.h new file mode 100644 index 0000000..112a04f --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceidentification.h @@ -0,0 +1,178 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEIDENTIFICATION_H +#define JELLYFIN_DTO_DEVICEIDENTIFICATION_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/httpheaderinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceIdentification { +public: + DeviceIdentification(); + DeviceIdentification(const DeviceIdentification &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceIdentification &other); + + static DeviceIdentification fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name of the friendly. + */ + QString friendlyName() const; + /** + * @brief Gets or sets the name of the friendly. + */ + void setFriendlyName(QString newFriendlyName); + bool friendlyNameNull() const; + void setFriendlyNameNull(); + + /** + * @brief Gets or sets the model number. + */ + QString modelNumber() const; + /** + * @brief Gets or sets the model number. + */ + void setModelNumber(QString newModelNumber); + bool modelNumberNull() const; + void setModelNumberNull(); + + /** + * @brief Gets or sets the serial number. + */ + QString serialNumber() const; + /** + * @brief Gets or sets the serial number. + */ + void setSerialNumber(QString newSerialNumber); + bool serialNumberNull() const; + void setSerialNumberNull(); + + /** + * @brief Gets or sets the name of the model. + */ + QString modelName() const; + /** + * @brief Gets or sets the name of the model. + */ + void setModelName(QString newModelName); + bool modelNameNull() const; + void setModelNameNull(); + + /** + * @brief Gets or sets the model description. + */ + QString modelDescription() const; + /** + * @brief Gets or sets the model description. + */ + void setModelDescription(QString newModelDescription); + bool modelDescriptionNull() const; + void setModelDescriptionNull(); + + /** + * @brief Gets or sets the model URL. + */ + QString modelUrl() const; + /** + * @brief Gets or sets the model URL. + */ + void setModelUrl(QString newModelUrl); + bool modelUrlNull() const; + void setModelUrlNull(); + + /** + * @brief Gets or sets the manufacturer. + */ + QString manufacturer() const; + /** + * @brief Gets or sets the manufacturer. + */ + void setManufacturer(QString newManufacturer); + bool manufacturerNull() const; + void setManufacturerNull(); + + /** + * @brief Gets or sets the manufacturer URL. + */ + QString manufacturerUrl() const; + /** + * @brief Gets or sets the manufacturer URL. + */ + void setManufacturerUrl(QString newManufacturerUrl); + bool manufacturerUrlNull() const; + void setManufacturerUrlNull(); + + /** + * @brief Gets or sets the headers. + */ + QList> headers() const; + /** + * @brief Gets or sets the headers. + */ + void setHeaders(QList> newHeaders); + bool headersNull() const; + void setHeadersNull(); + + +protected: + QString m_friendlyName; + QString m_modelNumber; + QString m_serialNumber; + QString m_modelName; + QString m_modelDescription; + QString m_modelUrl; + QString m_manufacturer; + QString m_manufacturerUrl; + QList> m_headers; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEIDENTIFICATION_H diff --git a/core/include/JellyfinQt/dto/deviceinfo.h b/core/include/JellyfinQt/dto/deviceinfo.h new file mode 100644 index 0000000..c7c8a9b --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceinfo.h @@ -0,0 +1,159 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEINFO_H +#define JELLYFIN_DTO_DEVICEINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/clientcapabilities.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceInfo { +public: + DeviceInfo(); + DeviceInfo(const DeviceInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceInfo &other); + + static DeviceInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the identifier. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the last name of the user. + */ + QString lastUserName() const; + /** + * @brief Gets or sets the last name of the user. + */ + void setLastUserName(QString newLastUserName); + bool lastUserNameNull() const; + void setLastUserNameNull(); + + /** + * @brief Gets or sets the name of the application. + */ + QString appName() const; + /** + * @brief Gets or sets the name of the application. + */ + void setAppName(QString newAppName); + bool appNameNull() const; + void setAppNameNull(); + + /** + * @brief Gets or sets the application version. + */ + QString appVersion() const; + /** + * @brief Gets or sets the application version. + */ + void setAppVersion(QString newAppVersion); + bool appVersionNull() const; + void setAppVersionNull(); + + /** + * @brief Gets or sets the last user identifier. + */ + QString lastUserId() const; + /** + * @brief Gets or sets the last user identifier. + */ + void setLastUserId(QString newLastUserId); + + /** + * @brief Gets or sets the date last modified. + */ + QDateTime dateLastActivity() const; + /** + * @brief Gets or sets the date last modified. + */ + void setDateLastActivity(QDateTime newDateLastActivity); + + + QSharedPointer capabilities() const; + + void setCapabilities(QSharedPointer newCapabilities); + + + QString iconUrl() const; + + void setIconUrl(QString newIconUrl); + bool iconUrlNull() const; + void setIconUrlNull(); + + +protected: + QString m_name; + QString m_jellyfinId; + QString m_lastUserName; + QString m_appName; + QString m_appVersion; + QString m_lastUserId; + QDateTime m_dateLastActivity; + QSharedPointer m_capabilities = nullptr; + QString m_iconUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEINFO_H diff --git a/core/include/JellyfinQt/dto/deviceinfoqueryresult.h b/core/include/JellyfinQt/dto/deviceinfoqueryresult.h new file mode 100644 index 0000000..89f58a8 --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceinfoqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H +#define JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceInfoQueryResult { +public: + DeviceInfoQueryResult(); + DeviceInfoQueryResult(const DeviceInfoQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceInfoQueryResult &other); + + static DeviceInfoQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/deviceoptions.h b/core/include/JellyfinQt/dto/deviceoptions.h new file mode 100644 index 0000000..98acb12 --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceoptions.h @@ -0,0 +1,74 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEOPTIONS_H +#define JELLYFIN_DTO_DEVICEOPTIONS_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceOptions { +public: + DeviceOptions(); + DeviceOptions(const DeviceOptions &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceOptions &other); + + static DeviceOptions fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString customName() const; + + void setCustomName(QString newCustomName); + bool customNameNull() const; + void setCustomNameNull(); + + +protected: + QString m_customName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEOPTIONS_H diff --git a/core/include/JellyfinQt/dto/deviceprofile.h b/core/include/JellyfinQt/dto/deviceprofile.h new file mode 100644 index 0000000..f1eb9bd --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceprofile.h @@ -0,0 +1,519 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEPROFILE_H +#define JELLYFIN_DTO_DEVICEPROFILE_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/codecprofile.h" +#include "JellyfinQt/dto/containerprofile.h" +#include "JellyfinQt/dto/deviceidentification.h" +#include "JellyfinQt/dto/directplayprofile.h" +#include "JellyfinQt/dto/responseprofile.h" +#include "JellyfinQt/dto/subtitleprofile.h" +#include "JellyfinQt/dto/transcodingprofile.h" +#include "JellyfinQt/dto/xmlattribute.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceProfile { +public: + DeviceProfile(); + DeviceProfile(const DeviceProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceProfile &other); + + static DeviceProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the Name. + */ + QString name() const; + /** + * @brief Gets or sets the Name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the Id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the Id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QSharedPointer identification() const; + + void setIdentification(QSharedPointer newIdentification); + + /** + * @brief Gets or sets the FriendlyName. + */ + QString friendlyName() const; + /** + * @brief Gets or sets the FriendlyName. + */ + void setFriendlyName(QString newFriendlyName); + bool friendlyNameNull() const; + void setFriendlyNameNull(); + + /** + * @brief Gets or sets the Manufacturer. + */ + QString manufacturer() const; + /** + * @brief Gets or sets the Manufacturer. + */ + void setManufacturer(QString newManufacturer); + bool manufacturerNull() const; + void setManufacturerNull(); + + /** + * @brief Gets or sets the ManufacturerUrl. + */ + QString manufacturerUrl() const; + /** + * @brief Gets or sets the ManufacturerUrl. + */ + void setManufacturerUrl(QString newManufacturerUrl); + bool manufacturerUrlNull() const; + void setManufacturerUrlNull(); + + /** + * @brief Gets or sets the ModelName. + */ + QString modelName() const; + /** + * @brief Gets or sets the ModelName. + */ + void setModelName(QString newModelName); + bool modelNameNull() const; + void setModelNameNull(); + + /** + * @brief Gets or sets the ModelDescription. + */ + QString modelDescription() const; + /** + * @brief Gets or sets the ModelDescription. + */ + void setModelDescription(QString newModelDescription); + bool modelDescriptionNull() const; + void setModelDescriptionNull(); + + /** + * @brief Gets or sets the ModelNumber. + */ + QString modelNumber() const; + /** + * @brief Gets or sets the ModelNumber. + */ + void setModelNumber(QString newModelNumber); + bool modelNumberNull() const; + void setModelNumberNull(); + + /** + * @brief Gets or sets the ModelUrl. + */ + QString modelUrl() const; + /** + * @brief Gets or sets the ModelUrl. + */ + void setModelUrl(QString newModelUrl); + bool modelUrlNull() const; + void setModelUrlNull(); + + /** + * @brief Gets or sets the SerialNumber. + */ + QString serialNumber() const; + /** + * @brief Gets or sets the SerialNumber. + */ + void setSerialNumber(QString newSerialNumber); + bool serialNumberNull() const; + void setSerialNumberNull(); + + /** + * @brief Gets or sets a value indicating whether EnableAlbumArtInDidl. + */ + bool enableAlbumArtInDidl() const; + /** + * @brief Gets or sets a value indicating whether EnableAlbumArtInDidl. + */ + void setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl); + + /** + * @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + */ + bool enableSingleAlbumArtLimit() const; + /** + * @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + */ + void setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit); + + /** + * @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit. + */ + bool enableSingleSubtitleLimit() const; + /** + * @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit. + */ + void setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit); + + /** + * @brief Gets or sets the SupportedMediaTypes. + */ + QString supportedMediaTypes() const; + /** + * @brief Gets or sets the SupportedMediaTypes. + */ + void setSupportedMediaTypes(QString newSupportedMediaTypes); + bool supportedMediaTypesNull() const; + void setSupportedMediaTypesNull(); + + /** + * @brief Gets or sets the UserId. + */ + QString userId() const; + /** + * @brief Gets or sets the UserId. + */ + void setUserId(QString newUserId); + bool userIdNull() const; + void setUserIdNull(); + + /** + * @brief Gets or sets the AlbumArtPn. + */ + QString albumArtPn() const; + /** + * @brief Gets or sets the AlbumArtPn. + */ + void setAlbumArtPn(QString newAlbumArtPn); + bool albumArtPnNull() const; + void setAlbumArtPnNull(); + + /** + * @brief Gets or sets the MaxAlbumArtWidth. + */ + qint32 maxAlbumArtWidth() const; + /** + * @brief Gets or sets the MaxAlbumArtWidth. + */ + void setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth); + + /** + * @brief Gets or sets the MaxAlbumArtHeight. + */ + qint32 maxAlbumArtHeight() const; + /** + * @brief Gets or sets the MaxAlbumArtHeight. + */ + void setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight); + + /** + * @brief Gets or sets the MaxIconWidth. + */ + std::optional maxIconWidth() const; + /** + * @brief Gets or sets the MaxIconWidth. + */ + void setMaxIconWidth(std::optional newMaxIconWidth); + bool maxIconWidthNull() const; + void setMaxIconWidthNull(); + + /** + * @brief Gets or sets the MaxIconHeight. + */ + std::optional maxIconHeight() const; + /** + * @brief Gets or sets the MaxIconHeight. + */ + void setMaxIconHeight(std::optional newMaxIconHeight); + bool maxIconHeightNull() const; + void setMaxIconHeightNull(); + + /** + * @brief Gets or sets the MaxStreamingBitrate. + */ + std::optional maxStreamingBitrate() const; + /** + * @brief Gets or sets the MaxStreamingBitrate. + */ + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate); + bool maxStreamingBitrateNull() const; + void setMaxStreamingBitrateNull(); + + /** + * @brief Gets or sets the MaxStaticBitrate. + */ + std::optional maxStaticBitrate() const; + /** + * @brief Gets or sets the MaxStaticBitrate. + */ + void setMaxStaticBitrate(std::optional newMaxStaticBitrate); + bool maxStaticBitrateNull() const; + void setMaxStaticBitrateNull(); + + /** + * @brief Gets or sets the MusicStreamingTranscodingBitrate. + */ + std::optional musicStreamingTranscodingBitrate() const; + /** + * @brief Gets or sets the MusicStreamingTranscodingBitrate. + */ + void setMusicStreamingTranscodingBitrate(std::optional newMusicStreamingTranscodingBitrate); + bool musicStreamingTranscodingBitrateNull() const; + void setMusicStreamingTranscodingBitrateNull(); + + /** + * @brief Gets or sets the MaxStaticMusicBitrate. + */ + std::optional maxStaticMusicBitrate() const; + /** + * @brief Gets or sets the MaxStaticMusicBitrate. + */ + void setMaxStaticMusicBitrate(std::optional newMaxStaticMusicBitrate); + bool maxStaticMusicBitrateNull() const; + void setMaxStaticMusicBitrateNull(); + + /** + * @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + */ + QString sonyAggregationFlags() const; + /** + * @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + */ + void setSonyAggregationFlags(QString newSonyAggregationFlags); + bool sonyAggregationFlagsNull() const; + void setSonyAggregationFlagsNull(); + + /** + * @brief Gets or sets the ProtocolInfo. + */ + QString protocolInfo() const; + /** + * @brief Gets or sets the ProtocolInfo. + */ + void setProtocolInfo(QString newProtocolInfo); + bool protocolInfoNull() const; + void setProtocolInfoNull(); + + /** + * @brief Gets or sets the TimelineOffsetSeconds. + */ + qint32 timelineOffsetSeconds() const; + /** + * @brief Gets or sets the TimelineOffsetSeconds. + */ + void setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds); + + /** + * @brief Gets or sets a value indicating whether RequiresPlainVideoItems. + */ + bool requiresPlainVideoItems() const; + /** + * @brief Gets or sets a value indicating whether RequiresPlainVideoItems. + */ + void setRequiresPlainVideoItems(bool newRequiresPlainVideoItems); + + /** + * @brief Gets or sets a value indicating whether RequiresPlainFolders. + */ + bool requiresPlainFolders() const; + /** + * @brief Gets or sets a value indicating whether RequiresPlainFolders. + */ + void setRequiresPlainFolders(bool newRequiresPlainFolders); + + /** + * @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + */ + bool enableMSMediaReceiverRegistrar() const; + /** + * @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + */ + void setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar); + + /** + * @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + */ + bool ignoreTranscodeByteRangeRequests() const; + /** + * @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + */ + void setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests); + + /** + * @brief Gets or sets the XmlRootAttributes. + */ + QList> xmlRootAttributes() const; + /** + * @brief Gets or sets the XmlRootAttributes. + */ + void setXmlRootAttributes(QList> newXmlRootAttributes); + bool xmlRootAttributesNull() const; + void setXmlRootAttributesNull(); + + /** + * @brief Gets or sets the direct play profiles. + */ + QList> directPlayProfiles() const; + /** + * @brief Gets or sets the direct play profiles. + */ + void setDirectPlayProfiles(QList> newDirectPlayProfiles); + bool directPlayProfilesNull() const; + void setDirectPlayProfilesNull(); + + /** + * @brief Gets or sets the transcoding profiles. + */ + QList> transcodingProfiles() const; + /** + * @brief Gets or sets the transcoding profiles. + */ + void setTranscodingProfiles(QList> newTranscodingProfiles); + bool transcodingProfilesNull() const; + void setTranscodingProfilesNull(); + + /** + * @brief Gets or sets the ContainerProfiles. + */ + QList> containerProfiles() const; + /** + * @brief Gets or sets the ContainerProfiles. + */ + void setContainerProfiles(QList> newContainerProfiles); + bool containerProfilesNull() const; + void setContainerProfilesNull(); + + /** + * @brief Gets or sets the CodecProfiles. + */ + QList> codecProfiles() const; + /** + * @brief Gets or sets the CodecProfiles. + */ + void setCodecProfiles(QList> newCodecProfiles); + bool codecProfilesNull() const; + void setCodecProfilesNull(); + + /** + * @brief Gets or sets the ResponseProfiles. + */ + QList> responseProfiles() const; + /** + * @brief Gets or sets the ResponseProfiles. + */ + void setResponseProfiles(QList> newResponseProfiles); + bool responseProfilesNull() const; + void setResponseProfilesNull(); + + /** + * @brief Gets or sets the SubtitleProfiles. + */ + QList> subtitleProfiles() const; + /** + * @brief Gets or sets the SubtitleProfiles. + */ + void setSubtitleProfiles(QList> newSubtitleProfiles); + bool subtitleProfilesNull() const; + void setSubtitleProfilesNull(); + + +protected: + QString m_name; + QString m_jellyfinId; + QSharedPointer m_identification = nullptr; + QString m_friendlyName; + QString m_manufacturer; + QString m_manufacturerUrl; + QString m_modelName; + QString m_modelDescription; + QString m_modelNumber; + QString m_modelUrl; + QString m_serialNumber; + bool m_enableAlbumArtInDidl; + bool m_enableSingleAlbumArtLimit; + bool m_enableSingleSubtitleLimit; + QString m_supportedMediaTypes; + QString m_userId; + QString m_albumArtPn; + qint32 m_maxAlbumArtWidth; + qint32 m_maxAlbumArtHeight; + std::optional m_maxIconWidth = std::nullopt; + std::optional m_maxIconHeight = std::nullopt; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxStaticBitrate = std::nullopt; + std::optional m_musicStreamingTranscodingBitrate = std::nullopt; + std::optional m_maxStaticMusicBitrate = std::nullopt; + QString m_sonyAggregationFlags; + QString m_protocolInfo; + qint32 m_timelineOffsetSeconds; + bool m_requiresPlainVideoItems; + bool m_requiresPlainFolders; + bool m_enableMSMediaReceiverRegistrar; + bool m_ignoreTranscodeByteRangeRequests; + QList> m_xmlRootAttributes; + QList> m_directPlayProfiles; + QList> m_transcodingProfiles; + QList> m_containerProfiles; + QList> m_codecProfiles; + QList> m_responseProfiles; + QList> m_subtitleProfiles; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEPROFILE_H diff --git a/core/include/JellyfinQt/dto/deviceprofileinfo.h b/core/include/JellyfinQt/dto/deviceprofileinfo.h new file mode 100644 index 0000000..d9cb32c --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceprofileinfo.h @@ -0,0 +1,97 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEPROFILEINFO_H +#define JELLYFIN_DTO_DEVICEPROFILEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceprofiletype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DeviceProfileInfo { +public: + DeviceProfileInfo(); + DeviceProfileInfo(const DeviceProfileInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DeviceProfileInfo &other); + + static DeviceProfileInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the identifier. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + DeviceProfileType type() const; + + void setType(DeviceProfileType newType); + + +protected: + QString m_jellyfinId; + QString m_name; + DeviceProfileType m_type; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEPROFILEINFO_H diff --git a/core/include/JellyfinQt/dto/deviceprofiletype.h b/core/include/JellyfinQt/dto/deviceprofiletype.h new file mode 100644 index 0000000..1a61277 --- /dev/null +++ b/core/include/JellyfinQt/dto/deviceprofiletype.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEPROFILETYPE_H +#define JELLYFIN_DTO_DEVICEPROFILETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class DeviceProfileTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + System, + User, + }; + Q_ENUM(Value) +private: + explicit DeviceProfileTypeClass(); +}; + +typedef DeviceProfileTypeClass::Value DeviceProfileType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DEVICEPROFILETYPE_H diff --git a/core/include/JellyfinQt/dto/directplayprofile.h b/core/include/JellyfinQt/dto/directplayprofile.h new file mode 100644 index 0000000..979b365 --- /dev/null +++ b/core/include/JellyfinQt/dto/directplayprofile.h @@ -0,0 +1,97 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DIRECTPLAYPROFILE_H +#define JELLYFIN_DTO_DIRECTPLAYPROFILE_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/dlnaprofiletype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DirectPlayProfile { +public: + DirectPlayProfile(); + DirectPlayProfile(const DirectPlayProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DirectPlayProfile &other); + + static DirectPlayProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + QString audioCodec() const; + + void setAudioCodec(QString newAudioCodec); + bool audioCodecNull() const; + void setAudioCodecNull(); + + + QString videoCodec() const; + + void setVideoCodec(QString newVideoCodec); + bool videoCodecNull() const; + void setVideoCodecNull(); + + + DlnaProfileType type() const; + + void setType(DlnaProfileType newType); + + +protected: + QString m_container; + QString m_audioCodec; + QString m_videoCodec; + DlnaProfileType m_type; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DIRECTPLAYPROFILE_H diff --git a/core/include/JellyfinQt/dto/displaypreferencesdto.h b/core/include/JellyfinQt/dto/displaypreferencesdto.h new file mode 100644 index 0000000..5072ef3 --- /dev/null +++ b/core/include/JellyfinQt/dto/displaypreferencesdto.h @@ -0,0 +1,212 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H +#define JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/scrolldirection.h" +#include "JellyfinQt/dto/sortorder.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class DisplayPreferencesDto { +public: + DisplayPreferencesDto(); + DisplayPreferencesDto(const DisplayPreferencesDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(DisplayPreferencesDto &other); + + static DisplayPreferencesDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the user id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the user id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the type of the view. + */ + QString viewType() const; + /** + * @brief Gets or sets the type of the view. + */ + void setViewType(QString newViewType); + bool viewTypeNull() const; + void setViewTypeNull(); + + /** + * @brief Gets or sets the sort by. + */ + QString sortBy() const; + /** + * @brief Gets or sets the sort by. + */ + void setSortBy(QString newSortBy); + bool sortByNull() const; + void setSortByNull(); + + /** + * @brief Gets or sets the index by. + */ + QString indexBy() const; + /** + * @brief Gets or sets the index by. + */ + void setIndexBy(QString newIndexBy); + bool indexByNull() const; + void setIndexByNull(); + + /** + * @brief Gets or sets a value indicating whether [remember indexing]. + */ + bool rememberIndexing() const; + /** + * @brief Gets or sets a value indicating whether [remember indexing]. + */ + void setRememberIndexing(bool newRememberIndexing); + + /** + * @brief Gets or sets the height of the primary image. + */ + qint32 primaryImageHeight() const; + /** + * @brief Gets or sets the height of the primary image. + */ + void setPrimaryImageHeight(qint32 newPrimaryImageHeight); + + /** + * @brief Gets or sets the width of the primary image. + */ + qint32 primaryImageWidth() const; + /** + * @brief Gets or sets the width of the primary image. + */ + void setPrimaryImageWidth(qint32 newPrimaryImageWidth); + + /** + * @brief Gets or sets the custom prefs. + */ + std::optional customPrefs() const; + /** + * @brief Gets or sets the custom prefs. + */ + void setCustomPrefs(std::optional newCustomPrefs); + bool customPrefsNull() const; + void setCustomPrefsNull(); + + + ScrollDirection scrollDirection() const; + + void setScrollDirection(ScrollDirection newScrollDirection); + + /** + * @brief Gets or sets a value indicating whether to show backdrops on this item. + */ + bool showBackdrop() const; + /** + * @brief Gets or sets a value indicating whether to show backdrops on this item. + */ + void setShowBackdrop(bool newShowBackdrop); + + /** + * @brief Gets or sets a value indicating whether [remember sorting]. + */ + bool rememberSorting() const; + /** + * @brief Gets or sets a value indicating whether [remember sorting]. + */ + void setRememberSorting(bool newRememberSorting); + + + SortOrder sortOrder() const; + + void setSortOrder(SortOrder newSortOrder); + + /** + * @brief Gets or sets a value indicating whether [show sidebar]. + */ + bool showSidebar() const; + /** + * @brief Gets or sets a value indicating whether [show sidebar]. + */ + void setShowSidebar(bool newShowSidebar); + + /** + * @brief Gets or sets the client. + */ + QString client() const; + /** + * @brief Gets or sets the client. + */ + void setClient(QString newClient); + bool clientNull() const; + void setClientNull(); + + +protected: + QString m_jellyfinId; + QString m_viewType; + QString m_sortBy; + QString m_indexBy; + bool m_rememberIndexing; + qint32 m_primaryImageHeight; + qint32 m_primaryImageWidth; + std::optional m_customPrefs = std::nullopt; + ScrollDirection m_scrollDirection; + bool m_showBackdrop; + bool m_rememberSorting; + SortOrder m_sortOrder; + bool m_showSidebar; + QString m_client; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H diff --git a/core/include/JellyfinQt/dto/dlnaprofiletype.h b/core/include/JellyfinQt/dto/dlnaprofiletype.h new file mode 100644 index 0000000..cbef3e1 --- /dev/null +++ b/core/include/JellyfinQt/dto/dlnaprofiletype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DLNAPROFILETYPE_H +#define JELLYFIN_DTO_DLNAPROFILETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class DlnaProfileTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Audio, + Video, + Photo, + }; + Q_ENUM(Value) +private: + explicit DlnaProfileTypeClass(); +}; + +typedef DlnaProfileTypeClass::Value DlnaProfileType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DLNAPROFILETYPE_H diff --git a/core/include/JellyfinQt/dto/dynamicdayofweek.h b/core/include/JellyfinQt/dto/dynamicdayofweek.h new file mode 100644 index 0000000..b242c64 --- /dev/null +++ b/core/include/JellyfinQt/dto/dynamicdayofweek.h @@ -0,0 +1,68 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DYNAMICDAYOFWEEK_H +#define JELLYFIN_DTO_DYNAMICDAYOFWEEK_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class DynamicDayOfWeekClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Sunday, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Everyday, + Weekday, + Weekend, + }; + Q_ENUM(Value) +private: + explicit DynamicDayOfWeekClass(); +}; + +typedef DynamicDayOfWeekClass::Value DynamicDayOfWeek; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DYNAMICDAYOFWEEK_H diff --git a/core/include/JellyfinQt/dto/encodingcontext.h b/core/include/JellyfinQt/dto/encodingcontext.h new file mode 100644 index 0000000..1d86ad1 --- /dev/null +++ b/core/include/JellyfinQt/dto/encodingcontext.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ENCODINGCONTEXT_H +#define JELLYFIN_DTO_ENCODINGCONTEXT_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class EncodingContextClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Streaming, + Static, + }; + Q_ENUM(Value) +private: + explicit EncodingContextClass(); +}; + +typedef EncodingContextClass::Value EncodingContext; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ENCODINGCONTEXT_H diff --git a/core/include/JellyfinQt/dto/endpointinfo.h b/core/include/JellyfinQt/dto/endpointinfo.h new file mode 100644 index 0000000..a98b94b --- /dev/null +++ b/core/include/JellyfinQt/dto/endpointinfo.h @@ -0,0 +1,77 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ENDPOINTINFO_H +#define JELLYFIN_DTO_ENDPOINTINFO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class EndPointInfo { +public: + EndPointInfo(); + EndPointInfo(const EndPointInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(EndPointInfo &other); + + static EndPointInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + bool isLocal() const; + + void setIsLocal(bool newIsLocal); + + + bool isInNetwork() const; + + void setIsInNetwork(bool newIsInNetwork); + + +protected: + bool m_isLocal; + bool m_isInNetwork; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ENDPOINTINFO_H diff --git a/core/include/JellyfinQt/dto/externalidinfo.h b/core/include/JellyfinQt/dto/externalidinfo.h new file mode 100644 index 0000000..04089d9 --- /dev/null +++ b/core/include/JellyfinQt/dto/externalidinfo.h @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_EXTERNALIDINFO_H +#define JELLYFIN_DTO_EXTERNALIDINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/externalidmediatype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ExternalIdInfo { +public: + ExternalIdInfo(); + ExternalIdInfo(const ExternalIdInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ExternalIdInfo &other); + + static ExternalIdInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). + */ + QString name() const; + /** + * @brief Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the unique key for this id. This key should be unique across all providers. + */ + QString key() const; + /** + * @brief Gets or sets the unique key for this id. This key should be unique across all providers. + */ + void setKey(QString newKey); + bool keyNull() const; + void setKeyNull(); + + + ExternalIdMediaType type() const; + + void setType(ExternalIdMediaType newType); + + /** + * @brief Gets or sets the URL format string. + */ + QString urlFormatString() const; + /** + * @brief Gets or sets the URL format string. + */ + void setUrlFormatString(QString newUrlFormatString); + bool urlFormatStringNull() const; + void setUrlFormatStringNull(); + + +protected: + QString m_name; + QString m_key; + ExternalIdMediaType m_type; + QString m_urlFormatString; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_EXTERNALIDINFO_H diff --git a/core/include/JellyfinQt/dto/externalidmediatype.h b/core/include/JellyfinQt/dto/externalidmediatype.h new file mode 100644 index 0000000..47cbb25 --- /dev/null +++ b/core/include/JellyfinQt/dto/externalidmediatype.h @@ -0,0 +1,70 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H +#define JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ExternalIdMediaTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Album, + AlbumArtist, + Artist, + BoxSet, + Episode, + Movie, + OtherArtist, + Person, + ReleaseGroup, + Season, + Series, + Track, + }; + Q_ENUM(Value) +private: + explicit ExternalIdMediaTypeClass(); +}; + +typedef ExternalIdMediaTypeClass::Value ExternalIdMediaType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H diff --git a/core/include/JellyfinQt/dto/externalurl.h b/core/include/JellyfinQt/dto/externalurl.h new file mode 100644 index 0000000..8467580 --- /dev/null +++ b/core/include/JellyfinQt/dto/externalurl.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_EXTERNALURL_H +#define JELLYFIN_DTO_EXTERNALURL_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ExternalUrl { +public: + ExternalUrl(); + ExternalUrl(const ExternalUrl &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ExternalUrl &other); + + static ExternalUrl fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the type of the item. + */ + QString url() const; + /** + * @brief Gets or sets the type of the item. + */ + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + +protected: + QString m_name; + QString m_url; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_EXTERNALURL_H diff --git a/core/include/JellyfinQt/dto/ffmpeglocation.h b/core/include/JellyfinQt/dto/ffmpeglocation.h new file mode 100644 index 0000000..7f83a2b --- /dev/null +++ b/core/include/JellyfinQt/dto/ffmpeglocation.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FFMPEGLOCATION_H +#define JELLYFIN_DTO_FFMPEGLOCATION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class FFmpegLocationClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + NotFound, + SetByArgument, + Custom, + System, + }; + Q_ENUM(Value) +private: + explicit FFmpegLocationClass(); +}; + +typedef FFmpegLocationClass::Value FFmpegLocation; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FFMPEGLOCATION_H diff --git a/core/include/JellyfinQt/dto/filesystementryinfo.h b/core/include/JellyfinQt/dto/filesystementryinfo.h new file mode 100644 index 0000000..ad789e3 --- /dev/null +++ b/core/include/JellyfinQt/dto/filesystementryinfo.h @@ -0,0 +1,97 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FILESYSTEMENTRYINFO_H +#define JELLYFIN_DTO_FILESYSTEMENTRYINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/filesystementrytype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class FileSystemEntryInfo { +public: + FileSystemEntryInfo(); + FileSystemEntryInfo(const FileSystemEntryInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(FileSystemEntryInfo &other); + + static FileSystemEntryInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the name. + */ + QString name() const; + /** + * @brief Gets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets the path. + */ + QString path() const; + /** + * @brief Gets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + FileSystemEntryType type() const; + + void setType(FileSystemEntryType newType); + + +protected: + QString m_name; + QString m_path; + FileSystemEntryType m_type; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FILESYSTEMENTRYINFO_H diff --git a/core/include/JellyfinQt/dto/filesystementrytype.h b/core/include/JellyfinQt/dto/filesystementrytype.h new file mode 100644 index 0000000..d2a5d56 --- /dev/null +++ b/core/include/JellyfinQt/dto/filesystementrytype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H +#define JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class FileSystemEntryTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + File, + Directory, + NetworkComputer, + NetworkShare, + }; + Q_ENUM(Value) +private: + explicit FileSystemEntryTypeClass(); +}; + +typedef FileSystemEntryTypeClass::Value FileSystemEntryType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H diff --git a/core/include/JellyfinQt/dto/fontfile.h b/core/include/JellyfinQt/dto/fontfile.h new file mode 100644 index 0000000..84fc669 --- /dev/null +++ b/core/include/JellyfinQt/dto/fontfile.h @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FONTFILE_H +#define JELLYFIN_DTO_FONTFILE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class FontFile { +public: + FontFile(); + FontFile(const FontFile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(FontFile &other); + + static FontFile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the size. + */ + qint64 size() const; + /** + * @brief Gets or sets the size. + */ + void setSize(qint64 newSize); + + /** + * @brief Gets or sets the date created. + */ + QDateTime dateCreated() const; + /** + * @brief Gets or sets the date created. + */ + void setDateCreated(QDateTime newDateCreated); + + /** + * @brief Gets or sets the date modified. + */ + QDateTime dateModified() const; + /** + * @brief Gets or sets the date modified. + */ + void setDateModified(QDateTime newDateModified); + + +protected: + QString m_name; + qint64 m_size; + QDateTime m_dateCreated; + QDateTime m_dateModified; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FONTFILE_H diff --git a/core/include/JellyfinQt/dto/forgotpasswordaction.h b/core/include/JellyfinQt/dto/forgotpasswordaction.h new file mode 100644 index 0000000..3c9e618 --- /dev/null +++ b/core/include/JellyfinQt/dto/forgotpasswordaction.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FORGOTPASSWORDACTION_H +#define JELLYFIN_DTO_FORGOTPASSWORDACTION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ForgotPasswordActionClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + ContactAdmin, + PinCode, + InNetworkRequired, + }; + Q_ENUM(Value) +private: + explicit ForgotPasswordActionClass(); +}; + +typedef ForgotPasswordActionClass::Value ForgotPasswordAction; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FORGOTPASSWORDACTION_H diff --git a/core/include/JellyfinQt/dto/forgotpassworddto.h b/core/include/JellyfinQt/dto/forgotpassworddto.h new file mode 100644 index 0000000..86b4858 --- /dev/null +++ b/core/include/JellyfinQt/dto/forgotpassworddto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FORGOTPASSWORDDTO_H +#define JELLYFIN_DTO_FORGOTPASSWORDDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ForgotPasswordDto { +public: + ForgotPasswordDto(); + ForgotPasswordDto(const ForgotPasswordDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ForgotPasswordDto &other); + + static ForgotPasswordDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the entered username to have its password reset. + */ + QString enteredUsername() const; + /** + * @brief Gets or sets the entered username to have its password reset. + */ + void setEnteredUsername(QString newEnteredUsername); + + +protected: + QString m_enteredUsername; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FORGOTPASSWORDDTO_H diff --git a/core/include/JellyfinQt/dto/forgotpasswordresult.h b/core/include/JellyfinQt/dto/forgotpasswordresult.h new file mode 100644 index 0000000..745231d --- /dev/null +++ b/core/include/JellyfinQt/dto/forgotpasswordresult.h @@ -0,0 +1,98 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FORGOTPASSWORDRESULT_H +#define JELLYFIN_DTO_FORGOTPASSWORDRESULT_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/forgotpasswordaction.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ForgotPasswordResult { +public: + ForgotPasswordResult(); + ForgotPasswordResult(const ForgotPasswordResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ForgotPasswordResult &other); + + static ForgotPasswordResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + ForgotPasswordAction action() const; + + void setAction(ForgotPasswordAction newAction); + + /** + * @brief Gets or sets the pin file. + */ + QString pinFile() const; + /** + * @brief Gets or sets the pin file. + */ + void setPinFile(QString newPinFile); + bool pinFileNull() const; + void setPinFileNull(); + + /** + * @brief Gets or sets the pin expiration date. + */ + QDateTime pinExpirationDate() const; + /** + * @brief Gets or sets the pin expiration date. + */ + void setPinExpirationDate(QDateTime newPinExpirationDate); + bool pinExpirationDateNull() const; + void setPinExpirationDateNull(); + + +protected: + ForgotPasswordAction m_action; + QString m_pinFile; + QDateTime m_pinExpirationDate; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_FORGOTPASSWORDRESULT_H diff --git a/core/include/JellyfinQt/dto/generalcommand.h b/core/include/JellyfinQt/dto/generalcommand.h new file mode 100644 index 0000000..c7482e1 --- /dev/null +++ b/core/include/JellyfinQt/dto/generalcommand.h @@ -0,0 +1,87 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GENERALCOMMAND_H +#define JELLYFIN_DTO_GENERALCOMMAND_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/generalcommandtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class GeneralCommand { +public: + GeneralCommand(); + GeneralCommand(const GeneralCommand &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(GeneralCommand &other); + + static GeneralCommand fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + GeneralCommandType name() const; + + void setName(GeneralCommandType newName); + + + QString controllingUserId() const; + + void setControllingUserId(QString newControllingUserId); + + + std::optional arguments() const; + + void setArguments(std::optional newArguments); + bool argumentsNull() const; + void setArgumentsNull(); + + +protected: + GeneralCommandType m_name; + QString m_controllingUserId; + std::optional m_arguments = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GENERALCOMMAND_H diff --git a/core/include/JellyfinQt/dto/generalcommandtype.h b/core/include/JellyfinQt/dto/generalcommandtype.h new file mode 100644 index 0000000..6e5388a --- /dev/null +++ b/core/include/JellyfinQt/dto/generalcommandtype.h @@ -0,0 +1,99 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GENERALCOMMANDTYPE_H +#define JELLYFIN_DTO_GENERALCOMMANDTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GeneralCommandTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + MoveUp, + MoveDown, + MoveLeft, + MoveRight, + PageUp, + PageDown, + PreviousLetter, + NextLetter, + ToggleOsd, + ToggleContextMenu, + Select, + Back, + TakeScreenshot, + SendKey, + SendString, + GoHome, + GoToSettings, + VolumeUp, + VolumeDown, + Mute, + Unmute, + ToggleMute, + SetVolume, + SetAudioStreamIndex, + SetSubtitleStreamIndex, + ToggleFullscreen, + DisplayContent, + GoToSearch, + DisplayMessage, + SetRepeatMode, + ChannelUp, + ChannelDown, + Guide, + ToggleStats, + PlayMediaSource, + PlayTrailers, + SetShuffleQueue, + PlayState, + PlayNext, + ToggleOsdMenu, + Play, + }; + Q_ENUM(Value) +private: + explicit GeneralCommandTypeClass(); +}; + +typedef GeneralCommandTypeClass::Value GeneralCommandType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GENERALCOMMANDTYPE_H diff --git a/core/include/JellyfinQt/dto/getprogramsdto.h b/core/include/JellyfinQt/dto/getprogramsdto.h new file mode 100644 index 0000000..d8e9334 --- /dev/null +++ b/core/include/JellyfinQt/dto/getprogramsdto.h @@ -0,0 +1,431 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GETPROGRAMSDTO_H +#define JELLYFIN_DTO_GETPROGRAMSDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/dto/itemfields.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class GetProgramsDto { +public: + GetProgramsDto(); + GetProgramsDto(const GetProgramsDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(GetProgramsDto &other); + + static GetProgramsDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the channels to return guide information for. + */ + QStringList channelIds() const; + /** + * @brief Gets or sets the channels to return guide information for. + */ + void setChannelIds(QStringList newChannelIds); + bool channelIdsNull() const; + void setChannelIdsNull(); + + /** + * @brief Gets or sets optional. Filter by user id. + */ + QString userId() const; + /** + * @brief Gets or sets optional. Filter by user id. + */ + void setUserId(QString newUserId); + + /** + * @brief Gets or sets the minimum premiere start date. +Optional. + */ + QDateTime minStartDate() const; + /** + * @brief Gets or sets the minimum premiere start date. +Optional. + */ + void setMinStartDate(QDateTime newMinStartDate); + bool minStartDateNull() const; + void setMinStartDateNull(); + + /** + * @brief Gets or sets filter by programs that have completed airing, or not. +Optional. + */ + std::optional hasAired() const; + /** + * @brief Gets or sets filter by programs that have completed airing, or not. +Optional. + */ + void setHasAired(std::optional newHasAired); + bool hasAiredNull() const; + void setHasAiredNull(); + + /** + * @brief Gets or sets filter by programs that are currently airing, or not. +Optional. + */ + std::optional isAiring() const; + /** + * @brief Gets or sets filter by programs that are currently airing, or not. +Optional. + */ + void setIsAiring(std::optional newIsAiring); + bool isAiringNull() const; + void setIsAiringNull(); + + /** + * @brief Gets or sets the maximum premiere start date. +Optional. + */ + QDateTime maxStartDate() const; + /** + * @brief Gets or sets the maximum premiere start date. +Optional. + */ + void setMaxStartDate(QDateTime newMaxStartDate); + bool maxStartDateNull() const; + void setMaxStartDateNull(); + + /** + * @brief Gets or sets the minimum premiere end date. +Optional. + */ + QDateTime minEndDate() const; + /** + * @brief Gets or sets the minimum premiere end date. +Optional. + */ + void setMinEndDate(QDateTime newMinEndDate); + bool minEndDateNull() const; + void setMinEndDateNull(); + + /** + * @brief Gets or sets the maximum premiere end date. +Optional. + */ + QDateTime maxEndDate() const; + /** + * @brief Gets or sets the maximum premiere end date. +Optional. + */ + void setMaxEndDate(QDateTime newMaxEndDate); + bool maxEndDateNull() const; + void setMaxEndDateNull(); + + /** + * @brief Gets or sets filter for movies. +Optional. + */ + std::optional isMovie() const; + /** + * @brief Gets or sets filter for movies. +Optional. + */ + void setIsMovie(std::optional newIsMovie); + bool isMovieNull() const; + void setIsMovieNull(); + + /** + * @brief Gets or sets filter for series. +Optional. + */ + std::optional isSeries() const; + /** + * @brief Gets or sets filter for series. +Optional. + */ + void setIsSeries(std::optional newIsSeries); + bool isSeriesNull() const; + void setIsSeriesNull(); + + /** + * @brief Gets or sets filter for news. +Optional. + */ + std::optional isNews() const; + /** + * @brief Gets or sets filter for news. +Optional. + */ + void setIsNews(std::optional newIsNews); + bool isNewsNull() const; + void setIsNewsNull(); + + /** + * @brief Gets or sets filter for kids. +Optional. + */ + std::optional isKids() const; + /** + * @brief Gets or sets filter for kids. +Optional. + */ + void setIsKids(std::optional newIsKids); + bool isKidsNull() const; + void setIsKidsNull(); + + /** + * @brief Gets or sets filter for sports. +Optional. + */ + std::optional isSports() const; + /** + * @brief Gets or sets filter for sports. +Optional. + */ + void setIsSports(std::optional newIsSports); + bool isSportsNull() const; + void setIsSportsNull(); + + /** + * @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results. +Optional. + */ + std::optional startIndex() const; + /** + * @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results. +Optional. + */ + void setStartIndex(std::optional newStartIndex); + bool startIndexNull() const; + void setStartIndexNull(); + + /** + * @brief Gets or sets the maximum number of records to return. +Optional. + */ + std::optional limit() const; + /** + * @brief Gets or sets the maximum number of records to return. +Optional. + */ + void setLimit(std::optional newLimit); + bool limitNull() const; + void setLimitNull(); + + /** + * @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. +Optional. + */ + QString sortBy() const; + /** + * @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. +Optional. + */ + void setSortBy(QString newSortBy); + bool sortByNull() const; + void setSortByNull(); + + /** + * @brief Gets or sets sort Order - Ascending,Descending. + */ + QString sortOrder() const; + /** + * @brief Gets or sets sort Order - Ascending,Descending. + */ + void setSortOrder(QString newSortOrder); + bool sortOrderNull() const; + void setSortOrderNull(); + + /** + * @brief Gets or sets the genres to return guide information for. + */ + QStringList genres() const; + /** + * @brief Gets or sets the genres to return guide information for. + */ + void setGenres(QStringList newGenres); + bool genresNull() const; + void setGenresNull(); + + /** + * @brief Gets or sets the genre ids to return guide information for. + */ + QStringList genreIds() const; + /** + * @brief Gets or sets the genre ids to return guide information for. + */ + void setGenreIds(QStringList newGenreIds); + bool genreIdsNull() const; + void setGenreIdsNull(); + + /** + * @brief Gets or sets include image information in output. +Optional. + */ + std::optional enableImages() const; + /** + * @brief Gets or sets include image information in output. +Optional. + */ + void setEnableImages(std::optional newEnableImages); + bool enableImagesNull() const; + void setEnableImagesNull(); + + /** + * @brief Gets or sets a value indicating whether retrieve total record count. + */ + bool enableTotalRecordCount() const; + /** + * @brief Gets or sets a value indicating whether retrieve total record count. + */ + void setEnableTotalRecordCount(bool newEnableTotalRecordCount); + + /** + * @brief Gets or sets the max number of images to return, per image type. +Optional. + */ + std::optional imageTypeLimit() const; + /** + * @brief Gets or sets the max number of images to return, per image type. +Optional. + */ + void setImageTypeLimit(std::optional newImageTypeLimit); + bool imageTypeLimitNull() const; + void setImageTypeLimitNull(); + + /** + * @brief Gets or sets the image types to include in the output. +Optional. + */ + QList enableImageTypes() const; + /** + * @brief Gets or sets the image types to include in the output. +Optional. + */ + void setEnableImageTypes(QList newEnableImageTypes); + bool enableImageTypesNull() const; + void setEnableImageTypesNull(); + + /** + * @brief Gets or sets include user data. +Optional. + */ + std::optional enableUserData() const; + /** + * @brief Gets or sets include user data. +Optional. + */ + void setEnableUserData(std::optional newEnableUserData); + bool enableUserDataNull() const; + void setEnableUserDataNull(); + + /** + * @brief Gets or sets filter by series timer id. +Optional. + */ + QString seriesTimerId() const; + /** + * @brief Gets or sets filter by series timer id. +Optional. + */ + void setSeriesTimerId(QString newSeriesTimerId); + bool seriesTimerIdNull() const; + void setSeriesTimerIdNull(); + + /** + * @brief Gets or sets filter by library series id. +Optional. + */ + QString librarySeriesId() const; + /** + * @brief Gets or sets filter by library series id. +Optional. + */ + void setLibrarySeriesId(QString newLibrarySeriesId); + + /** + * @brief Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. +Optional. + */ + QList fields() const; + /** + * @brief Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. +Optional. + */ + void setFields(QList newFields); + bool fieldsNull() const; + void setFieldsNull(); + + +protected: + QStringList m_channelIds; + QString m_userId; + QDateTime m_minStartDate; + std::optional m_hasAired = std::nullopt; + std::optional m_isAiring = std::nullopt; + QDateTime m_maxStartDate; + QDateTime m_minEndDate; + QDateTime m_maxEndDate; + std::optional m_isMovie = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_startIndex = std::nullopt; + std::optional m_limit = std::nullopt; + QString m_sortBy; + QString m_sortOrder; + QStringList m_genres; + QStringList m_genreIds; + std::optional m_enableImages = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_imageTypeLimit = std::nullopt; + QList m_enableImageTypes; + std::optional m_enableUserData = std::nullopt; + QString m_seriesTimerId; + QString m_librarySeriesId; + QList m_fields; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GETPROGRAMSDTO_H diff --git a/core/include/JellyfinQt/dto/groupinfodto.h b/core/include/JellyfinQt/dto/groupinfodto.h new file mode 100644 index 0000000..b37d670 --- /dev/null +++ b/core/include/JellyfinQt/dto/groupinfodto.h @@ -0,0 +1,120 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPINFODTO_H +#define JELLYFIN_DTO_GROUPINFODTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/groupstatetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class GroupInfoDto { +public: + GroupInfoDto(); + GroupInfoDto(const GroupInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(GroupInfoDto &other); + + static GroupInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the group identifier. + */ + QString groupId() const; + /** + * @brief Gets the group identifier. + */ + void setGroupId(QString newGroupId); + + /** + * @brief Gets the group name. + */ + QString groupName() const; + /** + * @brief Gets the group name. + */ + void setGroupName(QString newGroupName); + bool groupNameNull() const; + void setGroupNameNull(); + + + GroupStateType state() const; + + void setState(GroupStateType newState); + + /** + * @brief Gets the participants. + */ + QStringList participants() const; + /** + * @brief Gets the participants. + */ + void setParticipants(QStringList newParticipants); + bool participantsNull() const; + void setParticipantsNull(); + + /** + * @brief Gets the date when this DTO has been created. + */ + QDateTime lastUpdatedAt() const; + /** + * @brief Gets the date when this DTO has been created. + */ + void setLastUpdatedAt(QDateTime newLastUpdatedAt); + + +protected: + QString m_groupId; + QString m_groupName; + GroupStateType m_state; + QStringList m_participants; + QDateTime m_lastUpdatedAt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPINFODTO_H diff --git a/core/include/JellyfinQt/dto/groupqueuemode.h b/core/include/JellyfinQt/dto/groupqueuemode.h new file mode 100644 index 0000000..8f33d80 --- /dev/null +++ b/core/include/JellyfinQt/dto/groupqueuemode.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPQUEUEMODE_H +#define JELLYFIN_DTO_GROUPQUEUEMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GroupQueueModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Queue, + QueueNext, + }; + Q_ENUM(Value) +private: + explicit GroupQueueModeClass(); +}; + +typedef GroupQueueModeClass::Value GroupQueueMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPQUEUEMODE_H diff --git a/core/include/JellyfinQt/dto/grouprepeatmode.h b/core/include/JellyfinQt/dto/grouprepeatmode.h new file mode 100644 index 0000000..935279d --- /dev/null +++ b/core/include/JellyfinQt/dto/grouprepeatmode.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPREPEATMODE_H +#define JELLYFIN_DTO_GROUPREPEATMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GroupRepeatModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + RepeatOne, + RepeatAll, + RepeatNone, + }; + Q_ENUM(Value) +private: + explicit GroupRepeatModeClass(); +}; + +typedef GroupRepeatModeClass::Value GroupRepeatMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPREPEATMODE_H diff --git a/core/include/JellyfinQt/dto/groupshufflemode.h b/core/include/JellyfinQt/dto/groupshufflemode.h new file mode 100644 index 0000000..5d6553a --- /dev/null +++ b/core/include/JellyfinQt/dto/groupshufflemode.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPSHUFFLEMODE_H +#define JELLYFIN_DTO_GROUPSHUFFLEMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GroupShuffleModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Sorted, + Shuffle, + }; + Q_ENUM(Value) +private: + explicit GroupShuffleModeClass(); +}; + +typedef GroupShuffleModeClass::Value GroupShuffleMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPSHUFFLEMODE_H diff --git a/core/include/JellyfinQt/dto/groupstatetype.h b/core/include/JellyfinQt/dto/groupstatetype.h new file mode 100644 index 0000000..bc95d38 --- /dev/null +++ b/core/include/JellyfinQt/dto/groupstatetype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPSTATETYPE_H +#define JELLYFIN_DTO_GROUPSTATETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GroupStateTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Idle, + Waiting, + Paused, + Playing, + }; + Q_ENUM(Value) +private: + explicit GroupStateTypeClass(); +}; + +typedef GroupStateTypeClass::Value GroupStateType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPSTATETYPE_H diff --git a/core/include/JellyfinQt/dto/groupupdatetype.h b/core/include/JellyfinQt/dto/groupupdatetype.h new file mode 100644 index 0000000..2936b2f --- /dev/null +++ b/core/include/JellyfinQt/dto/groupupdatetype.h @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPUPDATETYPE_H +#define JELLYFIN_DTO_GROUPUPDATETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class GroupUpdateTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + UserJoined, + UserLeft, + GroupJoined, + GroupLeft, + StateUpdate, + PlayQueue, + NotInGroup, + GroupDoesNotExist, + CreateGroupDenied, + JoinGroupDenied, + LibraryAccessDenied, + }; + Q_ENUM(Value) +private: + explicit GroupUpdateTypeClass(); +}; + +typedef GroupUpdateTypeClass::Value GroupUpdateType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GROUPUPDATETYPE_H diff --git a/core/include/JellyfinQt/dto/guideinfo.h b/core/include/JellyfinQt/dto/guideinfo.h new file mode 100644 index 0000000..708892e --- /dev/null +++ b/core/include/JellyfinQt/dto/guideinfo.h @@ -0,0 +1,86 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GUIDEINFO_H +#define JELLYFIN_DTO_GUIDEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class GuideInfo { +public: + GuideInfo(); + GuideInfo(const GuideInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(GuideInfo &other); + + static GuideInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the start date. + */ + QDateTime startDate() const; + /** + * @brief Gets or sets the start date. + */ + void setStartDate(QDateTime newStartDate); + + /** + * @brief Gets or sets the end date. + */ + QDateTime endDate() const; + /** + * @brief Gets or sets the end date. + */ + void setEndDate(QDateTime newEndDate); + + +protected: + QDateTime m_startDate; + QDateTime m_endDate; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_GUIDEINFO_H diff --git a/core/include/JellyfinQt/dto/headermatchtype.h b/core/include/JellyfinQt/dto/headermatchtype.h new file mode 100644 index 0000000..d77945b --- /dev/null +++ b/core/include/JellyfinQt/dto/headermatchtype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_HEADERMATCHTYPE_H +#define JELLYFIN_DTO_HEADERMATCHTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class HeaderMatchTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Equals, + Regex, + Substring, + }; + Q_ENUM(Value) +private: + explicit HeaderMatchTypeClass(); +}; + +typedef HeaderMatchTypeClass::Value HeaderMatchType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_HEADERMATCHTYPE_H diff --git a/core/include/JellyfinQt/dto/httpheaderinfo.h b/core/include/JellyfinQt/dto/httpheaderinfo.h new file mode 100644 index 0000000..41396c0 --- /dev/null +++ b/core/include/JellyfinQt/dto/httpheaderinfo.h @@ -0,0 +1,89 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_HTTPHEADERINFO_H +#define JELLYFIN_DTO_HTTPHEADERINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/headermatchtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class HttpHeaderInfo { +public: + HttpHeaderInfo(); + HttpHeaderInfo(const HttpHeaderInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(HttpHeaderInfo &other); + + static HttpHeaderInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString value() const; + + void setValue(QString newValue); + bool valueNull() const; + void setValueNull(); + + + HeaderMatchType match() const; + + void setMatch(HeaderMatchType newMatch); + + +protected: + QString m_name; + QString m_value; + HeaderMatchType m_match; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_HTTPHEADERINFO_H diff --git a/core/include/JellyfinQt/dto/ignorewaitrequestdto.h b/core/include/JellyfinQt/dto/ignorewaitrequestdto.h new file mode 100644 index 0000000..bc522de --- /dev/null +++ b/core/include/JellyfinQt/dto/ignorewaitrequestdto.h @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H +#define JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class IgnoreWaitRequestDto { +public: + IgnoreWaitRequestDto(); + IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(IgnoreWaitRequestDto &other); + + static IgnoreWaitRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether the client should be ignored. + */ + bool ignoreWait() const; + /** + * @brief Gets or sets a value indicating whether the client should be ignored. + */ + void setIgnoreWait(bool newIgnoreWait); + + +protected: + bool m_ignoreWait; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/imagebynameinfo.h b/core/include/JellyfinQt/dto/imagebynameinfo.h new file mode 100644 index 0000000..eb89a1c --- /dev/null +++ b/core/include/JellyfinQt/dto/imagebynameinfo.h @@ -0,0 +1,124 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEBYNAMEINFO_H +#define JELLYFIN_DTO_IMAGEBYNAMEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ImageByNameInfo { +public: + ImageByNameInfo(); + ImageByNameInfo(const ImageByNameInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ImageByNameInfo &other); + + static ImageByNameInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the theme. + */ + QString theme() const; + /** + * @brief Gets or sets the theme. + */ + void setTheme(QString newTheme); + bool themeNull() const; + void setThemeNull(); + + /** + * @brief Gets or sets the context. + */ + QString context() const; + /** + * @brief Gets or sets the context. + */ + void setContext(QString newContext); + bool contextNull() const; + void setContextNull(); + + /** + * @brief Gets or sets the length of the file. + */ + qint64 fileLength() const; + /** + * @brief Gets or sets the length of the file. + */ + void setFileLength(qint64 newFileLength); + + /** + * @brief Gets or sets the format. + */ + QString format() const; + /** + * @brief Gets or sets the format. + */ + void setFormat(QString newFormat); + bool formatNull() const; + void setFormatNull(); + + +protected: + QString m_name; + QString m_theme; + QString m_context; + qint64 m_fileLength; + QString m_format; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEBYNAMEINFO_H diff --git a/core/include/JellyfinQt/dto/imageformat.h b/core/include/JellyfinQt/dto/imageformat.h new file mode 100644 index 0000000..718741a --- /dev/null +++ b/core/include/JellyfinQt/dto/imageformat.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEFORMAT_H +#define JELLYFIN_DTO_IMAGEFORMAT_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ImageFormatClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Bmp, + Gif, + Jpg, + Png, + Webp, + }; + Q_ENUM(Value) +private: + explicit ImageFormatClass(); +}; + +typedef ImageFormatClass::Value ImageFormat; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEFORMAT_H diff --git a/core/include/JellyfinQt/dto/imageinfo.h b/core/include/JellyfinQt/dto/imageinfo.h new file mode 100644 index 0000000..00abb49 --- /dev/null +++ b/core/include/JellyfinQt/dto/imageinfo.h @@ -0,0 +1,155 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEINFO_H +#define JELLYFIN_DTO_IMAGEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ImageInfo { +public: + ImageInfo(); + ImageInfo(const ImageInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ImageInfo &other); + + static ImageInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + ImageType imageType() const; + + void setImageType(ImageType newImageType); + + /** + * @brief Gets or sets the index of the image. + */ + std::optional imageIndex() const; + /** + * @brief Gets or sets the index of the image. + */ + void setImageIndex(std::optional newImageIndex); + bool imageIndexNull() const; + void setImageIndexNull(); + + /** + * @brief Gets or sets the image tag. + */ + QString imageTag() const; + /** + * @brief Gets or sets the image tag. + */ + void setImageTag(QString newImageTag); + bool imageTagNull() const; + void setImageTagNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the blurhash. + */ + QString blurHash() const; + /** + * @brief Gets or sets the blurhash. + */ + void setBlurHash(QString newBlurHash); + bool blurHashNull() const; + void setBlurHashNull(); + + /** + * @brief Gets or sets the height. + */ + std::optional height() const; + /** + * @brief Gets or sets the height. + */ + void setHeight(std::optional newHeight); + bool heightNull() const; + void setHeightNull(); + + /** + * @brief Gets or sets the width. + */ + std::optional width() const; + /** + * @brief Gets or sets the width. + */ + void setWidth(std::optional newWidth); + bool widthNull() const; + void setWidthNull(); + + /** + * @brief Gets or sets the size. + */ + qint64 size() const; + /** + * @brief Gets or sets the size. + */ + void setSize(qint64 newSize); + + +protected: + ImageType m_imageType; + std::optional m_imageIndex = std::nullopt; + QString m_imageTag; + QString m_path; + QString m_blurHash; + std::optional m_height = std::nullopt; + std::optional m_width = std::nullopt; + qint64 m_size; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEINFO_H diff --git a/core/include/JellyfinQt/dto/imageoption.h b/core/include/JellyfinQt/dto/imageoption.h new file mode 100644 index 0000000..9471391 --- /dev/null +++ b/core/include/JellyfinQt/dto/imageoption.h @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEOPTION_H +#define JELLYFIN_DTO_IMAGEOPTION_H + +#include +#include +#include + +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ImageOption { +public: + ImageOption(); + ImageOption(const ImageOption &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ImageOption &other); + + static ImageOption fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + ImageType type() const; + + void setType(ImageType newType); + + /** + * @brief Gets or sets the limit. + */ + qint32 limit() const; + /** + * @brief Gets or sets the limit. + */ + void setLimit(qint32 newLimit); + + /** + * @brief Gets or sets the minimum width. + */ + qint32 minWidth() const; + /** + * @brief Gets or sets the minimum width. + */ + void setMinWidth(qint32 newMinWidth); + + +protected: + ImageType m_type; + qint32 m_limit; + qint32 m_minWidth; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEOPTION_H diff --git a/core/include/JellyfinQt/dto/imageorientation.h b/core/include/JellyfinQt/dto/imageorientation.h new file mode 100644 index 0000000..c9c9b53 --- /dev/null +++ b/core/include/JellyfinQt/dto/imageorientation.h @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEORIENTATION_H +#define JELLYFIN_DTO_IMAGEORIENTATION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ImageOrientationClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + TopLeft, + TopRight, + BottomRight, + BottomLeft, + LeftTop, + RightTop, + RightBottom, + LeftBottom, + }; + Q_ENUM(Value) +private: + explicit ImageOrientationClass(); +}; + +typedef ImageOrientationClass::Value ImageOrientation; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEORIENTATION_H diff --git a/core/include/JellyfinQt/dto/imageproviderinfo.h b/core/include/JellyfinQt/dto/imageproviderinfo.h new file mode 100644 index 0000000..731ce28 --- /dev/null +++ b/core/include/JellyfinQt/dto/imageproviderinfo.h @@ -0,0 +1,93 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEPROVIDERINFO_H +#define JELLYFIN_DTO_IMAGEPROVIDERINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ImageProviderInfo { +public: + ImageProviderInfo(); + ImageProviderInfo(const ImageProviderInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ImageProviderInfo &other); + + static ImageProviderInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the name. + */ + QString name() const; + /** + * @brief Gets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets the supported image types. + */ + QList supportedImages() const; + /** + * @brief Gets the supported image types. + */ + void setSupportedImages(QList newSupportedImages); + bool supportedImagesNull() const; + void setSupportedImagesNull(); + + +protected: + QString m_name; + QList m_supportedImages; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGEPROVIDERINFO_H diff --git a/core/include/JellyfinQt/dto/imagesavingconvention.h b/core/include/JellyfinQt/dto/imagesavingconvention.h new file mode 100644 index 0000000..8aa9121 --- /dev/null +++ b/core/include/JellyfinQt/dto/imagesavingconvention.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGESAVINGCONVENTION_H +#define JELLYFIN_DTO_IMAGESAVINGCONVENTION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ImageSavingConventionClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Legacy, + Compatible, + }; + Q_ENUM(Value) +private: + explicit ImageSavingConventionClass(); +}; + +typedef ImageSavingConventionClass::Value ImageSavingConvention; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGESAVINGCONVENTION_H diff --git a/core/include/JellyfinQt/dto/imagetype.h b/core/include/JellyfinQt/dto/imagetype.h new file mode 100644 index 0000000..714d64c --- /dev/null +++ b/core/include/JellyfinQt/dto/imagetype.h @@ -0,0 +1,71 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGETYPE_H +#define JELLYFIN_DTO_IMAGETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ImageTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Primary, + Art, + Backdrop, + Banner, + Logo, + Thumb, + Disc, + Box, + Screenshot, + Menu, + Chapter, + BoxRear, + Profile, + }; + Q_ENUM(Value) +private: + explicit ImageTypeClass(); +}; + +typedef ImageTypeClass::Value ImageType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IMAGETYPE_H diff --git a/core/include/JellyfinQt/dto/installationinfo.h b/core/include/JellyfinQt/dto/installationinfo.h new file mode 100644 index 0000000..7d220f8 --- /dev/null +++ b/core/include/JellyfinQt/dto/installationinfo.h @@ -0,0 +1,132 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_INSTALLATIONINFO_H +#define JELLYFIN_DTO_INSTALLATIONINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class InstallationInfo { +public: + InstallationInfo(); + InstallationInfo(const InstallationInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(InstallationInfo &other); + + static InstallationInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the Id. + */ + QString guid() const; + /** + * @brief Gets or sets the Id. + */ + void setGuid(QString newGuid); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QSharedPointer version() const; + + void setVersion(QSharedPointer newVersion); + + /** + * @brief Gets or sets the changelog for this version. + */ + QString changelog() const; + /** + * @brief Gets or sets the changelog for this version. + */ + void setChangelog(QString newChangelog); + bool changelogNull() const; + void setChangelogNull(); + + /** + * @brief Gets or sets the source URL. + */ + QString sourceUrl() const; + /** + * @brief Gets or sets the source URL. + */ + void setSourceUrl(QString newSourceUrl); + bool sourceUrlNull() const; + void setSourceUrlNull(); + + /** + * @brief Gets or sets a checksum for the binary. + */ + QString checksum() const; + /** + * @brief Gets or sets a checksum for the binary. + */ + void setChecksum(QString newChecksum); + bool checksumNull() const; + void setChecksumNull(); + + +protected: + QString m_guid; + QString m_name; + QSharedPointer m_version = nullptr; + QString m_changelog; + QString m_sourceUrl; + QString m_checksum; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_INSTALLATIONINFO_H diff --git a/core/include/JellyfinQt/dto/iplugin.h b/core/include/JellyfinQt/dto/iplugin.h new file mode 100644 index 0000000..14a71a4 --- /dev/null +++ b/core/include/JellyfinQt/dto/iplugin.h @@ -0,0 +1,142 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IPLUGIN_H +#define JELLYFIN_DTO_IPLUGIN_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class IPlugin { +public: + IPlugin(); + IPlugin(const IPlugin &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(IPlugin &other); + + static IPlugin fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the name of the plugin. + */ + QString name() const; + /** + * @brief Gets the name of the plugin. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets the Description. + */ + QString description() const; + /** + * @brief Gets the Description. + */ + void setDescription(QString newDescription); + bool descriptionNull() const; + void setDescriptionNull(); + + /** + * @brief Gets the unique id. + */ + QString jellyfinId() const; + /** + * @brief Gets the unique id. + */ + void setJellyfinId(QString newJellyfinId); + + + QSharedPointer version() const; + + void setVersion(QSharedPointer newVersion); + + /** + * @brief Gets the path to the assembly file. + */ + QString assemblyFilePath() const; + /** + * @brief Gets the path to the assembly file. + */ + void setAssemblyFilePath(QString newAssemblyFilePath); + bool assemblyFilePathNull() const; + void setAssemblyFilePathNull(); + + /** + * @brief Gets a value indicating whether the plugin can be uninstalled. + */ + bool canUninstall() const; + /** + * @brief Gets a value indicating whether the plugin can be uninstalled. + */ + void setCanUninstall(bool newCanUninstall); + + /** + * @brief Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. + */ + QString dataFolderPath() const; + /** + * @brief Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. + */ + void setDataFolderPath(QString newDataFolderPath); + bool dataFolderPathNull() const; + void setDataFolderPathNull(); + + +protected: + QString m_name; + QString m_description; + QString m_jellyfinId; + QSharedPointer m_version = nullptr; + QString m_assemblyFilePath; + bool m_canUninstall; + QString m_dataFolderPath; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_IPLUGIN_H diff --git a/core/include/JellyfinQt/dto/isotype.h b/core/include/JellyfinQt/dto/isotype.h new file mode 100644 index 0000000..3dd83d9 --- /dev/null +++ b/core/include/JellyfinQt/dto/isotype.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ISOTYPE_H +#define JELLYFIN_DTO_ISOTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class IsoTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Dvd, + BluRay, + }; + Q_ENUM(Value) +private: + explicit IsoTypeClass(); +}; + +typedef IsoTypeClass::Value IsoType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ISOTYPE_H diff --git a/core/include/JellyfinQt/dto/itemcounts.h b/core/include/JellyfinQt/dto/itemcounts.h new file mode 100644 index 0000000..c2928c7 --- /dev/null +++ b/core/include/JellyfinQt/dto/itemcounts.h @@ -0,0 +1,185 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ITEMCOUNTS_H +#define JELLYFIN_DTO_ITEMCOUNTS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ItemCounts { +public: + ItemCounts(); + ItemCounts(const ItemCounts &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ItemCounts &other); + + static ItemCounts fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the movie count. + */ + qint32 movieCount() const; + /** + * @brief Gets or sets the movie count. + */ + void setMovieCount(qint32 newMovieCount); + + /** + * @brief Gets or sets the series count. + */ + qint32 seriesCount() const; + /** + * @brief Gets or sets the series count. + */ + void setSeriesCount(qint32 newSeriesCount); + + /** + * @brief Gets or sets the episode count. + */ + qint32 episodeCount() const; + /** + * @brief Gets or sets the episode count. + */ + void setEpisodeCount(qint32 newEpisodeCount); + + /** + * @brief Gets or sets the artist count. + */ + qint32 artistCount() const; + /** + * @brief Gets or sets the artist count. + */ + void setArtistCount(qint32 newArtistCount); + + /** + * @brief Gets or sets the program count. + */ + qint32 programCount() const; + /** + * @brief Gets or sets the program count. + */ + void setProgramCount(qint32 newProgramCount); + + /** + * @brief Gets or sets the trailer count. + */ + qint32 trailerCount() const; + /** + * @brief Gets or sets the trailer count. + */ + void setTrailerCount(qint32 newTrailerCount); + + /** + * @brief Gets or sets the song count. + */ + qint32 songCount() const; + /** + * @brief Gets or sets the song count. + */ + void setSongCount(qint32 newSongCount); + + /** + * @brief Gets or sets the album count. + */ + qint32 albumCount() const; + /** + * @brief Gets or sets the album count. + */ + void setAlbumCount(qint32 newAlbumCount); + + /** + * @brief Gets or sets the music video count. + */ + qint32 musicVideoCount() const; + /** + * @brief Gets or sets the music video count. + */ + void setMusicVideoCount(qint32 newMusicVideoCount); + + /** + * @brief Gets or sets the box set count. + */ + qint32 boxSetCount() const; + /** + * @brief Gets or sets the box set count. + */ + void setBoxSetCount(qint32 newBoxSetCount); + + /** + * @brief Gets or sets the book count. + */ + qint32 bookCount() const; + /** + * @brief Gets or sets the book count. + */ + void setBookCount(qint32 newBookCount); + + /** + * @brief Gets or sets the item count. + */ + qint32 itemCount() const; + /** + * @brief Gets or sets the item count. + */ + void setItemCount(qint32 newItemCount); + + +protected: + qint32 m_movieCount; + qint32 m_seriesCount; + qint32 m_episodeCount; + qint32 m_artistCount; + qint32 m_programCount; + qint32 m_trailerCount; + qint32 m_songCount; + qint32 m_albumCount; + qint32 m_musicVideoCount; + qint32 m_boxSetCount; + qint32 m_bookCount; + qint32 m_itemCount; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ITEMCOUNTS_H diff --git a/core/include/JellyfinQt/dto/itemfields.h b/core/include/JellyfinQt/dto/itemfields.h new file mode 100644 index 0000000..ce07a34 --- /dev/null +++ b/core/include/JellyfinQt/dto/itemfields.h @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ITEMFIELDS_H +#define JELLYFIN_DTO_ITEMFIELDS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ItemFieldsClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + AirTime, + CanDelete, + CanDownload, + ChannelInfo, + Chapters, + ChildCount, + CumulativeRunTimeTicks, + CustomRating, + DateCreated, + DateLastMediaAdded, + DisplayPreferencesId, + Etag, + ExternalUrls, + Genres, + HomePageUrl, + ItemCounts, + MediaSourceCount, + MediaSources, + OriginalTitle, + Overview, + ParentId, + Path, + People, + PlayAccess, + ProductionLocations, + ProviderIds, + PrimaryImageAspectRatio, + RecursiveItemCount, + Settings, + ScreenshotImageTags, + SeriesPrimaryImage, + SeriesStudio, + SortName, + SpecialEpisodeNumbers, + Studios, + BasicSyncInfo, + SyncInfo, + Taglines, + Tags, + RemoteTrailers, + MediaStreams, + SeasonUserData, + ServiceName, + ThemeSongIds, + ThemeVideoIds, + ExternalEtag, + PresentationUniqueKey, + InheritedParentalRatingValue, + ExternalSeriesId, + SeriesPresentationUniqueKey, + DateLastRefreshed, + DateLastSaved, + RefreshState, + ChannelImage, + EnableMediaSourceDisplay, + Width, + Height, + ExtraIds, + LocalTrailerCount, + IsHD, + SpecialFeatureCount, + }; + Q_ENUM(Value) +private: + explicit ItemFieldsClass(); +}; + +typedef ItemFieldsClass::Value ItemFields; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ITEMFIELDS_H diff --git a/core/include/JellyfinQt/dto/itemfilter.h b/core/include/JellyfinQt/dto/itemfilter.h new file mode 100644 index 0000000..d863ec8 --- /dev/null +++ b/core/include/JellyfinQt/dto/itemfilter.h @@ -0,0 +1,67 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ITEMFILTER_H +#define JELLYFIN_DTO_ITEMFILTER_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ItemFilterClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + IsFolder, + IsNotFolder, + IsUnplayed, + IsPlayed, + IsFavorite, + IsResumable, + Likes, + Dislikes, + IsFavoriteOrLikes, + }; + Q_ENUM(Value) +private: + explicit ItemFilterClass(); +}; + +typedef ItemFilterClass::Value ItemFilter; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_ITEMFILTER_H diff --git a/core/include/JellyfinQt/dto/joingrouprequestdto.h b/core/include/JellyfinQt/dto/joingrouprequestdto.h new file mode 100644 index 0000000..faa1beb --- /dev/null +++ b/core/include/JellyfinQt/dto/joingrouprequestdto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_JOINGROUPREQUESTDTO_H +#define JELLYFIN_DTO_JOINGROUPREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class JoinGroupRequestDto { +public: + JoinGroupRequestDto(); + JoinGroupRequestDto(const JoinGroupRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(JoinGroupRequestDto &other); + + static JoinGroupRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the group identifier. + */ + QString groupId() const; + /** + * @brief Gets or sets the group identifier. + */ + void setGroupId(QString newGroupId); + + +protected: + QString m_groupId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_JOINGROUPREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/keepuntil.h b/core/include/JellyfinQt/dto/keepuntil.h new file mode 100644 index 0000000..74f9094 --- /dev/null +++ b/core/include/JellyfinQt/dto/keepuntil.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_KEEPUNTIL_H +#define JELLYFIN_DTO_KEEPUNTIL_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class KeepUntilClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + UntilDeleted, + UntilSpaceNeeded, + UntilWatched, + UntilDate, + }; + Q_ENUM(Value) +private: + explicit KeepUntilClass(); +}; + +typedef KeepUntilClass::Value KeepUntil; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_KEEPUNTIL_H diff --git a/core/include/JellyfinQt/dto/libraryoptioninfodto.h b/core/include/JellyfinQt/dto/libraryoptioninfodto.h new file mode 100644 index 0000000..b8449e9 --- /dev/null +++ b/core/include/JellyfinQt/dto/libraryoptioninfodto.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIBRARYOPTIONINFODTO_H +#define JELLYFIN_DTO_LIBRARYOPTIONINFODTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LibraryOptionInfoDto { +public: + LibraryOptionInfoDto(); + LibraryOptionInfoDto(const LibraryOptionInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LibraryOptionInfoDto &other); + + static LibraryOptionInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets name. + */ + QString name() const; + /** + * @brief Gets or sets name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets a value indicating whether default enabled. + */ + bool defaultEnabled() const; + /** + * @brief Gets or sets a value indicating whether default enabled. + */ + void setDefaultEnabled(bool newDefaultEnabled); + + +protected: + QString m_name; + bool m_defaultEnabled; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIBRARYOPTIONINFODTO_H diff --git a/core/include/JellyfinQt/dto/libraryoptions.h b/core/include/JellyfinQt/dto/libraryoptions.h new file mode 100644 index 0000000..ee6027c --- /dev/null +++ b/core/include/JellyfinQt/dto/libraryoptions.h @@ -0,0 +1,251 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIBRARYOPTIONS_H +#define JELLYFIN_DTO_LIBRARYOPTIONS_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediapathinfo.h" +#include "JellyfinQt/dto/typeoptions.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LibraryOptions { +public: + LibraryOptions(); + LibraryOptions(const LibraryOptions &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LibraryOptions &other); + + static LibraryOptions fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + bool enablePhotos() const; + + void setEnablePhotos(bool newEnablePhotos); + + + bool enableRealtimeMonitor() const; + + void setEnableRealtimeMonitor(bool newEnableRealtimeMonitor); + + + bool enableChapterImageExtraction() const; + + void setEnableChapterImageExtraction(bool newEnableChapterImageExtraction); + + + bool extractChapterImagesDuringLibraryScan() const; + + void setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan); + + + QList> pathInfos() const; + + void setPathInfos(QList> newPathInfos); + bool pathInfosNull() const; + void setPathInfosNull(); + + + bool saveLocalMetadata() const; + + void setSaveLocalMetadata(bool newSaveLocalMetadata); + + + bool enableInternetProviders() const; + + void setEnableInternetProviders(bool newEnableInternetProviders); + + + bool enableAutomaticSeriesGrouping() const; + + void setEnableAutomaticSeriesGrouping(bool newEnableAutomaticSeriesGrouping); + + + bool enableEmbeddedTitles() const; + + void setEnableEmbeddedTitles(bool newEnableEmbeddedTitles); + + + bool enableEmbeddedEpisodeInfos() const; + + void setEnableEmbeddedEpisodeInfos(bool newEnableEmbeddedEpisodeInfos); + + + qint32 automaticRefreshIntervalDays() const; + + void setAutomaticRefreshIntervalDays(qint32 newAutomaticRefreshIntervalDays); + + /** + * @brief Gets or sets the preferred metadata language. + */ + QString preferredMetadataLanguage() const; + /** + * @brief Gets or sets the preferred metadata language. + */ + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + bool preferredMetadataLanguageNull() const; + void setPreferredMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + + QString seasonZeroDisplayName() const; + + void setSeasonZeroDisplayName(QString newSeasonZeroDisplayName); + bool seasonZeroDisplayNameNull() const; + void setSeasonZeroDisplayNameNull(); + + + QStringList metadataSavers() const; + + void setMetadataSavers(QStringList newMetadataSavers); + bool metadataSaversNull() const; + void setMetadataSaversNull(); + + + QStringList disabledLocalMetadataReaders() const; + + void setDisabledLocalMetadataReaders(QStringList newDisabledLocalMetadataReaders); + bool disabledLocalMetadataReadersNull() const; + void setDisabledLocalMetadataReadersNull(); + + + QStringList localMetadataReaderOrder() const; + + void setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder); + bool localMetadataReaderOrderNull() const; + void setLocalMetadataReaderOrderNull(); + + + QStringList disabledSubtitleFetchers() const; + + void setDisabledSubtitleFetchers(QStringList newDisabledSubtitleFetchers); + bool disabledSubtitleFetchersNull() const; + void setDisabledSubtitleFetchersNull(); + + + QStringList subtitleFetcherOrder() const; + + void setSubtitleFetcherOrder(QStringList newSubtitleFetcherOrder); + bool subtitleFetcherOrderNull() const; + void setSubtitleFetcherOrderNull(); + + + bool skipSubtitlesIfEmbeddedSubtitlesPresent() const; + + void setSkipSubtitlesIfEmbeddedSubtitlesPresent(bool newSkipSubtitlesIfEmbeddedSubtitlesPresent); + + + bool skipSubtitlesIfAudioTrackMatches() const; + + void setSkipSubtitlesIfAudioTrackMatches(bool newSkipSubtitlesIfAudioTrackMatches); + + + QStringList subtitleDownloadLanguages() const; + + void setSubtitleDownloadLanguages(QStringList newSubtitleDownloadLanguages); + bool subtitleDownloadLanguagesNull() const; + void setSubtitleDownloadLanguagesNull(); + + + bool requirePerfectSubtitleMatch() const; + + void setRequirePerfectSubtitleMatch(bool newRequirePerfectSubtitleMatch); + + + bool saveSubtitlesWithMedia() const; + + void setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia); + + + QList> typeOptions() const; + + void setTypeOptions(QList> newTypeOptions); + bool typeOptionsNull() const; + void setTypeOptionsNull(); + + +protected: + bool m_enablePhotos; + bool m_enableRealtimeMonitor; + bool m_enableChapterImageExtraction; + bool m_extractChapterImagesDuringLibraryScan; + QList> m_pathInfos; + bool m_saveLocalMetadata; + bool m_enableInternetProviders; + bool m_enableAutomaticSeriesGrouping; + bool m_enableEmbeddedTitles; + bool m_enableEmbeddedEpisodeInfos; + qint32 m_automaticRefreshIntervalDays; + QString m_preferredMetadataLanguage; + QString m_metadataCountryCode; + QString m_seasonZeroDisplayName; + QStringList m_metadataSavers; + QStringList m_disabledLocalMetadataReaders; + QStringList m_localMetadataReaderOrder; + QStringList m_disabledSubtitleFetchers; + QStringList m_subtitleFetcherOrder; + bool m_skipSubtitlesIfEmbeddedSubtitlesPresent; + bool m_skipSubtitlesIfAudioTrackMatches; + QStringList m_subtitleDownloadLanguages; + bool m_requirePerfectSubtitleMatch; + bool m_saveSubtitlesWithMedia; + QList> m_typeOptions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIBRARYOPTIONS_H diff --git a/core/include/JellyfinQt/dto/libraryoptionsresultdto.h b/core/include/JellyfinQt/dto/libraryoptionsresultdto.h new file mode 100644 index 0000000..4b7deb0 --- /dev/null +++ b/core/include/JellyfinQt/dto/libraryoptionsresultdto.h @@ -0,0 +1,118 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIBRARYOPTIONSRESULTDTO_H +#define JELLYFIN_DTO_LIBRARYOPTIONSRESULTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/libraryoptioninfodto.h" +#include "JellyfinQt/dto/librarytypeoptionsdto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LibraryOptionsResultDto { +public: + LibraryOptionsResultDto(); + LibraryOptionsResultDto(const LibraryOptionsResultDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LibraryOptionsResultDto &other); + + static LibraryOptionsResultDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the metadata savers. + */ + QList> metadataSavers() const; + /** + * @brief Gets or sets the metadata savers. + */ + void setMetadataSavers(QList> newMetadataSavers); + bool metadataSaversNull() const; + void setMetadataSaversNull(); + + /** + * @brief Gets or sets the metadata readers. + */ + QList> metadataReaders() const; + /** + * @brief Gets or sets the metadata readers. + */ + void setMetadataReaders(QList> newMetadataReaders); + bool metadataReadersNull() const; + void setMetadataReadersNull(); + + /** + * @brief Gets or sets the subtitle fetchers. + */ + QList> subtitleFetchers() const; + /** + * @brief Gets or sets the subtitle fetchers. + */ + void setSubtitleFetchers(QList> newSubtitleFetchers); + bool subtitleFetchersNull() const; + void setSubtitleFetchersNull(); + + /** + * @brief Gets or sets the type options. + */ + QList> typeOptions() const; + /** + * @brief Gets or sets the type options. + */ + void setTypeOptions(QList> newTypeOptions); + bool typeOptionsNull() const; + void setTypeOptionsNull(); + + +protected: + QList> m_metadataSavers; + QList> m_metadataReaders; + QList> m_subtitleFetchers; + QList> m_typeOptions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIBRARYOPTIONSRESULTDTO_H diff --git a/core/include/JellyfinQt/dto/librarytypeoptionsdto.h b/core/include/JellyfinQt/dto/librarytypeoptionsdto.h new file mode 100644 index 0000000..a3bd798 --- /dev/null +++ b/core/include/JellyfinQt/dto/librarytypeoptionsdto.h @@ -0,0 +1,132 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIBRARYTYPEOPTIONSDTO_H +#define JELLYFIN_DTO_LIBRARYTYPEOPTIONSDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/imageoption.h" +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/dto/libraryoptioninfodto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LibraryTypeOptionsDto { +public: + LibraryTypeOptionsDto(); + LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LibraryTypeOptionsDto &other); + + static LibraryTypeOptionsDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the metadata fetchers. + */ + QList> metadataFetchers() const; + /** + * @brief Gets or sets the metadata fetchers. + */ + void setMetadataFetchers(QList> newMetadataFetchers); + bool metadataFetchersNull() const; + void setMetadataFetchersNull(); + + /** + * @brief Gets or sets the image fetchers. + */ + QList> imageFetchers() const; + /** + * @brief Gets or sets the image fetchers. + */ + void setImageFetchers(QList> newImageFetchers); + bool imageFetchersNull() const; + void setImageFetchersNull(); + + /** + * @brief Gets or sets the supported image types. + */ + QList supportedImageTypes() const; + /** + * @brief Gets or sets the supported image types. + */ + void setSupportedImageTypes(QList newSupportedImageTypes); + bool supportedImageTypesNull() const; + void setSupportedImageTypesNull(); + + /** + * @brief Gets or sets the default image options. + */ + QList> defaultImageOptions() const; + /** + * @brief Gets or sets the default image options. + */ + void setDefaultImageOptions(QList> newDefaultImageOptions); + bool defaultImageOptionsNull() const; + void setDefaultImageOptionsNull(); + + +protected: + QString m_type; + QList> m_metadataFetchers; + QList> m_imageFetchers; + QList m_supportedImageTypes; + QList> m_defaultImageOptions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIBRARYTYPEOPTIONSDTO_H diff --git a/core/include/JellyfinQt/dto/libraryupdateinfo.h b/core/include/JellyfinQt/dto/libraryupdateinfo.h new file mode 100644 index 0000000..3391fee --- /dev/null +++ b/core/include/JellyfinQt/dto/libraryupdateinfo.h @@ -0,0 +1,142 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIBRARYUPDATEINFO_H +#define JELLYFIN_DTO_LIBRARYUPDATEINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LibraryUpdateInfo { +public: + LibraryUpdateInfo(); + LibraryUpdateInfo(const LibraryUpdateInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LibraryUpdateInfo &other); + + static LibraryUpdateInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the folders added to. + */ + QStringList foldersAddedTo() const; + /** + * @brief Gets or sets the folders added to. + */ + void setFoldersAddedTo(QStringList newFoldersAddedTo); + bool foldersAddedToNull() const; + void setFoldersAddedToNull(); + + /** + * @brief Gets or sets the folders removed from. + */ + QStringList foldersRemovedFrom() const; + /** + * @brief Gets or sets the folders removed from. + */ + void setFoldersRemovedFrom(QStringList newFoldersRemovedFrom); + bool foldersRemovedFromNull() const; + void setFoldersRemovedFromNull(); + + /** + * @brief Gets or sets the items added. + */ + QStringList itemsAdded() const; + /** + * @brief Gets or sets the items added. + */ + void setItemsAdded(QStringList newItemsAdded); + bool itemsAddedNull() const; + void setItemsAddedNull(); + + /** + * @brief Gets or sets the items removed. + */ + QStringList itemsRemoved() const; + /** + * @brief Gets or sets the items removed. + */ + void setItemsRemoved(QStringList newItemsRemoved); + bool itemsRemovedNull() const; + void setItemsRemovedNull(); + + /** + * @brief Gets or sets the items updated. + */ + QStringList itemsUpdated() const; + /** + * @brief Gets or sets the items updated. + */ + void setItemsUpdated(QStringList newItemsUpdated); + bool itemsUpdatedNull() const; + void setItemsUpdatedNull(); + + + QStringList collectionFolders() const; + + void setCollectionFolders(QStringList newCollectionFolders); + bool collectionFoldersNull() const; + void setCollectionFoldersNull(); + + + bool isEmpty() const; + + void setIsEmpty(bool newIsEmpty); + + +protected: + QStringList m_foldersAddedTo; + QStringList m_foldersRemovedFrom; + QStringList m_itemsAdded; + QStringList m_itemsRemoved; + QStringList m_itemsUpdated; + QStringList m_collectionFolders; + bool m_isEmpty; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIBRARYUPDATEINFO_H diff --git a/core/include/JellyfinQt/dto/listingsproviderinfo.h b/core/include/JellyfinQt/dto/listingsproviderinfo.h new file mode 100644 index 0000000..1f47efc --- /dev/null +++ b/core/include/JellyfinQt/dto/listingsproviderinfo.h @@ -0,0 +1,212 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LISTINGSPROVIDERINFO_H +#define JELLYFIN_DTO_LISTINGSPROVIDERINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/namevaluepair.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ListingsProviderInfo { +public: + ListingsProviderInfo(); + ListingsProviderInfo(const ListingsProviderInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ListingsProviderInfo &other); + + static ListingsProviderInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + QString username() const; + + void setUsername(QString newUsername); + bool usernameNull() const; + void setUsernameNull(); + + + QString password() const; + + void setPassword(QString newPassword); + bool passwordNull() const; + void setPasswordNull(); + + + QString listingsId() const; + + void setListingsId(QString newListingsId); + bool listingsIdNull() const; + void setListingsIdNull(); + + + QString zipCode() const; + + void setZipCode(QString newZipCode); + bool zipCodeNull() const; + void setZipCodeNull(); + + + QString country() const; + + void setCountry(QString newCountry); + bool countryNull() const; + void setCountryNull(); + + + QString path() const; + + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + QStringList enabledTuners() const; + + void setEnabledTuners(QStringList newEnabledTuners); + bool enabledTunersNull() const; + void setEnabledTunersNull(); + + + bool enableAllTuners() const; + + void setEnableAllTuners(bool newEnableAllTuners); + + + QStringList newsCategories() const; + + void setNewsCategories(QStringList newNewsCategories); + bool newsCategoriesNull() const; + void setNewsCategoriesNull(); + + + QStringList sportsCategories() const; + + void setSportsCategories(QStringList newSportsCategories); + bool sportsCategoriesNull() const; + void setSportsCategoriesNull(); + + + QStringList kidsCategories() const; + + void setKidsCategories(QStringList newKidsCategories); + bool kidsCategoriesNull() const; + void setKidsCategoriesNull(); + + + QStringList movieCategories() const; + + void setMovieCategories(QStringList newMovieCategories); + bool movieCategoriesNull() const; + void setMovieCategoriesNull(); + + + QList> channelMappings() const; + + void setChannelMappings(QList> newChannelMappings); + bool channelMappingsNull() const; + void setChannelMappingsNull(); + + + QString moviePrefix() const; + + void setMoviePrefix(QString newMoviePrefix); + bool moviePrefixNull() const; + void setMoviePrefixNull(); + + + QString preferredLanguage() const; + + void setPreferredLanguage(QString newPreferredLanguage); + bool preferredLanguageNull() const; + void setPreferredLanguageNull(); + + + QString userAgent() const; + + void setUserAgent(QString newUserAgent); + bool userAgentNull() const; + void setUserAgentNull(); + + +protected: + QString m_jellyfinId; + QString m_type; + QString m_username; + QString m_password; + QString m_listingsId; + QString m_zipCode; + QString m_country; + QString m_path; + QStringList m_enabledTuners; + bool m_enableAllTuners; + QStringList m_newsCategories; + QStringList m_sportsCategories; + QStringList m_kidsCategories; + QStringList m_movieCategories; + QList> m_channelMappings; + QString m_moviePrefix; + QString m_preferredLanguage; + QString m_userAgent; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LISTINGSPROVIDERINFO_H diff --git a/core/include/JellyfinQt/dto/livestreamresponse.h b/core/include/JellyfinQt/dto/livestreamresponse.h new file mode 100644 index 0000000..a8ee409 --- /dev/null +++ b/core/include/JellyfinQt/dto/livestreamresponse.h @@ -0,0 +1,73 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIVESTREAMRESPONSE_H +#define JELLYFIN_DTO_LIVESTREAMRESPONSE_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediasourceinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LiveStreamResponse { +public: + LiveStreamResponse(); + LiveStreamResponse(const LiveStreamResponse &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LiveStreamResponse &other); + + static LiveStreamResponse fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer mediaSource() const; + + void setMediaSource(QSharedPointer newMediaSource); + + +protected: + QSharedPointer m_mediaSource = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIVESTREAMRESPONSE_H diff --git a/core/include/JellyfinQt/dto/livetvinfo.h b/core/include/JellyfinQt/dto/livetvinfo.h new file mode 100644 index 0000000..0d6e793 --- /dev/null +++ b/core/include/JellyfinQt/dto/livetvinfo.h @@ -0,0 +1,103 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIVETVINFO_H +#define JELLYFIN_DTO_LIVETVINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/livetvserviceinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LiveTvInfo { +public: + LiveTvInfo(); + LiveTvInfo(const LiveTvInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LiveTvInfo &other); + + static LiveTvInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the services. + */ + QList> services() const; + /** + * @brief Gets or sets the services. + */ + void setServices(QList> newServices); + bool servicesNull() const; + void setServicesNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is enabled. + */ + bool isEnabled() const; + /** + * @brief Gets or sets a value indicating whether this instance is enabled. + */ + void setIsEnabled(bool newIsEnabled); + + /** + * @brief Gets or sets the enabled users. + */ + QStringList enabledUsers() const; + /** + * @brief Gets or sets the enabled users. + */ + void setEnabledUsers(QStringList newEnabledUsers); + bool enabledUsersNull() const; + void setEnabledUsersNull(); + + +protected: + QList> m_services; + bool m_isEnabled; + QStringList m_enabledUsers; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIVETVINFO_H diff --git a/core/include/JellyfinQt/dto/livetvserviceinfo.h b/core/include/JellyfinQt/dto/livetvserviceinfo.h new file mode 100644 index 0000000..28310b1 --- /dev/null +++ b/core/include/JellyfinQt/dto/livetvserviceinfo.h @@ -0,0 +1,151 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIVETVSERVICEINFO_H +#define JELLYFIN_DTO_LIVETVSERVICEINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/livetvservicestatus.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LiveTvServiceInfo { +public: + LiveTvServiceInfo(); + LiveTvServiceInfo(const LiveTvServiceInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LiveTvServiceInfo &other); + + static LiveTvServiceInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the home page URL. + */ + QString homePageUrl() const; + /** + * @brief Gets or sets the home page URL. + */ + void setHomePageUrl(QString newHomePageUrl); + bool homePageUrlNull() const; + void setHomePageUrlNull(); + + + LiveTvServiceStatus status() const; + + void setStatus(LiveTvServiceStatus newStatus); + + /** + * @brief Gets or sets the status message. + */ + QString statusMessage() const; + /** + * @brief Gets or sets the status message. + */ + void setStatusMessage(QString newStatusMessage); + bool statusMessageNull() const; + void setStatusMessageNull(); + + /** + * @brief Gets or sets the version. + */ + QString version() const; + /** + * @brief Gets or sets the version. + */ + void setVersion(QString newVersion); + bool versionNull() const; + void setVersionNull(); + + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + bool hasUpdateAvailable() const; + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + void setHasUpdateAvailable(bool newHasUpdateAvailable); + + /** + * @brief Gets or sets a value indicating whether this instance is visible. + */ + bool isVisible() const; + /** + * @brief Gets or sets a value indicating whether this instance is visible. + */ + void setIsVisible(bool newIsVisible); + + + QStringList tuners() const; + + void setTuners(QStringList newTuners); + bool tunersNull() const; + void setTunersNull(); + + +protected: + QString m_name; + QString m_homePageUrl; + LiveTvServiceStatus m_status; + QString m_statusMessage; + QString m_version; + bool m_hasUpdateAvailable; + bool m_isVisible; + QStringList m_tuners; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIVETVSERVICEINFO_H diff --git a/core/include/JellyfinQt/dto/livetvservicestatus.h b/core/include/JellyfinQt/dto/livetvservicestatus.h new file mode 100644 index 0000000..87e1bf7 --- /dev/null +++ b/core/include/JellyfinQt/dto/livetvservicestatus.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIVETVSERVICESTATUS_H +#define JELLYFIN_DTO_LIVETVSERVICESTATUS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class LiveTvServiceStatusClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Ok, + Unavailable, + }; + Q_ENUM(Value) +private: + explicit LiveTvServiceStatusClass(); +}; + +typedef LiveTvServiceStatusClass::Value LiveTvServiceStatus; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LIVETVSERVICESTATUS_H diff --git a/core/include/JellyfinQt/dto/localizationoption.h b/core/include/JellyfinQt/dto/localizationoption.h new file mode 100644 index 0000000..92052e5 --- /dev/null +++ b/core/include/JellyfinQt/dto/localizationoption.h @@ -0,0 +1,82 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOCALIZATIONOPTION_H +#define JELLYFIN_DTO_LOCALIZATIONOPTION_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LocalizationOption { +public: + LocalizationOption(); + LocalizationOption(const LocalizationOption &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LocalizationOption &other); + + static LocalizationOption fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString value() const; + + void setValue(QString newValue); + bool valueNull() const; + void setValueNull(); + + +protected: + QString m_name; + QString m_value; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LOCALIZATIONOPTION_H diff --git a/core/include/JellyfinQt/dto/locationtype.h b/core/include/JellyfinQt/dto/locationtype.h new file mode 100644 index 0000000..02e1fd3 --- /dev/null +++ b/core/include/JellyfinQt/dto/locationtype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOCATIONTYPE_H +#define JELLYFIN_DTO_LOCATIONTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class LocationTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + FileSystem, + Remote, + Virtual, + Offline, + }; + Q_ENUM(Value) +private: + explicit LocationTypeClass(); +}; + +typedef LocationTypeClass::Value LocationType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LOCATIONTYPE_H diff --git a/core/include/JellyfinQt/dto/logfile.h b/core/include/JellyfinQt/dto/logfile.h new file mode 100644 index 0000000..cf70066 --- /dev/null +++ b/core/include/JellyfinQt/dto/logfile.h @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOGFILE_H +#define JELLYFIN_DTO_LOGFILE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class LogFile { +public: + LogFile(); + LogFile(const LogFile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(LogFile &other); + + static LogFile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the date created. + */ + QDateTime dateCreated() const; + /** + * @brief Gets or sets the date created. + */ + void setDateCreated(QDateTime newDateCreated); + + /** + * @brief Gets or sets the date modified. + */ + QDateTime dateModified() const; + /** + * @brief Gets or sets the date modified. + */ + void setDateModified(QDateTime newDateModified); + + /** + * @brief Gets or sets the size. + */ + qint64 size() const; + /** + * @brief Gets or sets the size. + */ + void setSize(qint64 newSize); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + +protected: + QDateTime m_dateCreated; + QDateTime m_dateModified; + qint64 m_size; + QString m_name; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LOGFILE_H diff --git a/core/include/JellyfinQt/dto/loglevel.h b/core/include/JellyfinQt/dto/loglevel.h new file mode 100644 index 0000000..9fbb7a8 --- /dev/null +++ b/core/include/JellyfinQt/dto/loglevel.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOGLEVEL_H +#define JELLYFIN_DTO_LOGLEVEL_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class LogLevelClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Trace, + Debug, + Information, + Warning, + Error, + Critical, + None, + }; + Q_ENUM(Value) +private: + explicit LogLevelClass(); +}; + +typedef LogLevelClass::Value LogLevel; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_LOGLEVEL_H diff --git a/core/include/JellyfinQt/dto/mediaattachment.h b/core/include/JellyfinQt/dto/mediaattachment.h new file mode 100644 index 0000000..3074e48 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediaattachment.h @@ -0,0 +1,148 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAATTACHMENT_H +#define JELLYFIN_DTO_MEDIAATTACHMENT_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaAttachment { +public: + MediaAttachment(); + MediaAttachment(const MediaAttachment &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaAttachment &other); + + static MediaAttachment fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the codec. + */ + QString codec() const; + /** + * @brief Gets or sets the codec. + */ + void setCodec(QString newCodec); + bool codecNull() const; + void setCodecNull(); + + /** + * @brief Gets or sets the codec tag. + */ + QString codecTag() const; + /** + * @brief Gets or sets the codec tag. + */ + void setCodecTag(QString newCodecTag); + bool codecTagNull() const; + void setCodecTagNull(); + + /** + * @brief Gets or sets the comment. + */ + QString comment() const; + /** + * @brief Gets or sets the comment. + */ + void setComment(QString newComment); + bool commentNull() const; + void setCommentNull(); + + /** + * @brief Gets or sets the index. + */ + qint32 index() const; + /** + * @brief Gets or sets the index. + */ + void setIndex(qint32 newIndex); + + /** + * @brief Gets or sets the filename. + */ + QString fileName() const; + /** + * @brief Gets or sets the filename. + */ + void setFileName(QString newFileName); + bool fileNameNull() const; + void setFileNameNull(); + + /** + * @brief Gets or sets the MIME type. + */ + QString mimeType() const; + /** + * @brief Gets or sets the MIME type. + */ + void setMimeType(QString newMimeType); + bool mimeTypeNull() const; + void setMimeTypeNull(); + + /** + * @brief Gets or sets the delivery URL. + */ + QString deliveryUrl() const; + /** + * @brief Gets or sets the delivery URL. + */ + void setDeliveryUrl(QString newDeliveryUrl); + bool deliveryUrlNull() const; + void setDeliveryUrlNull(); + + +protected: + QString m_codec; + QString m_codecTag; + QString m_comment; + qint32 m_index; + QString m_fileName; + QString m_mimeType; + QString m_deliveryUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAATTACHMENT_H diff --git a/core/include/JellyfinQt/dto/mediaencoderpathdto.h b/core/include/JellyfinQt/dto/mediaencoderpathdto.h new file mode 100644 index 0000000..c93b98a --- /dev/null +++ b/core/include/JellyfinQt/dto/mediaencoderpathdto.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAENCODERPATHDTO_H +#define JELLYFIN_DTO_MEDIAENCODERPATHDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaEncoderPathDto { +public: + MediaEncoderPathDto(); + MediaEncoderPathDto(const MediaEncoderPathDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaEncoderPathDto &other); + + static MediaEncoderPathDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets media encoder path. + */ + QString path() const; + /** + * @brief Gets or sets media encoder path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets media encoder path type. + */ + QString pathType() const; + /** + * @brief Gets or sets media encoder path type. + */ + void setPathType(QString newPathType); + bool pathTypeNull() const; + void setPathTypeNull(); + + +protected: + QString m_path; + QString m_pathType; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAENCODERPATHDTO_H diff --git a/core/include/JellyfinQt/dto/mediapathdto.h b/core/include/JellyfinQt/dto/mediapathdto.h new file mode 100644 index 0000000..85b1aca --- /dev/null +++ b/core/include/JellyfinQt/dto/mediapathdto.h @@ -0,0 +1,96 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAPATHDTO_H +#define JELLYFIN_DTO_MEDIAPATHDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediapathinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaPathDto { +public: + MediaPathDto(); + MediaPathDto(const MediaPathDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaPathDto &other); + + static MediaPathDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name of the library. + */ + QString name() const; + /** + * @brief Gets or sets the name of the library. + */ + void setName(QString newName); + + /** + * @brief Gets or sets the path to add. + */ + QString path() const; + /** + * @brief Gets or sets the path to add. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + QSharedPointer pathInfo() const; + + void setPathInfo(QSharedPointer newPathInfo); + + +protected: + QString m_name; + QString m_path; + QSharedPointer m_pathInfo = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAPATHDTO_H diff --git a/core/include/JellyfinQt/dto/mediapathinfo.h b/core/include/JellyfinQt/dto/mediapathinfo.h new file mode 100644 index 0000000..99a6d60 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediapathinfo.h @@ -0,0 +1,82 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAPATHINFO_H +#define JELLYFIN_DTO_MEDIAPATHINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaPathInfo { +public: + MediaPathInfo(); + MediaPathInfo(const MediaPathInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaPathInfo &other); + + static MediaPathInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString path() const; + + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + QString networkPath() const; + + void setNetworkPath(QString newNetworkPath); + bool networkPathNull() const; + void setNetworkPathNull(); + + +protected: + QString m_path; + QString m_networkPath; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAPATHINFO_H diff --git a/core/include/JellyfinQt/dto/mediaprotocol.h b/core/include/JellyfinQt/dto/mediaprotocol.h new file mode 100644 index 0000000..b46bbff --- /dev/null +++ b/core/include/JellyfinQt/dto/mediaprotocol.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAPROTOCOL_H +#define JELLYFIN_DTO_MEDIAPROTOCOL_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class MediaProtocolClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + File, + Http, + Rtmp, + Rtsp, + Udp, + Rtp, + Ftp, + }; + Q_ENUM(Value) +private: + explicit MediaProtocolClass(); +}; + +typedef MediaProtocolClass::Value MediaProtocol; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAPROTOCOL_H diff --git a/core/include/JellyfinQt/dto/mediasourceinfo.h b/core/include/JellyfinQt/dto/mediasourceinfo.h new file mode 100644 index 0000000..a4c0b22 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediasourceinfo.h @@ -0,0 +1,377 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASOURCEINFO_H +#define JELLYFIN_DTO_MEDIASOURCEINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/isotype.h" +#include "JellyfinQt/dto/mediaattachment.h" +#include "JellyfinQt/dto/mediaprotocol.h" +#include "JellyfinQt/dto/mediasourcetype.h" +#include "JellyfinQt/dto/mediastream.h" +#include "JellyfinQt/dto/transportstreamtimestamp.h" +#include "JellyfinQt/dto/video3dformat.h" +#include "JellyfinQt/dto/videotype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaSourceInfo { +public: + MediaSourceInfo(); + MediaSourceInfo(const MediaSourceInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaSourceInfo &other); + + static MediaSourceInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + MediaProtocol protocol() const; + + void setProtocol(MediaProtocol newProtocol); + + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString path() const; + + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + + QString encoderPath() const; + + void setEncoderPath(QString newEncoderPath); + bool encoderPathNull() const; + void setEncoderPathNull(); + + + MediaProtocol encoderProtocol() const; + + void setEncoderProtocol(MediaProtocol newEncoderProtocol); + + + MediaSourceType type() const; + + void setType(MediaSourceType newType); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + std::optional size() const; + + void setSize(std::optional newSize); + bool sizeNull() const; + void setSizeNull(); + + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Differentiate internet url vs local network. + */ + bool isRemote() const; + /** + * @brief Differentiate internet url vs local network. + */ + void setIsRemote(bool newIsRemote); + + + QString eTag() const; + + void setETag(QString newETag); + bool eTagNull() const; + void setETagNull(); + + + std::optional runTimeTicks() const; + + void setRunTimeTicks(std::optional newRunTimeTicks); + bool runTimeTicksNull() const; + void setRunTimeTicksNull(); + + + bool readAtNativeFramerate() const; + + void setReadAtNativeFramerate(bool newReadAtNativeFramerate); + + + bool ignoreDts() const; + + void setIgnoreDts(bool newIgnoreDts); + + + bool ignoreIndex() const; + + void setIgnoreIndex(bool newIgnoreIndex); + + + bool genPtsInput() const; + + void setGenPtsInput(bool newGenPtsInput); + + + bool supportsTranscoding() const; + + void setSupportsTranscoding(bool newSupportsTranscoding); + + + bool supportsDirectStream() const; + + void setSupportsDirectStream(bool newSupportsDirectStream); + + + bool supportsDirectPlay() const; + + void setSupportsDirectPlay(bool newSupportsDirectPlay); + + + bool isInfiniteStream() const; + + void setIsInfiniteStream(bool newIsInfiniteStream); + + + bool requiresOpening() const; + + void setRequiresOpening(bool newRequiresOpening); + + + QString openToken() const; + + void setOpenToken(QString newOpenToken); + bool openTokenNull() const; + void setOpenTokenNull(); + + + bool requiresClosing() const; + + void setRequiresClosing(bool newRequiresClosing); + + + QString liveStreamId() const; + + void setLiveStreamId(QString newLiveStreamId); + bool liveStreamIdNull() const; + void setLiveStreamIdNull(); + + + std::optional bufferMs() const; + + void setBufferMs(std::optional newBufferMs); + bool bufferMsNull() const; + void setBufferMsNull(); + + + bool requiresLooping() const; + + void setRequiresLooping(bool newRequiresLooping); + + + bool supportsProbing() const; + + void setSupportsProbing(bool newSupportsProbing); + + + VideoType videoType() const; + + void setVideoType(VideoType newVideoType); + + + IsoType isoType() const; + + void setIsoType(IsoType newIsoType); + + + Video3DFormat video3DFormat() const; + + void setVideo3DFormat(Video3DFormat newVideo3DFormat); + + + QList> mediaStreams() const; + + void setMediaStreams(QList> newMediaStreams); + bool mediaStreamsNull() const; + void setMediaStreamsNull(); + + + QList> mediaAttachments() const; + + void setMediaAttachments(QList> newMediaAttachments); + bool mediaAttachmentsNull() const; + void setMediaAttachmentsNull(); + + + QStringList formats() const; + + void setFormats(QStringList newFormats); + bool formatsNull() const; + void setFormatsNull(); + + + std::optional bitrate() const; + + void setBitrate(std::optional newBitrate); + bool bitrateNull() const; + void setBitrateNull(); + + + TransportStreamTimestamp timestamp() const; + + void setTimestamp(TransportStreamTimestamp newTimestamp); + + + std::optional requiredHttpHeaders() const; + + void setRequiredHttpHeaders(std::optional newRequiredHttpHeaders); + bool requiredHttpHeadersNull() const; + void setRequiredHttpHeadersNull(); + + + QString transcodingUrl() const; + + void setTranscodingUrl(QString newTranscodingUrl); + bool transcodingUrlNull() const; + void setTranscodingUrlNull(); + + + QString transcodingSubProtocol() const; + + void setTranscodingSubProtocol(QString newTranscodingSubProtocol); + bool transcodingSubProtocolNull() const; + void setTranscodingSubProtocolNull(); + + + QString transcodingContainer() const; + + void setTranscodingContainer(QString newTranscodingContainer); + bool transcodingContainerNull() const; + void setTranscodingContainerNull(); + + + std::optional analyzeDurationMs() const; + + void setAnalyzeDurationMs(std::optional newAnalyzeDurationMs); + bool analyzeDurationMsNull() const; + void setAnalyzeDurationMsNull(); + + + std::optional defaultAudioStreamIndex() const; + + void setDefaultAudioStreamIndex(std::optional newDefaultAudioStreamIndex); + bool defaultAudioStreamIndexNull() const; + void setDefaultAudioStreamIndexNull(); + + + std::optional defaultSubtitleStreamIndex() const; + + void setDefaultSubtitleStreamIndex(std::optional newDefaultSubtitleStreamIndex); + bool defaultSubtitleStreamIndexNull() const; + void setDefaultSubtitleStreamIndexNull(); + + +protected: + MediaProtocol m_protocol; + QString m_jellyfinId; + QString m_path; + QString m_encoderPath; + MediaProtocol m_encoderProtocol; + MediaSourceType m_type; + QString m_container; + std::optional m_size = std::nullopt; + QString m_name; + bool m_isRemote; + QString m_eTag; + std::optional m_runTimeTicks = std::nullopt; + bool m_readAtNativeFramerate; + bool m_ignoreDts; + bool m_ignoreIndex; + bool m_genPtsInput; + bool m_supportsTranscoding; + bool m_supportsDirectStream; + bool m_supportsDirectPlay; + bool m_isInfiniteStream; + bool m_requiresOpening; + QString m_openToken; + bool m_requiresClosing; + QString m_liveStreamId; + std::optional m_bufferMs = std::nullopt; + bool m_requiresLooping; + bool m_supportsProbing; + VideoType m_videoType; + IsoType m_isoType; + Video3DFormat m_video3DFormat; + QList> m_mediaStreams; + QList> m_mediaAttachments; + QStringList m_formats; + std::optional m_bitrate = std::nullopt; + TransportStreamTimestamp m_timestamp; + std::optional m_requiredHttpHeaders = std::nullopt; + QString m_transcodingUrl; + QString m_transcodingSubProtocol; + QString m_transcodingContainer; + std::optional m_analyzeDurationMs = std::nullopt; + std::optional m_defaultAudioStreamIndex = std::nullopt; + std::optional m_defaultSubtitleStreamIndex = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIASOURCEINFO_H diff --git a/core/include/JellyfinQt/dto/mediasourcetype.h b/core/include/JellyfinQt/dto/mediasourcetype.h new file mode 100644 index 0000000..43a4753 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediasourcetype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASOURCETYPE_H +#define JELLYFIN_DTO_MEDIASOURCETYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class MediaSourceTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Default, + Grouping, + Placeholder, + }; + Q_ENUM(Value) +private: + explicit MediaSourceTypeClass(); +}; + +typedef MediaSourceTypeClass::Value MediaSourceType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIASOURCETYPE_H diff --git a/core/include/JellyfinQt/dto/mediastream.h b/core/include/JellyfinQt/dto/mediastream.h new file mode 100644 index 0000000..7416f55 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediastream.h @@ -0,0 +1,578 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASTREAM_H +#define JELLYFIN_DTO_MEDIASTREAM_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediastreamtype.h" +#include "JellyfinQt/dto/subtitledeliverymethod.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaStream { +public: + MediaStream(); + MediaStream(const MediaStream &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaStream &other); + + static MediaStream fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the codec. + */ + QString codec() const; + /** + * @brief Gets or sets the codec. + */ + void setCodec(QString newCodec); + bool codecNull() const; + void setCodecNull(); + + /** + * @brief Gets or sets the codec tag. + */ + QString codecTag() const; + /** + * @brief Gets or sets the codec tag. + */ + void setCodecTag(QString newCodecTag); + bool codecTagNull() const; + void setCodecTagNull(); + + /** + * @brief Gets or sets the language. + */ + QString language() const; + /** + * @brief Gets or sets the language. + */ + void setLanguage(QString newLanguage); + bool languageNull() const; + void setLanguageNull(); + + /** + * @brief Gets or sets the color range. + */ + QString colorRange() const; + /** + * @brief Gets or sets the color range. + */ + void setColorRange(QString newColorRange); + bool colorRangeNull() const; + void setColorRangeNull(); + + /** + * @brief Gets or sets the color space. + */ + QString colorSpace() const; + /** + * @brief Gets or sets the color space. + */ + void setColorSpace(QString newColorSpace); + bool colorSpaceNull() const; + void setColorSpaceNull(); + + /** + * @brief Gets or sets the color transfer. + */ + QString colorTransfer() const; + /** + * @brief Gets or sets the color transfer. + */ + void setColorTransfer(QString newColorTransfer); + bool colorTransferNull() const; + void setColorTransferNull(); + + /** + * @brief Gets or sets the color primaries. + */ + QString colorPrimaries() const; + /** + * @brief Gets or sets the color primaries. + */ + void setColorPrimaries(QString newColorPrimaries); + bool colorPrimariesNull() const; + void setColorPrimariesNull(); + + /** + * @brief Gets or sets the comment. + */ + QString comment() const; + /** + * @brief Gets or sets the comment. + */ + void setComment(QString newComment); + bool commentNull() const; + void setCommentNull(); + + /** + * @brief Gets or sets the time base. + */ + QString timeBase() const; + /** + * @brief Gets or sets the time base. + */ + void setTimeBase(QString newTimeBase); + bool timeBaseNull() const; + void setTimeBaseNull(); + + /** + * @brief Gets or sets the codec time base. + */ + QString codecTimeBase() const; + /** + * @brief Gets or sets the codec time base. + */ + void setCodecTimeBase(QString newCodecTimeBase); + bool codecTimeBaseNull() const; + void setCodecTimeBaseNull(); + + /** + * @brief Gets or sets the title. + */ + QString title() const; + /** + * @brief Gets or sets the title. + */ + void setTitle(QString newTitle); + bool titleNull() const; + void setTitleNull(); + + /** + * @brief Gets or sets the video range. + */ + QString videoRange() const; + /** + * @brief Gets or sets the video range. + */ + void setVideoRange(QString newVideoRange); + bool videoRangeNull() const; + void setVideoRangeNull(); + + + QString localizedUndefined() const; + + void setLocalizedUndefined(QString newLocalizedUndefined); + bool localizedUndefinedNull() const; + void setLocalizedUndefinedNull(); + + + QString localizedDefault() const; + + void setLocalizedDefault(QString newLocalizedDefault); + bool localizedDefaultNull() const; + void setLocalizedDefaultNull(); + + + QString localizedForced() const; + + void setLocalizedForced(QString newLocalizedForced); + bool localizedForcedNull() const; + void setLocalizedForcedNull(); + + + QString displayTitle() const; + + void setDisplayTitle(QString newDisplayTitle); + bool displayTitleNull() const; + void setDisplayTitleNull(); + + + QString nalLengthSize() const; + + void setNalLengthSize(QString newNalLengthSize); + bool nalLengthSizeNull() const; + void setNalLengthSizeNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is interlaced. + */ + bool isInterlaced() const; + /** + * @brief Gets or sets a value indicating whether this instance is interlaced. + */ + void setIsInterlaced(bool newIsInterlaced); + + + std::optional isAVC() const; + + void setIsAVC(std::optional newIsAVC); + bool isAVCNull() const; + void setIsAVCNull(); + + /** + * @brief Gets or sets the channel layout. + */ + QString channelLayout() const; + /** + * @brief Gets or sets the channel layout. + */ + void setChannelLayout(QString newChannelLayout); + bool channelLayoutNull() const; + void setChannelLayoutNull(); + + /** + * @brief Gets or sets the bit rate. + */ + std::optional bitRate() const; + /** + * @brief Gets or sets the bit rate. + */ + void setBitRate(std::optional newBitRate); + bool bitRateNull() const; + void setBitRateNull(); + + /** + * @brief Gets or sets the bit depth. + */ + std::optional bitDepth() const; + /** + * @brief Gets or sets the bit depth. + */ + void setBitDepth(std::optional newBitDepth); + bool bitDepthNull() const; + void setBitDepthNull(); + + /** + * @brief Gets or sets the reference frames. + */ + std::optional refFrames() const; + /** + * @brief Gets or sets the reference frames. + */ + void setRefFrames(std::optional newRefFrames); + bool refFramesNull() const; + void setRefFramesNull(); + + /** + * @brief Gets or sets the length of the packet. + */ + std::optional packetLength() const; + /** + * @brief Gets or sets the length of the packet. + */ + void setPacketLength(std::optional newPacketLength); + bool packetLengthNull() const; + void setPacketLengthNull(); + + /** + * @brief Gets or sets the channels. + */ + std::optional channels() const; + /** + * @brief Gets or sets the channels. + */ + void setChannels(std::optional newChannels); + bool channelsNull() const; + void setChannelsNull(); + + /** + * @brief Gets or sets the sample rate. + */ + std::optional sampleRate() const; + /** + * @brief Gets or sets the sample rate. + */ + void setSampleRate(std::optional newSampleRate); + bool sampleRateNull() const; + void setSampleRateNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is default. + */ + bool isDefault() const; + /** + * @brief Gets or sets a value indicating whether this instance is default. + */ + void setIsDefault(bool newIsDefault); + + /** + * @brief Gets or sets a value indicating whether this instance is forced. + */ + bool isForced() const; + /** + * @brief Gets or sets a value indicating whether this instance is forced. + */ + void setIsForced(bool newIsForced); + + /** + * @brief Gets or sets the height. + */ + std::optional height() const; + /** + * @brief Gets or sets the height. + */ + void setHeight(std::optional newHeight); + bool heightNull() const; + void setHeightNull(); + + /** + * @brief Gets or sets the width. + */ + std::optional width() const; + /** + * @brief Gets or sets the width. + */ + void setWidth(std::optional newWidth); + bool widthNull() const; + void setWidthNull(); + + /** + * @brief Gets or sets the average frame rate. + */ + std::optional averageFrameRate() const; + /** + * @brief Gets or sets the average frame rate. + */ + void setAverageFrameRate(std::optional newAverageFrameRate); + bool averageFrameRateNull() const; + void setAverageFrameRateNull(); + + /** + * @brief Gets or sets the real frame rate. + */ + std::optional realFrameRate() const; + /** + * @brief Gets or sets the real frame rate. + */ + void setRealFrameRate(std::optional newRealFrameRate); + bool realFrameRateNull() const; + void setRealFrameRateNull(); + + /** + * @brief Gets or sets the profile. + */ + QString profile() const; + /** + * @brief Gets or sets the profile. + */ + void setProfile(QString newProfile); + bool profileNull() const; + void setProfileNull(); + + + MediaStreamType type() const; + + void setType(MediaStreamType newType); + + /** + * @brief Gets or sets the aspect ratio. + */ + QString aspectRatio() const; + /** + * @brief Gets or sets the aspect ratio. + */ + void setAspectRatio(QString newAspectRatio); + bool aspectRatioNull() const; + void setAspectRatioNull(); + + /** + * @brief Gets or sets the index. + */ + qint32 index() const; + /** + * @brief Gets or sets the index. + */ + void setIndex(qint32 newIndex); + + /** + * @brief Gets or sets the score. + */ + std::optional score() const; + /** + * @brief Gets or sets the score. + */ + void setScore(std::optional newScore); + bool scoreNull() const; + void setScoreNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is external. + */ + bool isExternal() const; + /** + * @brief Gets or sets a value indicating whether this instance is external. + */ + void setIsExternal(bool newIsExternal); + + + SubtitleDeliveryMethod deliveryMethod() const; + + void setDeliveryMethod(SubtitleDeliveryMethod newDeliveryMethod); + + /** + * @brief Gets or sets the delivery URL. + */ + QString deliveryUrl() const; + /** + * @brief Gets or sets the delivery URL. + */ + void setDeliveryUrl(QString newDeliveryUrl); + bool deliveryUrlNull() const; + void setDeliveryUrlNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is external URL. + */ + std::optional isExternalUrl() const; + /** + * @brief Gets or sets a value indicating whether this instance is external URL. + */ + void setIsExternalUrl(std::optional newIsExternalUrl); + bool isExternalUrlNull() const; + void setIsExternalUrlNull(); + + + bool isTextSubtitleStream() const; + + void setIsTextSubtitleStream(bool newIsTextSubtitleStream); + + /** + * @brief Gets or sets a value indicating whether [supports external stream]. + */ + bool supportsExternalStream() const; + /** + * @brief Gets or sets a value indicating whether [supports external stream]. + */ + void setSupportsExternalStream(bool newSupportsExternalStream); + + /** + * @brief Gets or sets the filename. + */ + QString path() const; + /** + * @brief Gets or sets the filename. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the pixel format. + */ + QString pixelFormat() const; + /** + * @brief Gets or sets the pixel format. + */ + void setPixelFormat(QString newPixelFormat); + bool pixelFormatNull() const; + void setPixelFormatNull(); + + /** + * @brief Gets or sets the level. + */ + std::optional level() const; + /** + * @brief Gets or sets the level. + */ + void setLevel(std::optional newLevel); + bool levelNull() const; + void setLevelNull(); + + /** + * @brief Gets a value indicating whether this instance is anamorphic. + */ + std::optional isAnamorphic() const; + /** + * @brief Gets a value indicating whether this instance is anamorphic. + */ + void setIsAnamorphic(std::optional newIsAnamorphic); + bool isAnamorphicNull() const; + void setIsAnamorphicNull(); + + +protected: + QString m_codec; + QString m_codecTag; + QString m_language; + QString m_colorRange; + QString m_colorSpace; + QString m_colorTransfer; + QString m_colorPrimaries; + QString m_comment; + QString m_timeBase; + QString m_codecTimeBase; + QString m_title; + QString m_videoRange; + QString m_localizedUndefined; + QString m_localizedDefault; + QString m_localizedForced; + QString m_displayTitle; + QString m_nalLengthSize; + bool m_isInterlaced; + std::optional m_isAVC = std::nullopt; + QString m_channelLayout; + std::optional m_bitRate = std::nullopt; + std::optional m_bitDepth = std::nullopt; + std::optional m_refFrames = std::nullopt; + std::optional m_packetLength = std::nullopt; + std::optional m_channels = std::nullopt; + std::optional m_sampleRate = std::nullopt; + bool m_isDefault; + bool m_isForced; + std::optional m_height = std::nullopt; + std::optional m_width = std::nullopt; + std::optional m_averageFrameRate = std::nullopt; + std::optional m_realFrameRate = std::nullopt; + QString m_profile; + MediaStreamType m_type; + QString m_aspectRatio; + qint32 m_index; + std::optional m_score = std::nullopt; + bool m_isExternal; + SubtitleDeliveryMethod m_deliveryMethod; + QString m_deliveryUrl; + std::optional m_isExternalUrl = std::nullopt; + bool m_isTextSubtitleStream; + bool m_supportsExternalStream; + QString m_path; + QString m_pixelFormat; + std::optional m_level = std::nullopt; + std::optional m_isAnamorphic = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIASTREAM_H diff --git a/core/include/JellyfinQt/dto/mediastreamtype.h b/core/include/JellyfinQt/dto/mediastreamtype.h new file mode 100644 index 0000000..1b07326 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediastreamtype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASTREAMTYPE_H +#define JELLYFIN_DTO_MEDIASTREAMTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class MediaStreamTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Audio, + Video, + Subtitle, + EmbeddedImage, + }; + Q_ENUM(Value) +private: + explicit MediaStreamTypeClass(); +}; + +typedef MediaStreamTypeClass::Value MediaStreamType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIASTREAMTYPE_H diff --git a/core/include/JellyfinQt/dto/mediaupdateinfodto.h b/core/include/JellyfinQt/dto/mediaupdateinfodto.h new file mode 100644 index 0000000..93172f0 --- /dev/null +++ b/core/include/JellyfinQt/dto/mediaupdateinfodto.h @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAUPDATEINFODTO_H +#define JELLYFIN_DTO_MEDIAUPDATEINFODTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaUpdateInfoDto { +public: + MediaUpdateInfoDto(); + MediaUpdateInfoDto(const MediaUpdateInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaUpdateInfoDto &other); + + static MediaUpdateInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets media path. + */ + QString path() const; + /** + * @brief Gets or sets media path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets media update type. +Created, Modified, Deleted. + */ + QString updateType() const; + /** + * @brief Gets or sets media update type. +Created, Modified, Deleted. + */ + void setUpdateType(QString newUpdateType); + bool updateTypeNull() const; + void setUpdateTypeNull(); + + +protected: + QString m_path; + QString m_updateType; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAUPDATEINFODTO_H diff --git a/core/include/JellyfinQt/dto/mediaurl.h b/core/include/JellyfinQt/dto/mediaurl.h new file mode 100644 index 0000000..dac2b3b --- /dev/null +++ b/core/include/JellyfinQt/dto/mediaurl.h @@ -0,0 +1,82 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAURL_H +#define JELLYFIN_DTO_MEDIAURL_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MediaUrl { +public: + MediaUrl(); + MediaUrl(const MediaUrl &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MediaUrl &other); + + static MediaUrl fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString url() const; + + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + +protected: + QString m_url; + QString m_name; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MEDIAURL_H diff --git a/core/include/JellyfinQt/dto/metadataeditorinfo.h b/core/include/JellyfinQt/dto/metadataeditorinfo.h new file mode 100644 index 0000000..e3db416 --- /dev/null +++ b/core/include/JellyfinQt/dto/metadataeditorinfo.h @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_METADATAEDITORINFO_H +#define JELLYFIN_DTO_METADATAEDITORINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/countryinfo.h" +#include "JellyfinQt/dto/culturedto.h" +#include "JellyfinQt/dto/externalidinfo.h" +#include "JellyfinQt/dto/namevaluepair.h" +#include "JellyfinQt/dto/parentalrating.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MetadataEditorInfo { +public: + MetadataEditorInfo(); + MetadataEditorInfo(const MetadataEditorInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MetadataEditorInfo &other); + + static MetadataEditorInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QList> parentalRatingOptions() const; + + void setParentalRatingOptions(QList> newParentalRatingOptions); + bool parentalRatingOptionsNull() const; + void setParentalRatingOptionsNull(); + + + QList> countries() const; + + void setCountries(QList> newCountries); + bool countriesNull() const; + void setCountriesNull(); + + + QList> cultures() const; + + void setCultures(QList> newCultures); + bool culturesNull() const; + void setCulturesNull(); + + + QList> externalIdInfos() const; + + void setExternalIdInfos(QList> newExternalIdInfos); + bool externalIdInfosNull() const; + void setExternalIdInfosNull(); + + + QString contentType() const; + + void setContentType(QString newContentType); + bool contentTypeNull() const; + void setContentTypeNull(); + + + QList> contentTypeOptions() const; + + void setContentTypeOptions(QList> newContentTypeOptions); + bool contentTypeOptionsNull() const; + void setContentTypeOptionsNull(); + + +protected: + QList> m_parentalRatingOptions; + QList> m_countries; + QList> m_cultures; + QList> m_externalIdInfos; + QString m_contentType; + QList> m_contentTypeOptions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_METADATAEDITORINFO_H diff --git a/core/include/JellyfinQt/dto/metadatafield.h b/core/include/JellyfinQt/dto/metadatafield.h new file mode 100644 index 0000000..28c508a --- /dev/null +++ b/core/include/JellyfinQt/dto/metadatafield.h @@ -0,0 +1,67 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_METADATAFIELD_H +#define JELLYFIN_DTO_METADATAFIELD_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class MetadataFieldClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Cast, + Genres, + ProductionLocations, + Studios, + Tags, + Name, + Overview, + Runtime, + OfficialRating, + }; + Q_ENUM(Value) +private: + explicit MetadataFieldClass(); +}; + +typedef MetadataFieldClass::Value MetadataField; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_METADATAFIELD_H diff --git a/core/include/JellyfinQt/dto/metadataoptions.h b/core/include/JellyfinQt/dto/metadataoptions.h new file mode 100644 index 0000000..b56887e --- /dev/null +++ b/core/include/JellyfinQt/dto/metadataoptions.h @@ -0,0 +1,124 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_METADATAOPTIONS_H +#define JELLYFIN_DTO_METADATAOPTIONS_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MetadataOptions { +public: + MetadataOptions(); + MetadataOptions(const MetadataOptions &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MetadataOptions &other); + + static MetadataOptions fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString itemType() const; + + void setItemType(QString newItemType); + bool itemTypeNull() const; + void setItemTypeNull(); + + + QStringList disabledMetadataSavers() const; + + void setDisabledMetadataSavers(QStringList newDisabledMetadataSavers); + bool disabledMetadataSaversNull() const; + void setDisabledMetadataSaversNull(); + + + QStringList localMetadataReaderOrder() const; + + void setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder); + bool localMetadataReaderOrderNull() const; + void setLocalMetadataReaderOrderNull(); + + + QStringList disabledMetadataFetchers() const; + + void setDisabledMetadataFetchers(QStringList newDisabledMetadataFetchers); + bool disabledMetadataFetchersNull() const; + void setDisabledMetadataFetchersNull(); + + + QStringList metadataFetcherOrder() const; + + void setMetadataFetcherOrder(QStringList newMetadataFetcherOrder); + bool metadataFetcherOrderNull() const; + void setMetadataFetcherOrderNull(); + + + QStringList disabledImageFetchers() const; + + void setDisabledImageFetchers(QStringList newDisabledImageFetchers); + bool disabledImageFetchersNull() const; + void setDisabledImageFetchersNull(); + + + QStringList imageFetcherOrder() const; + + void setImageFetcherOrder(QStringList newImageFetcherOrder); + bool imageFetcherOrderNull() const; + void setImageFetcherOrderNull(); + + +protected: + QString m_itemType; + QStringList m_disabledMetadataSavers; + QStringList m_localMetadataReaderOrder; + QStringList m_disabledMetadataFetchers; + QStringList m_metadataFetcherOrder; + QStringList m_disabledImageFetchers; + QStringList m_imageFetcherOrder; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_METADATAOPTIONS_H diff --git a/core/include/JellyfinQt/dto/metadatarefreshmode.h b/core/include/JellyfinQt/dto/metadatarefreshmode.h new file mode 100644 index 0000000..750233e --- /dev/null +++ b/core/include/JellyfinQt/dto/metadatarefreshmode.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_METADATAREFRESHMODE_H +#define JELLYFIN_DTO_METADATAREFRESHMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class MetadataRefreshModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + None, + ValidationOnly, + Default, + FullRefresh, + }; + Q_ENUM(Value) +private: + explicit MetadataRefreshModeClass(); +}; + +typedef MetadataRefreshModeClass::Value MetadataRefreshMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_METADATAREFRESHMODE_H diff --git a/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h b/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h new file mode 100644 index 0000000..9f82c74 --- /dev/null +++ b/core/include/JellyfinQt/dto/moveplaylistitemrequestdto.h @@ -0,0 +1,86 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MOVEPLAYLISTITEMREQUESTDTO_H +#define JELLYFIN_DTO_MOVEPLAYLISTITEMREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MovePlaylistItemRequestDto { +public: + MovePlaylistItemRequestDto(); + MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MovePlaylistItemRequestDto &other); + + static MovePlaylistItemRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playlist identifier of the item. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playlist identifier of the item. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + /** + * @brief Gets or sets the new position. + */ + qint32 newIndex() const; + /** + * @brief Gets or sets the new position. + */ + void setNewIndex(qint32 newNewIndex); + + +protected: + QString m_playlistItemId; + qint32 m_newIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MOVEPLAYLISTITEMREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/movieinfo.h b/core/include/JellyfinQt/dto/movieinfo.h new file mode 100644 index 0000000..03fcc61 --- /dev/null +++ b/core/include/JellyfinQt/dto/movieinfo.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MOVIEINFO_H +#define JELLYFIN_DTO_MOVIEINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MovieInfo { +public: + MovieInfo(); + MovieInfo(const MovieInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MovieInfo &other); + + static MovieInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MOVIEINFO_H diff --git a/core/include/JellyfinQt/dto/movieinforemotesearchquery.h b/core/include/JellyfinQt/dto/movieinforemotesearchquery.h new file mode 100644 index 0000000..aacf963 --- /dev/null +++ b/core/include/JellyfinQt/dto/movieinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MOVIEINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_MOVIEINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/movieinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MovieInfoRemoteSearchQuery { +public: + MovieInfoRemoteSearchQuery(); + MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MovieInfoRemoteSearchQuery &other); + + static MovieInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MOVIEINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/musicvideoinfo.h b/core/include/JellyfinQt/dto/musicvideoinfo.h new file mode 100644 index 0000000..76f6a8f --- /dev/null +++ b/core/include/JellyfinQt/dto/musicvideoinfo.h @@ -0,0 +1,179 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MUSICVIDEOINFO_H +#define JELLYFIN_DTO_MUSICVIDEOINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MusicVideoInfo { +public: + MusicVideoInfo(); + MusicVideoInfo(const MusicVideoInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MusicVideoInfo &other); + + static MusicVideoInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + + QStringList artists() const; + + void setArtists(QStringList newArtists); + bool artistsNull() const; + void setArtistsNull(); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_artists; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MUSICVIDEOINFO_H diff --git a/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h b/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h new file mode 100644 index 0000000..67b9691 --- /dev/null +++ b/core/include/JellyfinQt/dto/musicvideoinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MUSICVIDEOINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_MUSICVIDEOINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/musicvideoinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class MusicVideoInfoRemoteSearchQuery { +public: + MusicVideoInfoRemoteSearchQuery(); + MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(MusicVideoInfoRemoteSearchQuery &other); + + static MusicVideoInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_MUSICVIDEOINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/nameguidpair.h b/core/include/JellyfinQt/dto/nameguidpair.h new file mode 100644 index 0000000..f9d0da8 --- /dev/null +++ b/core/include/JellyfinQt/dto/nameguidpair.h @@ -0,0 +1,80 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NAMEGUIDPAIR_H +#define JELLYFIN_DTO_NAMEGUIDPAIR_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NameGuidPair { +public: + NameGuidPair(); + NameGuidPair(const NameGuidPair &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NameGuidPair &other); + + static NameGuidPair fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + + +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NAMEGUIDPAIR_H diff --git a/core/include/JellyfinQt/dto/nameidpair.h b/core/include/JellyfinQt/dto/nameidpair.h new file mode 100644 index 0000000..1ad6f1b --- /dev/null +++ b/core/include/JellyfinQt/dto/nameidpair.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NAMEIDPAIR_H +#define JELLYFIN_DTO_NAMEIDPAIR_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NameIdPair { +public: + NameIdPair(); + NameIdPair(const NameIdPair &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NameIdPair &other); + + static NameIdPair fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the identifier. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the identifier. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NAMEIDPAIR_H diff --git a/core/include/JellyfinQt/dto/namevaluepair.h b/core/include/JellyfinQt/dto/namevaluepair.h new file mode 100644 index 0000000..0c53610 --- /dev/null +++ b/core/include/JellyfinQt/dto/namevaluepair.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NAMEVALUEPAIR_H +#define JELLYFIN_DTO_NAMEVALUEPAIR_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NameValuePair { +public: + NameValuePair(); + NameValuePair(const NameValuePair &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NameValuePair &other); + + static NameValuePair fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the value. + */ + QString value() const; + /** + * @brief Gets or sets the value. + */ + void setValue(QString newValue); + bool valueNull() const; + void setValueNull(); + + +protected: + QString m_name; + QString m_value; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NAMEVALUEPAIR_H diff --git a/core/include/JellyfinQt/dto/newgrouprequestdto.h b/core/include/JellyfinQt/dto/newgrouprequestdto.h new file mode 100644 index 0000000..5cff6e1 --- /dev/null +++ b/core/include/JellyfinQt/dto/newgrouprequestdto.h @@ -0,0 +1,78 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NEWGROUPREQUESTDTO_H +#define JELLYFIN_DTO_NEWGROUPREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NewGroupRequestDto { +public: + NewGroupRequestDto(); + NewGroupRequestDto(const NewGroupRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NewGroupRequestDto &other); + + static NewGroupRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the group name. + */ + QString groupName() const; + /** + * @brief Gets or sets the group name. + */ + void setGroupName(QString newGroupName); + bool groupNameNull() const; + void setGroupNameNull(); + + +protected: + QString m_groupName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NEWGROUPREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/nextitemrequestdto.h b/core/include/JellyfinQt/dto/nextitemrequestdto.h new file mode 100644 index 0000000..a141e8d --- /dev/null +++ b/core/include/JellyfinQt/dto/nextitemrequestdto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NEXTITEMREQUESTDTO_H +#define JELLYFIN_DTO_NEXTITEMREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NextItemRequestDto { +public: + NextItemRequestDto(); + NextItemRequestDto(const NextItemRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NextItemRequestDto &other); + + static NextItemRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playing item identifier. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playing item identifier. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + +protected: + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NEXTITEMREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/notificationdto.h b/core/include/JellyfinQt/dto/notificationdto.h new file mode 100644 index 0000000..529e242 --- /dev/null +++ b/core/include/JellyfinQt/dto/notificationdto.h @@ -0,0 +1,154 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONDTO_H +#define JELLYFIN_DTO_NOTIFICATIONDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/notificationlevel.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NotificationDto { +public: + NotificationDto(); + NotificationDto(const NotificationDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NotificationDto &other); + + static NotificationDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the notification ID. Defaults to an empty string. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the notification ID. Defaults to an empty string. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the notification's user ID. Defaults to an empty string. + */ + QString userId() const; + /** + * @brief Gets or sets the notification's user ID. Defaults to an empty string. + */ + void setUserId(QString newUserId); + bool userIdNull() const; + void setUserIdNull(); + + /** + * @brief Gets or sets the notification date. + */ + QDateTime date() const; + /** + * @brief Gets or sets the notification date. + */ + void setDate(QDateTime newDate); + + /** + * @brief Gets or sets a value indicating whether the notification has been read. Defaults to false. + */ + bool isRead() const; + /** + * @brief Gets or sets a value indicating whether the notification has been read. Defaults to false. + */ + void setIsRead(bool newIsRead); + + /** + * @brief Gets or sets the notification's name. Defaults to an empty string. + */ + QString name() const; + /** + * @brief Gets or sets the notification's name. Defaults to an empty string. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the notification's description. Defaults to an empty string. + */ + QString description() const; + /** + * @brief Gets or sets the notification's description. Defaults to an empty string. + */ + void setDescription(QString newDescription); + bool descriptionNull() const; + void setDescriptionNull(); + + /** + * @brief Gets or sets the notification's URL. Defaults to an empty string. + */ + QString url() const; + /** + * @brief Gets or sets the notification's URL. Defaults to an empty string. + */ + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + + NotificationLevel level() const; + + void setLevel(NotificationLevel newLevel); + + +protected: + QString m_jellyfinId; + QString m_userId; + QDateTime m_date; + bool m_isRead; + QString m_name; + QString m_description; + QString m_url; + NotificationLevel m_level; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NOTIFICATIONDTO_H diff --git a/core/include/JellyfinQt/dto/notificationlevel.h b/core/include/JellyfinQt/dto/notificationlevel.h new file mode 100644 index 0000000..7a35ba7 --- /dev/null +++ b/core/include/JellyfinQt/dto/notificationlevel.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONLEVEL_H +#define JELLYFIN_DTO_NOTIFICATIONLEVEL_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class NotificationLevelClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Normal, + Warning, + Error, + }; + Q_ENUM(Value) +private: + explicit NotificationLevelClass(); +}; + +typedef NotificationLevelClass::Value NotificationLevel; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NOTIFICATIONLEVEL_H diff --git a/core/include/JellyfinQt/dto/notificationresultdto.h b/core/include/JellyfinQt/dto/notificationresultdto.h new file mode 100644 index 0000000..793f730 --- /dev/null +++ b/core/include/JellyfinQt/dto/notificationresultdto.h @@ -0,0 +1,91 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONRESULTDTO_H +#define JELLYFIN_DTO_NOTIFICATIONRESULTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/notificationdto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NotificationResultDto { +public: + NotificationResultDto(); + NotificationResultDto(const NotificationResultDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NotificationResultDto &other); + + static NotificationResultDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the current page of notifications. + */ + QList> notifications() const; + /** + * @brief Gets or sets the current page of notifications. + */ + void setNotifications(QList> newNotifications); + bool notificationsNull() const; + void setNotificationsNull(); + + /** + * @brief Gets or sets the total number of notifications. + */ + qint32 totalRecordCount() const; + /** + * @brief Gets or sets the total number of notifications. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + +protected: + QList> m_notifications; + qint32 m_totalRecordCount; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NOTIFICATIONRESULTDTO_H diff --git a/core/include/JellyfinQt/dto/notificationssummarydto.h b/core/include/JellyfinQt/dto/notificationssummarydto.h new file mode 100644 index 0000000..94f892a --- /dev/null +++ b/core/include/JellyfinQt/dto/notificationssummarydto.h @@ -0,0 +1,82 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONSSUMMARYDTO_H +#define JELLYFIN_DTO_NOTIFICATIONSSUMMARYDTO_H + +#include +#include +#include + +#include "JellyfinQt/dto/notificationlevel.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NotificationsSummaryDto { +public: + NotificationsSummaryDto(); + NotificationsSummaryDto(const NotificationsSummaryDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NotificationsSummaryDto &other); + + static NotificationsSummaryDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the number of unread notifications. + */ + qint32 unreadCount() const; + /** + * @brief Gets or sets the number of unread notifications. + */ + void setUnreadCount(qint32 newUnreadCount); + + + NotificationLevel maxUnreadNotificationLevel() const; + + void setMaxUnreadNotificationLevel(NotificationLevel newMaxUnreadNotificationLevel); + + +protected: + qint32 m_unreadCount; + NotificationLevel m_maxUnreadNotificationLevel; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NOTIFICATIONSSUMMARYDTO_H diff --git a/core/include/JellyfinQt/dto/notificationtypeinfo.h b/core/include/JellyfinQt/dto/notificationtypeinfo.h new file mode 100644 index 0000000..1cd0a2a --- /dev/null +++ b/core/include/JellyfinQt/dto/notificationtypeinfo.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONTYPEINFO_H +#define JELLYFIN_DTO_NOTIFICATIONTYPEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class NotificationTypeInfo { +public: + NotificationTypeInfo(); + NotificationTypeInfo(const NotificationTypeInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(NotificationTypeInfo &other); + + static NotificationTypeInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + bool enabled() const; + + void setEnabled(bool newEnabled); + + + QString category() const; + + void setCategory(QString newCategory); + bool categoryNull() const; + void setCategoryNull(); + + + bool isBasedOnUserEvent() const; + + void setIsBasedOnUserEvent(bool newIsBasedOnUserEvent); + + +protected: + QString m_type; + QString m_name; + bool m_enabled; + QString m_category; + bool m_isBasedOnUserEvent; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_NOTIFICATIONTYPEINFO_H diff --git a/core/include/JellyfinQt/dto/objectgroupupdate.h b/core/include/JellyfinQt/dto/objectgroupupdate.h new file mode 100644 index 0000000..777ff36 --- /dev/null +++ b/core/include/JellyfinQt/dto/objectgroupupdate.h @@ -0,0 +1,96 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_OBJECTGROUPUPDATE_H +#define JELLYFIN_DTO_OBJECTGROUPUPDATE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/groupupdatetype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ObjectGroupUpdate { +public: + ObjectGroupUpdate(); + ObjectGroupUpdate(const ObjectGroupUpdate &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ObjectGroupUpdate &other); + + static ObjectGroupUpdate fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the group identifier. + */ + QString groupId() const; + /** + * @brief Gets the group identifier. + */ + void setGroupId(QString newGroupId); + + + GroupUpdateType type() const; + + void setType(GroupUpdateType newType); + + /** + * @brief Gets the update data. + */ + QVariant data() const; + /** + * @brief Gets the update data. + */ + void setData(QVariant newData); + bool dataNull() const; + void setDataNull(); + + +protected: + QString m_groupId; + GroupUpdateType m_type; + QVariant m_data; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_OBJECTGROUPUPDATE_H diff --git a/core/include/JellyfinQt/dto/openlivestreamdto.h b/core/include/JellyfinQt/dto/openlivestreamdto.h new file mode 100644 index 0000000..109c5e6 --- /dev/null +++ b/core/include/JellyfinQt/dto/openlivestreamdto.h @@ -0,0 +1,221 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_OPENLIVESTREAMDTO_H +#define JELLYFIN_DTO_OPENLIVESTREAMDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceprofile.h" +#include "JellyfinQt/dto/mediaprotocol.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class OpenLiveStreamDto { +public: + OpenLiveStreamDto(); + OpenLiveStreamDto(const OpenLiveStreamDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(OpenLiveStreamDto &other); + + static OpenLiveStreamDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the open token. + */ + QString openToken() const; + /** + * @brief Gets or sets the open token. + */ + void setOpenToken(QString newOpenToken); + bool openTokenNull() const; + void setOpenTokenNull(); + + /** + * @brief Gets or sets the user id. + */ + QString userId() const; + /** + * @brief Gets or sets the user id. + */ + void setUserId(QString newUserId); + bool userIdNull() const; + void setUserIdNull(); + + /** + * @brief Gets or sets the play session id. + */ + QString playSessionId() const; + /** + * @brief Gets or sets the play session id. + */ + void setPlaySessionId(QString newPlaySessionId); + bool playSessionIdNull() const; + void setPlaySessionIdNull(); + + /** + * @brief Gets or sets the max streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + /** + * @brief Gets or sets the max streaming bitrate. + */ + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate); + bool maxStreamingBitrateNull() const; + void setMaxStreamingBitrateNull(); + + /** + * @brief Gets or sets the start time in ticks. + */ + std::optional startTimeTicks() const; + /** + * @brief Gets or sets the start time in ticks. + */ + void setStartTimeTicks(std::optional newStartTimeTicks); + bool startTimeTicksNull() const; + void setStartTimeTicksNull(); + + /** + * @brief Gets or sets the audio stream index. + */ + std::optional audioStreamIndex() const; + /** + * @brief Gets or sets the audio stream index. + */ + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + /** + * @brief Gets or sets the subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + /** + * @brief Gets or sets the subtitle stream index. + */ + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + /** + * @brief Gets or sets the max audio channels. + */ + std::optional maxAudioChannels() const; + /** + * @brief Gets or sets the max audio channels. + */ + void setMaxAudioChannels(std::optional newMaxAudioChannels); + bool maxAudioChannelsNull() const; + void setMaxAudioChannelsNull(); + + /** + * @brief Gets or sets the item id. + */ + QString itemId() const; + /** + * @brief Gets or sets the item id. + */ + void setItemId(QString newItemId); + bool itemIdNull() const; + void setItemIdNull(); + + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + std::optional enableDirectPlay() const; + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + void setEnableDirectPlay(std::optional newEnableDirectPlay); + bool enableDirectPlayNull() const; + void setEnableDirectPlayNull(); + + /** + * @brief Gets or sets a value indicating whether to enale direct stream. + */ + std::optional enableDirectStream() const; + /** + * @brief Gets or sets a value indicating whether to enale direct stream. + */ + void setEnableDirectStream(std::optional newEnableDirectStream); + bool enableDirectStreamNull() const; + void setEnableDirectStreamNull(); + + + QSharedPointer deviceProfile() const; + + void setDeviceProfile(QSharedPointer newDeviceProfile); + + /** + * @brief Gets or sets the device play protocols. + */ + QList directPlayProtocols() const; + /** + * @brief Gets or sets the device play protocols. + */ + void setDirectPlayProtocols(QList newDirectPlayProtocols); + bool directPlayProtocolsNull() const; + void setDirectPlayProtocolsNull(); + + +protected: + QString m_openToken; + QString m_userId; + QString m_playSessionId; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + QString m_itemId; + std::optional m_enableDirectPlay = std::nullopt; + std::optional m_enableDirectStream = std::nullopt; + QSharedPointer m_deviceProfile = nullptr; + QList m_directPlayProtocols; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_OPENLIVESTREAMDTO_H diff --git a/core/include/JellyfinQt/dto/packageinfo.h b/core/include/JellyfinQt/dto/packageinfo.h new file mode 100644 index 0000000..1370613 --- /dev/null +++ b/core/include/JellyfinQt/dto/packageinfo.h @@ -0,0 +1,168 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PACKAGEINFO_H +#define JELLYFIN_DTO_PACKAGEINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/versioninfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PackageInfo { +public: + PackageInfo(); + PackageInfo(const PackageInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PackageInfo &other); + + static PackageInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets a long description of the plugin containing features or helpful explanations. + */ + QString description() const; + /** + * @brief Gets or sets a long description of the plugin containing features or helpful explanations. + */ + void setDescription(QString newDescription); + bool descriptionNull() const; + void setDescriptionNull(); + + /** + * @brief Gets or sets a short overview of what the plugin does. + */ + QString overview() const; + /** + * @brief Gets or sets a short overview of what the plugin does. + */ + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + /** + * @brief Gets or sets the owner. + */ + QString owner() const; + /** + * @brief Gets or sets the owner. + */ + void setOwner(QString newOwner); + bool ownerNull() const; + void setOwnerNull(); + + /** + * @brief Gets or sets the category. + */ + QString category() const; + /** + * @brief Gets or sets the category. + */ + void setCategory(QString newCategory); + bool categoryNull() const; + void setCategoryNull(); + + /** + * @brief Gets or sets the guid of the assembly associated with this plugin. +This is used to identify the proper item for automatic updates. + */ + QString guid() const; + /** + * @brief Gets or sets the guid of the assembly associated with this plugin. +This is used to identify the proper item for automatic updates. + */ + void setGuid(QString newGuid); + bool guidNull() const; + void setGuidNull(); + + /** + * @brief Gets or sets the versions. + */ + QList> versions() const; + /** + * @brief Gets or sets the versions. + */ + void setVersions(QList> newVersions); + bool versionsNull() const; + void setVersionsNull(); + + /** + * @brief Gets or sets the image url for the package. + */ + QString imageUrl() const; + /** + * @brief Gets or sets the image url for the package. + */ + void setImageUrl(QString newImageUrl); + bool imageUrlNull() const; + void setImageUrlNull(); + + +protected: + QString m_name; + QString m_description; + QString m_overview; + QString m_owner; + QString m_category; + QString m_guid; + QList> m_versions; + QString m_imageUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PACKAGEINFO_H diff --git a/core/include/JellyfinQt/dto/parentalrating.h b/core/include/JellyfinQt/dto/parentalrating.h new file mode 100644 index 0000000..2ee4c4c --- /dev/null +++ b/core/include/JellyfinQt/dto/parentalrating.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PARENTALRATING_H +#define JELLYFIN_DTO_PARENTALRATING_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ParentalRating { +public: + ParentalRating(); + ParentalRating(const ParentalRating &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ParentalRating &other); + + static ParentalRating fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the value. + */ + qint32 value() const; + /** + * @brief Gets or sets the value. + */ + void setValue(qint32 newValue); + + +protected: + QString m_name; + qint32 m_value; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PARENTALRATING_H diff --git a/core/include/JellyfinQt/dto/pathsubstitution.h b/core/include/JellyfinQt/dto/pathsubstitution.h new file mode 100644 index 0000000..181b29e --- /dev/null +++ b/core/include/JellyfinQt/dto/pathsubstitution.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PATHSUBSTITUTION_H +#define JELLYFIN_DTO_PATHSUBSTITUTION_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PathSubstitution { +public: + PathSubstitution(); + PathSubstitution(const PathSubstitution &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PathSubstitution &other); + + static PathSubstitution fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the value to substitute. + */ + QString from() const; + /** + * @brief Gets or sets the value to substitute. + */ + void setFrom(QString newFrom); + bool fromNull() const; + void setFromNull(); + + /** + * @brief Gets or sets the value to substitution with. + */ + QString to() const; + /** + * @brief Gets or sets the value to substitution with. + */ + void setTo(QString newTo); + bool toNull() const; + void setToNull(); + + +protected: + QString m_from; + QString m_to; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PATHSUBSTITUTION_H diff --git a/core/include/JellyfinQt/dto/personlookupinfo.h b/core/include/JellyfinQt/dto/personlookupinfo.h new file mode 100644 index 0000000..217dd02 --- /dev/null +++ b/core/include/JellyfinQt/dto/personlookupinfo.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PERSONLOOKUPINFO_H +#define JELLYFIN_DTO_PERSONLOOKUPINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PersonLookupInfo { +public: + PersonLookupInfo(); + PersonLookupInfo(const PersonLookupInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PersonLookupInfo &other); + + static PersonLookupInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PERSONLOOKUPINFO_H diff --git a/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h b/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h new file mode 100644 index 0000000..ae72848 --- /dev/null +++ b/core/include/JellyfinQt/dto/personlookupinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PERSONLOOKUPINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_PERSONLOOKUPINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/personlookupinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PersonLookupInfoRemoteSearchQuery { +public: + PersonLookupInfoRemoteSearchQuery(); + PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PersonLookupInfoRemoteSearchQuery &other); + + static PersonLookupInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PERSONLOOKUPINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/pingrequestdto.h b/core/include/JellyfinQt/dto/pingrequestdto.h new file mode 100644 index 0000000..11a8f73 --- /dev/null +++ b/core/include/JellyfinQt/dto/pingrequestdto.h @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PINGREQUESTDTO_H +#define JELLYFIN_DTO_PINGREQUESTDTO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PingRequestDto { +public: + PingRequestDto(); + PingRequestDto(const PingRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PingRequestDto &other); + + static PingRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the ping time. + */ + qint64 ping() const; + /** + * @brief Gets or sets the ping time. + */ + void setPing(qint64 newPing); + + +protected: + qint64 m_ping; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PINGREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/pinredeemresult.h b/core/include/JellyfinQt/dto/pinredeemresult.h new file mode 100644 index 0000000..7bff00b --- /dev/null +++ b/core/include/JellyfinQt/dto/pinredeemresult.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PINREDEEMRESULT_H +#define JELLYFIN_DTO_PINREDEEMRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PinRedeemResult { +public: + PinRedeemResult(); + PinRedeemResult(const PinRedeemResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PinRedeemResult &other); + + static PinRedeemResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. + */ + bool success() const; + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. + */ + void setSuccess(bool newSuccess); + + /** + * @brief Gets or sets the users reset. + */ + QStringList usersReset() const; + /** + * @brief Gets or sets the users reset. + */ + void setUsersReset(QStringList newUsersReset); + bool usersResetNull() const; + void setUsersResetNull(); + + +protected: + bool m_success; + QStringList m_usersReset; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PINREDEEMRESULT_H diff --git a/core/include/JellyfinQt/dto/playaccess.h b/core/include/JellyfinQt/dto/playaccess.h new file mode 100644 index 0000000..324dcf3 --- /dev/null +++ b/core/include/JellyfinQt/dto/playaccess.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYACCESS_H +#define JELLYFIN_DTO_PLAYACCESS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PlayAccessClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Full, + None, + }; + Q_ENUM(Value) +private: + explicit PlayAccessClass(); +}; + +typedef PlayAccessClass::Value PlayAccess; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYACCESS_H diff --git a/core/include/JellyfinQt/dto/playbackerrorcode.h b/core/include/JellyfinQt/dto/playbackerrorcode.h new file mode 100644 index 0000000..f42f7f0 --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackerrorcode.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKERRORCODE_H +#define JELLYFIN_DTO_PLAYBACKERRORCODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PlaybackErrorCodeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + NotAllowed, + NoCompatibleStream, + RateLimitExceeded, + }; + Q_ENUM(Value) +private: + explicit PlaybackErrorCodeClass(); +}; + +typedef PlaybackErrorCodeClass::Value PlaybackErrorCode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKERRORCODE_H diff --git a/core/include/JellyfinQt/dto/playbackinfodto.h b/core/include/JellyfinQt/dto/playbackinfodto.h new file mode 100644 index 0000000..a80930b --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackinfodto.h @@ -0,0 +1,242 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKINFODTO_H +#define JELLYFIN_DTO_PLAYBACKINFODTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/deviceprofile.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaybackInfoDto { +public: + PlaybackInfoDto(); + PlaybackInfoDto(const PlaybackInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaybackInfoDto &other); + + static PlaybackInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playback userId. + */ + QString userId() const; + /** + * @brief Gets or sets the playback userId. + */ + void setUserId(QString newUserId); + bool userIdNull() const; + void setUserIdNull(); + + /** + * @brief Gets or sets the max streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + /** + * @brief Gets or sets the max streaming bitrate. + */ + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate); + bool maxStreamingBitrateNull() const; + void setMaxStreamingBitrateNull(); + + /** + * @brief Gets or sets the start time in ticks. + */ + std::optional startTimeTicks() const; + /** + * @brief Gets or sets the start time in ticks. + */ + void setStartTimeTicks(std::optional newStartTimeTicks); + bool startTimeTicksNull() const; + void setStartTimeTicksNull(); + + /** + * @brief Gets or sets the audio stream index. + */ + std::optional audioStreamIndex() const; + /** + * @brief Gets or sets the audio stream index. + */ + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + /** + * @brief Gets or sets the subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + /** + * @brief Gets or sets the subtitle stream index. + */ + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + /** + * @brief Gets or sets the max audio channels. + */ + std::optional maxAudioChannels() const; + /** + * @brief Gets or sets the max audio channels. + */ + void setMaxAudioChannels(std::optional newMaxAudioChannels); + bool maxAudioChannelsNull() const; + void setMaxAudioChannelsNull(); + + /** + * @brief Gets or sets the media source id. + */ + QString mediaSourceId() const; + /** + * @brief Gets or sets the media source id. + */ + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + /** + * @brief Gets or sets the live stream id. + */ + QString liveStreamId() const; + /** + * @brief Gets or sets the live stream id. + */ + void setLiveStreamId(QString newLiveStreamId); + bool liveStreamIdNull() const; + void setLiveStreamIdNull(); + + + QSharedPointer deviceProfile() const; + + void setDeviceProfile(QSharedPointer newDeviceProfile); + + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + std::optional enableDirectPlay() const; + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + void setEnableDirectPlay(std::optional newEnableDirectPlay); + bool enableDirectPlayNull() const; + void setEnableDirectPlayNull(); + + /** + * @brief Gets or sets a value indicating whether to enable direct stream. + */ + std::optional enableDirectStream() const; + /** + * @brief Gets or sets a value indicating whether to enable direct stream. + */ + void setEnableDirectStream(std::optional newEnableDirectStream); + bool enableDirectStreamNull() const; + void setEnableDirectStreamNull(); + + /** + * @brief Gets or sets a value indicating whether to enable transcoding. + */ + std::optional enableTranscoding() const; + /** + * @brief Gets or sets a value indicating whether to enable transcoding. + */ + void setEnableTranscoding(std::optional newEnableTranscoding); + bool enableTranscodingNull() const; + void setEnableTranscodingNull(); + + /** + * @brief Gets or sets a value indicating whether to enable video stream copy. + */ + std::optional allowVideoStreamCopy() const; + /** + * @brief Gets or sets a value indicating whether to enable video stream copy. + */ + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy); + bool allowVideoStreamCopyNull() const; + void setAllowVideoStreamCopyNull(); + + /** + * @brief Gets or sets a value indicating whether to allow audio stream copy. + */ + std::optional allowAudioStreamCopy() const; + /** + * @brief Gets or sets a value indicating whether to allow audio stream copy. + */ + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy); + bool allowAudioStreamCopyNull() const; + void setAllowAudioStreamCopyNull(); + + /** + * @brief Gets or sets a value indicating whether to auto open the live stream. + */ + std::optional autoOpenLiveStream() const; + /** + * @brief Gets or sets a value indicating whether to auto open the live stream. + */ + void setAutoOpenLiveStream(std::optional newAutoOpenLiveStream); + bool autoOpenLiveStreamNull() const; + void setAutoOpenLiveStreamNull(); + + +protected: + QString m_userId; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + QString m_mediaSourceId; + QString m_liveStreamId; + QSharedPointer m_deviceProfile = nullptr; + std::optional m_enableDirectPlay = std::nullopt; + std::optional m_enableDirectStream = std::nullopt; + std::optional m_enableTranscoding = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + std::optional m_autoOpenLiveStream = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKINFODTO_H diff --git a/core/include/JellyfinQt/dto/playbackinforesponse.h b/core/include/JellyfinQt/dto/playbackinforesponse.h new file mode 100644 index 0000000..b727e53 --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackinforesponse.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKINFORESPONSE_H +#define JELLYFIN_DTO_PLAYBACKINFORESPONSE_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/mediasourceinfo.h" +#include "JellyfinQt/dto/playbackerrorcode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaybackInfoResponse { +public: + PlaybackInfoResponse(); + PlaybackInfoResponse(const PlaybackInfoResponse &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaybackInfoResponse &other); + + static PlaybackInfoResponse fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the media sources. + */ + QList> mediaSources() const; + /** + * @brief Gets or sets the media sources. + */ + void setMediaSources(QList> newMediaSources); + bool mediaSourcesNull() const; + void setMediaSourcesNull(); + + /** + * @brief Gets or sets the play session identifier. + */ + QString playSessionId() const; + /** + * @brief Gets or sets the play session identifier. + */ + void setPlaySessionId(QString newPlaySessionId); + bool playSessionIdNull() const; + void setPlaySessionIdNull(); + + + PlaybackErrorCode errorCode() const; + + void setErrorCode(PlaybackErrorCode newErrorCode); + + +protected: + QList> m_mediaSources; + QString m_playSessionId; + PlaybackErrorCode m_errorCode; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKINFORESPONSE_H diff --git a/core/include/JellyfinQt/dto/playbackprogressinfo.h b/core/include/JellyfinQt/dto/playbackprogressinfo.h new file mode 100644 index 0000000..8f5b2c2 --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackprogressinfo.h @@ -0,0 +1,267 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKPROGRESSINFO_H +#define JELLYFIN_DTO_PLAYBACKPROGRESSINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/playmethod.h" +#include "JellyfinQt/dto/queueitem.h" +#include "JellyfinQt/dto/repeatmode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaybackProgressInfo { +public: + PlaybackProgressInfo(); + PlaybackProgressInfo(const PlaybackProgressInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaybackProgressInfo &other); + + static PlaybackProgressInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + bool canSeek() const; + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + void setCanSeek(bool newCanSeek); + + + QSharedPointer item() const; + + void setItem(QSharedPointer newItem); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + + /** + * @brief Gets or sets the session id. + */ + QString sessionId() const; + /** + * @brief Gets or sets the session id. + */ + void setSessionId(QString newSessionId); + bool sessionIdNull() const; + void setSessionIdNull(); + + /** + * @brief Gets or sets the media version identifier. + */ + QString mediaSourceId() const; + /** + * @brief Gets or sets the media version identifier. + */ + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + /** + * @brief Gets or sets the index of the audio stream. + */ + std::optional audioStreamIndex() const; + /** + * @brief Gets or sets the index of the audio stream. + */ + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + /** + * @brief Gets or sets the index of the subtitle stream. + */ + std::optional subtitleStreamIndex() const; + /** + * @brief Gets or sets the index of the subtitle stream. + */ + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + bool isPaused() const; + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + void setIsPaused(bool newIsPaused); + + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + bool isMuted() const; + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + void setIsMuted(bool newIsMuted); + + /** + * @brief Gets or sets the position ticks. + */ + std::optional positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(std::optional newPositionTicks); + bool positionTicksNull() const; + void setPositionTicksNull(); + + + std::optional playbackStartTimeTicks() const; + + void setPlaybackStartTimeTicks(std::optional newPlaybackStartTimeTicks); + bool playbackStartTimeTicksNull() const; + void setPlaybackStartTimeTicksNull(); + + /** + * @brief Gets or sets the volume level. + */ + std::optional volumeLevel() const; + /** + * @brief Gets or sets the volume level. + */ + void setVolumeLevel(std::optional newVolumeLevel); + bool volumeLevelNull() const; + void setVolumeLevelNull(); + + + std::optional brightness() const; + + void setBrightness(std::optional newBrightness); + bool brightnessNull() const; + void setBrightnessNull(); + + + QString aspectRatio() const; + + void setAspectRatio(QString newAspectRatio); + bool aspectRatioNull() const; + void setAspectRatioNull(); + + + PlayMethod playMethod() const; + + void setPlayMethod(PlayMethod newPlayMethod); + + /** + * @brief Gets or sets the live stream identifier. + */ + QString liveStreamId() const; + /** + * @brief Gets or sets the live stream identifier. + */ + void setLiveStreamId(QString newLiveStreamId); + bool liveStreamIdNull() const; + void setLiveStreamIdNull(); + + /** + * @brief Gets or sets the play session identifier. + */ + QString playSessionId() const; + /** + * @brief Gets or sets the play session identifier. + */ + void setPlaySessionId(QString newPlaySessionId); + bool playSessionIdNull() const; + void setPlaySessionIdNull(); + + + RepeatMode repeatMode() const; + + void setRepeatMode(RepeatMode newRepeatMode); + + + QList> nowPlayingQueue() const; + + void setNowPlayingQueue(QList> newNowPlayingQueue); + bool nowPlayingQueueNull() const; + void setNowPlayingQueueNull(); + + + QString playlistItemId() const; + + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + +protected: + bool m_canSeek; + QSharedPointer m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + bool m_isPaused; + bool m_isMuted; + std::optional m_positionTicks = std::nullopt; + std::optional m_playbackStartTimeTicks = std::nullopt; + std::optional m_volumeLevel = std::nullopt; + std::optional m_brightness = std::nullopt; + QString m_aspectRatio; + PlayMethod m_playMethod; + QString m_liveStreamId; + QString m_playSessionId; + RepeatMode m_repeatMode; + QList> m_nowPlayingQueue; + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKPROGRESSINFO_H diff --git a/core/include/JellyfinQt/dto/playbackstartinfo.h b/core/include/JellyfinQt/dto/playbackstartinfo.h new file mode 100644 index 0000000..5725b28 --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackstartinfo.h @@ -0,0 +1,267 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKSTARTINFO_H +#define JELLYFIN_DTO_PLAYBACKSTARTINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/playmethod.h" +#include "JellyfinQt/dto/queueitem.h" +#include "JellyfinQt/dto/repeatmode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaybackStartInfo { +public: + PlaybackStartInfo(); + PlaybackStartInfo(const PlaybackStartInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaybackStartInfo &other); + + static PlaybackStartInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + bool canSeek() const; + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + void setCanSeek(bool newCanSeek); + + + QSharedPointer item() const; + + void setItem(QSharedPointer newItem); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + + /** + * @brief Gets or sets the session id. + */ + QString sessionId() const; + /** + * @brief Gets or sets the session id. + */ + void setSessionId(QString newSessionId); + bool sessionIdNull() const; + void setSessionIdNull(); + + /** + * @brief Gets or sets the media version identifier. + */ + QString mediaSourceId() const; + /** + * @brief Gets or sets the media version identifier. + */ + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + /** + * @brief Gets or sets the index of the audio stream. + */ + std::optional audioStreamIndex() const; + /** + * @brief Gets or sets the index of the audio stream. + */ + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + /** + * @brief Gets or sets the index of the subtitle stream. + */ + std::optional subtitleStreamIndex() const; + /** + * @brief Gets or sets the index of the subtitle stream. + */ + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + bool isPaused() const; + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + void setIsPaused(bool newIsPaused); + + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + bool isMuted() const; + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + void setIsMuted(bool newIsMuted); + + /** + * @brief Gets or sets the position ticks. + */ + std::optional positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(std::optional newPositionTicks); + bool positionTicksNull() const; + void setPositionTicksNull(); + + + std::optional playbackStartTimeTicks() const; + + void setPlaybackStartTimeTicks(std::optional newPlaybackStartTimeTicks); + bool playbackStartTimeTicksNull() const; + void setPlaybackStartTimeTicksNull(); + + /** + * @brief Gets or sets the volume level. + */ + std::optional volumeLevel() const; + /** + * @brief Gets or sets the volume level. + */ + void setVolumeLevel(std::optional newVolumeLevel); + bool volumeLevelNull() const; + void setVolumeLevelNull(); + + + std::optional brightness() const; + + void setBrightness(std::optional newBrightness); + bool brightnessNull() const; + void setBrightnessNull(); + + + QString aspectRatio() const; + + void setAspectRatio(QString newAspectRatio); + bool aspectRatioNull() const; + void setAspectRatioNull(); + + + PlayMethod playMethod() const; + + void setPlayMethod(PlayMethod newPlayMethod); + + /** + * @brief Gets or sets the live stream identifier. + */ + QString liveStreamId() const; + /** + * @brief Gets or sets the live stream identifier. + */ + void setLiveStreamId(QString newLiveStreamId); + bool liveStreamIdNull() const; + void setLiveStreamIdNull(); + + /** + * @brief Gets or sets the play session identifier. + */ + QString playSessionId() const; + /** + * @brief Gets or sets the play session identifier. + */ + void setPlaySessionId(QString newPlaySessionId); + bool playSessionIdNull() const; + void setPlaySessionIdNull(); + + + RepeatMode repeatMode() const; + + void setRepeatMode(RepeatMode newRepeatMode); + + + QList> nowPlayingQueue() const; + + void setNowPlayingQueue(QList> newNowPlayingQueue); + bool nowPlayingQueueNull() const; + void setNowPlayingQueueNull(); + + + QString playlistItemId() const; + + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + +protected: + bool m_canSeek; + QSharedPointer m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + bool m_isPaused; + bool m_isMuted; + std::optional m_positionTicks = std::nullopt; + std::optional m_playbackStartTimeTicks = std::nullopt; + std::optional m_volumeLevel = std::nullopt; + std::optional m_brightness = std::nullopt; + QString m_aspectRatio; + PlayMethod m_playMethod; + QString m_liveStreamId; + QString m_playSessionId; + RepeatMode m_repeatMode; + QList> m_nowPlayingQueue; + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKSTARTINFO_H diff --git a/core/include/JellyfinQt/dto/playbackstopinfo.h b/core/include/JellyfinQt/dto/playbackstopinfo.h new file mode 100644 index 0000000..b38b6c7 --- /dev/null +++ b/core/include/JellyfinQt/dto/playbackstopinfo.h @@ -0,0 +1,181 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKSTOPINFO_H +#define JELLYFIN_DTO_PLAYBACKSTOPINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/queueitem.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaybackStopInfo { +public: + PlaybackStopInfo(); + PlaybackStopInfo(const PlaybackStopInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaybackStopInfo &other); + + static PlaybackStopInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer item() const; + + void setItem(QSharedPointer newItem); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + + /** + * @brief Gets or sets the session id. + */ + QString sessionId() const; + /** + * @brief Gets or sets the session id. + */ + void setSessionId(QString newSessionId); + bool sessionIdNull() const; + void setSessionIdNull(); + + /** + * @brief Gets or sets the media version identifier. + */ + QString mediaSourceId() const; + /** + * @brief Gets or sets the media version identifier. + */ + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + /** + * @brief Gets or sets the position ticks. + */ + std::optional positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(std::optional newPositionTicks); + bool positionTicksNull() const; + void setPositionTicksNull(); + + /** + * @brief Gets or sets the live stream identifier. + */ + QString liveStreamId() const; + /** + * @brief Gets or sets the live stream identifier. + */ + void setLiveStreamId(QString newLiveStreamId); + bool liveStreamIdNull() const; + void setLiveStreamIdNull(); + + /** + * @brief Gets or sets the play session identifier. + */ + QString playSessionId() const; + /** + * @brief Gets or sets the play session identifier. + */ + void setPlaySessionId(QString newPlaySessionId); + bool playSessionIdNull() const; + void setPlaySessionIdNull(); + + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. + */ + bool failed() const; + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. + */ + void setFailed(bool newFailed); + + + QString nextMediaType() const; + + void setNextMediaType(QString newNextMediaType); + bool nextMediaTypeNull() const; + void setNextMediaTypeNull(); + + + QString playlistItemId() const; + + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + + QList> nowPlayingQueue() const; + + void setNowPlayingQueue(QList> newNowPlayingQueue); + bool nowPlayingQueueNull() const; + void setNowPlayingQueueNull(); + + +protected: + QSharedPointer m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + std::optional m_positionTicks = std::nullopt; + QString m_liveStreamId; + QString m_playSessionId; + bool m_failed; + QString m_nextMediaType; + QString m_playlistItemId; + QList> m_nowPlayingQueue; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYBACKSTOPINFO_H diff --git a/core/include/JellyfinQt/dto/playcommand.h b/core/include/JellyfinQt/dto/playcommand.h new file mode 100644 index 0000000..4e85a0b --- /dev/null +++ b/core/include/JellyfinQt/dto/playcommand.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYCOMMAND_H +#define JELLYFIN_DTO_PLAYCOMMAND_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PlayCommandClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + PlayNow, + PlayNext, + PlayLast, + PlayInstantMix, + PlayShuffle, + }; + Q_ENUM(Value) +private: + explicit PlayCommandClass(); +}; + +typedef PlayCommandClass::Value PlayCommand; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYCOMMAND_H diff --git a/core/include/JellyfinQt/dto/playerstateinfo.h b/core/include/JellyfinQt/dto/playerstateinfo.h new file mode 100644 index 0000000..2b84d03 --- /dev/null +++ b/core/include/JellyfinQt/dto/playerstateinfo.h @@ -0,0 +1,170 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYERSTATEINFO_H +#define JELLYFIN_DTO_PLAYERSTATEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/playmethod.h" +#include "JellyfinQt/dto/repeatmode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlayerStateInfo { +public: + PlayerStateInfo(); + PlayerStateInfo(const PlayerStateInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlayerStateInfo &other); + + static PlayerStateInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the now playing position ticks. + */ + std::optional positionTicks() const; + /** + * @brief Gets or sets the now playing position ticks. + */ + void setPositionTicks(std::optional newPositionTicks); + bool positionTicksNull() const; + void setPositionTicksNull(); + + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + bool canSeek() const; + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + void setCanSeek(bool newCanSeek); + + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + bool isPaused() const; + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + void setIsPaused(bool newIsPaused); + + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + bool isMuted() const; + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + void setIsMuted(bool newIsMuted); + + /** + * @brief Gets or sets the volume level. + */ + std::optional volumeLevel() const; + /** + * @brief Gets or sets the volume level. + */ + void setVolumeLevel(std::optional newVolumeLevel); + bool volumeLevelNull() const; + void setVolumeLevelNull(); + + /** + * @brief Gets or sets the index of the now playing audio stream. + */ + std::optional audioStreamIndex() const; + /** + * @brief Gets or sets the index of the now playing audio stream. + */ + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + /** + * @brief Gets or sets the index of the now playing subtitle stream. + */ + std::optional subtitleStreamIndex() const; + /** + * @brief Gets or sets the index of the now playing subtitle stream. + */ + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + /** + * @brief Gets or sets the now playing media version identifier. + */ + QString mediaSourceId() const; + /** + * @brief Gets or sets the now playing media version identifier. + */ + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + + PlayMethod playMethod() const; + + void setPlayMethod(PlayMethod newPlayMethod); + + + RepeatMode repeatMode() const; + + void setRepeatMode(RepeatMode newRepeatMode); + + +protected: + std::optional m_positionTicks = std::nullopt; + bool m_canSeek; + bool m_isPaused; + bool m_isMuted; + std::optional m_volumeLevel = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + QString m_mediaSourceId; + PlayMethod m_playMethod; + RepeatMode m_repeatMode; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYERSTATEINFO_H diff --git a/core/include/JellyfinQt/dto/playlistcreationresult.h b/core/include/JellyfinQt/dto/playlistcreationresult.h new file mode 100644 index 0000000..1158c2a --- /dev/null +++ b/core/include/JellyfinQt/dto/playlistcreationresult.h @@ -0,0 +1,74 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYLISTCREATIONRESULT_H +#define JELLYFIN_DTO_PLAYLISTCREATIONRESULT_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaylistCreationResult { +public: + PlaylistCreationResult(); + PlaylistCreationResult(const PlaylistCreationResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaylistCreationResult &other); + + static PlaylistCreationResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + +protected: + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYLISTCREATIONRESULT_H diff --git a/core/include/JellyfinQt/dto/playmethod.h b/core/include/JellyfinQt/dto/playmethod.h new file mode 100644 index 0000000..9daaed2 --- /dev/null +++ b/core/include/JellyfinQt/dto/playmethod.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYMETHOD_H +#define JELLYFIN_DTO_PLAYMETHOD_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PlayMethodClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Transcode, + DirectStream, + DirectPlay, + }; + Q_ENUM(Value) +private: + explicit PlayMethodClass(); +}; + +typedef PlayMethodClass::Value PlayMethod; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYMETHOD_H diff --git a/core/include/JellyfinQt/dto/playrequest.h b/core/include/JellyfinQt/dto/playrequest.h new file mode 100644 index 0000000..3094019 --- /dev/null +++ b/core/include/JellyfinQt/dto/playrequest.h @@ -0,0 +1,141 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYREQUEST_H +#define JELLYFIN_DTO_PLAYREQUEST_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/playcommand.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlayRequest { +public: + PlayRequest(); + PlayRequest(const PlayRequest &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlayRequest &other); + + static PlayRequest fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the item ids. + */ + QStringList itemIds() const; + /** + * @brief Gets or sets the item ids. + */ + void setItemIds(QStringList newItemIds); + bool itemIdsNull() const; + void setItemIdsNull(); + + /** + * @brief Gets or sets the start position ticks that the first item should be played at. + */ + std::optional startPositionTicks() const; + /** + * @brief Gets or sets the start position ticks that the first item should be played at. + */ + void setStartPositionTicks(std::optional newStartPositionTicks); + bool startPositionTicksNull() const; + void setStartPositionTicksNull(); + + + PlayCommand playCommand() const; + + void setPlayCommand(PlayCommand newPlayCommand); + + /** + * @brief Gets or sets the controlling user identifier. + */ + QString controllingUserId() const; + /** + * @brief Gets or sets the controlling user identifier. + */ + void setControllingUserId(QString newControllingUserId); + + + std::optional subtitleStreamIndex() const; + + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex); + bool subtitleStreamIndexNull() const; + void setSubtitleStreamIndexNull(); + + + std::optional audioStreamIndex() const; + + void setAudioStreamIndex(std::optional newAudioStreamIndex); + bool audioStreamIndexNull() const; + void setAudioStreamIndexNull(); + + + QString mediaSourceId() const; + + void setMediaSourceId(QString newMediaSourceId); + bool mediaSourceIdNull() const; + void setMediaSourceIdNull(); + + + std::optional startIndex() const; + + void setStartIndex(std::optional newStartIndex); + bool startIndexNull() const; + void setStartIndexNull(); + + +protected: + QStringList m_itemIds; + std::optional m_startPositionTicks = std::nullopt; + PlayCommand m_playCommand; + QString m_controllingUserId; + std::optional m_subtitleStreamIndex = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + QString m_mediaSourceId; + std::optional m_startIndex = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYREQUEST_H diff --git a/core/include/JellyfinQt/dto/playrequestdto.h b/core/include/JellyfinQt/dto/playrequestdto.h new file mode 100644 index 0000000..f2fe990 --- /dev/null +++ b/core/include/JellyfinQt/dto/playrequestdto.h @@ -0,0 +1,100 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYREQUESTDTO_H +#define JELLYFIN_DTO_PLAYREQUESTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlayRequestDto { +public: + PlayRequestDto(); + PlayRequestDto(const PlayRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlayRequestDto &other); + + static PlayRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playing queue. + */ + QStringList playingQueue() const; + /** + * @brief Gets or sets the playing queue. + */ + void setPlayingQueue(QStringList newPlayingQueue); + bool playingQueueNull() const; + void setPlayingQueueNull(); + + /** + * @brief Gets or sets the position of the playing item in the queue. + */ + qint32 playingItemPosition() const; + /** + * @brief Gets or sets the position of the playing item in the queue. + */ + void setPlayingItemPosition(qint32 newPlayingItemPosition); + + /** + * @brief Gets or sets the start position ticks. + */ + qint64 startPositionTicks() const; + /** + * @brief Gets or sets the start position ticks. + */ + void setStartPositionTicks(qint64 newStartPositionTicks); + + +protected: + QStringList m_playingQueue; + qint32 m_playingItemPosition; + qint64 m_startPositionTicks; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/playstatecommand.h b/core/include/JellyfinQt/dto/playstatecommand.h new file mode 100644 index 0000000..d9b1983 --- /dev/null +++ b/core/include/JellyfinQt/dto/playstatecommand.h @@ -0,0 +1,67 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYSTATECOMMAND_H +#define JELLYFIN_DTO_PLAYSTATECOMMAND_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PlaystateCommandClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Stop, + Pause, + Unpause, + NextTrack, + PreviousTrack, + Seek, + Rewind, + FastForward, + PlayPause, + }; + Q_ENUM(Value) +private: + explicit PlaystateCommandClass(); +}; + +typedef PlaystateCommandClass::Value PlaystateCommand; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYSTATECOMMAND_H diff --git a/core/include/JellyfinQt/dto/playstaterequest.h b/core/include/JellyfinQt/dto/playstaterequest.h new file mode 100644 index 0000000..abb14ad --- /dev/null +++ b/core/include/JellyfinQt/dto/playstaterequest.h @@ -0,0 +1,93 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYSTATEREQUEST_H +#define JELLYFIN_DTO_PLAYSTATEREQUEST_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/playstatecommand.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PlaystateRequest { +public: + PlaystateRequest(); + PlaystateRequest(const PlaystateRequest &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PlaystateRequest &other); + + static PlaystateRequest fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + PlaystateCommand command() const; + + void setCommand(PlaystateCommand newCommand); + + + std::optional seekPositionTicks() const; + + void setSeekPositionTicks(std::optional newSeekPositionTicks); + bool seekPositionTicksNull() const; + void setSeekPositionTicksNull(); + + /** + * @brief Gets or sets the controlling user identifier. + */ + QString controllingUserId() const; + /** + * @brief Gets or sets the controlling user identifier. + */ + void setControllingUserId(QString newControllingUserId); + bool controllingUserIdNull() const; + void setControllingUserIdNull(); + + +protected: + PlaystateCommand m_command; + std::optional m_seekPositionTicks = std::nullopt; + QString m_controllingUserId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLAYSTATEREQUEST_H diff --git a/core/include/JellyfinQt/dto/plugininfo.h b/core/include/JellyfinQt/dto/plugininfo.h new file mode 100644 index 0000000..847ea4a --- /dev/null +++ b/core/include/JellyfinQt/dto/plugininfo.h @@ -0,0 +1,147 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLUGININFO_H +#define JELLYFIN_DTO_PLUGININFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/pluginstatus.h" +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PluginInfo { +public: + PluginInfo(); + PluginInfo(const PluginInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PluginInfo &other); + + static PluginInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QSharedPointer version() const; + + void setVersion(QSharedPointer newVersion); + + /** + * @brief Gets or sets the name of the configuration file. + */ + QString configurationFileName() const; + /** + * @brief Gets or sets the name of the configuration file. + */ + void setConfigurationFileName(QString newConfigurationFileName); + bool configurationFileNameNull() const; + void setConfigurationFileNameNull(); + + /** + * @brief Gets or sets the description. + */ + QString description() const; + /** + * @brief Gets or sets the description. + */ + void setDescription(QString newDescription); + bool descriptionNull() const; + void setDescriptionNull(); + + /** + * @brief Gets or sets the unique id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the unique id. + */ + void setJellyfinId(QString newJellyfinId); + + /** + * @brief Gets or sets a value indicating whether the plugin can be uninstalled. + */ + bool canUninstall() const; + /** + * @brief Gets or sets a value indicating whether the plugin can be uninstalled. + */ + void setCanUninstall(bool newCanUninstall); + + /** + * @brief Gets or sets a value indicating whether this plugin has a valid image. + */ + bool hasImage() const; + /** + * @brief Gets or sets a value indicating whether this plugin has a valid image. + */ + void setHasImage(bool newHasImage); + + + PluginStatus status() const; + + void setStatus(PluginStatus newStatus); + + +protected: + QString m_name; + QSharedPointer m_version = nullptr; + QString m_configurationFileName; + QString m_description; + QString m_jellyfinId; + bool m_canUninstall; + bool m_hasImage; + PluginStatus m_status; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLUGININFO_H diff --git a/core/include/JellyfinQt/dto/pluginsecurityinfo.h b/core/include/JellyfinQt/dto/pluginsecurityinfo.h new file mode 100644 index 0000000..9aae579 --- /dev/null +++ b/core/include/JellyfinQt/dto/pluginsecurityinfo.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLUGINSECURITYINFO_H +#define JELLYFIN_DTO_PLUGINSECURITYINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PluginSecurityInfo { +public: + PluginSecurityInfo(); + PluginSecurityInfo(const PluginSecurityInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PluginSecurityInfo &other); + + static PluginSecurityInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the supporter key. + */ + QString supporterKey() const; + /** + * @brief Gets or sets the supporter key. + */ + void setSupporterKey(QString newSupporterKey); + bool supporterKeyNull() const; + void setSupporterKeyNull(); + + /** + * @brief Gets or sets a value indicating whether is mb supporter. + */ + bool isMbSupporter() const; + /** + * @brief Gets or sets a value indicating whether is mb supporter. + */ + void setIsMbSupporter(bool newIsMbSupporter); + + +protected: + QString m_supporterKey; + bool m_isMbSupporter; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLUGINSECURITYINFO_H diff --git a/core/include/JellyfinQt/dto/pluginstatus.h b/core/include/JellyfinQt/dto/pluginstatus.h new file mode 100644 index 0000000..77a72bc --- /dev/null +++ b/core/include/JellyfinQt/dto/pluginstatus.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLUGINSTATUS_H +#define JELLYFIN_DTO_PLUGINSTATUS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class PluginStatusClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Active, + Restart, + Deleted, + Superceded, + Malfunctioned, + NotSupported, + Disabled, + }; + Q_ENUM(Value) +private: + explicit PluginStatusClass(); +}; + +typedef PluginStatusClass::Value PluginStatus; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PLUGINSTATUS_H diff --git a/core/include/JellyfinQt/dto/previousitemrequestdto.h b/core/include/JellyfinQt/dto/previousitemrequestdto.h new file mode 100644 index 0000000..9bc9a11 --- /dev/null +++ b/core/include/JellyfinQt/dto/previousitemrequestdto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PREVIOUSITEMREQUESTDTO_H +#define JELLYFIN_DTO_PREVIOUSITEMREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PreviousItemRequestDto { +public: + PreviousItemRequestDto(); + PreviousItemRequestDto(const PreviousItemRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PreviousItemRequestDto &other); + + static PreviousItemRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playing item identifier. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playing item identifier. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + +protected: + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PREVIOUSITEMREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/problemdetails.h b/core/include/JellyfinQt/dto/problemdetails.h new file mode 100644 index 0000000..6df4fc2 --- /dev/null +++ b/core/include/JellyfinQt/dto/problemdetails.h @@ -0,0 +1,106 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROBLEMDETAILS_H +#define JELLYFIN_DTO_PROBLEMDETAILS_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ProblemDetails { +public: + ProblemDetails(); + ProblemDetails(const ProblemDetails &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ProblemDetails &other); + + static ProblemDetails fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + QString title() const; + + void setTitle(QString newTitle); + bool titleNull() const; + void setTitleNull(); + + + std::optional status() const; + + void setStatus(std::optional newStatus); + bool statusNull() const; + void setStatusNull(); + + + QString detail() const; + + void setDetail(QString newDetail); + bool detailNull() const; + void setDetailNull(); + + + QString instance() const; + + void setInstance(QString newInstance); + bool instanceNull() const; + void setInstanceNull(); + + +protected: + QString m_type; + QString m_title; + std::optional m_status = std::nullopt; + QString m_detail; + QString m_instance; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PROBLEMDETAILS_H diff --git a/core/include/JellyfinQt/dto/profilecondition.h b/core/include/JellyfinQt/dto/profilecondition.h new file mode 100644 index 0000000..d26402d --- /dev/null +++ b/core/include/JellyfinQt/dto/profilecondition.h @@ -0,0 +1,94 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROFILECONDITION_H +#define JELLYFIN_DTO_PROFILECONDITION_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/profileconditiontype.h" +#include "JellyfinQt/dto/profileconditionvalue.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ProfileCondition { +public: + ProfileCondition(); + ProfileCondition(const ProfileCondition &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ProfileCondition &other); + + static ProfileCondition fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + ProfileConditionType condition() const; + + void setCondition(ProfileConditionType newCondition); + + + ProfileConditionValue property() const; + + void setProperty(ProfileConditionValue newProperty); + + + QString value() const; + + void setValue(QString newValue); + bool valueNull() const; + void setValueNull(); + + + bool isRequired() const; + + void setIsRequired(bool newIsRequired); + + +protected: + ProfileConditionType m_condition; + ProfileConditionValue m_property; + QString m_value; + bool m_isRequired; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PROFILECONDITION_H diff --git a/core/include/JellyfinQt/dto/profileconditiontype.h b/core/include/JellyfinQt/dto/profileconditiontype.h new file mode 100644 index 0000000..8dd2c8e --- /dev/null +++ b/core/include/JellyfinQt/dto/profileconditiontype.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROFILECONDITIONTYPE_H +#define JELLYFIN_DTO_PROFILECONDITIONTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileConditionTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Equals, + NotEquals, + LessThanEqual, + GreaterThanEqual, + EqualsAny, + }; + Q_ENUM(Value) +private: + explicit ProfileConditionTypeClass(); +}; + +typedef ProfileConditionTypeClass::Value ProfileConditionType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PROFILECONDITIONTYPE_H diff --git a/core/include/JellyfinQt/dto/profileconditionvalue.h b/core/include/JellyfinQt/dto/profileconditionvalue.h new file mode 100644 index 0000000..608eb03 --- /dev/null +++ b/core/include/JellyfinQt/dto/profileconditionvalue.h @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROFILECONDITIONVALUE_H +#define JELLYFIN_DTO_PROFILECONDITIONVALUE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileConditionValueClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + AudioChannels, + AudioBitrate, + AudioProfile, + Width, + Height, + Has64BitOffsets, + PacketLength, + VideoBitDepth, + VideoBitrate, + VideoFramerate, + VideoLevel, + VideoProfile, + VideoTimestamp, + IsAnamorphic, + RefFrames, + NumAudioStreams, + NumVideoStreams, + IsSecondaryAudio, + VideoCodecTag, + IsAvc, + IsInterlaced, + AudioSampleRate, + AudioBitDepth, + }; + Q_ENUM(Value) +private: + explicit ProfileConditionValueClass(); +}; + +typedef ProfileConditionValueClass::Value ProfileConditionValue; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PROFILECONDITIONVALUE_H diff --git a/core/include/JellyfinQt/dto/programaudio.h b/core/include/JellyfinQt/dto/programaudio.h new file mode 100644 index 0000000..c46334c --- /dev/null +++ b/core/include/JellyfinQt/dto/programaudio.h @@ -0,0 +1,64 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROGRAMAUDIO_H +#define JELLYFIN_DTO_PROGRAMAUDIO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ProgramAudioClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Mono, + Stereo, + Dolby, + DolbyDigital, + Thx, + Atmos, + }; + Q_ENUM(Value) +private: + explicit ProgramAudioClass(); +}; + +typedef ProgramAudioClass::Value ProgramAudio; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PROGRAMAUDIO_H diff --git a/core/include/JellyfinQt/dto/publicsysteminfo.h b/core/include/JellyfinQt/dto/publicsysteminfo.h new file mode 100644 index 0000000..9b33db6 --- /dev/null +++ b/core/include/JellyfinQt/dto/publicsysteminfo.h @@ -0,0 +1,150 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PUBLICSYSTEMINFO_H +#define JELLYFIN_DTO_PUBLICSYSTEMINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class PublicSystemInfo { +public: + PublicSystemInfo(); + PublicSystemInfo(const PublicSystemInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(PublicSystemInfo &other); + + static PublicSystemInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the local address. + */ + QString localAddress() const; + /** + * @brief Gets or sets the local address. + */ + void setLocalAddress(QString newLocalAddress); + bool localAddressNull() const; + void setLocalAddressNull(); + + /** + * @brief Gets or sets the name of the server. + */ + QString serverName() const; + /** + * @brief Gets or sets the name of the server. + */ + void setServerName(QString newServerName); + bool serverNameNull() const; + void setServerNameNull(); + + /** + * @brief Gets or sets the server version. + */ + QString version() const; + /** + * @brief Gets or sets the server version. + */ + void setVersion(QString newVersion); + bool versionNull() const; + void setVersionNull(); + + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + QString productName() const; + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + void setProductName(QString newProductName); + bool productNameNull() const; + void setProductNameNull(); + + /** + * @brief Gets or sets the operating system. + */ + QString operatingSystem() const; + /** + * @brief Gets or sets the operating system. + */ + void setOperatingSystem(QString newOperatingSystem); + bool operatingSystemNull() const; + void setOperatingSystemNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + std::optional startupWizardCompleted() const; + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + void setStartupWizardCompleted(std::optional newStartupWizardCompleted); + bool startupWizardCompletedNull() const; + void setStartupWizardCompletedNull(); + + +protected: + QString m_localAddress; + QString m_serverName; + QString m_version; + QString m_productName; + QString m_operatingSystem; + QString m_jellyfinId; + std::optional m_startupWizardCompleted = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_PUBLICSYSTEMINFO_H diff --git a/core/include/JellyfinQt/dto/queryfilters.h b/core/include/JellyfinQt/dto/queryfilters.h new file mode 100644 index 0000000..7a30269 --- /dev/null +++ b/core/include/JellyfinQt/dto/queryfilters.h @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUERYFILTERS_H +#define JELLYFIN_DTO_QUERYFILTERS_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/nameguidpair.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QueryFilters { +public: + QueryFilters(); + QueryFilters(const QueryFilters &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QueryFilters &other); + + static QueryFilters fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QList> genres() const; + + void setGenres(QList> newGenres); + bool genresNull() const; + void setGenresNull(); + + + QStringList tags() const; + + void setTags(QStringList newTags); + bool tagsNull() const; + void setTagsNull(); + + +protected: + QList> m_genres; + QStringList m_tags; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUERYFILTERS_H diff --git a/core/include/JellyfinQt/dto/queryfilterslegacy.h b/core/include/JellyfinQt/dto/queryfilterslegacy.h new file mode 100644 index 0000000..365fe3e --- /dev/null +++ b/core/include/JellyfinQt/dto/queryfilterslegacy.h @@ -0,0 +1,100 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUERYFILTERSLEGACY_H +#define JELLYFIN_DTO_QUERYFILTERSLEGACY_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QueryFiltersLegacy { +public: + QueryFiltersLegacy(); + QueryFiltersLegacy(const QueryFiltersLegacy &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QueryFiltersLegacy &other); + + static QueryFiltersLegacy fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QStringList genres() const; + + void setGenres(QStringList newGenres); + bool genresNull() const; + void setGenresNull(); + + + QStringList tags() const; + + void setTags(QStringList newTags); + bool tagsNull() const; + void setTagsNull(); + + + QStringList officialRatings() const; + + void setOfficialRatings(QStringList newOfficialRatings); + bool officialRatingsNull() const; + void setOfficialRatingsNull(); + + + QList years() const; + + void setYears(QList newYears); + bool yearsNull() const; + void setYearsNull(); + + +protected: + QStringList m_genres; + QStringList m_tags; + QStringList m_officialRatings; + QList m_years; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUERYFILTERSLEGACY_H diff --git a/core/include/JellyfinQt/dto/queueitem.h b/core/include/JellyfinQt/dto/queueitem.h new file mode 100644 index 0000000..42a12f2 --- /dev/null +++ b/core/include/JellyfinQt/dto/queueitem.h @@ -0,0 +1,80 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUEUEITEM_H +#define JELLYFIN_DTO_QUEUEITEM_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QueueItem { +public: + QueueItem(); + QueueItem(const QueueItem &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QueueItem &other); + + static QueueItem fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + + + QString playlistItemId() const; + + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + +protected: + QString m_jellyfinId; + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUEUEITEM_H diff --git a/core/include/JellyfinQt/dto/queuerequestdto.h b/core/include/JellyfinQt/dto/queuerequestdto.h new file mode 100644 index 0000000..a8db754 --- /dev/null +++ b/core/include/JellyfinQt/dto/queuerequestdto.h @@ -0,0 +1,87 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUEUEREQUESTDTO_H +#define JELLYFIN_DTO_QUEUEREQUESTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/groupqueuemode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QueueRequestDto { +public: + QueueRequestDto(); + QueueRequestDto(const QueueRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QueueRequestDto &other); + + static QueueRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items to enqueue. + */ + QStringList itemIds() const; + /** + * @brief Gets or sets the items to enqueue. + */ + void setItemIds(QStringList newItemIds); + bool itemIdsNull() const; + void setItemIdsNull(); + + + GroupQueueMode mode() const; + + void setMode(GroupQueueMode newMode); + + +protected: + QStringList m_itemIds; + GroupQueueMode m_mode; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUEUEREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/quickconnectdto.h b/core/include/JellyfinQt/dto/quickconnectdto.h new file mode 100644 index 0000000..9c6cd7f --- /dev/null +++ b/core/include/JellyfinQt/dto/quickconnectdto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUICKCONNECTDTO_H +#define JELLYFIN_DTO_QUICKCONNECTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QuickConnectDto { +public: + QuickConnectDto(); + QuickConnectDto(const QuickConnectDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QuickConnectDto &other); + + static QuickConnectDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the quick connect token. + */ + QString token() const; + /** + * @brief Gets or sets the quick connect token. + */ + void setToken(QString newToken); + + +protected: + QString m_token; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUICKCONNECTDTO_H diff --git a/core/include/JellyfinQt/dto/quickconnectresult.h b/core/include/JellyfinQt/dto/quickconnectresult.h new file mode 100644 index 0000000..e1aad30 --- /dev/null +++ b/core/include/JellyfinQt/dto/quickconnectresult.h @@ -0,0 +1,137 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUICKCONNECTRESULT_H +#define JELLYFIN_DTO_QUICKCONNECTRESULT_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class QuickConnectResult { +public: + QuickConnectResult(); + QuickConnectResult(const QuickConnectResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(QuickConnectResult &other); + + static QuickConnectResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets a value indicating whether this request is authorized. + */ + bool authenticated() const; + /** + * @brief Gets a value indicating whether this request is authorized. + */ + void setAuthenticated(bool newAuthenticated); + + /** + * @brief Gets or sets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. + */ + QString secret() const; + /** + * @brief Gets or sets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. + */ + void setSecret(QString newSecret); + bool secretNull() const; + void setSecretNull(); + + /** + * @brief Gets or sets the user facing code used so the user can quickly differentiate this request from others. + */ + QString code() const; + /** + * @brief Gets or sets the user facing code used so the user can quickly differentiate this request from others. + */ + void setCode(QString newCode); + bool codeNull() const; + void setCodeNull(); + + /** + * @brief Gets or sets the private access token. + */ + QString authentication() const; + /** + * @brief Gets or sets the private access token. + */ + void setAuthentication(QString newAuthentication); + bool authenticationNull() const; + void setAuthenticationNull(); + + /** + * @brief Gets or sets an error message. + */ + QString error() const; + /** + * @brief Gets or sets an error message. + */ + void setError(QString newError); + bool errorNull() const; + void setErrorNull(); + + /** + * @brief Gets or sets the DateTime that this request was created. + */ + QDateTime dateAdded() const; + /** + * @brief Gets or sets the DateTime that this request was created. + */ + void setDateAdded(QDateTime newDateAdded); + bool dateAddedNull() const; + void setDateAddedNull(); + + +protected: + bool m_authenticated; + QString m_secret; + QString m_code; + QString m_authentication; + QString m_error; + QDateTime m_dateAdded; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUICKCONNECTRESULT_H diff --git a/core/include/JellyfinQt/dto/quickconnectstate.h b/core/include/JellyfinQt/dto/quickconnectstate.h new file mode 100644 index 0000000..a69ade5 --- /dev/null +++ b/core/include/JellyfinQt/dto/quickconnectstate.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUICKCONNECTSTATE_H +#define JELLYFIN_DTO_QUICKCONNECTSTATE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class QuickConnectStateClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Unavailable, + Available, + Active, + }; + Q_ENUM(Value) +private: + explicit QuickConnectStateClass(); +}; + +typedef QuickConnectStateClass::Value QuickConnectState; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_QUICKCONNECTSTATE_H diff --git a/core/include/JellyfinQt/dto/ratingtype.h b/core/include/JellyfinQt/dto/ratingtype.h new file mode 100644 index 0000000..3e27d60 --- /dev/null +++ b/core/include/JellyfinQt/dto/ratingtype.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RATINGTYPE_H +#define JELLYFIN_DTO_RATINGTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class RatingTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Score, + Likes, + }; + Q_ENUM(Value) +private: + explicit RatingTypeClass(); +}; + +typedef RatingTypeClass::Value RatingType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_RATINGTYPE_H diff --git a/core/include/JellyfinQt/dto/readyrequestdto.h b/core/include/JellyfinQt/dto/readyrequestdto.h new file mode 100644 index 0000000..36defaf --- /dev/null +++ b/core/include/JellyfinQt/dto/readyrequestdto.h @@ -0,0 +1,107 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_READYREQUESTDTO_H +#define JELLYFIN_DTO_READYREQUESTDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ReadyRequestDto { +public: + ReadyRequestDto(); + ReadyRequestDto(const ReadyRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ReadyRequestDto &other); + + static ReadyRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets when the request has been made by the client. + */ + QDateTime when() const; + /** + * @brief Gets or sets when the request has been made by the client. + */ + void setWhen(QDateTime newWhen); + + /** + * @brief Gets or sets the position ticks. + */ + qint64 positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(qint64 newPositionTicks); + + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + bool isPlaying() const; + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + void setIsPlaying(bool newIsPlaying); + + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + +protected: + QDateTime m_when; + qint64 m_positionTicks; + bool m_isPlaying; + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_READYREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/recommendationdto.h b/core/include/JellyfinQt/dto/recommendationdto.h new file mode 100644 index 0000000..df59c70 --- /dev/null +++ b/core/include/JellyfinQt/dto/recommendationdto.h @@ -0,0 +1,99 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RECOMMENDATIONDTO_H +#define JELLYFIN_DTO_RECOMMENDATIONDTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/recommendationtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RecommendationDto { +public: + RecommendationDto(); + RecommendationDto(const RecommendationDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RecommendationDto &other); + + static RecommendationDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QList> items() const; + + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + + RecommendationType recommendationType() const; + + void setRecommendationType(RecommendationType newRecommendationType); + + + QString baselineItemName() const; + + void setBaselineItemName(QString newBaselineItemName); + bool baselineItemNameNull() const; + void setBaselineItemNameNull(); + + + QString categoryId() const; + + void setCategoryId(QString newCategoryId); + + +protected: + QList> m_items; + RecommendationType m_recommendationType; + QString m_baselineItemName; + QString m_categoryId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_RECOMMENDATIONDTO_H diff --git a/core/include/JellyfinQt/dto/recommendationtype.h b/core/include/JellyfinQt/dto/recommendationtype.h new file mode 100644 index 0000000..0a1ac24 --- /dev/null +++ b/core/include/JellyfinQt/dto/recommendationtype.h @@ -0,0 +1,64 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RECOMMENDATIONTYPE_H +#define JELLYFIN_DTO_RECOMMENDATIONTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class RecommendationTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + SimilarToRecentlyPlayed, + SimilarToLikedItem, + HasDirectorFromRecentlyPlayed, + HasActorFromRecentlyPlayed, + HasLikedDirector, + HasLikedActor, + }; + Q_ENUM(Value) +private: + explicit RecommendationTypeClass(); +}; + +typedef RecommendationTypeClass::Value RecommendationType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_RECOMMENDATIONTYPE_H diff --git a/core/include/JellyfinQt/dto/recordingstatus.h b/core/include/JellyfinQt/dto/recordingstatus.h new file mode 100644 index 0000000..04e82ff --- /dev/null +++ b/core/include/JellyfinQt/dto/recordingstatus.h @@ -0,0 +1,65 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RECORDINGSTATUS_H +#define JELLYFIN_DTO_RECORDINGSTATUS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class RecordingStatusClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + New, + InProgress, + Completed, + Cancelled, + ConflictedOk, + ConflictedNotOk, + Error, + }; + Q_ENUM(Value) +private: + explicit RecordingStatusClass(); +}; + +typedef RecordingStatusClass::Value RecordingStatus; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_RECORDINGSTATUS_H diff --git a/core/include/JellyfinQt/dto/remoteimageinfo.h b/core/include/JellyfinQt/dto/remoteimageinfo.h new file mode 100644 index 0000000..063f2d6 --- /dev/null +++ b/core/include/JellyfinQt/dto/remoteimageinfo.h @@ -0,0 +1,176 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOTEIMAGEINFO_H +#define JELLYFIN_DTO_REMOTEIMAGEINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/dto/ratingtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RemoteImageInfo { +public: + RemoteImageInfo(); + RemoteImageInfo(const RemoteImageInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RemoteImageInfo &other); + + static RemoteImageInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name of the provider. + */ + QString providerName() const; + /** + * @brief Gets or sets the name of the provider. + */ + void setProviderName(QString newProviderName); + bool providerNameNull() const; + void setProviderNameNull(); + + /** + * @brief Gets or sets the URL. + */ + QString url() const; + /** + * @brief Gets or sets the URL. + */ + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + /** + * @brief Gets a url used for previewing a smaller version. + */ + QString thumbnailUrl() const; + /** + * @brief Gets a url used for previewing a smaller version. + */ + void setThumbnailUrl(QString newThumbnailUrl); + bool thumbnailUrlNull() const; + void setThumbnailUrlNull(); + + /** + * @brief Gets or sets the height. + */ + std::optional height() const; + /** + * @brief Gets or sets the height. + */ + void setHeight(std::optional newHeight); + bool heightNull() const; + void setHeightNull(); + + /** + * @brief Gets or sets the width. + */ + std::optional width() const; + /** + * @brief Gets or sets the width. + */ + void setWidth(std::optional newWidth); + bool widthNull() const; + void setWidthNull(); + + /** + * @brief Gets or sets the community rating. + */ + std::optional communityRating() const; + /** + * @brief Gets or sets the community rating. + */ + void setCommunityRating(std::optional newCommunityRating); + bool communityRatingNull() const; + void setCommunityRatingNull(); + + /** + * @brief Gets or sets the vote count. + */ + std::optional voteCount() const; + /** + * @brief Gets or sets the vote count. + */ + void setVoteCount(std::optional newVoteCount); + bool voteCountNull() const; + void setVoteCountNull(); + + /** + * @brief Gets or sets the language. + */ + QString language() const; + /** + * @brief Gets or sets the language. + */ + void setLanguage(QString newLanguage); + bool languageNull() const; + void setLanguageNull(); + + + ImageType type() const; + + void setType(ImageType newType); + + + RatingType ratingType() const; + + void setRatingType(RatingType newRatingType); + + +protected: + QString m_providerName; + QString m_url; + QString m_thumbnailUrl; + std::optional m_height = std::nullopt; + std::optional m_width = std::nullopt; + std::optional m_communityRating = std::nullopt; + std::optional m_voteCount = std::nullopt; + QString m_language; + ImageType m_type; + RatingType m_ratingType; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REMOTEIMAGEINFO_H diff --git a/core/include/JellyfinQt/dto/remoteimageresult.h b/core/include/JellyfinQt/dto/remoteimageresult.h new file mode 100644 index 0000000..57c10ae --- /dev/null +++ b/core/include/JellyfinQt/dto/remoteimageresult.h @@ -0,0 +1,103 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOTEIMAGERESULT_H +#define JELLYFIN_DTO_REMOTEIMAGERESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/remoteimageinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RemoteImageResult { +public: + RemoteImageResult(); + RemoteImageResult(const RemoteImageResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RemoteImageResult &other); + + static RemoteImageResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the images. + */ + QList> images() const; + /** + * @brief Gets or sets the images. + */ + void setImages(QList> newImages); + bool imagesNull() const; + void setImagesNull(); + + /** + * @brief Gets or sets the total record count. + */ + qint32 totalRecordCount() const; + /** + * @brief Gets or sets the total record count. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief Gets or sets the providers. + */ + QStringList providers() const; + /** + * @brief Gets or sets the providers. + */ + void setProviders(QStringList newProviders); + bool providersNull() const; + void setProvidersNull(); + + +protected: + QList> m_images; + qint32 m_totalRecordCount; + QStringList m_providers; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REMOTEIMAGERESULT_H diff --git a/core/include/JellyfinQt/dto/remotesearchresult.h b/core/include/JellyfinQt/dto/remotesearchresult.h new file mode 100644 index 0000000..5ea1aae --- /dev/null +++ b/core/include/JellyfinQt/dto/remotesearchresult.h @@ -0,0 +1,176 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOTESEARCHRESULT_H +#define JELLYFIN_DTO_REMOTESEARCHRESULT_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RemoteSearchResult { +public: + RemoteSearchResult(); + RemoteSearchResult(const RemoteSearchResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RemoteSearchResult &other); + + static RemoteSearchResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional productionYear() const; + /** + * @brief Gets or sets the year. + */ + void setProductionYear(std::optional newProductionYear); + bool productionYearNull() const; + void setProductionYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional indexNumberEnd() const; + + void setIndexNumberEnd(std::optional newIndexNumberEnd); + bool indexNumberEndNull() const; + void setIndexNumberEndNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + QString imageUrl() const; + + void setImageUrl(QString newImageUrl); + bool imageUrlNull() const; + void setImageUrlNull(); + + + QString searchProviderName() const; + + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + + QString overview() const; + + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + + QSharedPointer albumArtist() const; + + void setAlbumArtist(QSharedPointer newAlbumArtist); + + + QList> artists() const; + + void setArtists(QList> newArtists); + bool artistsNull() const; + void setArtistsNull(); + + +protected: + QString m_name; + std::optional m_providerIds = std::nullopt; + std::optional m_productionYear = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_indexNumberEnd = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + QString m_imageUrl; + QString m_searchProviderName; + QString m_overview; + QSharedPointer m_albumArtist = nullptr; + QList> m_artists; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REMOTESEARCHRESULT_H diff --git a/core/include/JellyfinQt/dto/remotesubtitleinfo.h b/core/include/JellyfinQt/dto/remotesubtitleinfo.h new file mode 100644 index 0000000..1144cb6 --- /dev/null +++ b/core/include/JellyfinQt/dto/remotesubtitleinfo.h @@ -0,0 +1,155 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOTESUBTITLEINFO_H +#define JELLYFIN_DTO_REMOTESUBTITLEINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RemoteSubtitleInfo { +public: + RemoteSubtitleInfo(); + RemoteSubtitleInfo(const RemoteSubtitleInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RemoteSubtitleInfo &other); + + static RemoteSubtitleInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString threeLetterISOLanguageName() const; + + void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName); + bool threeLetterISOLanguageNameNull() const; + void setThreeLetterISOLanguageNameNull(); + + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString providerName() const; + + void setProviderName(QString newProviderName); + bool providerNameNull() const; + void setProviderNameNull(); + + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString format() const; + + void setFormat(QString newFormat); + bool formatNull() const; + void setFormatNull(); + + + QString author() const; + + void setAuthor(QString newAuthor); + bool authorNull() const; + void setAuthorNull(); + + + QString comment() const; + + void setComment(QString newComment); + bool commentNull() const; + void setCommentNull(); + + + QDateTime dateCreated() const; + + void setDateCreated(QDateTime newDateCreated); + bool dateCreatedNull() const; + void setDateCreatedNull(); + + + std::optional communityRating() const; + + void setCommunityRating(std::optional newCommunityRating); + bool communityRatingNull() const; + void setCommunityRatingNull(); + + + std::optional downloadCount() const; + + void setDownloadCount(std::optional newDownloadCount); + bool downloadCountNull() const; + void setDownloadCountNull(); + + + std::optional isHashMatch() const; + + void setIsHashMatch(std::optional newIsHashMatch); + bool isHashMatchNull() const; + void setIsHashMatchNull(); + + +protected: + QString m_threeLetterISOLanguageName; + QString m_jellyfinId; + QString m_providerName; + QString m_name; + QString m_format; + QString m_author; + QString m_comment; + QDateTime m_dateCreated; + std::optional m_communityRating = std::nullopt; + std::optional m_downloadCount = std::nullopt; + std::optional m_isHashMatch = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REMOTESUBTITLEINFO_H diff --git a/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h b/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h new file mode 100644 index 0000000..c2e90cc --- /dev/null +++ b/core/include/JellyfinQt/dto/removefromplaylistrequestdto.h @@ -0,0 +1,80 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOVEFROMPLAYLISTREQUESTDTO_H +#define JELLYFIN_DTO_REMOVEFROMPLAYLISTREQUESTDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RemoveFromPlaylistRequestDto { +public: + RemoveFromPlaylistRequestDto(); + RemoveFromPlaylistRequestDto(const RemoveFromPlaylistRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RemoveFromPlaylistRequestDto &other); + + static RemoveFromPlaylistRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playlist identifiers ot the items. + */ + QStringList playlistItemIds() const; + /** + * @brief Gets or sets the playlist identifiers ot the items. + */ + void setPlaylistItemIds(QStringList newPlaylistItemIds); + bool playlistItemIdsNull() const; + void setPlaylistItemIdsNull(); + + +protected: + QStringList m_playlistItemIds; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REMOVEFROMPLAYLISTREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/repeatmode.h b/core/include/JellyfinQt/dto/repeatmode.h new file mode 100644 index 0000000..9555954 --- /dev/null +++ b/core/include/JellyfinQt/dto/repeatmode.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REPEATMODE_H +#define JELLYFIN_DTO_REPEATMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class RepeatModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + RepeatNone, + RepeatAll, + RepeatOne, + }; + Q_ENUM(Value) +private: + explicit RepeatModeClass(); +}; + +typedef RepeatModeClass::Value RepeatMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REPEATMODE_H diff --git a/core/include/JellyfinQt/dto/repositoryinfo.h b/core/include/JellyfinQt/dto/repositoryinfo.h new file mode 100644 index 0000000..4bef364 --- /dev/null +++ b/core/include/JellyfinQt/dto/repositoryinfo.h @@ -0,0 +1,100 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REPOSITORYINFO_H +#define JELLYFIN_DTO_REPOSITORYINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class RepositoryInfo { +public: + RepositoryInfo(); + RepositoryInfo(const RepositoryInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(RepositoryInfo &other); + + static RepositoryInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the URL. + */ + QString url() const; + /** + * @brief Gets or sets the URL. + */ + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + /** + * @brief Gets or sets a value indicating whether the repository is enabled. + */ + bool enabled() const; + /** + * @brief Gets or sets a value indicating whether the repository is enabled. + */ + void setEnabled(bool newEnabled); + + +protected: + QString m_name; + QString m_url; + bool m_enabled; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_REPOSITORYINFO_H diff --git a/core/include/JellyfinQt/dto/responseprofile.h b/core/include/JellyfinQt/dto/responseprofile.h new file mode 100644 index 0000000..6a70a78 --- /dev/null +++ b/core/include/JellyfinQt/dto/responseprofile.h @@ -0,0 +1,125 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RESPONSEPROFILE_H +#define JELLYFIN_DTO_RESPONSEPROFILE_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/dlnaprofiletype.h" +#include "JellyfinQt/dto/profilecondition.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ResponseProfile { +public: + ResponseProfile(); + ResponseProfile(const ResponseProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ResponseProfile &other); + + static ResponseProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + QString audioCodec() const; + + void setAudioCodec(QString newAudioCodec); + bool audioCodecNull() const; + void setAudioCodecNull(); + + + QString videoCodec() const; + + void setVideoCodec(QString newVideoCodec); + bool videoCodecNull() const; + void setVideoCodecNull(); + + + DlnaProfileType type() const; + + void setType(DlnaProfileType newType); + + + QString orgPn() const; + + void setOrgPn(QString newOrgPn); + bool orgPnNull() const; + void setOrgPnNull(); + + + QString mimeType() const; + + void setMimeType(QString newMimeType); + bool mimeTypeNull() const; + void setMimeTypeNull(); + + + QList> conditions() const; + + void setConditions(QList> newConditions); + bool conditionsNull() const; + void setConditionsNull(); + + +protected: + QString m_container; + QString m_audioCodec; + QString m_videoCodec; + DlnaProfileType m_type; + QString m_orgPn; + QString m_mimeType; + QList> m_conditions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_RESPONSEPROFILE_H diff --git a/core/include/JellyfinQt/dto/scrolldirection.h b/core/include/JellyfinQt/dto/scrolldirection.h new file mode 100644 index 0000000..dbcfa83 --- /dev/null +++ b/core/include/JellyfinQt/dto/scrolldirection.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SCROLLDIRECTION_H +#define JELLYFIN_DTO_SCROLLDIRECTION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class ScrollDirectionClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Horizontal, + Vertical, + }; + Q_ENUM(Value) +private: + explicit ScrollDirectionClass(); +}; + +typedef ScrollDirectionClass::Value ScrollDirection; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SCROLLDIRECTION_H diff --git a/core/include/JellyfinQt/dto/searchhint.h b/core/include/JellyfinQt/dto/searchhint.h new file mode 100644 index 0000000..45e77cc --- /dev/null +++ b/core/include/JellyfinQt/dto/searchhint.h @@ -0,0 +1,385 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SEARCHHINT_H +#define JELLYFIN_DTO_SEARCHHINT_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SearchHint { +public: + SearchHint(); + SearchHint(const SearchHint &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SearchHint &other); + + static SearchHint fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the item id. + */ + QString itemId() const; + /** + * @brief Gets or sets the item id. + */ + void setItemId(QString newItemId); + + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the matched term. + */ + QString matchedTerm() const; + /** + * @brief Gets or sets the matched term. + */ + void setMatchedTerm(QString newMatchedTerm); + bool matchedTermNull() const; + void setMatchedTermNull(); + + /** + * @brief Gets or sets the index number. + */ + std::optional indexNumber() const; + /** + * @brief Gets or sets the index number. + */ + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + /** + * @brief Gets or sets the production year. + */ + std::optional productionYear() const; + /** + * @brief Gets or sets the production year. + */ + void setProductionYear(std::optional newProductionYear); + bool productionYearNull() const; + void setProductionYearNull(); + + /** + * @brief Gets or sets the parent index number. + */ + std::optional parentIndexNumber() const; + /** + * @brief Gets or sets the parent index number. + */ + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + /** + * @brief Gets or sets the image tag. + */ + QString primaryImageTag() const; + /** + * @brief Gets or sets the image tag. + */ + void setPrimaryImageTag(QString newPrimaryImageTag); + bool primaryImageTagNull() const; + void setPrimaryImageTagNull(); + + /** + * @brief Gets or sets the thumb image tag. + */ + QString thumbImageTag() const; + /** + * @brief Gets or sets the thumb image tag. + */ + void setThumbImageTag(QString newThumbImageTag); + bool thumbImageTagNull() const; + void setThumbImageTagNull(); + + /** + * @brief Gets or sets the thumb image item identifier. + */ + QString thumbImageItemId() const; + /** + * @brief Gets or sets the thumb image item identifier. + */ + void setThumbImageItemId(QString newThumbImageItemId); + bool thumbImageItemIdNull() const; + void setThumbImageItemIdNull(); + + /** + * @brief Gets or sets the backdrop image tag. + */ + QString backdropImageTag() const; + /** + * @brief Gets or sets the backdrop image tag. + */ + void setBackdropImageTag(QString newBackdropImageTag); + bool backdropImageTagNull() const; + void setBackdropImageTagNull(); + + /** + * @brief Gets or sets the backdrop image item identifier. + */ + QString backdropImageItemId() const; + /** + * @brief Gets or sets the backdrop image item identifier. + */ + void setBackdropImageItemId(QString newBackdropImageItemId); + bool backdropImageItemIdNull() const; + void setBackdropImageItemIdNull(); + + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + std::optional isFolder() const; + + void setIsFolder(std::optional newIsFolder); + bool isFolderNull() const; + void setIsFolderNull(); + + /** + * @brief Gets or sets the run time ticks. + */ + std::optional runTimeTicks() const; + /** + * @brief Gets or sets the run time ticks. + */ + void setRunTimeTicks(std::optional newRunTimeTicks); + bool runTimeTicksNull() const; + void setRunTimeTicksNull(); + + /** + * @brief Gets or sets the type of the media. + */ + QString mediaType() const; + /** + * @brief Gets or sets the type of the media. + */ + void setMediaType(QString newMediaType); + bool mediaTypeNull() const; + void setMediaTypeNull(); + + + QDateTime startDate() const; + + void setStartDate(QDateTime newStartDate); + bool startDateNull() const; + void setStartDateNull(); + + + QDateTime endDate() const; + + void setEndDate(QDateTime newEndDate); + bool endDateNull() const; + void setEndDateNull(); + + /** + * @brief Gets or sets the series. + */ + QString series() const; + /** + * @brief Gets or sets the series. + */ + void setSeries(QString newSeries); + bool seriesNull() const; + void setSeriesNull(); + + + QString status() const; + + void setStatus(QString newStatus); + bool statusNull() const; + void setStatusNull(); + + /** + * @brief Gets or sets the album. + */ + QString album() const; + /** + * @brief Gets or sets the album. + */ + void setAlbum(QString newAlbum); + bool albumNull() const; + void setAlbumNull(); + + + QString albumId() const; + + void setAlbumId(QString newAlbumId); + + /** + * @brief Gets or sets the album artist. + */ + QString albumArtist() const; + /** + * @brief Gets or sets the album artist. + */ + void setAlbumArtist(QString newAlbumArtist); + bool albumArtistNull() const; + void setAlbumArtistNull(); + + /** + * @brief Gets or sets the artists. + */ + QStringList artists() const; + /** + * @brief Gets or sets the artists. + */ + void setArtists(QStringList newArtists); + bool artistsNull() const; + void setArtistsNull(); + + /** + * @brief Gets or sets the song count. + */ + std::optional songCount() const; + /** + * @brief Gets or sets the song count. + */ + void setSongCount(std::optional newSongCount); + bool songCountNull() const; + void setSongCountNull(); + + /** + * @brief Gets or sets the episode count. + */ + std::optional episodeCount() const; + /** + * @brief Gets or sets the episode count. + */ + void setEpisodeCount(std::optional newEpisodeCount); + bool episodeCountNull() const; + void setEpisodeCountNull(); + + /** + * @brief Gets or sets the channel identifier. + */ + QString channelId() const; + /** + * @brief Gets or sets the channel identifier. + */ + void setChannelId(QString newChannelId); + + /** + * @brief Gets or sets the name of the channel. + */ + QString channelName() const; + /** + * @brief Gets or sets the name of the channel. + */ + void setChannelName(QString newChannelName); + bool channelNameNull() const; + void setChannelNameNull(); + + /** + * @brief Gets or sets the primary image aspect ratio. + */ + std::optional primaryImageAspectRatio() const; + /** + * @brief Gets or sets the primary image aspect ratio. + */ + void setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio); + bool primaryImageAspectRatioNull() const; + void setPrimaryImageAspectRatioNull(); + + +protected: + QString m_itemId; + QString m_jellyfinId; + QString m_name; + QString m_matchedTerm; + std::optional m_indexNumber = std::nullopt; + std::optional m_productionYear = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QString m_primaryImageTag; + QString m_thumbImageTag; + QString m_thumbImageItemId; + QString m_backdropImageTag; + QString m_backdropImageItemId; + QString m_type; + std::optional m_isFolder = std::nullopt; + std::optional m_runTimeTicks = std::nullopt; + QString m_mediaType; + QDateTime m_startDate; + QDateTime m_endDate; + QString m_series; + QString m_status; + QString m_album; + QString m_albumId; + QString m_albumArtist; + QStringList m_artists; + std::optional m_songCount = std::nullopt; + std::optional m_episodeCount = std::nullopt; + QString m_channelId; + QString m_channelName; + std::optional m_primaryImageAspectRatio = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SEARCHHINT_H diff --git a/core/include/JellyfinQt/dto/searchhintresult.h b/core/include/JellyfinQt/dto/searchhintresult.h new file mode 100644 index 0000000..ba33f10 --- /dev/null +++ b/core/include/JellyfinQt/dto/searchhintresult.h @@ -0,0 +1,91 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SEARCHHINTRESULT_H +#define JELLYFIN_DTO_SEARCHHINTRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/searchhint.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SearchHintResult { +public: + SearchHintResult(); + SearchHintResult(const SearchHintResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SearchHintResult &other); + + static SearchHintResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the search hints. + */ + QList> searchHints() const; + /** + * @brief Gets or sets the search hints. + */ + void setSearchHints(QList> newSearchHints); + bool searchHintsNull() const; + void setSearchHintsNull(); + + /** + * @brief Gets or sets the total record count. + */ + qint32 totalRecordCount() const; + /** + * @brief Gets or sets the total record count. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + +protected: + QList> m_searchHints; + qint32 m_totalRecordCount; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SEARCHHINTRESULT_H diff --git a/core/include/JellyfinQt/dto/seekrequestdto.h b/core/include/JellyfinQt/dto/seekrequestdto.h new file mode 100644 index 0000000..4d77efb --- /dev/null +++ b/core/include/JellyfinQt/dto/seekrequestdto.h @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SEEKREQUESTDTO_H +#define JELLYFIN_DTO_SEEKREQUESTDTO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SeekRequestDto { +public: + SeekRequestDto(); + SeekRequestDto(const SeekRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SeekRequestDto &other); + + static SeekRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the position ticks. + */ + qint64 positionTicks() const; + /** + * @brief Gets or sets the position ticks. + */ + void setPositionTicks(qint64 newPositionTicks); + + +protected: + qint64 m_positionTicks; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SEEKREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/sendcommand.h b/core/include/JellyfinQt/dto/sendcommand.h new file mode 100644 index 0000000..fe279ad --- /dev/null +++ b/core/include/JellyfinQt/dto/sendcommand.h @@ -0,0 +1,126 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SENDCOMMAND_H +#define JELLYFIN_DTO_SENDCOMMAND_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/sendcommandtype.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SendCommand { +public: + SendCommand(); + SendCommand(const SendCommand &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SendCommand &other); + + static SendCommand fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the group identifier. + */ + QString groupId() const; + /** + * @brief Gets the group identifier. + */ + void setGroupId(QString newGroupId); + + /** + * @brief Gets the playlist identifier of the playing item. + */ + QString playlistItemId() const; + /** + * @brief Gets the playlist identifier of the playing item. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + /** + * @brief Gets or sets the UTC time when to execute the command. + */ + QDateTime when() const; + /** + * @brief Gets or sets the UTC time when to execute the command. + */ + void setWhen(QDateTime newWhen); + + /** + * @brief Gets the position ticks. + */ + std::optional positionTicks() const; + /** + * @brief Gets the position ticks. + */ + void setPositionTicks(std::optional newPositionTicks); + bool positionTicksNull() const; + void setPositionTicksNull(); + + + SendCommandType command() const; + + void setCommand(SendCommandType newCommand); + + /** + * @brief Gets the UTC time when this command has been emitted. + */ + QDateTime emittedAt() const; + /** + * @brief Gets the UTC time when this command has been emitted. + */ + void setEmittedAt(QDateTime newEmittedAt); + + +protected: + QString m_groupId; + QString m_playlistItemId; + QDateTime m_when; + std::optional m_positionTicks = std::nullopt; + SendCommandType m_command; + QDateTime m_emittedAt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SENDCOMMAND_H diff --git a/core/include/JellyfinQt/dto/sendcommandtype.h b/core/include/JellyfinQt/dto/sendcommandtype.h new file mode 100644 index 0000000..7d8f1d0 --- /dev/null +++ b/core/include/JellyfinQt/dto/sendcommandtype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SENDCOMMANDTYPE_H +#define JELLYFIN_DTO_SENDCOMMANDTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SendCommandTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Unpause, + Pause, + Stop, + Seek, + }; + Q_ENUM(Value) +private: + explicit SendCommandTypeClass(); +}; + +typedef SendCommandTypeClass::Value SendCommandType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SENDCOMMANDTYPE_H diff --git a/core/include/JellyfinQt/dto/seriesinfo.h b/core/include/JellyfinQt/dto/seriesinfo.h new file mode 100644 index 0000000..c047c47 --- /dev/null +++ b/core/include/JellyfinQt/dto/seriesinfo.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESINFO_H +#define JELLYFIN_DTO_SERIESINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SeriesInfo { +public: + SeriesInfo(); + SeriesInfo(const SeriesInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SeriesInfo &other); + + static SeriesInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERIESINFO_H diff --git a/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h b/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h new file mode 100644 index 0000000..03e3eff --- /dev/null +++ b/core/include/JellyfinQt/dto/seriesinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_SERIESINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/seriesinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SeriesInfoRemoteSearchQuery { +public: + SeriesInfoRemoteSearchQuery(); + SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SeriesInfoRemoteSearchQuery &other); + + static SeriesInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERIESINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/seriesstatus.h b/core/include/JellyfinQt/dto/seriesstatus.h new file mode 100644 index 0000000..ee3bb9d --- /dev/null +++ b/core/include/JellyfinQt/dto/seriesstatus.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESSTATUS_H +#define JELLYFIN_DTO_SERIESSTATUS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SeriesStatusClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Continuing, + Ended, + }; + Q_ENUM(Value) +private: + explicit SeriesStatusClass(); +}; + +typedef SeriesStatusClass::Value SeriesStatus; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERIESSTATUS_H diff --git a/core/include/JellyfinQt/dto/seriestimerinfodto.h b/core/include/JellyfinQt/dto/seriestimerinfodto.h new file mode 100644 index 0000000..0ed4f6e --- /dev/null +++ b/core/include/JellyfinQt/dto/seriestimerinfodto.h @@ -0,0 +1,438 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESTIMERINFODTO_H +#define JELLYFIN_DTO_SERIESTIMERINFODTO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/dayofweek.h" +#include "JellyfinQt/dto/daypattern.h" +#include "JellyfinQt/dto/keepuntil.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SeriesTimerInfoDto { +public: + SeriesTimerInfoDto(); + SeriesTimerInfoDto(const SeriesTimerInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SeriesTimerInfoDto &other); + + static SeriesTimerInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Id of the recording. + */ + QString jellyfinId() const; + /** + * @brief Id of the recording. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the server identifier. + */ + QString serverId() const; + /** + * @brief Gets or sets the server identifier. + */ + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + /** + * @brief Gets or sets the external identifier. + */ + QString externalId() const; + /** + * @brief Gets or sets the external identifier. + */ + void setExternalId(QString newExternalId); + bool externalIdNull() const; + void setExternalIdNull(); + + /** + * @brief ChannelId of the recording. + */ + QString channelId() const; + /** + * @brief ChannelId of the recording. + */ + void setChannelId(QString newChannelId); + + /** + * @brief Gets or sets the external channel identifier. + */ + QString externalChannelId() const; + /** + * @brief Gets or sets the external channel identifier. + */ + void setExternalChannelId(QString newExternalChannelId); + bool externalChannelIdNull() const; + void setExternalChannelIdNull(); + + /** + * @brief ChannelName of the recording. + */ + QString channelName() const; + /** + * @brief ChannelName of the recording. + */ + void setChannelName(QString newChannelName); + bool channelNameNull() const; + void setChannelNameNull(); + + + QString channelPrimaryImageTag() const; + + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + bool channelPrimaryImageTagNull() const; + void setChannelPrimaryImageTagNull(); + + /** + * @brief Gets or sets the program identifier. + */ + QString programId() const; + /** + * @brief Gets or sets the program identifier. + */ + void setProgramId(QString newProgramId); + bool programIdNull() const; + void setProgramIdNull(); + + /** + * @brief Gets or sets the external program identifier. + */ + QString externalProgramId() const; + /** + * @brief Gets or sets the external program identifier. + */ + void setExternalProgramId(QString newExternalProgramId); + bool externalProgramIdNull() const; + void setExternalProgramIdNull(); + + /** + * @brief Name of the recording. + */ + QString name() const; + /** + * @brief Name of the recording. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Description of the recording. + */ + QString overview() const; + /** + * @brief Description of the recording. + */ + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + /** + * @brief The start date of the recording, in UTC. + */ + QDateTime startDate() const; + /** + * @brief The start date of the recording, in UTC. + */ + void setStartDate(QDateTime newStartDate); + + /** + * @brief The end date of the recording, in UTC. + */ + QDateTime endDate() const; + /** + * @brief The end date of the recording, in UTC. + */ + void setEndDate(QDateTime newEndDate); + + /** + * @brief Gets or sets the name of the service. + */ + QString serviceName() const; + /** + * @brief Gets or sets the name of the service. + */ + void setServiceName(QString newServiceName); + bool serviceNameNull() const; + void setServiceNameNull(); + + /** + * @brief Gets or sets the priority. + */ + qint32 priority() const; + /** + * @brief Gets or sets the priority. + */ + void setPriority(qint32 newPriority); + + /** + * @brief Gets or sets the pre padding seconds. + */ + qint32 prePaddingSeconds() const; + /** + * @brief Gets or sets the pre padding seconds. + */ + void setPrePaddingSeconds(qint32 newPrePaddingSeconds); + + /** + * @brief Gets or sets the post padding seconds. + */ + qint32 postPaddingSeconds() const; + /** + * @brief Gets or sets the post padding seconds. + */ + void setPostPaddingSeconds(qint32 newPostPaddingSeconds); + + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + bool isPrePaddingRequired() const; + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + void setIsPrePaddingRequired(bool newIsPrePaddingRequired); + + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + QString parentBackdropItemId() const; + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + void setParentBackdropItemId(QString newParentBackdropItemId); + bool parentBackdropItemIdNull() const; + void setParentBackdropItemIdNull(); + + /** + * @brief Gets or sets the parent backdrop image tags. + */ + QStringList parentBackdropImageTags() const; + /** + * @brief Gets or sets the parent backdrop image tags. + */ + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + bool parentBackdropImageTagsNull() const; + void setParentBackdropImageTagsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + bool isPostPaddingRequired() const; + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + void setIsPostPaddingRequired(bool newIsPostPaddingRequired); + + + KeepUntil keepUntil() const; + + void setKeepUntil(KeepUntil newKeepUntil); + + /** + * @brief Gets or sets a value indicating whether [record any time]. + */ + bool recordAnyTime() const; + /** + * @brief Gets or sets a value indicating whether [record any time]. + */ + void setRecordAnyTime(bool newRecordAnyTime); + + + bool skipEpisodesInLibrary() const; + + void setSkipEpisodesInLibrary(bool newSkipEpisodesInLibrary); + + /** + * @brief Gets or sets a value indicating whether [record any channel]. + */ + bool recordAnyChannel() const; + /** + * @brief Gets or sets a value indicating whether [record any channel]. + */ + void setRecordAnyChannel(bool newRecordAnyChannel); + + + qint32 keepUpTo() const; + + void setKeepUpTo(qint32 newKeepUpTo); + + /** + * @brief Gets or sets a value indicating whether [record new only]. + */ + bool recordNewOnly() const; + /** + * @brief Gets or sets a value indicating whether [record new only]. + */ + void setRecordNewOnly(bool newRecordNewOnly); + + /** + * @brief Gets or sets the days. + */ + QList days() const; + /** + * @brief Gets or sets the days. + */ + void setDays(QList newDays); + bool daysNull() const; + void setDaysNull(); + + + DayPattern dayPattern() const; + + void setDayPattern(DayPattern newDayPattern); + + /** + * @brief Gets or sets the image tags. + */ + std::optional imageTags() const; + /** + * @brief Gets or sets the image tags. + */ + void setImageTags(std::optional newImageTags); + bool imageTagsNull() const; + void setImageTagsNull(); + + /** + * @brief Gets or sets the parent thumb item id. + */ + QString parentThumbItemId() const; + /** + * @brief Gets or sets the parent thumb item id. + */ + void setParentThumbItemId(QString newParentThumbItemId); + bool parentThumbItemIdNull() const; + void setParentThumbItemIdNull(); + + /** + * @brief Gets or sets the parent thumb image tag. + */ + QString parentThumbImageTag() const; + /** + * @brief Gets or sets the parent thumb image tag. + */ + void setParentThumbImageTag(QString newParentThumbImageTag); + bool parentThumbImageTagNull() const; + void setParentThumbImageTagNull(); + + /** + * @brief Gets or sets the parent primary image item identifier. + */ + QString parentPrimaryImageItemId() const; + /** + * @brief Gets or sets the parent primary image item identifier. + */ + void setParentPrimaryImageItemId(QString newParentPrimaryImageItemId); + bool parentPrimaryImageItemIdNull() const; + void setParentPrimaryImageItemIdNull(); + + /** + * @brief Gets or sets the parent primary image tag. + */ + QString parentPrimaryImageTag() const; + /** + * @brief Gets or sets the parent primary image tag. + */ + void setParentPrimaryImageTag(QString newParentPrimaryImageTag); + bool parentPrimaryImageTagNull() const; + void setParentPrimaryImageTagNull(); + + +protected: + QString m_jellyfinId; + QString m_type; + QString m_serverId; + QString m_externalId; + QString m_channelId; + QString m_externalChannelId; + QString m_channelName; + QString m_channelPrimaryImageTag; + QString m_programId; + QString m_externalProgramId; + QString m_name; + QString m_overview; + QDateTime m_startDate; + QDateTime m_endDate; + QString m_serviceName; + qint32 m_priority; + qint32 m_prePaddingSeconds; + qint32 m_postPaddingSeconds; + bool m_isPrePaddingRequired; + QString m_parentBackdropItemId; + QStringList m_parentBackdropImageTags; + bool m_isPostPaddingRequired; + KeepUntil m_keepUntil; + bool m_recordAnyTime; + bool m_skipEpisodesInLibrary; + bool m_recordAnyChannel; + qint32 m_keepUpTo; + bool m_recordNewOnly; + QList m_days; + DayPattern m_dayPattern; + std::optional m_imageTags = std::nullopt; + QString m_parentThumbItemId; + QString m_parentThumbImageTag; + QString m_parentPrimaryImageItemId; + QString m_parentPrimaryImageTag; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERIESTIMERINFODTO_H diff --git a/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h b/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h new file mode 100644 index 0000000..e13423d --- /dev/null +++ b/core/include/JellyfinQt/dto/seriestimerinfodtoqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESTIMERINFODTOQUERYRESULT_H +#define JELLYFIN_DTO_SERIESTIMERINFODTOQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/seriestimerinfodto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SeriesTimerInfoDtoQueryResult { +public: + SeriesTimerInfoDtoQueryResult(); + SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SeriesTimerInfoDtoQueryResult &other); + + static SeriesTimerInfoDtoQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERIESTIMERINFODTOQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/serverconfiguration.h b/core/include/JellyfinQt/dto/serverconfiguration.h new file mode 100644 index 0000000..a36ff70 --- /dev/null +++ b/core/include/JellyfinQt/dto/serverconfiguration.h @@ -0,0 +1,905 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERVERCONFIGURATION_H +#define JELLYFIN_DTO_SERVERCONFIGURATION_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/imagesavingconvention.h" +#include "JellyfinQt/dto/metadataoptions.h" +#include "JellyfinQt/dto/namevaluepair.h" +#include "JellyfinQt/dto/pathsubstitution.h" +#include "JellyfinQt/dto/repositoryinfo.h" +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ServerConfiguration { +public: + ServerConfiguration(); + ServerConfiguration(const ServerConfiguration &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ServerConfiguration &other); + + static ServerConfiguration fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the number of days we should retain log files. + */ + qint32 logFileRetentionDays() const; + /** + * @brief Gets or sets the number of days we should retain log files. + */ + void setLogFileRetentionDays(qint32 newLogFileRetentionDays); + + /** + * @brief Gets or sets a value indicating whether this instance is first run. + */ + bool isStartupWizardCompleted() const; + /** + * @brief Gets or sets a value indicating whether this instance is first run. + */ + void setIsStartupWizardCompleted(bool newIsStartupWizardCompleted); + + /** + * @brief Gets or sets the cache path. + */ + QString cachePath() const; + /** + * @brief Gets or sets the cache path. + */ + void setCachePath(QString newCachePath); + bool cachePathNull() const; + void setCachePathNull(); + + + QSharedPointer previousVersion() const; + + void setPreviousVersion(QSharedPointer newPreviousVersion); + + /** + * @brief Gets or sets the stringified PreviousVersion to be stored/loaded, +because System.Version itself isn't xml-serializable. + */ + QString previousVersionStr() const; + /** + * @brief Gets or sets the stringified PreviousVersion to be stored/loaded, +because System.Version itself isn't xml-serializable. + */ + void setPreviousVersionStr(QString newPreviousVersionStr); + bool previousVersionStrNull() const; + void setPreviousVersionStrNull(); + + /** + * @brief Gets or sets a value indicating whether to enable automatic port forwarding. + */ + bool enableUPnP() const; + /** + * @brief Gets or sets a value indicating whether to enable automatic port forwarding. + */ + void setEnableUPnP(bool newEnableUPnP); + + /** + * @brief Gets or sets a value indicating whether to enable prometheus metrics exporting. + */ + bool enableMetrics() const; + /** + * @brief Gets or sets a value indicating whether to enable prometheus metrics exporting. + */ + void setEnableMetrics(bool newEnableMetrics); + + /** + * @brief Gets or sets the public mapped port. + */ + qint32 publicPort() const; + /** + * @brief Gets or sets the public mapped port. + */ + void setPublicPort(qint32 newPublicPort); + + /** + * @brief Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. + */ + bool uPnPCreateHttpPortMap() const; + /** + * @brief Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. + */ + void setUPnPCreateHttpPortMap(bool newUPnPCreateHttpPortMap); + + /** + * @brief Gets or sets client udp port range. + */ + QString uDPPortRange() const; + /** + * @brief Gets or sets client udp port range. + */ + void setUDPPortRange(QString newUDPPortRange); + bool uDPPortRangeNull() const; + void setUDPPortRangeNull(); + + /** + * @brief Gets or sets a value indicating whether IPV6 capability is enabled. + */ + bool enableIPV6() const; + /** + * @brief Gets or sets a value indicating whether IPV6 capability is enabled. + */ + void setEnableIPV6(bool newEnableIPV6); + + /** + * @brief Gets or sets a value indicating whether IPV4 capability is enabled. + */ + bool enableIPV4() const; + /** + * @brief Gets or sets a value indicating whether IPV4 capability is enabled. + */ + void setEnableIPV4(bool newEnableIPV4); + + /** + * @brief Gets or sets a value indicating whether detailed ssdp logs are sent to the console/log. +"Emby.Dlna": "Debug" must be set in logging.default.json for this property to work. + */ + bool enableSSDPTracing() const; + /** + * @brief Gets or sets a value indicating whether detailed ssdp logs are sent to the console/log. +"Emby.Dlna": "Debug" must be set in logging.default.json for this property to work. + */ + void setEnableSSDPTracing(bool newEnableSSDPTracing); + + /** + * @brief Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log. +If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work. + */ + QString sSDPTracingFilter() const; + /** + * @brief Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log. +If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work. + */ + void setSSDPTracingFilter(QString newSSDPTracingFilter); + bool sSDPTracingFilterNull() const; + void setSSDPTracingFilterNull(); + + /** + * @brief Gets or sets the number of times SSDP UDP messages are sent. + */ + qint32 uDPSendCount() const; + /** + * @brief Gets or sets the number of times SSDP UDP messages are sent. + */ + void setUDPSendCount(qint32 newUDPSendCount); + + /** + * @brief Gets or sets the delay between each groups of SSDP messages (in ms). + */ + qint32 uDPSendDelay() const; + /** + * @brief Gets or sets the delay between each groups of SSDP messages (in ms). + */ + void setUDPSendDelay(qint32 newUDPSendDelay); + + /** + * @brief Gets or sets a value indicating whether address names that match MediaBrowser.Model.Configuration.ServerConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding. + */ + bool ignoreVirtualInterfaces() const; + /** + * @brief Gets or sets a value indicating whether address names that match MediaBrowser.Model.Configuration.ServerConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding. + */ + void setIgnoreVirtualInterfaces(bool newIgnoreVirtualInterfaces); + + /** + * @brief Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . + */ + QString virtualInterfaceNames() const; + /** + * @brief Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . + */ + void setVirtualInterfaceNames(QString newVirtualInterfaceNames); + bool virtualInterfaceNamesNull() const; + void setVirtualInterfaceNamesNull(); + + /** + * @brief Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. + */ + qint32 gatewayMonitorPeriod() const; + /** + * @brief Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. + */ + void setGatewayMonitorPeriod(qint32 newGatewayMonitorPeriod); + + /** + * @brief Gets a value indicating whether multi-socket binding is available. + */ + bool enableMultiSocketBinding() const; + /** + * @brief Gets a value indicating whether multi-socket binding is available. + */ + void setEnableMultiSocketBinding(bool newEnableMultiSocketBinding); + + /** + * @brief Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network. +Depending on the address range implemented ULA ranges might not be used. + */ + bool trustAllIP6Interfaces() const; + /** + * @brief Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network. +Depending on the address range implemented ULA ranges might not be used. + */ + void setTrustAllIP6Interfaces(bool newTrustAllIP6Interfaces); + + /** + * @brief Gets or sets the ports that HDHomerun uses. + */ + QString hDHomerunPortRange() const; + /** + * @brief Gets or sets the ports that HDHomerun uses. + */ + void setHDHomerunPortRange(QString newHDHomerunPortRange); + bool hDHomerunPortRangeNull() const; + void setHDHomerunPortRangeNull(); + + /** + * @brief Gets or sets PublishedServerUri to advertise for specific subnets. + */ + QStringList publishedServerUriBySubnet() const; + /** + * @brief Gets or sets PublishedServerUri to advertise for specific subnets. + */ + void setPublishedServerUriBySubnet(QStringList newPublishedServerUriBySubnet); + bool publishedServerUriBySubnetNull() const; + void setPublishedServerUriBySubnetNull(); + + /** + * @brief Gets or sets a value indicating whether Autodiscovery tracing is enabled. + */ + bool autoDiscoveryTracing() const; + /** + * @brief Gets or sets a value indicating whether Autodiscovery tracing is enabled. + */ + void setAutoDiscoveryTracing(bool newAutoDiscoveryTracing); + + /** + * @brief Gets or sets a value indicating whether Autodiscovery is enabled. + */ + bool autoDiscovery() const; + /** + * @brief Gets or sets a value indicating whether Autodiscovery is enabled. + */ + void setAutoDiscovery(bool newAutoDiscovery); + + /** + * @brief Gets or sets the public HTTPS port. + */ + qint32 publicHttpsPort() const; + /** + * @brief Gets or sets the public HTTPS port. + */ + void setPublicHttpsPort(qint32 newPublicHttpsPort); + + /** + * @brief Gets or sets the HTTP server port number. + */ + qint32 httpServerPortNumber() const; + /** + * @brief Gets or sets the HTTP server port number. + */ + void setHttpServerPortNumber(qint32 newHttpServerPortNumber); + + /** + * @brief Gets or sets the HTTPS server port number. + */ + qint32 httpsPortNumber() const; + /** + * @brief Gets or sets the HTTPS server port number. + */ + void setHttpsPortNumber(qint32 newHttpsPortNumber); + + /** + * @brief Gets or sets a value indicating whether to use HTTPS. + */ + bool enableHttps() const; + /** + * @brief Gets or sets a value indicating whether to use HTTPS. + */ + void setEnableHttps(bool newEnableHttps); + + + bool enableNormalizedItemByNameIds() const; + + void setEnableNormalizedItemByNameIds(bool newEnableNormalizedItemByNameIds); + + /** + * @brief Gets or sets the filesystem path of an X.509 certificate to use for SSL. + */ + QString certificatePath() const; + /** + * @brief Gets or sets the filesystem path of an X.509 certificate to use for SSL. + */ + void setCertificatePath(QString newCertificatePath); + bool certificatePathNull() const; + void setCertificatePathNull(); + + /** + * @brief Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Model.Configuration.ServerConfiguration.CertificatePath. + */ + QString certificatePassword() const; + /** + * @brief Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Model.Configuration.ServerConfiguration.CertificatePath. + */ + void setCertificatePassword(QString newCertificatePassword); + bool certificatePasswordNull() const; + void setCertificatePasswordNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is port authorized. + */ + bool isPortAuthorized() const; + /** + * @brief Gets or sets a value indicating whether this instance is port authorized. + */ + void setIsPortAuthorized(bool newIsPortAuthorized); + + /** + * @brief Gets or sets a value indicating whether quick connect is available for use on this server. + */ + bool quickConnectAvailable() const; + /** + * @brief Gets or sets a value indicating whether quick connect is available for use on this server. + */ + void setQuickConnectAvailable(bool newQuickConnectAvailable); + + /** + * @brief Gets or sets a value indicating whether access outside of the LAN is permitted. + */ + bool enableRemoteAccess() const; + /** + * @brief Gets or sets a value indicating whether access outside of the LAN is permitted. + */ + void setEnableRemoteAccess(bool newEnableRemoteAccess); + + /** + * @brief Gets or sets a value indicating whether [enable case sensitive item ids]. + */ + bool enableCaseSensitiveItemIds() const; + /** + * @brief Gets or sets a value indicating whether [enable case sensitive item ids]. + */ + void setEnableCaseSensitiveItemIds(bool newEnableCaseSensitiveItemIds); + + + bool disableLiveTvChannelUserDataName() const; + + void setDisableLiveTvChannelUserDataName(bool newDisableLiveTvChannelUserDataName); + + /** + * @brief Gets or sets the metadata path. + */ + QString metadataPath() const; + /** + * @brief Gets or sets the metadata path. + */ + void setMetadataPath(QString newMetadataPath); + bool metadataPathNull() const; + void setMetadataPathNull(); + + + QString metadataNetworkPath() const; + + void setMetadataNetworkPath(QString newMetadataNetworkPath); + bool metadataNetworkPathNull() const; + void setMetadataNetworkPathNull(); + + /** + * @brief Gets or sets the preferred metadata language. + */ + QString preferredMetadataLanguage() const; + /** + * @brief Gets or sets the preferred metadata language. + */ + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + bool preferredMetadataLanguageNull() const; + void setPreferredMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets characters to be replaced with a ' ' in strings to create a sort name. + */ + QStringList sortReplaceCharacters() const; + /** + * @brief Gets or sets characters to be replaced with a ' ' in strings to create a sort name. + */ + void setSortReplaceCharacters(QStringList newSortReplaceCharacters); + bool sortReplaceCharactersNull() const; + void setSortReplaceCharactersNull(); + + /** + * @brief Gets or sets characters to be removed from strings to create a sort name. + */ + QStringList sortRemoveCharacters() const; + /** + * @brief Gets or sets characters to be removed from strings to create a sort name. + */ + void setSortRemoveCharacters(QStringList newSortRemoveCharacters); + bool sortRemoveCharactersNull() const; + void setSortRemoveCharactersNull(); + + /** + * @brief Gets or sets words to be removed from strings to create a sort name. + */ + QStringList sortRemoveWords() const; + /** + * @brief Gets or sets words to be removed from strings to create a sort name. + */ + void setSortRemoveWords(QStringList newSortRemoveWords); + bool sortRemoveWordsNull() const; + void setSortRemoveWordsNull(); + + /** + * @brief Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + */ + qint32 minResumePct() const; + /** + * @brief Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + */ + void setMinResumePct(qint32 newMinResumePct); + + /** + * @brief Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + qint32 maxResumePct() const; + /** + * @brief Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + void setMaxResumePct(qint32 newMaxResumePct); + + /** + * @brief Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + */ + qint32 minResumeDurationSeconds() const; + /** + * @brief Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + */ + void setMinResumeDurationSeconds(qint32 newMinResumeDurationSeconds); + + /** + * @brief Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + */ + qint32 minAudiobookResume() const; + /** + * @brief Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + */ + void setMinAudiobookResume(qint32 newMinAudiobookResume); + + /** + * @brief Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + qint32 maxAudiobookResume() const; + /** + * @brief Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + */ + void setMaxAudiobookResume(qint32 newMaxAudiobookResume); + + /** + * @brief Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed +Some delay is necessary with some items because their creation is not atomic. It involves the creation of several +different directories and files. + */ + qint32 libraryMonitorDelay() const; + /** + * @brief Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed +Some delay is necessary with some items because their creation is not atomic. It involves the creation of several +different directories and files. + */ + void setLibraryMonitorDelay(qint32 newLibraryMonitorDelay); + + /** + * @brief Gets or sets a value indicating whether [enable dashboard response caching]. +Allows potential contributors without visual studio to modify production dashboard code and test changes. + */ + bool enableDashboardResponseCaching() const; + /** + * @brief Gets or sets a value indicating whether [enable dashboard response caching]. +Allows potential contributors without visual studio to modify production dashboard code and test changes. + */ + void setEnableDashboardResponseCaching(bool newEnableDashboardResponseCaching); + + + ImageSavingConvention imageSavingConvention() const; + + void setImageSavingConvention(ImageSavingConvention newImageSavingConvention); + + + QList> metadataOptions() const; + + void setMetadataOptions(QList> newMetadataOptions); + bool metadataOptionsNull() const; + void setMetadataOptionsNull(); + + + bool skipDeserializationForBasicTypes() const; + + void setSkipDeserializationForBasicTypes(bool newSkipDeserializationForBasicTypes); + + + QString serverName() const; + + void setServerName(QString newServerName); + bool serverNameNull() const; + void setServerNameNull(); + + + QString baseUrl() const; + + void setBaseUrl(QString newBaseUrl); + bool baseUrlNull() const; + void setBaseUrlNull(); + + + QString uICulture() const; + + void setUICulture(QString newUICulture); + bool uICultureNull() const; + void setUICultureNull(); + + + bool saveMetadataHidden() const; + + void setSaveMetadataHidden(bool newSaveMetadataHidden); + + + QList> contentTypes() const; + + void setContentTypes(QList> newContentTypes); + bool contentTypesNull() const; + void setContentTypesNull(); + + + qint32 remoteClientBitrateLimit() const; + + void setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit); + + + bool enableFolderView() const; + + void setEnableFolderView(bool newEnableFolderView); + + + bool enableGroupingIntoCollections() const; + + void setEnableGroupingIntoCollections(bool newEnableGroupingIntoCollections); + + + bool displaySpecialsWithinSeasons() const; + + void setDisplaySpecialsWithinSeasons(bool newDisplaySpecialsWithinSeasons); + + /** + * @brief Gets or sets the subnets that are deemed to make up the LAN. + */ + QStringList localNetworkSubnets() const; + /** + * @brief Gets or sets the subnets that are deemed to make up the LAN. + */ + void setLocalNetworkSubnets(QStringList newLocalNetworkSubnets); + bool localNetworkSubnetsNull() const; + void setLocalNetworkSubnetsNull(); + + /** + * @brief Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. + */ + QStringList localNetworkAddresses() const; + /** + * @brief Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. + */ + void setLocalNetworkAddresses(QStringList newLocalNetworkAddresses); + bool localNetworkAddressesNull() const; + void setLocalNetworkAddressesNull(); + + + QStringList codecsUsed() const; + + void setCodecsUsed(QStringList newCodecsUsed); + bool codecsUsedNull() const; + void setCodecsUsedNull(); + + + QList> pluginRepositories() const; + + void setPluginRepositories(QList> newPluginRepositories); + bool pluginRepositoriesNull() const; + void setPluginRepositoriesNull(); + + + bool enableExternalContentInSuggestions() const; + + void setEnableExternalContentInSuggestions(bool newEnableExternalContentInSuggestions); + + /** + * @brief Gets or sets a value indicating whether the server should force connections over HTTPS. + */ + bool requireHttps() const; + /** + * @brief Gets or sets a value indicating whether the server should force connections over HTTPS. + */ + void setRequireHttps(bool newRequireHttps); + + + bool enableNewOmdbSupport() const; + + void setEnableNewOmdbSupport(bool newEnableNewOmdbSupport); + + /** + * @brief Gets or sets the filter for remote IP connectivity. Used in conjuntion with . + */ + QStringList remoteIPFilter() const; + /** + * @brief Gets or sets the filter for remote IP connectivity. Used in conjuntion with . + */ + void setRemoteIPFilter(QStringList newRemoteIPFilter); + bool remoteIPFilterNull() const; + void setRemoteIPFilterNull(); + + /** + * @brief Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. + */ + bool isRemoteIPFilterBlacklist() const; + /** + * @brief Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. + */ + void setIsRemoteIPFilterBlacklist(bool newIsRemoteIPFilterBlacklist); + + + qint32 imageExtractionTimeoutMs() const; + + void setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs); + + + QList> pathSubstitutions() const; + + void setPathSubstitutions(QList> newPathSubstitutions); + bool pathSubstitutionsNull() const; + void setPathSubstitutionsNull(); + + + bool enableSimpleArtistDetection() const; + + void setEnableSimpleArtistDetection(bool newEnableSimpleArtistDetection); + + + QStringList uninstalledPlugins() const; + + void setUninstalledPlugins(QStringList newUninstalledPlugins); + bool uninstalledPluginsNull() const; + void setUninstalledPluginsNull(); + + /** + * @brief Gets or sets a value indicating whether slow server responses should be logged as a warning. + */ + bool enableSlowResponseWarning() const; + /** + * @brief Gets or sets a value indicating whether slow server responses should be logged as a warning. + */ + void setEnableSlowResponseWarning(bool newEnableSlowResponseWarning); + + /** + * @brief Gets or sets the threshold for the slow response time warning in ms. + */ + qint64 slowResponseThresholdMs() const; + /** + * @brief Gets or sets the threshold for the slow response time warning in ms. + */ + void setSlowResponseThresholdMs(qint64 newSlowResponseThresholdMs); + + /** + * @brief Gets or sets the cors hosts. + */ + QStringList corsHosts() const; + /** + * @brief Gets or sets the cors hosts. + */ + void setCorsHosts(QStringList newCorsHosts); + bool corsHostsNull() const; + void setCorsHostsNull(); + + /** + * @brief Gets or sets the known proxies. + */ + QStringList knownProxies() const; + /** + * @brief Gets or sets the known proxies. + */ + void setKnownProxies(QStringList newKnownProxies); + bool knownProxiesNull() const; + void setKnownProxiesNull(); + + /** + * @brief Gets or sets the number of days we should retain activity logs. + */ + std::optional activityLogRetentionDays() const; + /** + * @brief Gets or sets the number of days we should retain activity logs. + */ + void setActivityLogRetentionDays(std::optional newActivityLogRetentionDays); + bool activityLogRetentionDaysNull() const; + void setActivityLogRetentionDaysNull(); + + /** + * @brief Gets or sets the how the library scan fans out. + */ + qint32 libraryScanFanoutConcurrency() const; + /** + * @brief Gets or sets the how the library scan fans out. + */ + void setLibraryScanFanoutConcurrency(qint32 newLibraryScanFanoutConcurrency); + + /** + * @brief Gets or sets the how many metadata refreshes can run concurrently. + */ + qint32 libraryMetadataRefreshConcurrency() const; + /** + * @brief Gets or sets the how many metadata refreshes can run concurrently. + */ + void setLibraryMetadataRefreshConcurrency(qint32 newLibraryMetadataRefreshConcurrency); + + /** + * @brief Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. + */ + bool removeOldPlugins() const; + /** + * @brief Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. + */ + void setRemoveOldPlugins(bool newRemoveOldPlugins); + + /** + * @brief Gets or sets a value indicating whether plugin image should be disabled. + */ + bool disablePluginImages() const; + /** + * @brief Gets or sets a value indicating whether plugin image should be disabled. + */ + void setDisablePluginImages(bool newDisablePluginImages); + + +protected: + qint32 m_logFileRetentionDays; + bool m_isStartupWizardCompleted; + QString m_cachePath; + QSharedPointer m_previousVersion = nullptr; + QString m_previousVersionStr; + bool m_enableUPnP; + bool m_enableMetrics; + qint32 m_publicPort; + bool m_uPnPCreateHttpPortMap; + QString m_uDPPortRange; + bool m_enableIPV6; + bool m_enableIPV4; + bool m_enableSSDPTracing; + QString m_sSDPTracingFilter; + qint32 m_uDPSendCount; + qint32 m_uDPSendDelay; + bool m_ignoreVirtualInterfaces; + QString m_virtualInterfaceNames; + qint32 m_gatewayMonitorPeriod; + bool m_enableMultiSocketBinding; + bool m_trustAllIP6Interfaces; + QString m_hDHomerunPortRange; + QStringList m_publishedServerUriBySubnet; + bool m_autoDiscoveryTracing; + bool m_autoDiscovery; + qint32 m_publicHttpsPort; + qint32 m_httpServerPortNumber; + qint32 m_httpsPortNumber; + bool m_enableHttps; + bool m_enableNormalizedItemByNameIds; + QString m_certificatePath; + QString m_certificatePassword; + bool m_isPortAuthorized; + bool m_quickConnectAvailable; + bool m_enableRemoteAccess; + bool m_enableCaseSensitiveItemIds; + bool m_disableLiveTvChannelUserDataName; + QString m_metadataPath; + QString m_metadataNetworkPath; + QString m_preferredMetadataLanguage; + QString m_metadataCountryCode; + QStringList m_sortReplaceCharacters; + QStringList m_sortRemoveCharacters; + QStringList m_sortRemoveWords; + qint32 m_minResumePct; + qint32 m_maxResumePct; + qint32 m_minResumeDurationSeconds; + qint32 m_minAudiobookResume; + qint32 m_maxAudiobookResume; + qint32 m_libraryMonitorDelay; + bool m_enableDashboardResponseCaching; + ImageSavingConvention m_imageSavingConvention; + QList> m_metadataOptions; + bool m_skipDeserializationForBasicTypes; + QString m_serverName; + QString m_baseUrl; + QString m_uICulture; + bool m_saveMetadataHidden; + QList> m_contentTypes; + qint32 m_remoteClientBitrateLimit; + bool m_enableFolderView; + bool m_enableGroupingIntoCollections; + bool m_displaySpecialsWithinSeasons; + QStringList m_localNetworkSubnets; + QStringList m_localNetworkAddresses; + QStringList m_codecsUsed; + QList> m_pluginRepositories; + bool m_enableExternalContentInSuggestions; + bool m_requireHttps; + bool m_enableNewOmdbSupport; + QStringList m_remoteIPFilter; + bool m_isRemoteIPFilterBlacklist; + qint32 m_imageExtractionTimeoutMs; + QList> m_pathSubstitutions; + bool m_enableSimpleArtistDetection; + QStringList m_uninstalledPlugins; + bool m_enableSlowResponseWarning; + qint64 m_slowResponseThresholdMs; + QStringList m_corsHosts; + QStringList m_knownProxies; + std::optional m_activityLogRetentionDays = std::nullopt; + qint32 m_libraryScanFanoutConcurrency; + qint32 m_libraryMetadataRefreshConcurrency; + bool m_removeOldPlugins; + bool m_disablePluginImages; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SERVERCONFIGURATION_H diff --git a/core/include/JellyfinQt/dto/sessioninfo.h b/core/include/JellyfinQt/dto/sessioninfo.h new file mode 100644 index 0000000..48187f2 --- /dev/null +++ b/core/include/JellyfinQt/dto/sessioninfo.h @@ -0,0 +1,332 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SESSIONINFO_H +#define JELLYFIN_DTO_SESSIONINFO_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitem.h" +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/clientcapabilities.h" +#include "JellyfinQt/dto/generalcommandtype.h" +#include "JellyfinQt/dto/playerstateinfo.h" +#include "JellyfinQt/dto/queueitem.h" +#include "JellyfinQt/dto/sessionuserinfo.h" +#include "JellyfinQt/dto/transcodinginfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SessionInfo { +public: + SessionInfo(); + SessionInfo(const SessionInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SessionInfo &other); + + static SessionInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer playState() const; + + void setPlayState(QSharedPointer newPlayState); + + + QList> additionalUsers() const; + + void setAdditionalUsers(QList> newAdditionalUsers); + bool additionalUsersNull() const; + void setAdditionalUsersNull(); + + + QSharedPointer capabilities() const; + + void setCapabilities(QSharedPointer newCapabilities); + + /** + * @brief Gets or sets the remote end point. + */ + QString remoteEndPoint() const; + /** + * @brief Gets or sets the remote end point. + */ + void setRemoteEndPoint(QString newRemoteEndPoint); + bool remoteEndPointNull() const; + void setRemoteEndPointNull(); + + /** + * @brief Gets or sets the playable media types. + */ + QStringList playableMediaTypes() const; + /** + * @brief Gets or sets the playable media types. + */ + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + bool playableMediaTypesNull() const; + void setPlayableMediaTypesNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the user id. + */ + QString userId() const; + /** + * @brief Gets or sets the user id. + */ + void setUserId(QString newUserId); + + /** + * @brief Gets or sets the username. + */ + QString userName() const; + /** + * @brief Gets or sets the username. + */ + void setUserName(QString newUserName); + bool userNameNull() const; + void setUserNameNull(); + + /** + * @brief Gets or sets the type of the client. + */ + QString client() const; + /** + * @brief Gets or sets the type of the client. + */ + void setClient(QString newClient); + bool clientNull() const; + void setClientNull(); + + /** + * @brief Gets or sets the last activity date. + */ + QDateTime lastActivityDate() const; + /** + * @brief Gets or sets the last activity date. + */ + void setLastActivityDate(QDateTime newLastActivityDate); + + /** + * @brief Gets or sets the last playback check in. + */ + QDateTime lastPlaybackCheckIn() const; + /** + * @brief Gets or sets the last playback check in. + */ + void setLastPlaybackCheckIn(QDateTime newLastPlaybackCheckIn); + + /** + * @brief Gets or sets the name of the device. + */ + QString deviceName() const; + /** + * @brief Gets or sets the name of the device. + */ + void setDeviceName(QString newDeviceName); + bool deviceNameNull() const; + void setDeviceNameNull(); + + /** + * @brief Gets or sets the type of the device. + */ + QString deviceType() const; + /** + * @brief Gets or sets the type of the device. + */ + void setDeviceType(QString newDeviceType); + bool deviceTypeNull() const; + void setDeviceTypeNull(); + + + QSharedPointer nowPlayingItem() const; + + void setNowPlayingItem(QSharedPointer newNowPlayingItem); + + + QSharedPointer fullNowPlayingItem() const; + + void setFullNowPlayingItem(QSharedPointer newFullNowPlayingItem); + + + QSharedPointer nowViewingItem() const; + + void setNowViewingItem(QSharedPointer newNowViewingItem); + + /** + * @brief Gets or sets the device id. + */ + QString deviceId() const; + /** + * @brief Gets or sets the device id. + */ + void setDeviceId(QString newDeviceId); + bool deviceIdNull() const; + void setDeviceIdNull(); + + /** + * @brief Gets or sets the application version. + */ + QString applicationVersion() const; + /** + * @brief Gets or sets the application version. + */ + void setApplicationVersion(QString newApplicationVersion); + bool applicationVersionNull() const; + void setApplicationVersionNull(); + + + QSharedPointer transcodingInfo() const; + + void setTranscodingInfo(QSharedPointer newTranscodingInfo); + + /** + * @brief Gets a value indicating whether this instance is active. + */ + bool isActive() const; + /** + * @brief Gets a value indicating whether this instance is active. + */ + void setIsActive(bool newIsActive); + + + bool supportsMediaControl() const; + + void setSupportsMediaControl(bool newSupportsMediaControl); + + + bool supportsRemoteControl() const; + + void setSupportsRemoteControl(bool newSupportsRemoteControl); + + + QList> nowPlayingQueue() const; + + void setNowPlayingQueue(QList> newNowPlayingQueue); + bool nowPlayingQueueNull() const; + void setNowPlayingQueueNull(); + + + bool hasCustomDeviceName() const; + + void setHasCustomDeviceName(bool newHasCustomDeviceName); + + + QString playlistItemId() const; + + void setPlaylistItemId(QString newPlaylistItemId); + bool playlistItemIdNull() const; + void setPlaylistItemIdNull(); + + + QString serverId() const; + + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + + QString userPrimaryImageTag() const; + + void setUserPrimaryImageTag(QString newUserPrimaryImageTag); + bool userPrimaryImageTagNull() const; + void setUserPrimaryImageTagNull(); + + /** + * @brief Gets or sets the supported commands. + */ + QList supportedCommands() const; + /** + * @brief Gets or sets the supported commands. + */ + void setSupportedCommands(QList newSupportedCommands); + bool supportedCommandsNull() const; + void setSupportedCommandsNull(); + + +protected: + QSharedPointer m_playState = nullptr; + QList> m_additionalUsers; + QSharedPointer m_capabilities = nullptr; + QString m_remoteEndPoint; + QStringList m_playableMediaTypes; + QString m_jellyfinId; + QString m_userId; + QString m_userName; + QString m_client; + QDateTime m_lastActivityDate; + QDateTime m_lastPlaybackCheckIn; + QString m_deviceName; + QString m_deviceType; + QSharedPointer m_nowPlayingItem = nullptr; + QSharedPointer m_fullNowPlayingItem = nullptr; + QSharedPointer m_nowViewingItem = nullptr; + QString m_deviceId; + QString m_applicationVersion; + QSharedPointer m_transcodingInfo = nullptr; + bool m_isActive; + bool m_supportsMediaControl; + bool m_supportsRemoteControl; + QList> m_nowPlayingQueue; + bool m_hasCustomDeviceName; + QString m_playlistItemId; + QString m_serverId; + QString m_userPrimaryImageTag; + QList m_supportedCommands; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SESSIONINFO_H diff --git a/core/include/JellyfinQt/dto/sessionuserinfo.h b/core/include/JellyfinQt/dto/sessionuserinfo.h new file mode 100644 index 0000000..c744be1 --- /dev/null +++ b/core/include/JellyfinQt/dto/sessionuserinfo.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SESSIONUSERINFO_H +#define JELLYFIN_DTO_SESSIONUSERINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SessionUserInfo { +public: + SessionUserInfo(); + SessionUserInfo(const SessionUserInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SessionUserInfo &other); + + static SessionUserInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the user identifier. + */ + QString userId() const; + /** + * @brief Gets or sets the user identifier. + */ + void setUserId(QString newUserId); + + /** + * @brief Gets or sets the name of the user. + */ + QString userName() const; + /** + * @brief Gets or sets the name of the user. + */ + void setUserName(QString newUserName); + bool userNameNull() const; + void setUserNameNull(); + + +protected: + QString m_userId; + QString m_userName; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SESSIONUSERINFO_H diff --git a/core/include/JellyfinQt/dto/setchannelmappingdto.h b/core/include/JellyfinQt/dto/setchannelmappingdto.h new file mode 100644 index 0000000..529ee48 --- /dev/null +++ b/core/include/JellyfinQt/dto/setchannelmappingdto.h @@ -0,0 +1,96 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SETCHANNELMAPPINGDTO_H +#define JELLYFIN_DTO_SETCHANNELMAPPINGDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SetChannelMappingDto { +public: + SetChannelMappingDto(); + SetChannelMappingDto(const SetChannelMappingDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SetChannelMappingDto &other); + + static SetChannelMappingDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the provider id. + */ + QString providerId() const; + /** + * @brief Gets or sets the provider id. + */ + void setProviderId(QString newProviderId); + + /** + * @brief Gets or sets the tuner channel id. + */ + QString tunerChannelId() const; + /** + * @brief Gets or sets the tuner channel id. + */ + void setTunerChannelId(QString newTunerChannelId); + + /** + * @brief Gets or sets the provider channel id. + */ + QString providerChannelId() const; + /** + * @brief Gets or sets the provider channel id. + */ + void setProviderChannelId(QString newProviderChannelId); + + +protected: + QString m_providerId; + QString m_tunerChannelId; + QString m_providerChannelId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SETCHANNELMAPPINGDTO_H diff --git a/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h b/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h new file mode 100644 index 0000000..e889696 --- /dev/null +++ b/core/include/JellyfinQt/dto/setplaylistitemrequestdto.h @@ -0,0 +1,76 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SETPLAYLISTITEMREQUESTDTO_H +#define JELLYFIN_DTO_SETPLAYLISTITEMREQUESTDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SetPlaylistItemRequestDto { +public: + SetPlaylistItemRequestDto(); + SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SetPlaylistItemRequestDto &other); + + static SetPlaylistItemRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the playlist identifier of the playing item. + */ + QString playlistItemId() const; + /** + * @brief Gets or sets the playlist identifier of the playing item. + */ + void setPlaylistItemId(QString newPlaylistItemId); + + +protected: + QString m_playlistItemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SETPLAYLISTITEMREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h b/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h new file mode 100644 index 0000000..61e87b5 --- /dev/null +++ b/core/include/JellyfinQt/dto/setrepeatmoderequestdto.h @@ -0,0 +1,72 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SETREPEATMODEREQUESTDTO_H +#define JELLYFIN_DTO_SETREPEATMODEREQUESTDTO_H + +#include +#include +#include + +#include "JellyfinQt/dto/grouprepeatmode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SetRepeatModeRequestDto { +public: + SetRepeatModeRequestDto(); + SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SetRepeatModeRequestDto &other); + + static SetRepeatModeRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + GroupRepeatMode mode() const; + + void setMode(GroupRepeatMode newMode); + + +protected: + GroupRepeatMode m_mode; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SETREPEATMODEREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/setshufflemoderequestdto.h b/core/include/JellyfinQt/dto/setshufflemoderequestdto.h new file mode 100644 index 0000000..a956614 --- /dev/null +++ b/core/include/JellyfinQt/dto/setshufflemoderequestdto.h @@ -0,0 +1,72 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SETSHUFFLEMODEREQUESTDTO_H +#define JELLYFIN_DTO_SETSHUFFLEMODEREQUESTDTO_H + +#include +#include +#include + +#include "JellyfinQt/dto/groupshufflemode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SetShuffleModeRequestDto { +public: + SetShuffleModeRequestDto(); + SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SetShuffleModeRequestDto &other); + + static SetShuffleModeRequestDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + GroupShuffleMode mode() const; + + void setMode(GroupShuffleMode newMode); + + +protected: + GroupShuffleMode m_mode; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SETSHUFFLEMODEREQUESTDTO_H diff --git a/core/include/JellyfinQt/dto/songinfo.h b/core/include/JellyfinQt/dto/songinfo.h new file mode 100644 index 0000000..bea21dc --- /dev/null +++ b/core/include/JellyfinQt/dto/songinfo.h @@ -0,0 +1,195 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SONGINFO_H +#define JELLYFIN_DTO_SONGINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SongInfo { +public: + SongInfo(); + SongInfo(const SongInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SongInfo &other); + + static SongInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + + QStringList albumArtists() const; + + void setAlbumArtists(QStringList newAlbumArtists); + bool albumArtistsNull() const; + void setAlbumArtistsNull(); + + + QString album() const; + + void setAlbum(QString newAlbum); + bool albumNull() const; + void setAlbumNull(); + + + QStringList artists() const; + + void setArtists(QStringList newArtists); + bool artistsNull() const; + void setArtistsNull(); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_albumArtists; + QString m_album; + QStringList m_artists; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SONGINFO_H diff --git a/core/include/JellyfinQt/dto/sortorder.h b/core/include/JellyfinQt/dto/sortorder.h new file mode 100644 index 0000000..f9b078d --- /dev/null +++ b/core/include/JellyfinQt/dto/sortorder.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SORTORDER_H +#define JELLYFIN_DTO_SORTORDER_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SortOrderClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Ascending, + Descending, + }; + Q_ENUM(Value) +private: + explicit SortOrderClass(); +}; + +typedef SortOrderClass::Value SortOrder; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SORTORDER_H diff --git a/core/include/JellyfinQt/dto/specialviewoptiondto.h b/core/include/JellyfinQt/dto/specialviewoptiondto.h new file mode 100644 index 0000000..5cdd454 --- /dev/null +++ b/core/include/JellyfinQt/dto/specialviewoptiondto.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SPECIALVIEWOPTIONDTO_H +#define JELLYFIN_DTO_SPECIALVIEWOPTIONDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SpecialViewOptionDto { +public: + SpecialViewOptionDto(); + SpecialViewOptionDto(const SpecialViewOptionDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SpecialViewOptionDto &other); + + static SpecialViewOptionDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets view option name. + */ + QString name() const; + /** + * @brief Gets or sets view option name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets view option id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets view option id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SPECIALVIEWOPTIONDTO_H diff --git a/core/include/JellyfinQt/dto/startupconfigurationdto.h b/core/include/JellyfinQt/dto/startupconfigurationdto.h new file mode 100644 index 0000000..61a41d2 --- /dev/null +++ b/core/include/JellyfinQt/dto/startupconfigurationdto.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_STARTUPCONFIGURATIONDTO_H +#define JELLYFIN_DTO_STARTUPCONFIGURATIONDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class StartupConfigurationDto { +public: + StartupConfigurationDto(); + StartupConfigurationDto(const StartupConfigurationDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(StartupConfigurationDto &other); + + static StartupConfigurationDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets UI language culture. + */ + QString uICulture() const; + /** + * @brief Gets or sets UI language culture. + */ + void setUICulture(QString newUICulture); + bool uICultureNull() const; + void setUICultureNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the preferred language for the metadata. + */ + QString preferredMetadataLanguage() const; + /** + * @brief Gets or sets the preferred language for the metadata. + */ + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + bool preferredMetadataLanguageNull() const; + void setPreferredMetadataLanguageNull(); + + +protected: + QString m_uICulture; + QString m_metadataCountryCode; + QString m_preferredMetadataLanguage; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_STARTUPCONFIGURATIONDTO_H diff --git a/core/include/JellyfinQt/dto/startupremoteaccessdto.h b/core/include/JellyfinQt/dto/startupremoteaccessdto.h new file mode 100644 index 0000000..fcb8b3b --- /dev/null +++ b/core/include/JellyfinQt/dto/startupremoteaccessdto.h @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_STARTUPREMOTEACCESSDTO_H +#define JELLYFIN_DTO_STARTUPREMOTEACCESSDTO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class StartupRemoteAccessDto { +public: + StartupRemoteAccessDto(); + StartupRemoteAccessDto(const StartupRemoteAccessDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(StartupRemoteAccessDto &other); + + static StartupRemoteAccessDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether enable remote access. + */ + bool enableRemoteAccess() const; + /** + * @brief Gets or sets a value indicating whether enable remote access. + */ + void setEnableRemoteAccess(bool newEnableRemoteAccess); + + /** + * @brief Gets or sets a value indicating whether enable automatic port mapping. + */ + bool enableAutomaticPortMapping() const; + /** + * @brief Gets or sets a value indicating whether enable automatic port mapping. + */ + void setEnableAutomaticPortMapping(bool newEnableAutomaticPortMapping); + + +protected: + bool m_enableRemoteAccess; + bool m_enableAutomaticPortMapping; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_STARTUPREMOTEACCESSDTO_H diff --git a/core/include/JellyfinQt/dto/startupuserdto.h b/core/include/JellyfinQt/dto/startupuserdto.h new file mode 100644 index 0000000..bda878f --- /dev/null +++ b/core/include/JellyfinQt/dto/startupuserdto.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_STARTUPUSERDTO_H +#define JELLYFIN_DTO_STARTUPUSERDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class StartupUserDto { +public: + StartupUserDto(); + StartupUserDto(const StartupUserDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(StartupUserDto &other); + + static StartupUserDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the username. + */ + QString name() const; + /** + * @brief Gets or sets the username. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the user's password. + */ + QString password() const; + /** + * @brief Gets or sets the user's password. + */ + void setPassword(QString newPassword); + bool passwordNull() const; + void setPasswordNull(); + + +protected: + QString m_name; + QString m_password; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_STARTUPUSERDTO_H diff --git a/core/include/JellyfinQt/dto/subtitledeliverymethod.h b/core/include/JellyfinQt/dto/subtitledeliverymethod.h new file mode 100644 index 0000000..1ce69ca --- /dev/null +++ b/core/include/JellyfinQt/dto/subtitledeliverymethod.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SUBTITLEDELIVERYMETHOD_H +#define JELLYFIN_DTO_SUBTITLEDELIVERYMETHOD_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SubtitleDeliveryMethodClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Encode, + Embed, + External, + Hls, + }; + Q_ENUM(Value) +private: + explicit SubtitleDeliveryMethodClass(); +}; + +typedef SubtitleDeliveryMethodClass::Value SubtitleDeliveryMethod; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SUBTITLEDELIVERYMETHOD_H diff --git a/core/include/JellyfinQt/dto/subtitleplaybackmode.h b/core/include/JellyfinQt/dto/subtitleplaybackmode.h new file mode 100644 index 0000000..3fcc864 --- /dev/null +++ b/core/include/JellyfinQt/dto/subtitleplaybackmode.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SUBTITLEPLAYBACKMODE_H +#define JELLYFIN_DTO_SUBTITLEPLAYBACKMODE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SubtitlePlaybackModeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Default, + Always, + OnlyForced, + None, + Smart, + }; + Q_ENUM(Value) +private: + explicit SubtitlePlaybackModeClass(); +}; + +typedef SubtitlePlaybackModeClass::Value SubtitlePlaybackMode; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SUBTITLEPLAYBACKMODE_H diff --git a/core/include/JellyfinQt/dto/subtitleprofile.h b/core/include/JellyfinQt/dto/subtitleprofile.h new file mode 100644 index 0000000..fd0b4b0 --- /dev/null +++ b/core/include/JellyfinQt/dto/subtitleprofile.h @@ -0,0 +1,105 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SUBTITLEPROFILE_H +#define JELLYFIN_DTO_SUBTITLEPROFILE_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/subtitledeliverymethod.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SubtitleProfile { +public: + SubtitleProfile(); + SubtitleProfile(const SubtitleProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SubtitleProfile &other); + + static SubtitleProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString format() const; + + void setFormat(QString newFormat); + bool formatNull() const; + void setFormatNull(); + + + SubtitleDeliveryMethod method() const; + + void setMethod(SubtitleDeliveryMethod newMethod); + + + QString didlMode() const; + + void setDidlMode(QString newDidlMode); + bool didlModeNull() const; + void setDidlModeNull(); + + + QString language() const; + + void setLanguage(QString newLanguage); + bool languageNull() const; + void setLanguageNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + +protected: + QString m_format; + SubtitleDeliveryMethod m_method; + QString m_didlMode; + QString m_language; + QString m_container; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SUBTITLEPROFILE_H diff --git a/core/include/JellyfinQt/dto/syncplayuseraccesstype.h b/core/include/JellyfinQt/dto/syncplayuseraccesstype.h new file mode 100644 index 0000000..4fe1b6a --- /dev/null +++ b/core/include/JellyfinQt/dto/syncplayuseraccesstype.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SYNCPLAYUSERACCESSTYPE_H +#define JELLYFIN_DTO_SYNCPLAYUSERACCESSTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class SyncPlayUserAccessTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + CreateAndJoinGroups, + JoinGroups, + None, + }; + Q_ENUM(Value) +private: + explicit SyncPlayUserAccessTypeClass(); +}; + +typedef SyncPlayUserAccessTypeClass::Value SyncPlayUserAccessType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SYNCPLAYUSERACCESSTYPE_H diff --git a/core/include/JellyfinQt/dto/systeminfo.h b/core/include/JellyfinQt/dto/systeminfo.h new file mode 100644 index 0000000..d0f8476 --- /dev/null +++ b/core/include/JellyfinQt/dto/systeminfo.h @@ -0,0 +1,350 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SYSTEMINFO_H +#define JELLYFIN_DTO_SYSTEMINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/architecture.h" +#include "JellyfinQt/dto/ffmpeglocation.h" +#include "JellyfinQt/dto/installationinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class SystemInfo { +public: + SystemInfo(); + SystemInfo(const SystemInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(SystemInfo &other); + + static SystemInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the local address. + */ + QString localAddress() const; + /** + * @brief Gets or sets the local address. + */ + void setLocalAddress(QString newLocalAddress); + bool localAddressNull() const; + void setLocalAddressNull(); + + /** + * @brief Gets or sets the name of the server. + */ + QString serverName() const; + /** + * @brief Gets or sets the name of the server. + */ + void setServerName(QString newServerName); + bool serverNameNull() const; + void setServerNameNull(); + + /** + * @brief Gets or sets the server version. + */ + QString version() const; + /** + * @brief Gets or sets the server version. + */ + void setVersion(QString newVersion); + bool versionNull() const; + void setVersionNull(); + + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + QString productName() const; + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + void setProductName(QString newProductName); + bool productNameNull() const; + void setProductNameNull(); + + /** + * @brief Gets or sets the operating system. + */ + QString operatingSystem() const; + /** + * @brief Gets or sets the operating system. + */ + void setOperatingSystem(QString newOperatingSystem); + bool operatingSystemNull() const; + void setOperatingSystemNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + std::optional startupWizardCompleted() const; + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + void setStartupWizardCompleted(std::optional newStartupWizardCompleted); + bool startupWizardCompletedNull() const; + void setStartupWizardCompletedNull(); + + /** + * @brief Gets or sets the display name of the operating system. + */ + QString operatingSystemDisplayName() const; + /** + * @brief Gets or sets the display name of the operating system. + */ + void setOperatingSystemDisplayName(QString newOperatingSystemDisplayName); + bool operatingSystemDisplayNameNull() const; + void setOperatingSystemDisplayNameNull(); + + /** + * @brief Get or sets the package name. + */ + QString packageName() const; + /** + * @brief Get or sets the package name. + */ + void setPackageName(QString newPackageName); + bool packageNameNull() const; + void setPackageNameNull(); + + /** + * @brief Gets or sets a value indicating whether this instance has pending restart. + */ + bool hasPendingRestart() const; + /** + * @brief Gets or sets a value indicating whether this instance has pending restart. + */ + void setHasPendingRestart(bool newHasPendingRestart); + + + bool isShuttingDown() const; + + void setIsShuttingDown(bool newIsShuttingDown); + + /** + * @brief Gets or sets a value indicating whether [supports library monitor]. + */ + bool supportsLibraryMonitor() const; + /** + * @brief Gets or sets a value indicating whether [supports library monitor]. + */ + void setSupportsLibraryMonitor(bool newSupportsLibraryMonitor); + + /** + * @brief Gets or sets the web socket port number. + */ + qint32 webSocketPortNumber() const; + /** + * @brief Gets or sets the web socket port number. + */ + void setWebSocketPortNumber(qint32 newWebSocketPortNumber); + + /** + * @brief Gets or sets the completed installations. + */ + QList> completedInstallations() const; + /** + * @brief Gets or sets the completed installations. + */ + void setCompletedInstallations(QList> newCompletedInstallations); + bool completedInstallationsNull() const; + void setCompletedInstallationsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance can self restart. + */ + bool canSelfRestart() const; + /** + * @brief Gets or sets a value indicating whether this instance can self restart. + */ + void setCanSelfRestart(bool newCanSelfRestart); + + + bool canLaunchWebBrowser() const; + + void setCanLaunchWebBrowser(bool newCanLaunchWebBrowser); + + /** + * @brief Gets or sets the program data path. + */ + QString programDataPath() const; + /** + * @brief Gets or sets the program data path. + */ + void setProgramDataPath(QString newProgramDataPath); + bool programDataPathNull() const; + void setProgramDataPathNull(); + + /** + * @brief Gets or sets the web UI resources path. + */ + QString webPath() const; + /** + * @brief Gets or sets the web UI resources path. + */ + void setWebPath(QString newWebPath); + bool webPathNull() const; + void setWebPathNull(); + + /** + * @brief Gets or sets the items by name path. + */ + QString itemsByNamePath() const; + /** + * @brief Gets or sets the items by name path. + */ + void setItemsByNamePath(QString newItemsByNamePath); + bool itemsByNamePathNull() const; + void setItemsByNamePathNull(); + + /** + * @brief Gets or sets the cache path. + */ + QString cachePath() const; + /** + * @brief Gets or sets the cache path. + */ + void setCachePath(QString newCachePath); + bool cachePathNull() const; + void setCachePathNull(); + + /** + * @brief Gets or sets the log path. + */ + QString logPath() const; + /** + * @brief Gets or sets the log path. + */ + void setLogPath(QString newLogPath); + bool logPathNull() const; + void setLogPathNull(); + + /** + * @brief Gets or sets the internal metadata path. + */ + QString internalMetadataPath() const; + /** + * @brief Gets or sets the internal metadata path. + */ + void setInternalMetadataPath(QString newInternalMetadataPath); + bool internalMetadataPathNull() const; + void setInternalMetadataPathNull(); + + /** + * @brief Gets or sets the transcode path. + */ + QString transcodingTempPath() const; + /** + * @brief Gets or sets the transcode path. + */ + void setTranscodingTempPath(QString newTranscodingTempPath); + bool transcodingTempPathNull() const; + void setTranscodingTempPathNull(); + + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + bool hasUpdateAvailable() const; + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + void setHasUpdateAvailable(bool newHasUpdateAvailable); + + + FFmpegLocation encoderLocation() const; + + void setEncoderLocation(FFmpegLocation newEncoderLocation); + + + Architecture systemArchitecture() const; + + void setSystemArchitecture(Architecture newSystemArchitecture); + + +protected: + QString m_localAddress; + QString m_serverName; + QString m_version; + QString m_productName; + QString m_operatingSystem; + QString m_jellyfinId; + std::optional m_startupWizardCompleted = std::nullopt; + QString m_operatingSystemDisplayName; + QString m_packageName; + bool m_hasPendingRestart; + bool m_isShuttingDown; + bool m_supportsLibraryMonitor; + qint32 m_webSocketPortNumber; + QList> m_completedInstallations; + bool m_canSelfRestart; + bool m_canLaunchWebBrowser; + QString m_programDataPath; + QString m_webPath; + QString m_itemsByNamePath; + QString m_cachePath; + QString m_logPath; + QString m_internalMetadataPath; + QString m_transcodingTempPath; + bool m_hasUpdateAvailable; + FFmpegLocation m_encoderLocation; + Architecture m_systemArchitecture; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_SYSTEMINFO_H diff --git a/core/include/JellyfinQt/dto/taskcompletionstatus.h b/core/include/JellyfinQt/dto/taskcompletionstatus.h new file mode 100644 index 0000000..327a2d7 --- /dev/null +++ b/core/include/JellyfinQt/dto/taskcompletionstatus.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKCOMPLETIONSTATUS_H +#define JELLYFIN_DTO_TASKCOMPLETIONSTATUS_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class TaskCompletionStatusClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Completed, + Failed, + Cancelled, + Aborted, + }; + Q_ENUM(Value) +private: + explicit TaskCompletionStatusClass(); +}; + +typedef TaskCompletionStatusClass::Value TaskCompletionStatus; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TASKCOMPLETIONSTATUS_H diff --git a/core/include/JellyfinQt/dto/taskinfo.h b/core/include/JellyfinQt/dto/taskinfo.h new file mode 100644 index 0000000..94fe64f --- /dev/null +++ b/core/include/JellyfinQt/dto/taskinfo.h @@ -0,0 +1,178 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKINFO_H +#define JELLYFIN_DTO_TASKINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/taskresult.h" +#include "JellyfinQt/dto/taskstate.h" +#include "JellyfinQt/dto/tasktriggerinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TaskInfo { +public: + TaskInfo(); + TaskInfo(const TaskInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TaskInfo &other); + + static TaskInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + TaskState state() const; + + void setState(TaskState newState); + + /** + * @brief Gets or sets the progress. + */ + std::optional currentProgressPercentage() const; + /** + * @brief Gets or sets the progress. + */ + void setCurrentProgressPercentage(std::optional newCurrentProgressPercentage); + bool currentProgressPercentageNull() const; + void setCurrentProgressPercentageNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QSharedPointer lastExecutionResult() const; + + void setLastExecutionResult(QSharedPointer newLastExecutionResult); + + /** + * @brief Gets or sets the triggers. + */ + QList> triggers() const; + /** + * @brief Gets or sets the triggers. + */ + void setTriggers(QList> newTriggers); + bool triggersNull() const; + void setTriggersNull(); + + /** + * @brief Gets or sets the description. + */ + QString description() const; + /** + * @brief Gets or sets the description. + */ + void setDescription(QString newDescription); + bool descriptionNull() const; + void setDescriptionNull(); + + /** + * @brief Gets or sets the category. + */ + QString category() const; + /** + * @brief Gets or sets the category. + */ + void setCategory(QString newCategory); + bool categoryNull() const; + void setCategoryNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + bool isHidden() const; + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + void setIsHidden(bool newIsHidden); + + /** + * @brief Gets or sets the key. + */ + QString key() const; + /** + * @brief Gets or sets the key. + */ + void setKey(QString newKey); + bool keyNull() const; + void setKeyNull(); + + +protected: + QString m_name; + TaskState m_state; + std::optional m_currentProgressPercentage = std::nullopt; + QString m_jellyfinId; + QSharedPointer m_lastExecutionResult = nullptr; + QList> m_triggers; + QString m_description; + QString m_category; + bool m_isHidden; + QString m_key; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TASKINFO_H diff --git a/core/include/JellyfinQt/dto/taskresult.h b/core/include/JellyfinQt/dto/taskresult.h new file mode 100644 index 0000000..e3100c8 --- /dev/null +++ b/core/include/JellyfinQt/dto/taskresult.h @@ -0,0 +1,154 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKRESULT_H +#define JELLYFIN_DTO_TASKRESULT_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/taskcompletionstatus.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TaskResult { +public: + TaskResult(); + TaskResult(const TaskResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TaskResult &other); + + static TaskResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the start time UTC. + */ + QDateTime startTimeUtc() const; + /** + * @brief Gets or sets the start time UTC. + */ + void setStartTimeUtc(QDateTime newStartTimeUtc); + + /** + * @brief Gets or sets the end time UTC. + */ + QDateTime endTimeUtc() const; + /** + * @brief Gets or sets the end time UTC. + */ + void setEndTimeUtc(QDateTime newEndTimeUtc); + + + TaskCompletionStatus status() const; + + void setStatus(TaskCompletionStatus newStatus); + + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the key. + */ + QString key() const; + /** + * @brief Gets or sets the key. + */ + void setKey(QString newKey); + bool keyNull() const; + void setKeyNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + /** + * @brief Gets or sets the error message. + */ + QString errorMessage() const; + /** + * @brief Gets or sets the error message. + */ + void setErrorMessage(QString newErrorMessage); + bool errorMessageNull() const; + void setErrorMessageNull(); + + /** + * @brief Gets or sets the long error message. + */ + QString longErrorMessage() const; + /** + * @brief Gets or sets the long error message. + */ + void setLongErrorMessage(QString newLongErrorMessage); + bool longErrorMessageNull() const; + void setLongErrorMessageNull(); + + +protected: + QDateTime m_startTimeUtc; + QDateTime m_endTimeUtc; + TaskCompletionStatus m_status; + QString m_name; + QString m_key; + QString m_jellyfinId; + QString m_errorMessage; + QString m_longErrorMessage; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TASKRESULT_H diff --git a/core/include/JellyfinQt/dto/taskstate.h b/core/include/JellyfinQt/dto/taskstate.h new file mode 100644 index 0000000..b6c6920 --- /dev/null +++ b/core/include/JellyfinQt/dto/taskstate.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKSTATE_H +#define JELLYFIN_DTO_TASKSTATE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class TaskStateClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Idle, + Cancelling, + Running, + }; + Q_ENUM(Value) +private: + explicit TaskStateClass(); +}; + +typedef TaskStateClass::Value TaskState; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TASKSTATE_H diff --git a/core/include/JellyfinQt/dto/tasktriggerinfo.h b/core/include/JellyfinQt/dto/tasktriggerinfo.h new file mode 100644 index 0000000..037841f --- /dev/null +++ b/core/include/JellyfinQt/dto/tasktriggerinfo.h @@ -0,0 +1,121 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKTRIGGERINFO_H +#define JELLYFIN_DTO_TASKTRIGGERINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/dayofweek.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TaskTriggerInfo { +public: + TaskTriggerInfo(); + TaskTriggerInfo(const TaskTriggerInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TaskTriggerInfo &other); + + static TaskTriggerInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the type. + */ + QString type() const; + /** + * @brief Gets or sets the type. + */ + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the time of day. + */ + std::optional timeOfDayTicks() const; + /** + * @brief Gets or sets the time of day. + */ + void setTimeOfDayTicks(std::optional newTimeOfDayTicks); + bool timeOfDayTicksNull() const; + void setTimeOfDayTicksNull(); + + /** + * @brief Gets or sets the interval. + */ + std::optional intervalTicks() const; + /** + * @brief Gets or sets the interval. + */ + void setIntervalTicks(std::optional newIntervalTicks); + bool intervalTicksNull() const; + void setIntervalTicksNull(); + + + DayOfWeek dayOfWeek() const; + + void setDayOfWeek(DayOfWeek newDayOfWeek); + + /** + * @brief Gets or sets the maximum runtime ticks. + */ + std::optional maxRuntimeTicks() const; + /** + * @brief Gets or sets the maximum runtime ticks. + */ + void setMaxRuntimeTicks(std::optional newMaxRuntimeTicks); + bool maxRuntimeTicksNull() const; + void setMaxRuntimeTicksNull(); + + +protected: + QString m_type; + std::optional m_timeOfDayTicks = std::nullopt; + std::optional m_intervalTicks = std::nullopt; + DayOfWeek m_dayOfWeek; + std::optional m_maxRuntimeTicks = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TASKTRIGGERINFO_H diff --git a/core/include/JellyfinQt/dto/thememediaresult.h b/core/include/JellyfinQt/dto/thememediaresult.h new file mode 100644 index 0000000..0e4a89a --- /dev/null +++ b/core/include/JellyfinQt/dto/thememediaresult.h @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_THEMEMEDIARESULT_H +#define JELLYFIN_DTO_THEMEMEDIARESULT_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ThemeMediaResult { +public: + ThemeMediaResult(); + ThemeMediaResult(const ThemeMediaResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ThemeMediaResult &other); + + static ThemeMediaResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + /** + * @brief Gets or sets the owner id. + */ + QString ownerId() const; + /** + * @brief Gets or sets the owner id. + */ + void setOwnerId(QString newOwnerId); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; + QString m_ownerId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_THEMEMEDIARESULT_H diff --git a/core/include/JellyfinQt/dto/timereventinfo.h b/core/include/JellyfinQt/dto/timereventinfo.h new file mode 100644 index 0000000..57fec82 --- /dev/null +++ b/core/include/JellyfinQt/dto/timereventinfo.h @@ -0,0 +1,82 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TIMEREVENTINFO_H +#define JELLYFIN_DTO_TIMEREVENTINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TimerEventInfo { +public: + TimerEventInfo(); + TimerEventInfo(const TimerEventInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TimerEventInfo &other); + + static TimerEventInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString programId() const; + + void setProgramId(QString newProgramId); + bool programIdNull() const; + void setProgramIdNull(); + + +protected: + QString m_jellyfinId; + QString m_programId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TIMEREVENTINFO_H diff --git a/core/include/JellyfinQt/dto/timerinfodto.h b/core/include/JellyfinQt/dto/timerinfodto.h new file mode 100644 index 0000000..6506757 --- /dev/null +++ b/core/include/JellyfinQt/dto/timerinfodto.h @@ -0,0 +1,367 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TIMERINFODTO_H +#define JELLYFIN_DTO_TIMERINFODTO_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/baseitemdto.h" +#include "JellyfinQt/dto/keepuntil.h" +#include "JellyfinQt/dto/recordingstatus.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TimerInfoDto { +public: + TimerInfoDto(); + TimerInfoDto(const TimerInfoDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TimerInfoDto &other); + + static TimerInfoDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Id of the recording. + */ + QString jellyfinId() const; + /** + * @brief Id of the recording. + */ + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + /** + * @brief Gets or sets the server identifier. + */ + QString serverId() const; + /** + * @brief Gets or sets the server identifier. + */ + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + /** + * @brief Gets or sets the external identifier. + */ + QString externalId() const; + /** + * @brief Gets or sets the external identifier. + */ + void setExternalId(QString newExternalId); + bool externalIdNull() const; + void setExternalIdNull(); + + /** + * @brief ChannelId of the recording. + */ + QString channelId() const; + /** + * @brief ChannelId of the recording. + */ + void setChannelId(QString newChannelId); + + /** + * @brief Gets or sets the external channel identifier. + */ + QString externalChannelId() const; + /** + * @brief Gets or sets the external channel identifier. + */ + void setExternalChannelId(QString newExternalChannelId); + bool externalChannelIdNull() const; + void setExternalChannelIdNull(); + + /** + * @brief ChannelName of the recording. + */ + QString channelName() const; + /** + * @brief ChannelName of the recording. + */ + void setChannelName(QString newChannelName); + bool channelNameNull() const; + void setChannelNameNull(); + + + QString channelPrimaryImageTag() const; + + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + bool channelPrimaryImageTagNull() const; + void setChannelPrimaryImageTagNull(); + + /** + * @brief Gets or sets the program identifier. + */ + QString programId() const; + /** + * @brief Gets or sets the program identifier. + */ + void setProgramId(QString newProgramId); + bool programIdNull() const; + void setProgramIdNull(); + + /** + * @brief Gets or sets the external program identifier. + */ + QString externalProgramId() const; + /** + * @brief Gets or sets the external program identifier. + */ + void setExternalProgramId(QString newExternalProgramId); + bool externalProgramIdNull() const; + void setExternalProgramIdNull(); + + /** + * @brief Name of the recording. + */ + QString name() const; + /** + * @brief Name of the recording. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Description of the recording. + */ + QString overview() const; + /** + * @brief Description of the recording. + */ + void setOverview(QString newOverview); + bool overviewNull() const; + void setOverviewNull(); + + /** + * @brief The start date of the recording, in UTC. + */ + QDateTime startDate() const; + /** + * @brief The start date of the recording, in UTC. + */ + void setStartDate(QDateTime newStartDate); + + /** + * @brief The end date of the recording, in UTC. + */ + QDateTime endDate() const; + /** + * @brief The end date of the recording, in UTC. + */ + void setEndDate(QDateTime newEndDate); + + /** + * @brief Gets or sets the name of the service. + */ + QString serviceName() const; + /** + * @brief Gets or sets the name of the service. + */ + void setServiceName(QString newServiceName); + bool serviceNameNull() const; + void setServiceNameNull(); + + /** + * @brief Gets or sets the priority. + */ + qint32 priority() const; + /** + * @brief Gets or sets the priority. + */ + void setPriority(qint32 newPriority); + + /** + * @brief Gets or sets the pre padding seconds. + */ + qint32 prePaddingSeconds() const; + /** + * @brief Gets or sets the pre padding seconds. + */ + void setPrePaddingSeconds(qint32 newPrePaddingSeconds); + + /** + * @brief Gets or sets the post padding seconds. + */ + qint32 postPaddingSeconds() const; + /** + * @brief Gets or sets the post padding seconds. + */ + void setPostPaddingSeconds(qint32 newPostPaddingSeconds); + + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + bool isPrePaddingRequired() const; + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + void setIsPrePaddingRequired(bool newIsPrePaddingRequired); + + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + QString parentBackdropItemId() const; + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + void setParentBackdropItemId(QString newParentBackdropItemId); + bool parentBackdropItemIdNull() const; + void setParentBackdropItemIdNull(); + + /** + * @brief Gets or sets the parent backdrop image tags. + */ + QStringList parentBackdropImageTags() const; + /** + * @brief Gets or sets the parent backdrop image tags. + */ + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + bool parentBackdropImageTagsNull() const; + void setParentBackdropImageTagsNull(); + + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + bool isPostPaddingRequired() const; + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + void setIsPostPaddingRequired(bool newIsPostPaddingRequired); + + + KeepUntil keepUntil() const; + + void setKeepUntil(KeepUntil newKeepUntil); + + + RecordingStatus status() const; + + void setStatus(RecordingStatus newStatus); + + /** + * @brief Gets or sets the series timer identifier. + */ + QString seriesTimerId() const; + /** + * @brief Gets or sets the series timer identifier. + */ + void setSeriesTimerId(QString newSeriesTimerId); + bool seriesTimerIdNull() const; + void setSeriesTimerIdNull(); + + /** + * @brief Gets or sets the external series timer identifier. + */ + QString externalSeriesTimerId() const; + /** + * @brief Gets or sets the external series timer identifier. + */ + void setExternalSeriesTimerId(QString newExternalSeriesTimerId); + bool externalSeriesTimerIdNull() const; + void setExternalSeriesTimerIdNull(); + + /** + * @brief Gets or sets the run time ticks. + */ + std::optional runTimeTicks() const; + /** + * @brief Gets or sets the run time ticks. + */ + void setRunTimeTicks(std::optional newRunTimeTicks); + bool runTimeTicksNull() const; + void setRunTimeTicksNull(); + + + QSharedPointer programInfo() const; + + void setProgramInfo(QSharedPointer newProgramInfo); + + +protected: + QString m_jellyfinId; + QString m_type; + QString m_serverId; + QString m_externalId; + QString m_channelId; + QString m_externalChannelId; + QString m_channelName; + QString m_channelPrimaryImageTag; + QString m_programId; + QString m_externalProgramId; + QString m_name; + QString m_overview; + QDateTime m_startDate; + QDateTime m_endDate; + QString m_serviceName; + qint32 m_priority; + qint32 m_prePaddingSeconds; + qint32 m_postPaddingSeconds; + bool m_isPrePaddingRequired; + QString m_parentBackdropItemId; + QStringList m_parentBackdropImageTags; + bool m_isPostPaddingRequired; + KeepUntil m_keepUntil; + RecordingStatus m_status; + QString m_seriesTimerId; + QString m_externalSeriesTimerId; + std::optional m_runTimeTicks = std::nullopt; + QSharedPointer m_programInfo = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TIMERINFODTO_H diff --git a/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h b/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h new file mode 100644 index 0000000..bebb1e8 --- /dev/null +++ b/core/include/JellyfinQt/dto/timerinfodtoqueryresult.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TIMERINFODTOQUERYRESULT_H +#define JELLYFIN_DTO_TIMERINFODTOQUERYRESULT_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/timerinfodto.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TimerInfoDtoQueryResult { +public: + TimerInfoDtoQueryResult(); + TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TimerInfoDtoQueryResult &other); + + static TimerInfoDtoQueryResult fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the items. + */ + QList> items() const; + /** + * @brief Gets or sets the items. + */ + void setItems(QList> newItems); + bool itemsNull() const; + void setItemsNull(); + + /** + * @brief The total number of records available. + */ + qint32 totalRecordCount() const; + /** + * @brief The total number of records available. + */ + void setTotalRecordCount(qint32 newTotalRecordCount); + + /** + * @brief The index of the first record in Items. + */ + qint32 startIndex() const; + /** + * @brief The index of the first record in Items. + */ + void setStartIndex(qint32 newStartIndex); + + +protected: + QList> m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TIMERINFODTOQUERYRESULT_H diff --git a/core/include/JellyfinQt/dto/trailerinfo.h b/core/include/JellyfinQt/dto/trailerinfo.h new file mode 100644 index 0000000..9023b9c --- /dev/null +++ b/core/include/JellyfinQt/dto/trailerinfo.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRAILERINFO_H +#define JELLYFIN_DTO_TRAILERINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TrailerInfo { +public: + TrailerInfo(); + TrailerInfo(const TrailerInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TrailerInfo &other); + + static TrailerInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets the metadata language. + */ + QString metadataLanguage() const; + /** + * @brief Gets or sets the metadata language. + */ + void setMetadataLanguage(QString newMetadataLanguage); + bool metadataLanguageNull() const; + void setMetadataLanguageNull(); + + /** + * @brief Gets or sets the metadata country code. + */ + QString metadataCountryCode() const; + /** + * @brief Gets or sets the metadata country code. + */ + void setMetadataCountryCode(QString newMetadataCountryCode); + bool metadataCountryCodeNull() const; + void setMetadataCountryCodeNull(); + + /** + * @brief Gets or sets the provider ids. + */ + std::optional providerIds() const; + /** + * @brief Gets or sets the provider ids. + */ + void setProviderIds(std::optional newProviderIds); + bool providerIdsNull() const; + void setProviderIdsNull(); + + /** + * @brief Gets or sets the year. + */ + std::optional year() const; + /** + * @brief Gets or sets the year. + */ + void setYear(std::optional newYear); + bool yearNull() const; + void setYearNull(); + + + std::optional indexNumber() const; + + void setIndexNumber(std::optional newIndexNumber); + bool indexNumberNull() const; + void setIndexNumberNull(); + + + std::optional parentIndexNumber() const; + + void setParentIndexNumber(std::optional newParentIndexNumber); + bool parentIndexNumberNull() const; + void setParentIndexNumberNull(); + + + QDateTime premiereDate() const; + + void setPremiereDate(QDateTime newPremiereDate); + bool premiereDateNull() const; + void setPremiereDateNull(); + + + bool isAutomated() const; + + void setIsAutomated(bool newIsAutomated); + + +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + std::optional m_providerIds = std::nullopt; + std::optional m_year = std::nullopt; + std::optional m_indexNumber = std::nullopt; + std::optional m_parentIndexNumber = std::nullopt; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRAILERINFO_H diff --git a/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h b/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h new file mode 100644 index 0000000..71b8d7d --- /dev/null +++ b/core/include/JellyfinQt/dto/trailerinforemotesearchquery.h @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRAILERINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_TRAILERINFOREMOTESEARCHQUERY_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/trailerinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TrailerInfoRemoteSearchQuery { +public: + TrailerInfoRemoteSearchQuery(); + TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TrailerInfoRemoteSearchQuery &other); + + static TrailerInfoRemoteSearchQuery fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QSharedPointer searchInfo() const; + + void setSearchInfo(QSharedPointer newSearchInfo); + + + QString itemId() const; + + void setItemId(QString newItemId); + + /** + * @brief Will only search within the given provider when set. + */ + QString searchProviderName() const; + /** + * @brief Will only search within the given provider when set. + */ + void setSearchProviderName(QString newSearchProviderName); + bool searchProviderNameNull() const; + void setSearchProviderNameNull(); + + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + bool includeDisabledProviders() const; + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + + +protected: + QSharedPointer m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRAILERINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/dto/transcodereason.h b/core/include/JellyfinQt/dto/transcodereason.h new file mode 100644 index 0000000..fa92010 --- /dev/null +++ b/core/include/JellyfinQt/dto/transcodereason.h @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSCODEREASON_H +#define JELLYFIN_DTO_TRANSCODEREASON_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class TranscodeReasonClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + ContainerNotSupported, + VideoCodecNotSupported, + AudioCodecNotSupported, + ContainerBitrateExceedsLimit, + AudioBitrateNotSupported, + AudioChannelsNotSupported, + VideoResolutionNotSupported, + UnknownVideoStreamInfo, + UnknownAudioStreamInfo, + AudioProfileNotSupported, + AudioSampleRateNotSupported, + AnamorphicVideoNotSupported, + InterlacedVideoNotSupported, + SecondaryAudioNotSupported, + RefFramesNotSupported, + VideoBitDepthNotSupported, + VideoBitrateNotSupported, + VideoFramerateNotSupported, + VideoLevelNotSupported, + VideoProfileNotSupported, + AudioBitDepthNotSupported, + SubtitleCodecNotSupported, + DirectPlayError, + }; + Q_ENUM(Value) +private: + explicit TranscodeReasonClass(); +}; + +typedef TranscodeReasonClass::Value TranscodeReason; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRANSCODEREASON_H diff --git a/core/include/JellyfinQt/dto/transcodeseekinfo.h b/core/include/JellyfinQt/dto/transcodeseekinfo.h new file mode 100644 index 0000000..d08a4ae --- /dev/null +++ b/core/include/JellyfinQt/dto/transcodeseekinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSCODESEEKINFO_H +#define JELLYFIN_DTO_TRANSCODESEEKINFO_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class TranscodeSeekInfoClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Auto, + Bytes, + }; + Q_ENUM(Value) +private: + explicit TranscodeSeekInfoClass(); +}; + +typedef TranscodeSeekInfoClass::Value TranscodeSeekInfo; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRANSCODESEEKINFO_H diff --git a/core/include/JellyfinQt/dto/transcodinginfo.h b/core/include/JellyfinQt/dto/transcodinginfo.h new file mode 100644 index 0000000..d45a483 --- /dev/null +++ b/core/include/JellyfinQt/dto/transcodinginfo.h @@ -0,0 +1,161 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSCODINGINFO_H +#define JELLYFIN_DTO_TRANSCODINGINFO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/transcodereason.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TranscodingInfo { +public: + TranscodingInfo(); + TranscodingInfo(const TranscodingInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TranscodingInfo &other); + + static TranscodingInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString audioCodec() const; + + void setAudioCodec(QString newAudioCodec); + bool audioCodecNull() const; + void setAudioCodecNull(); + + + QString videoCodec() const; + + void setVideoCodec(QString newVideoCodec); + bool videoCodecNull() const; + void setVideoCodecNull(); + + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + bool isVideoDirect() const; + + void setIsVideoDirect(bool newIsVideoDirect); + + + bool isAudioDirect() const; + + void setIsAudioDirect(bool newIsAudioDirect); + + + std::optional bitrate() const; + + void setBitrate(std::optional newBitrate); + bool bitrateNull() const; + void setBitrateNull(); + + + std::optional framerate() const; + + void setFramerate(std::optional newFramerate); + bool framerateNull() const; + void setFramerateNull(); + + + std::optional completionPercentage() const; + + void setCompletionPercentage(std::optional newCompletionPercentage); + bool completionPercentageNull() const; + void setCompletionPercentageNull(); + + + std::optional width() const; + + void setWidth(std::optional newWidth); + bool widthNull() const; + void setWidthNull(); + + + std::optional height() const; + + void setHeight(std::optional newHeight); + bool heightNull() const; + void setHeightNull(); + + + std::optional audioChannels() const; + + void setAudioChannels(std::optional newAudioChannels); + bool audioChannelsNull() const; + void setAudioChannelsNull(); + + + QList transcodeReasons() const; + + void setTranscodeReasons(QList newTranscodeReasons); + bool transcodeReasonsNull() const; + void setTranscodeReasonsNull(); + + +protected: + QString m_audioCodec; + QString m_videoCodec; + QString m_container; + bool m_isVideoDirect; + bool m_isAudioDirect; + std::optional m_bitrate = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_completionPercentage = std::nullopt; + std::optional m_width = std::nullopt; + std::optional m_height = std::nullopt; + std::optional m_audioChannels = std::nullopt; + QList m_transcodeReasons; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRANSCODINGINFO_H diff --git a/core/include/JellyfinQt/dto/transcodingprofile.h b/core/include/JellyfinQt/dto/transcodingprofile.h new file mode 100644 index 0000000..f412888 --- /dev/null +++ b/core/include/JellyfinQt/dto/transcodingprofile.h @@ -0,0 +1,169 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSCODINGPROFILE_H +#define JELLYFIN_DTO_TRANSCODINGPROFILE_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/dlnaprofiletype.h" +#include "JellyfinQt/dto/encodingcontext.h" +#include "JellyfinQt/dto/transcodeseekinfo.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TranscodingProfile { +public: + TranscodingProfile(); + TranscodingProfile(const TranscodingProfile &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TranscodingProfile &other); + + static TranscodingProfile fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString container() const; + + void setContainer(QString newContainer); + bool containerNull() const; + void setContainerNull(); + + + DlnaProfileType type() const; + + void setType(DlnaProfileType newType); + + + QString videoCodec() const; + + void setVideoCodec(QString newVideoCodec); + bool videoCodecNull() const; + void setVideoCodecNull(); + + + QString audioCodec() const; + + void setAudioCodec(QString newAudioCodec); + bool audioCodecNull() const; + void setAudioCodecNull(); + + + QString protocol() const; + + void setProtocol(QString newProtocol); + bool protocolNull() const; + void setProtocolNull(); + + + bool estimateContentLength() const; + + void setEstimateContentLength(bool newEstimateContentLength); + + + bool enableMpegtsM2TsMode() const; + + void setEnableMpegtsM2TsMode(bool newEnableMpegtsM2TsMode); + + + TranscodeSeekInfo transcodeSeekInfo() const; + + void setTranscodeSeekInfo(TranscodeSeekInfo newTranscodeSeekInfo); + + + bool copyTimestamps() const; + + void setCopyTimestamps(bool newCopyTimestamps); + + + EncodingContext context() const; + + void setContext(EncodingContext newContext); + + + bool enableSubtitlesInManifest() const; + + void setEnableSubtitlesInManifest(bool newEnableSubtitlesInManifest); + + + QString maxAudioChannels() const; + + void setMaxAudioChannels(QString newMaxAudioChannels); + bool maxAudioChannelsNull() const; + void setMaxAudioChannelsNull(); + + + qint32 minSegments() const; + + void setMinSegments(qint32 newMinSegments); + + + qint32 segmentLength() const; + + void setSegmentLength(qint32 newSegmentLength); + + + bool breakOnNonKeyFrames() const; + + void setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames); + + +protected: + QString m_container; + DlnaProfileType m_type; + QString m_videoCodec; + QString m_audioCodec; + QString m_protocol; + bool m_estimateContentLength; + bool m_enableMpegtsM2TsMode; + TranscodeSeekInfo m_transcodeSeekInfo; + bool m_copyTimestamps; + EncodingContext m_context; + bool m_enableSubtitlesInManifest; + QString m_maxAudioChannels; + qint32 m_minSegments; + qint32 m_segmentLength; + bool m_breakOnNonKeyFrames; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRANSCODINGPROFILE_H diff --git a/core/include/JellyfinQt/dto/transportstreamtimestamp.h b/core/include/JellyfinQt/dto/transportstreamtimestamp.h new file mode 100644 index 0000000..984bc2a --- /dev/null +++ b/core/include/JellyfinQt/dto/transportstreamtimestamp.h @@ -0,0 +1,61 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSPORTSTREAMTIMESTAMP_H +#define JELLYFIN_DTO_TRANSPORTSTREAMTIMESTAMP_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class TransportStreamTimestampClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + None, + Zero, + Valid, + }; + Q_ENUM(Value) +private: + explicit TransportStreamTimestampClass(); +}; + +typedef TransportStreamTimestampClass::Value TransportStreamTimestamp; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TRANSPORTSTREAMTIMESTAMP_H diff --git a/core/include/JellyfinQt/dto/tunerchannelmapping.h b/core/include/JellyfinQt/dto/tunerchannelmapping.h new file mode 100644 index 0000000..34bbbc9 --- /dev/null +++ b/core/include/JellyfinQt/dto/tunerchannelmapping.h @@ -0,0 +1,98 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TUNERCHANNELMAPPING_H +#define JELLYFIN_DTO_TUNERCHANNELMAPPING_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TunerChannelMapping { +public: + TunerChannelMapping(); + TunerChannelMapping(const TunerChannelMapping &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TunerChannelMapping &other); + + static TunerChannelMapping fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString name() const; + + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + + QString providerChannelName() const; + + void setProviderChannelName(QString newProviderChannelName); + bool providerChannelNameNull() const; + void setProviderChannelNameNull(); + + + QString providerChannelId() const; + + void setProviderChannelId(QString newProviderChannelId); + bool providerChannelIdNull() const; + void setProviderChannelIdNull(); + + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + +protected: + QString m_name; + QString m_providerChannelName; + QString m_providerChannelId; + QString m_jellyfinId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TUNERCHANNELMAPPING_H diff --git a/core/include/JellyfinQt/dto/tunerhostinfo.h b/core/include/JellyfinQt/dto/tunerhostinfo.h new file mode 100644 index 0000000..47ce9db --- /dev/null +++ b/core/include/JellyfinQt/dto/tunerhostinfo.h @@ -0,0 +1,146 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TUNERHOSTINFO_H +#define JELLYFIN_DTO_TUNERHOSTINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TunerHostInfo { +public: + TunerHostInfo(); + TunerHostInfo(const TunerHostInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TunerHostInfo &other); + + static TunerHostInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString jellyfinId() const; + + void setJellyfinId(QString newJellyfinId); + bool jellyfinIdNull() const; + void setJellyfinIdNull(); + + + QString url() const; + + void setUrl(QString newUrl); + bool urlNull() const; + void setUrlNull(); + + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + QString deviceId() const; + + void setDeviceId(QString newDeviceId); + bool deviceIdNull() const; + void setDeviceIdNull(); + + + QString friendlyName() const; + + void setFriendlyName(QString newFriendlyName); + bool friendlyNameNull() const; + void setFriendlyNameNull(); + + + bool importFavoritesOnly() const; + + void setImportFavoritesOnly(bool newImportFavoritesOnly); + + + bool allowHWTranscoding() const; + + void setAllowHWTranscoding(bool newAllowHWTranscoding); + + + bool enableStreamLooping() const; + + void setEnableStreamLooping(bool newEnableStreamLooping); + + + QString source() const; + + void setSource(QString newSource); + bool sourceNull() const; + void setSourceNull(); + + + qint32 tunerCount() const; + + void setTunerCount(qint32 newTunerCount); + + + QString userAgent() const; + + void setUserAgent(QString newUserAgent); + bool userAgentNull() const; + void setUserAgentNull(); + + +protected: + QString m_jellyfinId; + QString m_url; + QString m_type; + QString m_deviceId; + QString m_friendlyName; + bool m_importFavoritesOnly; + bool m_allowHWTranscoding; + bool m_enableStreamLooping; + QString m_source; + qint32 m_tunerCount; + QString m_userAgent; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TUNERHOSTINFO_H diff --git a/core/include/JellyfinQt/dto/typeoptions.h b/core/include/JellyfinQt/dto/typeoptions.h new file mode 100644 index 0000000..9d348ec --- /dev/null +++ b/core/include/JellyfinQt/dto/typeoptions.h @@ -0,0 +1,118 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TYPEOPTIONS_H +#define JELLYFIN_DTO_TYPEOPTIONS_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/imageoption.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class TypeOptions { +public: + TypeOptions(); + TypeOptions(const TypeOptions &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(TypeOptions &other); + + static TypeOptions fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + QString type() const; + + void setType(QString newType); + bool typeNull() const; + void setTypeNull(); + + + QStringList metadataFetchers() const; + + void setMetadataFetchers(QStringList newMetadataFetchers); + bool metadataFetchersNull() const; + void setMetadataFetchersNull(); + + + QStringList metadataFetcherOrder() const; + + void setMetadataFetcherOrder(QStringList newMetadataFetcherOrder); + bool metadataFetcherOrderNull() const; + void setMetadataFetcherOrderNull(); + + + QStringList imageFetchers() const; + + void setImageFetchers(QStringList newImageFetchers); + bool imageFetchersNull() const; + void setImageFetchersNull(); + + + QStringList imageFetcherOrder() const; + + void setImageFetcherOrder(QStringList newImageFetcherOrder); + bool imageFetcherOrderNull() const; + void setImageFetcherOrderNull(); + + + QList> imageOptions() const; + + void setImageOptions(QList> newImageOptions); + bool imageOptionsNull() const; + void setImageOptionsNull(); + + +protected: + QString m_type; + QStringList m_metadataFetchers; + QStringList m_metadataFetcherOrder; + QStringList m_imageFetchers; + QStringList m_imageFetcherOrder; + QList> m_imageOptions; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_TYPEOPTIONS_H diff --git a/core/include/JellyfinQt/dto/unrateditem.h b/core/include/JellyfinQt/dto/unrateditem.h new file mode 100644 index 0000000..b24b33c --- /dev/null +++ b/core/include/JellyfinQt/dto/unrateditem.h @@ -0,0 +1,67 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UNRATEDITEM_H +#define JELLYFIN_DTO_UNRATEDITEM_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class UnratedItemClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + Movie, + Trailer, + Series, + Music, + Book, + LiveTvChannel, + LiveTvProgram, + ChannelContent, + Other, + }; + Q_ENUM(Value) +private: + explicit UnratedItemClass(); +}; + +typedef UnratedItemClass::Value UnratedItem; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UNRATEDITEM_H diff --git a/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h b/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h new file mode 100644 index 0000000..720b268 --- /dev/null +++ b/core/include/JellyfinQt/dto/updatelibraryoptionsdto.h @@ -0,0 +1,84 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UPDATELIBRARYOPTIONSDTO_H +#define JELLYFIN_DTO_UPDATELIBRARYOPTIONSDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/libraryoptions.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UpdateLibraryOptionsDto { +public: + UpdateLibraryOptionsDto(); + UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UpdateLibraryOptionsDto &other); + + static UpdateLibraryOptionsDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the library item id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the library item id. + */ + void setJellyfinId(QString newJellyfinId); + + + QSharedPointer libraryOptions() const; + + void setLibraryOptions(QSharedPointer newLibraryOptions); + + +protected: + QString m_jellyfinId; + QSharedPointer m_libraryOptions = nullptr; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UPDATELIBRARYOPTIONSDTO_H diff --git a/core/include/JellyfinQt/dto/updateusereasypassword.h b/core/include/JellyfinQt/dto/updateusereasypassword.h new file mode 100644 index 0000000..691a751 --- /dev/null +++ b/core/include/JellyfinQt/dto/updateusereasypassword.h @@ -0,0 +1,100 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UPDATEUSEREASYPASSWORD_H +#define JELLYFIN_DTO_UPDATEUSEREASYPASSWORD_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UpdateUserEasyPassword { +public: + UpdateUserEasyPassword(); + UpdateUserEasyPassword(const UpdateUserEasyPassword &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UpdateUserEasyPassword &other); + + static UpdateUserEasyPassword fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the new sha1-hashed password. + */ + QString newPassword() const; + /** + * @brief Gets or sets the new sha1-hashed password. + */ + void setNewPassword(QString newNewPassword); + bool newPasswordNull() const; + void setNewPasswordNull(); + + /** + * @brief Gets or sets the new password. + */ + QString newPw() const; + /** + * @brief Gets or sets the new password. + */ + void setNewPw(QString newNewPw); + bool newPwNull() const; + void setNewPwNull(); + + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + bool resetPassword() const; + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + void setResetPassword(bool newResetPassword); + + +protected: + QString m_newPassword; + QString m_newPw; + bool m_resetPassword; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UPDATEUSEREASYPASSWORD_H diff --git a/core/include/JellyfinQt/dto/updateuserpassword.h b/core/include/JellyfinQt/dto/updateuserpassword.h new file mode 100644 index 0000000..e02c6d9 --- /dev/null +++ b/core/include/JellyfinQt/dto/updateuserpassword.h @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UPDATEUSERPASSWORD_H +#define JELLYFIN_DTO_UPDATEUSERPASSWORD_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UpdateUserPassword { +public: + UpdateUserPassword(); + UpdateUserPassword(const UpdateUserPassword &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UpdateUserPassword &other); + + static UpdateUserPassword fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the current sha1-hashed password. + */ + QString currentPassword() const; + /** + * @brief Gets or sets the current sha1-hashed password. + */ + void setCurrentPassword(QString newCurrentPassword); + bool currentPasswordNull() const; + void setCurrentPasswordNull(); + + /** + * @brief Gets or sets the current plain text password. + */ + QString currentPw() const; + /** + * @brief Gets or sets the current plain text password. + */ + void setCurrentPw(QString newCurrentPw); + bool currentPwNull() const; + void setCurrentPwNull(); + + /** + * @brief Gets or sets the new plain text password. + */ + QString newPw() const; + /** + * @brief Gets or sets the new plain text password. + */ + void setNewPw(QString newNewPw); + bool newPwNull() const; + void setNewPwNull(); + + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + bool resetPassword() const; + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + void setResetPassword(bool newResetPassword); + + +protected: + QString m_currentPassword; + QString m_currentPw; + QString m_newPw; + bool m_resetPassword; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UPDATEUSERPASSWORD_H diff --git a/core/include/JellyfinQt/dto/uploadsubtitledto.h b/core/include/JellyfinQt/dto/uploadsubtitledto.h new file mode 100644 index 0000000..959ab56 --- /dev/null +++ b/core/include/JellyfinQt/dto/uploadsubtitledto.h @@ -0,0 +1,106 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UPLOADSUBTITLEDTO_H +#define JELLYFIN_DTO_UPLOADSUBTITLEDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UploadSubtitleDto { +public: + UploadSubtitleDto(); + UploadSubtitleDto(const UploadSubtitleDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UploadSubtitleDto &other); + + static UploadSubtitleDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the subtitle language. + */ + QString language() const; + /** + * @brief Gets or sets the subtitle language. + */ + void setLanguage(QString newLanguage); + + /** + * @brief Gets or sets the subtitle format. + */ + QString format() const; + /** + * @brief Gets or sets the subtitle format. + */ + void setFormat(QString newFormat); + + /** + * @brief Gets or sets a value indicating whether the subtitle is forced. + */ + bool isForced() const; + /** + * @brief Gets or sets a value indicating whether the subtitle is forced. + */ + void setIsForced(bool newIsForced); + + /** + * @brief Gets or sets the subtitle data. + */ + QString data() const; + /** + * @brief Gets or sets the subtitle data. + */ + void setData(QString newData); + + +protected: + QString m_language; + QString m_format; + bool m_isForced; + QString m_data; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UPLOADSUBTITLEDTO_H diff --git a/core/include/JellyfinQt/dto/userconfiguration.h b/core/include/JellyfinQt/dto/userconfiguration.h new file mode 100644 index 0000000..b1f9f81 --- /dev/null +++ b/core/include/JellyfinQt/dto/userconfiguration.h @@ -0,0 +1,183 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_USERCONFIGURATION_H +#define JELLYFIN_DTO_USERCONFIGURATION_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/subtitleplaybackmode.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UserConfiguration { +public: + UserConfiguration(); + UserConfiguration(const UserConfiguration &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UserConfiguration &other); + + static UserConfiguration fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the audio language preference. + */ + QString audioLanguagePreference() const; + /** + * @brief Gets or sets the audio language preference. + */ + void setAudioLanguagePreference(QString newAudioLanguagePreference); + bool audioLanguagePreferenceNull() const; + void setAudioLanguagePreferenceNull(); + + /** + * @brief Gets or sets a value indicating whether [play default audio track]. + */ + bool playDefaultAudioTrack() const; + /** + * @brief Gets or sets a value indicating whether [play default audio track]. + */ + void setPlayDefaultAudioTrack(bool newPlayDefaultAudioTrack); + + /** + * @brief Gets or sets the subtitle language preference. + */ + QString subtitleLanguagePreference() const; + /** + * @brief Gets or sets the subtitle language preference. + */ + void setSubtitleLanguagePreference(QString newSubtitleLanguagePreference); + bool subtitleLanguagePreferenceNull() const; + void setSubtitleLanguagePreferenceNull(); + + + bool displayMissingEpisodes() const; + + void setDisplayMissingEpisodes(bool newDisplayMissingEpisodes); + + + QStringList groupedFolders() const; + + void setGroupedFolders(QStringList newGroupedFolders); + bool groupedFoldersNull() const; + void setGroupedFoldersNull(); + + + SubtitlePlaybackMode subtitleMode() const; + + void setSubtitleMode(SubtitlePlaybackMode newSubtitleMode); + + + bool displayCollectionsView() const; + + void setDisplayCollectionsView(bool newDisplayCollectionsView); + + + bool enableLocalPassword() const; + + void setEnableLocalPassword(bool newEnableLocalPassword); + + + QStringList orderedViews() const; + + void setOrderedViews(QStringList newOrderedViews); + bool orderedViewsNull() const; + void setOrderedViewsNull(); + + + QStringList latestItemsExcludes() const; + + void setLatestItemsExcludes(QStringList newLatestItemsExcludes); + bool latestItemsExcludesNull() const; + void setLatestItemsExcludesNull(); + + + QStringList myMediaExcludes() const; + + void setMyMediaExcludes(QStringList newMyMediaExcludes); + bool myMediaExcludesNull() const; + void setMyMediaExcludesNull(); + + + bool hidePlayedInLatest() const; + + void setHidePlayedInLatest(bool newHidePlayedInLatest); + + + bool rememberAudioSelections() const; + + void setRememberAudioSelections(bool newRememberAudioSelections); + + + bool rememberSubtitleSelections() const; + + void setRememberSubtitleSelections(bool newRememberSubtitleSelections); + + + bool enableNextEpisodeAutoPlay() const; + + void setEnableNextEpisodeAutoPlay(bool newEnableNextEpisodeAutoPlay); + + +protected: + QString m_audioLanguagePreference; + bool m_playDefaultAudioTrack; + QString m_subtitleLanguagePreference; + bool m_displayMissingEpisodes; + QStringList m_groupedFolders; + SubtitlePlaybackMode m_subtitleMode; + bool m_displayCollectionsView; + bool m_enableLocalPassword; + QStringList m_orderedViews; + QStringList m_latestItemsExcludes; + QStringList m_myMediaExcludes; + bool m_hidePlayedInLatest; + bool m_rememberAudioSelections; + bool m_rememberSubtitleSelections; + bool m_enableNextEpisodeAutoPlay; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_USERCONFIGURATION_H diff --git a/core/include/JellyfinQt/dto/userdto.h b/core/include/JellyfinQt/dto/userdto.h new file mode 100644 index 0000000..4a1043e --- /dev/null +++ b/core/include/JellyfinQt/dto/userdto.h @@ -0,0 +1,220 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_USERDTO_H +#define JELLYFIN_DTO_USERDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/userconfiguration.h" +#include "JellyfinQt/dto/userpolicy.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UserDto { +public: + UserDto(); + UserDto(const UserDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UserDto &other); + + static UserDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the server identifier. + */ + QString serverId() const; + /** + * @brief Gets or sets the server identifier. + */ + void setServerId(QString newServerId); + bool serverIdNull() const; + void setServerIdNull(); + + /** + * @brief Gets or sets the name of the server. +This is not used by the server and is for client-side usage only. + */ + QString serverName() const; + /** + * @brief Gets or sets the name of the server. +This is not used by the server and is for client-side usage only. + */ + void setServerName(QString newServerName); + bool serverNameNull() const; + void setServerNameNull(); + + /** + * @brief Gets or sets the id. + */ + QString jellyfinId() const; + /** + * @brief Gets or sets the id. + */ + void setJellyfinId(QString newJellyfinId); + + /** + * @brief Gets or sets the primary image tag. + */ + QString primaryImageTag() const; + /** + * @brief Gets or sets the primary image tag. + */ + void setPrimaryImageTag(QString newPrimaryImageTag); + bool primaryImageTagNull() const; + void setPrimaryImageTagNull(); + + /** + * @brief Gets or sets a value indicating whether this instance has password. + */ + bool hasPassword() const; + /** + * @brief Gets or sets a value indicating whether this instance has password. + */ + void setHasPassword(bool newHasPassword); + + /** + * @brief Gets or sets a value indicating whether this instance has configured password. + */ + bool hasConfiguredPassword() const; + /** + * @brief Gets or sets a value indicating whether this instance has configured password. + */ + void setHasConfiguredPassword(bool newHasConfiguredPassword); + + /** + * @brief Gets or sets a value indicating whether this instance has configured easy password. + */ + bool hasConfiguredEasyPassword() const; + /** + * @brief Gets or sets a value indicating whether this instance has configured easy password. + */ + void setHasConfiguredEasyPassword(bool newHasConfiguredEasyPassword); + + /** + * @brief Gets or sets whether async login is enabled or not. + */ + std::optional enableAutoLogin() const; + /** + * @brief Gets or sets whether async login is enabled or not. + */ + void setEnableAutoLogin(std::optional newEnableAutoLogin); + bool enableAutoLoginNull() const; + void setEnableAutoLoginNull(); + + /** + * @brief Gets or sets the last login date. + */ + QDateTime lastLoginDate() const; + /** + * @brief Gets or sets the last login date. + */ + void setLastLoginDate(QDateTime newLastLoginDate); + bool lastLoginDateNull() const; + void setLastLoginDateNull(); + + /** + * @brief Gets or sets the last activity date. + */ + QDateTime lastActivityDate() const; + /** + * @brief Gets or sets the last activity date. + */ + void setLastActivityDate(QDateTime newLastActivityDate); + bool lastActivityDateNull() const; + void setLastActivityDateNull(); + + + QSharedPointer configuration() const; + + void setConfiguration(QSharedPointer newConfiguration); + + + QSharedPointer policy() const; + + void setPolicy(QSharedPointer newPolicy); + + /** + * @brief Gets or sets the primary image aspect ratio. + */ + std::optional primaryImageAspectRatio() const; + /** + * @brief Gets or sets the primary image aspect ratio. + */ + void setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio); + bool primaryImageAspectRatioNull() const; + void setPrimaryImageAspectRatioNull(); + + +protected: + QString m_name; + QString m_serverId; + QString m_serverName; + QString m_jellyfinId; + QString m_primaryImageTag; + bool m_hasPassword; + bool m_hasConfiguredPassword; + bool m_hasConfiguredEasyPassword; + std::optional m_enableAutoLogin = std::nullopt; + QDateTime m_lastLoginDate; + QDateTime m_lastActivityDate; + QSharedPointer m_configuration = nullptr; + QSharedPointer m_policy = nullptr; + std::optional m_primaryImageAspectRatio = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_USERDTO_H diff --git a/core/include/JellyfinQt/dto/useritemdatadto.h b/core/include/JellyfinQt/dto/useritemdatadto.h new file mode 100644 index 0000000..7a2715a --- /dev/null +++ b/core/include/JellyfinQt/dto/useritemdatadto.h @@ -0,0 +1,191 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_USERITEMDATADTO_H +#define JELLYFIN_DTO_USERITEMDATADTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UserItemDataDto { +public: + UserItemDataDto(); + UserItemDataDto(const UserItemDataDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UserItemDataDto &other); + + static UserItemDataDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the rating. + */ + std::optional rating() const; + /** + * @brief Gets or sets the rating. + */ + void setRating(std::optional newRating); + bool ratingNull() const; + void setRatingNull(); + + /** + * @brief Gets or sets the played percentage. + */ + std::optional playedPercentage() const; + /** + * @brief Gets or sets the played percentage. + */ + void setPlayedPercentage(std::optional newPlayedPercentage); + bool playedPercentageNull() const; + void setPlayedPercentageNull(); + + /** + * @brief Gets or sets the unplayed item count. + */ + std::optional unplayedItemCount() const; + /** + * @brief Gets or sets the unplayed item count. + */ + void setUnplayedItemCount(std::optional newUnplayedItemCount); + bool unplayedItemCountNull() const; + void setUnplayedItemCountNull(); + + /** + * @brief Gets or sets the playback position ticks. + */ + qint64 playbackPositionTicks() const; + /** + * @brief Gets or sets the playback position ticks. + */ + void setPlaybackPositionTicks(qint64 newPlaybackPositionTicks); + + /** + * @brief Gets or sets the play count. + */ + qint32 playCount() const; + /** + * @brief Gets or sets the play count. + */ + void setPlayCount(qint32 newPlayCount); + + /** + * @brief Gets or sets a value indicating whether this instance is favorite. + */ + bool isFavorite() const; + /** + * @brief Gets or sets a value indicating whether this instance is favorite. + */ + void setIsFavorite(bool newIsFavorite); + + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. + */ + std::optional likes() const; + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. + */ + void setLikes(std::optional newLikes); + bool likesNull() const; + void setLikesNull(); + + /** + * @brief Gets or sets the last played date. + */ + QDateTime lastPlayedDate() const; + /** + * @brief Gets or sets the last played date. + */ + void setLastPlayedDate(QDateTime newLastPlayedDate); + bool lastPlayedDateNull() const; + void setLastPlayedDateNull(); + + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. + */ + bool played() const; + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. + */ + void setPlayed(bool newPlayed); + + /** + * @brief Gets or sets the key. + */ + QString key() const; + /** + * @brief Gets or sets the key. + */ + void setKey(QString newKey); + bool keyNull() const; + void setKeyNull(); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + bool itemIdNull() const; + void setItemIdNull(); + + +protected: + std::optional m_rating = std::nullopt; + std::optional m_playedPercentage = std::nullopt; + std::optional m_unplayedItemCount = std::nullopt; + qint64 m_playbackPositionTicks; + qint32 m_playCount; + bool m_isFavorite; + std::optional m_likes = std::nullopt; + QDateTime m_lastPlayedDate; + bool m_played; + QString m_key; + QString m_itemId; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_USERITEMDATADTO_H diff --git a/core/include/JellyfinQt/dto/userpolicy.h b/core/include/JellyfinQt/dto/userpolicy.h new file mode 100644 index 0000000..88381a9 --- /dev/null +++ b/core/include/JellyfinQt/dto/userpolicy.h @@ -0,0 +1,350 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_USERPOLICY_H +#define JELLYFIN_DTO_USERPOLICY_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/accessschedule.h" +#include "JellyfinQt/dto/syncplayuseraccesstype.h" +#include "JellyfinQt/dto/unrateditem.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UserPolicy { +public: + UserPolicy(); + UserPolicy(const UserPolicy &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UserPolicy &other); + + static UserPolicy fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether this instance is administrator. + */ + bool isAdministrator() const; + /** + * @brief Gets or sets a value indicating whether this instance is administrator. + */ + void setIsAdministrator(bool newIsAdministrator); + + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + bool isHidden() const; + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + void setIsHidden(bool newIsHidden); + + /** + * @brief Gets or sets a value indicating whether this instance is disabled. + */ + bool isDisabled() const; + /** + * @brief Gets or sets a value indicating whether this instance is disabled. + */ + void setIsDisabled(bool newIsDisabled); + + /** + * @brief Gets or sets the max parental rating. + */ + std::optional maxParentalRating() const; + /** + * @brief Gets or sets the max parental rating. + */ + void setMaxParentalRating(std::optional newMaxParentalRating); + bool maxParentalRatingNull() const; + void setMaxParentalRatingNull(); + + + QStringList blockedTags() const; + + void setBlockedTags(QStringList newBlockedTags); + bool blockedTagsNull() const; + void setBlockedTagsNull(); + + + bool enableUserPreferenceAccess() const; + + void setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess); + + + QList> accessSchedules() const; + + void setAccessSchedules(QList> newAccessSchedules); + bool accessSchedulesNull() const; + void setAccessSchedulesNull(); + + + QList blockUnratedItems() const; + + void setBlockUnratedItems(QList newBlockUnratedItems); + bool blockUnratedItemsNull() const; + void setBlockUnratedItemsNull(); + + + bool enableRemoteControlOfOtherUsers() const; + + void setEnableRemoteControlOfOtherUsers(bool newEnableRemoteControlOfOtherUsers); + + + bool enableSharedDeviceControl() const; + + void setEnableSharedDeviceControl(bool newEnableSharedDeviceControl); + + + bool enableRemoteAccess() const; + + void setEnableRemoteAccess(bool newEnableRemoteAccess); + + + bool enableLiveTvManagement() const; + + void setEnableLiveTvManagement(bool newEnableLiveTvManagement); + + + bool enableLiveTvAccess() const; + + void setEnableLiveTvAccess(bool newEnableLiveTvAccess); + + + bool enableMediaPlayback() const; + + void setEnableMediaPlayback(bool newEnableMediaPlayback); + + + bool enableAudioPlaybackTranscoding() const; + + void setEnableAudioPlaybackTranscoding(bool newEnableAudioPlaybackTranscoding); + + + bool enableVideoPlaybackTranscoding() const; + + void setEnableVideoPlaybackTranscoding(bool newEnableVideoPlaybackTranscoding); + + + bool enablePlaybackRemuxing() const; + + void setEnablePlaybackRemuxing(bool newEnablePlaybackRemuxing); + + + bool forceRemoteSourceTranscoding() const; + + void setForceRemoteSourceTranscoding(bool newForceRemoteSourceTranscoding); + + + bool enableContentDeletion() const; + + void setEnableContentDeletion(bool newEnableContentDeletion); + + + QStringList enableContentDeletionFromFolders() const; + + void setEnableContentDeletionFromFolders(QStringList newEnableContentDeletionFromFolders); + bool enableContentDeletionFromFoldersNull() const; + void setEnableContentDeletionFromFoldersNull(); + + + bool enableContentDownloading() const; + + void setEnableContentDownloading(bool newEnableContentDownloading); + + /** + * @brief Gets or sets a value indicating whether [enable synchronize]. + */ + bool enableSyncTranscoding() const; + /** + * @brief Gets or sets a value indicating whether [enable synchronize]. + */ + void setEnableSyncTranscoding(bool newEnableSyncTranscoding); + + + bool enableMediaConversion() const; + + void setEnableMediaConversion(bool newEnableMediaConversion); + + + QStringList enabledDevices() const; + + void setEnabledDevices(QStringList newEnabledDevices); + bool enabledDevicesNull() const; + void setEnabledDevicesNull(); + + + bool enableAllDevices() const; + + void setEnableAllDevices(bool newEnableAllDevices); + + + QStringList enabledChannels() const; + + void setEnabledChannels(QStringList newEnabledChannels); + bool enabledChannelsNull() const; + void setEnabledChannelsNull(); + + + bool enableAllChannels() const; + + void setEnableAllChannels(bool newEnableAllChannels); + + + QStringList enabledFolders() const; + + void setEnabledFolders(QStringList newEnabledFolders); + bool enabledFoldersNull() const; + void setEnabledFoldersNull(); + + + bool enableAllFolders() const; + + void setEnableAllFolders(bool newEnableAllFolders); + + + qint32 invalidLoginAttemptCount() const; + + void setInvalidLoginAttemptCount(qint32 newInvalidLoginAttemptCount); + + + qint32 loginAttemptsBeforeLockout() const; + + void setLoginAttemptsBeforeLockout(qint32 newLoginAttemptsBeforeLockout); + + + qint32 maxActiveSessions() const; + + void setMaxActiveSessions(qint32 newMaxActiveSessions); + + + bool enablePublicSharing() const; + + void setEnablePublicSharing(bool newEnablePublicSharing); + + + QStringList blockedMediaFolders() const; + + void setBlockedMediaFolders(QStringList newBlockedMediaFolders); + bool blockedMediaFoldersNull() const; + void setBlockedMediaFoldersNull(); + + + QStringList blockedChannels() const; + + void setBlockedChannels(QStringList newBlockedChannels); + bool blockedChannelsNull() const; + void setBlockedChannelsNull(); + + + qint32 remoteClientBitrateLimit() const; + + void setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit); + + + QString authenticationProviderId() const; + + void setAuthenticationProviderId(QString newAuthenticationProviderId); + bool authenticationProviderIdNull() const; + void setAuthenticationProviderIdNull(); + + + QString passwordResetProviderId() const; + + void setPasswordResetProviderId(QString newPasswordResetProviderId); + bool passwordResetProviderIdNull() const; + void setPasswordResetProviderIdNull(); + + + SyncPlayUserAccessType syncPlayAccess() const; + + void setSyncPlayAccess(SyncPlayUserAccessType newSyncPlayAccess); + + +protected: + bool m_isAdministrator; + bool m_isHidden; + bool m_isDisabled; + std::optional m_maxParentalRating = std::nullopt; + QStringList m_blockedTags; + bool m_enableUserPreferenceAccess; + QList> m_accessSchedules; + QList m_blockUnratedItems; + bool m_enableRemoteControlOfOtherUsers; + bool m_enableSharedDeviceControl; + bool m_enableRemoteAccess; + bool m_enableLiveTvManagement; + bool m_enableLiveTvAccess; + bool m_enableMediaPlayback; + bool m_enableAudioPlaybackTranscoding; + bool m_enableVideoPlaybackTranscoding; + bool m_enablePlaybackRemuxing; + bool m_forceRemoteSourceTranscoding; + bool m_enableContentDeletion; + QStringList m_enableContentDeletionFromFolders; + bool m_enableContentDownloading; + bool m_enableSyncTranscoding; + bool m_enableMediaConversion; + QStringList m_enabledDevices; + bool m_enableAllDevices; + QStringList m_enabledChannels; + bool m_enableAllChannels; + QStringList m_enabledFolders; + bool m_enableAllFolders; + qint32 m_invalidLoginAttemptCount; + qint32 m_loginAttemptsBeforeLockout; + qint32 m_maxActiveSessions; + bool m_enablePublicSharing; + QStringList m_blockedMediaFolders; + QStringList m_blockedChannels; + qint32 m_remoteClientBitrateLimit; + QString m_authenticationProviderId; + QString m_passwordResetProviderId; + SyncPlayUserAccessType m_syncPlayAccess; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_USERPOLICY_H diff --git a/core/include/JellyfinQt/dto/utctimeresponse.h b/core/include/JellyfinQt/dto/utctimeresponse.h new file mode 100644 index 0000000..60f8d2f --- /dev/null +++ b/core/include/JellyfinQt/dto/utctimeresponse.h @@ -0,0 +1,86 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UTCTIMERESPONSE_H +#define JELLYFIN_DTO_UTCTIMERESPONSE_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class UtcTimeResponse { +public: + UtcTimeResponse(); + UtcTimeResponse(const UtcTimeResponse &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(UtcTimeResponse &other); + + static UtcTimeResponse fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the UTC time when request has been received. + */ + QDateTime requestReceptionTime() const; + /** + * @brief Gets the UTC time when request has been received. + */ + void setRequestReceptionTime(QDateTime newRequestReceptionTime); + + /** + * @brief Gets the UTC time when response has been sent. + */ + QDateTime responseTransmissionTime() const; + /** + * @brief Gets the UTC time when response has been sent. + */ + void setResponseTransmissionTime(QDateTime newResponseTransmissionTime); + + +protected: + QDateTime m_requestReceptionTime; + QDateTime m_responseTransmissionTime; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_UTCTIMERESPONSE_H diff --git a/core/include/JellyfinQt/dto/validatepathdto.h b/core/include/JellyfinQt/dto/validatepathdto.h new file mode 100644 index 0000000..62f7fd9 --- /dev/null +++ b/core/include/JellyfinQt/dto/validatepathdto.h @@ -0,0 +1,100 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VALIDATEPATHDTO_H +#define JELLYFIN_DTO_VALIDATEPATHDTO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class ValidatePathDto { +public: + ValidatePathDto(); + ValidatePathDto(const ValidatePathDto &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(ValidatePathDto &other); + + static ValidatePathDto fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets a value indicating whether validate if path is writable. + */ + bool validateWritable() const; + /** + * @brief Gets or sets a value indicating whether validate if path is writable. + */ + void setValidateWritable(bool newValidateWritable); + + /** + * @brief Gets or sets the path. + */ + QString path() const; + /** + * @brief Gets or sets the path. + */ + void setPath(QString newPath); + bool pathNull() const; + void setPathNull(); + + /** + * @brief Gets or sets is path file. + */ + std::optional isFile() const; + /** + * @brief Gets or sets is path file. + */ + void setIsFile(std::optional newIsFile); + bool isFileNull() const; + void setIsFileNull(); + + +protected: + bool m_validateWritable; + QString m_path; + std::optional m_isFile = std::nullopt; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VALIDATEPATHDTO_H diff --git a/core/include/JellyfinQt/dto/version.h b/core/include/JellyfinQt/dto/version.h new file mode 100644 index 0000000..eaf71f7 --- /dev/null +++ b/core/include/JellyfinQt/dto/version.h @@ -0,0 +1,101 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VERSION_H +#define JELLYFIN_DTO_VERSION_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class Version { +public: + Version(); + Version(const Version &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(Version &other); + + static Version fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + + qint32 major() const; + + void setMajor(qint32 newMajor); + + + qint32 minor() const; + + void setMinor(qint32 newMinor); + + + qint32 build() const; + + void setBuild(qint32 newBuild); + + + qint32 revision() const; + + void setRevision(qint32 newRevision); + + + qint32 majorRevision() const; + + void setMajorRevision(qint32 newMajorRevision); + + + qint32 minorRevision() const; + + void setMinorRevision(qint32 newMinorRevision); + + +protected: + qint32 m_major; + qint32 m_minor; + qint32 m_build; + qint32 m_revision; + qint32 m_majorRevision; + qint32 m_minorRevision; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VERSION_H diff --git a/core/include/JellyfinQt/dto/versioninfo.h b/core/include/JellyfinQt/dto/versioninfo.h new file mode 100644 index 0000000..3403446 --- /dev/null +++ b/core/include/JellyfinQt/dto/versioninfo.h @@ -0,0 +1,170 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VERSIONINFO_H +#define JELLYFIN_DTO_VERSIONINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class VersionInfo { +public: + VersionInfo(); + VersionInfo(const VersionInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(VersionInfo &other); + + static VersionInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the version. + */ + QString version() const; + /** + * @brief Gets or sets the version. + */ + void setVersion(QString newVersion); + bool versionNull() const; + void setVersionNull(); + + + QSharedPointer versionNumber() const; + + void setVersionNumber(QSharedPointer newVersionNumber); + + /** + * @brief Gets or sets the changelog for this version. + */ + QString changelog() const; + /** + * @brief Gets or sets the changelog for this version. + */ + void setChangelog(QString newChangelog); + bool changelogNull() const; + void setChangelogNull(); + + /** + * @brief Gets or sets the ABI that this version was built against. + */ + QString targetAbi() const; + /** + * @brief Gets or sets the ABI that this version was built against. + */ + void setTargetAbi(QString newTargetAbi); + bool targetAbiNull() const; + void setTargetAbiNull(); + + /** + * @brief Gets or sets the source URL. + */ + QString sourceUrl() const; + /** + * @brief Gets or sets the source URL. + */ + void setSourceUrl(QString newSourceUrl); + bool sourceUrlNull() const; + void setSourceUrlNull(); + + /** + * @brief Gets or sets a checksum for the binary. + */ + QString checksum() const; + /** + * @brief Gets or sets a checksum for the binary. + */ + void setChecksum(QString newChecksum); + bool checksumNull() const; + void setChecksumNull(); + + /** + * @brief Gets or sets a timestamp of when the binary was built. + */ + QString timestamp() const; + /** + * @brief Gets or sets a timestamp of when the binary was built. + */ + void setTimestamp(QString newTimestamp); + bool timestampNull() const; + void setTimestampNull(); + + /** + * @brief Gets or sets the repository name. + */ + QString repositoryName() const; + /** + * @brief Gets or sets the repository name. + */ + void setRepositoryName(QString newRepositoryName); + bool repositoryNameNull() const; + void setRepositoryNameNull(); + + /** + * @brief Gets or sets the repository url. + */ + QString repositoryUrl() const; + /** + * @brief Gets or sets the repository url. + */ + void setRepositoryUrl(QString newRepositoryUrl); + bool repositoryUrlNull() const; + void setRepositoryUrlNull(); + + +protected: + QString m_version; + QSharedPointer m_versionNumber = nullptr; + QString m_changelog; + QString m_targetAbi; + QString m_sourceUrl; + QString m_checksum; + QString m_timestamp; + QString m_repositoryName; + QString m_repositoryUrl; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VERSIONINFO_H diff --git a/core/include/JellyfinQt/dto/video3dformat.h b/core/include/JellyfinQt/dto/video3dformat.h new file mode 100644 index 0000000..6069a64 --- /dev/null +++ b/core/include/JellyfinQt/dto/video3dformat.h @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIDEO3DFORMAT_H +#define JELLYFIN_DTO_VIDEO3DFORMAT_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class Video3DFormatClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + HalfSideBySide, + FullSideBySide, + FullTopAndBottom, + HalfTopAndBottom, + MVC, + }; + Q_ENUM(Value) +private: + explicit Video3DFormatClass(); +}; + +typedef Video3DFormatClass::Value Video3DFormat; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VIDEO3DFORMAT_H diff --git a/core/include/JellyfinQt/dto/videotype.h b/core/include/JellyfinQt/dto/videotype.h new file mode 100644 index 0000000..f3e1920 --- /dev/null +++ b/core/include/JellyfinQt/dto/videotype.h @@ -0,0 +1,62 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIDEOTYPE_H +#define JELLYFIN_DTO_VIDEOTYPE_H + +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + +class VideoTypeClass { + Q_GADGET +public: + enum Value { + EnumNotSet, + VideoFile, + Iso, + Dvd, + BluRay, + }; + Q_ENUM(Value) +private: + explicit VideoTypeClass(); +}; + +typedef VideoTypeClass::Value VideoType; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VIDEOTYPE_H diff --git a/core/include/JellyfinQt/dto/virtualfolderinfo.h b/core/include/JellyfinQt/dto/virtualfolderinfo.h new file mode 100644 index 0000000..6932199 --- /dev/null +++ b/core/include/JellyfinQt/dto/virtualfolderinfo.h @@ -0,0 +1,152 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIRTUALFOLDERINFO_H +#define JELLYFIN_DTO_VIRTUALFOLDERINFO_H + +#include +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/dto/libraryoptions.h" +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class VirtualFolderInfo { +public: + VirtualFolderInfo(); + VirtualFolderInfo(const VirtualFolderInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(VirtualFolderInfo &other); + + static VirtualFolderInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name. + */ + QString name() const; + /** + * @brief Gets or sets the name. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the locations. + */ + QStringList locations() const; + /** + * @brief Gets or sets the locations. + */ + void setLocations(QStringList newLocations); + bool locationsNull() const; + void setLocationsNull(); + + /** + * @brief Gets or sets the type of the collection. + */ + QString collectionType() const; + /** + * @brief Gets or sets the type of the collection. + */ + void setCollectionType(QString newCollectionType); + bool collectionTypeNull() const; + void setCollectionTypeNull(); + + + QSharedPointer libraryOptions() const; + + void setLibraryOptions(QSharedPointer newLibraryOptions); + + /** + * @brief Gets or sets the item identifier. + */ + QString itemId() const; + /** + * @brief Gets or sets the item identifier. + */ + void setItemId(QString newItemId); + bool itemIdNull() const; + void setItemIdNull(); + + /** + * @brief Gets or sets the primary image item identifier. + */ + QString primaryImageItemId() const; + /** + * @brief Gets or sets the primary image item identifier. + */ + void setPrimaryImageItemId(QString newPrimaryImageItemId); + bool primaryImageItemIdNull() const; + void setPrimaryImageItemIdNull(); + + + std::optional refreshProgress() const; + + void setRefreshProgress(std::optional newRefreshProgress); + bool refreshProgressNull() const; + void setRefreshProgressNull(); + + + QString refreshStatus() const; + + void setRefreshStatus(QString newRefreshStatus); + bool refreshStatusNull() const; + void setRefreshStatusNull(); + + +protected: + QString m_name; + QStringList m_locations; + QString m_collectionType; + QSharedPointer m_libraryOptions = nullptr; + QString m_itemId; + QString m_primaryImageItemId; + std::optional m_refreshProgress = std::nullopt; + QString m_refreshStatus; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_VIRTUALFOLDERINFO_H diff --git a/core/include/JellyfinQt/dto/wakeonlaninfo.h b/core/include/JellyfinQt/dto/wakeonlaninfo.h new file mode 100644 index 0000000..1372990 --- /dev/null +++ b/core/include/JellyfinQt/dto/wakeonlaninfo.h @@ -0,0 +1,88 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_WAKEONLANINFO_H +#define JELLYFIN_DTO_WAKEONLANINFO_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class WakeOnLanInfo { +public: + WakeOnLanInfo(); + WakeOnLanInfo(const WakeOnLanInfo &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(WakeOnLanInfo &other); + + static WakeOnLanInfo fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets the MAC address of the device. + */ + QString macAddress() const; + /** + * @brief Gets the MAC address of the device. + */ + void setMacAddress(QString newMacAddress); + bool macAddressNull() const; + void setMacAddressNull(); + + /** + * @brief Gets or sets the wake-on-LAN port. + */ + qint32 port() const; + /** + * @brief Gets or sets the wake-on-LAN port. + */ + void setPort(qint32 newPort); + + +protected: + QString m_macAddress; + qint32 m_port; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_WAKEONLANINFO_H diff --git a/core/include/JellyfinQt/dto/xmlattribute.h b/core/include/JellyfinQt/dto/xmlattribute.h new file mode 100644 index 0000000..a4a303f --- /dev/null +++ b/core/include/JellyfinQt/dto/xmlattribute.h @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_XMLATTRIBUTE_H +#define JELLYFIN_DTO_XMLATTRIBUTE_H + +#include +#include +#include +#include + +#include "JellyfinQt/support/jsonconv.h" + +namespace Jellyfin { +namespace DTO { + + +class XmlAttribute { +public: + XmlAttribute(); + XmlAttribute(const XmlAttribute &other); + + /** + * Replaces the data being hold by this class with that of the other. + */ + void replaceData(XmlAttribute &other); + + static XmlAttribute fromJson(QJsonObject source); + void setFromJson(QJsonObject source); + QJsonObject toJson(); + + // Properties + /** + * @brief Gets or sets the name of the attribute. + */ + QString name() const; + /** + * @brief Gets or sets the name of the attribute. + */ + void setName(QString newName); + bool nameNull() const; + void setNameNull(); + + /** + * @brief Gets or sets the value of the attribute. + */ + QString value() const; + /** + * @brief Gets or sets the value of the attribute. + */ + void setValue(QString newValue); + bool valueNull() const; + void setValueNull(); + + +protected: + QString m_name; + QString m_value; +}; + +} // NS DTO +} // NS Jellyfin + +#endif // JELLYFIN_DTO_XMLATTRIBUTE_H diff --git a/core/include/JellyfinQt/eventbus.h b/core/include/JellyfinQt/eventbus.h new file mode 100644 index 0000000..2138f4b --- /dev/null +++ b/core/include/JellyfinQt/eventbus.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef JELLYFIN_EVENTBUS_H +#define JELLYFIN_EVENTBUS_H + +#include + +namespace Jellyfin { +namespace DTO { + class UserItemDataDto; +} + +/** + * @brief "EventBus" object through which "events" are sent. + */ +class EventBus : public QObject { + Q_OBJECT +public: + explicit EventBus(QObject *parent = nullptr); + +signals: + /** + * @brief The UserData of an Item has been updated. + * @param itemId The id of the item which was updated. + * @param userData The new userData + */ + void itemUserDataUpdated(const QString &itemId, const DTO::UserItemDataDto &userData); +}; + +} + +#endif //JELLYVIN_EVENTBUS_H diff --git a/core/include/JellyfinQt/jellyfin.h b/core/include/JellyfinQt/jellyfin.h index 4d34c82..417827f 100644 --- a/core/include/JellyfinQt/jellyfin.h +++ b/core/include/JellyfinQt/jellyfin.h @@ -23,16 +23,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #include "DTO/dto.h" #include "model/item.h" -#include "DTO/mediastream.h" -#include "DTO/nameguidpair.h" -#include "DTO/userdto.h" -#include "DTO/useritemdatadto.h" +#include "dto/mediastream.h" +#include "dto/nameguidpair.h" +#include "dto/userdto.h" +#include "dto/useritemdatadto.h" #include "apiclient.h" #include "apimodel.h" #include "serverdiscoverymodel.h" -#include "playbackmanager.h" -#include "remotedata.h" +#include "viewmodel/item.h" +#include "viewmodel/loader.h" +#include "viewmodel/playbackmanager.h" namespace Jellyfin { diff --git a/core/include/JellyfinQt/loader/http/activate.h b/core/include/JellyfinQt/loader/http/activate.h new file mode 100644 index 0000000..efa7660 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/activate.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ACTIVATE_H +#define JELLYFIN_LOADER_HTTP_ACTIVATE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ACTIVATE_H diff --git a/core/include/JellyfinQt/loader/http/addlistingprovider.h b/core/include/JellyfinQt/loader/http/addlistingprovider.h new file mode 100644 index 0000000..9c916ec --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addlistingprovider.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDLISTINGPROVIDER_H +#define JELLYFIN_LOADER_HTTP_ADDLISTINGPROVIDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/listingsproviderinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Adds a listings provider. + */ +class AddListingProvider : public Jellyfin::Support::HttpLoader { +public: + explicit AddListingProvider(ApiClient *apiClient); + +protected: + QString url(const AddListingProviderParams& parameters) const override; + QUrlQuery query(const AddListingProviderParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDLISTINGPROVIDER_H diff --git a/core/include/JellyfinQt/loader/http/addmediapath.h b/core/include/JellyfinQt/loader/http/addmediapath.h new file mode 100644 index 0000000..9056474 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addmediapath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDMEDIAPATH_H +#define JELLYFIN_LOADER_HTTP_ADDMEDIAPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDMEDIAPATH_H diff --git a/core/include/JellyfinQt/loader/http/addtocollection.h b/core/include/JellyfinQt/loader/http/addtocollection.h new file mode 100644 index 0000000..8b25a2b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addtocollection.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDTOCOLLECTION_H +#define JELLYFIN_LOADER_HTTP_ADDTOCOLLECTION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDTOCOLLECTION_H diff --git a/core/include/JellyfinQt/loader/http/addtoplaylist.h b/core/include/JellyfinQt/loader/http/addtoplaylist.h new file mode 100644 index 0000000..cba53dc --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addtoplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDTOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_ADDTOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDTOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/addtunerhost.h b/core/include/JellyfinQt/loader/http/addtunerhost.h new file mode 100644 index 0000000..cff6f65 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addtunerhost.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDTUNERHOST_H +#define JELLYFIN_LOADER_HTTP_ADDTUNERHOST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/tunerhostinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Adds a tuner host. + */ +class AddTunerHost : public Jellyfin::Support::HttpLoader { +public: + explicit AddTunerHost(ApiClient *apiClient); + +protected: + QString url(const AddTunerHostParams& parameters) const override; + QUrlQuery query(const AddTunerHostParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDTUNERHOST_H diff --git a/core/include/JellyfinQt/loader/http/addusertosession.h b/core/include/JellyfinQt/loader/http/addusertosession.h new file mode 100644 index 0000000..033fa3f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addusertosession.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDUSERTOSESSION_H +#define JELLYFIN_LOADER_HTTP_ADDUSERTOSESSION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDUSERTOSESSION_H diff --git a/core/include/JellyfinQt/loader/http/addvirtualfolder.h b/core/include/JellyfinQt/loader/http/addvirtualfolder.h new file mode 100644 index 0000000..f622487 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/addvirtualfolder.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ADDVIRTUALFOLDER_H +#define JELLYFIN_LOADER_HTTP_ADDVIRTUALFOLDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ADDVIRTUALFOLDER_H diff --git a/core/include/JellyfinQt/loader/http/applysearchcriteria.h b/core/include/JellyfinQt/loader/http/applysearchcriteria.h new file mode 100644 index 0000000..b254169 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/applysearchcriteria.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_APPLYSEARCHCRITERIA_H +#define JELLYFIN_LOADER_HTTP_APPLYSEARCHCRITERIA_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_APPLYSEARCHCRITERIA_H diff --git a/core/include/JellyfinQt/loader/http/authenticateuser.h b/core/include/JellyfinQt/loader/http/authenticateuser.h new file mode 100644 index 0000000..6ee813a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/authenticateuser.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_AUTHENTICATEUSER_H +#define JELLYFIN_LOADER_HTTP_AUTHENTICATEUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/authenticationresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Authenticates a user. + */ +class AuthenticateUser : public Jellyfin::Support::HttpLoader { +public: + explicit AuthenticateUser(ApiClient *apiClient); + +protected: + QString url(const AuthenticateUserParams& parameters) const override; + QUrlQuery query(const AuthenticateUserParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_AUTHENTICATEUSER_H diff --git a/core/include/JellyfinQt/loader/http/authenticateuserbyname.h b/core/include/JellyfinQt/loader/http/authenticateuserbyname.h new file mode 100644 index 0000000..fed1faa --- /dev/null +++ b/core/include/JellyfinQt/loader/http/authenticateuserbyname.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_AUTHENTICATEUSERBYNAME_H +#define JELLYFIN_LOADER_HTTP_AUTHENTICATEUSERBYNAME_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/authenticationresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Authenticates a user by name. + */ +class AuthenticateUserByName : public Jellyfin::Support::HttpLoader { +public: + explicit AuthenticateUserByName(ApiClient *apiClient); + +protected: + QString url(const AuthenticateUserByNameParams& parameters) const override; + QUrlQuery query(const AuthenticateUserByNameParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_AUTHENTICATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/loader/http/authenticatewithquickconnect.h b/core/include/JellyfinQt/loader/http/authenticatewithquickconnect.h new file mode 100644 index 0000000..234cd93 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/authenticatewithquickconnect.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_AUTHENTICATEWITHQUICKCONNECT_H +#define JELLYFIN_LOADER_HTTP_AUTHENTICATEWITHQUICKCONNECT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/authenticationresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Authenticates a user with quick connect. + */ +class AuthenticateWithQuickConnect : public Jellyfin::Support::HttpLoader { +public: + explicit AuthenticateWithQuickConnect(ApiClient *apiClient); + +protected: + QString url(const AuthenticateWithQuickConnectParams& parameters) const override; + QUrlQuery query(const AuthenticateWithQuickConnectParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_AUTHENTICATEWITHQUICKCONNECT_H diff --git a/core/include/JellyfinQt/loader/http/authorize.h b/core/include/JellyfinQt/loader/http/authorize.h new file mode 100644 index 0000000..be97f55 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/authorize.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_AUTHORIZE_H +#define JELLYFIN_LOADER_HTTP_AUTHORIZE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_AUTHORIZE_H diff --git a/core/include/JellyfinQt/loader/http/available.h b/core/include/JellyfinQt/loader/http/available.h new file mode 100644 index 0000000..5d502f0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/available.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_AVAILABLE_H +#define JELLYFIN_LOADER_HTTP_AVAILABLE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_AVAILABLE_H diff --git a/core/include/JellyfinQt/loader/http/cancelpackageinstallation.h b/core/include/JellyfinQt/loader/http/cancelpackageinstallation.h new file mode 100644 index 0000000..efdaeea --- /dev/null +++ b/core/include/JellyfinQt/loader/http/cancelpackageinstallation.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CANCELPACKAGEINSTALLATION_H +#define JELLYFIN_LOADER_HTTP_CANCELPACKAGEINSTALLATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CANCELPACKAGEINSTALLATION_H diff --git a/core/include/JellyfinQt/loader/http/cancelseriestimer.h b/core/include/JellyfinQt/loader/http/cancelseriestimer.h new file mode 100644 index 0000000..30ad4f6 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/cancelseriestimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CANCELSERIESTIMER_H +#define JELLYFIN_LOADER_HTTP_CANCELSERIESTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CANCELSERIESTIMER_H diff --git a/core/include/JellyfinQt/loader/http/canceltimer.h b/core/include/JellyfinQt/loader/http/canceltimer.h new file mode 100644 index 0000000..4e6b840 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/canceltimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CANCELTIMER_H +#define JELLYFIN_LOADER_HTTP_CANCELTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CANCELTIMER_H diff --git a/core/include/JellyfinQt/loader/http/closelivestream.h b/core/include/JellyfinQt/loader/http/closelivestream.h new file mode 100644 index 0000000..76bb6f0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/closelivestream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CLOSELIVESTREAM_H +#define JELLYFIN_LOADER_HTTP_CLOSELIVESTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CLOSELIVESTREAM_H diff --git a/core/include/JellyfinQt/loader/http/completewizard.h b/core/include/JellyfinQt/loader/http/completewizard.h new file mode 100644 index 0000000..57db74d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/completewizard.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_COMPLETEWIZARD_H +#define JELLYFIN_LOADER_HTTP_COMPLETEWIZARD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_COMPLETEWIZARD_H diff --git a/core/include/JellyfinQt/loader/http/connect.h b/core/include/JellyfinQt/loader/http/connect.h new file mode 100644 index 0000000..193c760 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/connect.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CONNECT_H +#define JELLYFIN_LOADER_HTTP_CONNECT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/quickconnectresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Attempts to retrieve authentication information. + */ +class Connect : public Jellyfin::Support::HttpLoader { +public: + explicit Connect(ApiClient *apiClient); + +protected: + QString url(const ConnectParams& parameters) const override; + QUrlQuery query(const ConnectParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CONNECT_H diff --git a/core/include/JellyfinQt/loader/http/createadminnotification.h b/core/include/JellyfinQt/loader/http/createadminnotification.h new file mode 100644 index 0000000..59e4975 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createadminnotification.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATEADMINNOTIFICATION_H +#define JELLYFIN_LOADER_HTTP_CREATEADMINNOTIFICATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATEADMINNOTIFICATION_H diff --git a/core/include/JellyfinQt/loader/http/createcollection.h b/core/include/JellyfinQt/loader/http/createcollection.h new file mode 100644 index 0000000..b68fb5d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createcollection.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATECOLLECTION_H +#define JELLYFIN_LOADER_HTTP_CREATECOLLECTION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/collectioncreationresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates a new collection. + */ +class CreateCollection : public Jellyfin::Support::HttpLoader { +public: + explicit CreateCollection(ApiClient *apiClient); + +protected: + QString url(const CreateCollectionParams& parameters) const override; + QUrlQuery query(const CreateCollectionParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATECOLLECTION_H diff --git a/core/include/JellyfinQt/loader/http/createkey.h b/core/include/JellyfinQt/loader/http/createkey.h new file mode 100644 index 0000000..8b0194f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createkey.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATEKEY_H +#define JELLYFIN_LOADER_HTTP_CREATEKEY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATEKEY_H diff --git a/core/include/JellyfinQt/loader/http/createplaylist.h b/core/include/JellyfinQt/loader/http/createplaylist.h new file mode 100644 index 0000000..2cfc227 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createplaylist.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATEPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_CREATEPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/playlistcreationresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates a new playlist. + */ +class CreatePlaylist : public Jellyfin::Support::HttpLoader { +public: + explicit CreatePlaylist(ApiClient *apiClient); + +protected: + QString url(const CreatePlaylistParams& parameters) const override; + QUrlQuery query(const CreatePlaylistParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATEPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/createprofile.h b/core/include/JellyfinQt/loader/http/createprofile.h new file mode 100644 index 0000000..2f3c037 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createprofile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATEPROFILE_H +#define JELLYFIN_LOADER_HTTP_CREATEPROFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATEPROFILE_H diff --git a/core/include/JellyfinQt/loader/http/createseriestimer.h b/core/include/JellyfinQt/loader/http/createseriestimer.h new file mode 100644 index 0000000..93b3bfe --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createseriestimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATESERIESTIMER_H +#define JELLYFIN_LOADER_HTTP_CREATESERIESTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATESERIESTIMER_H diff --git a/core/include/JellyfinQt/loader/http/createtimer.h b/core/include/JellyfinQt/loader/http/createtimer.h new file mode 100644 index 0000000..cd138e9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createtimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATETIMER_H +#define JELLYFIN_LOADER_HTTP_CREATETIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATETIMER_H diff --git a/core/include/JellyfinQt/loader/http/createuserbyname.h b/core/include/JellyfinQt/loader/http/createuserbyname.h new file mode 100644 index 0000000..1a894c7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/createuserbyname.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_CREATEUSERBYNAME_H +#define JELLYFIN_LOADER_HTTP_CREATEUSERBYNAME_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/userdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates a user. + */ +class CreateUserByName : public Jellyfin::Support::HttpLoader { +public: + explicit CreateUserByName(ApiClient *apiClient); + +protected: + QString url(const CreateUserByNameParams& parameters) const override; + QUrlQuery query(const CreateUserByNameParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_CREATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/loader/http/deauthorize.h b/core/include/JellyfinQt/loader/http/deauthorize.h new file mode 100644 index 0000000..b4ddb69 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deauthorize.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DEAUTHORIZE_H +#define JELLYFIN_LOADER_HTTP_DEAUTHORIZE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DEAUTHORIZE_H diff --git a/core/include/JellyfinQt/loader/http/deletealternatesources.h b/core/include/JellyfinQt/loader/http/deletealternatesources.h new file mode 100644 index 0000000..3763922 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deletealternatesources.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEALTERNATESOURCES_H +#define JELLYFIN_LOADER_HTTP_DELETEALTERNATESOURCES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEALTERNATESOURCES_H diff --git a/core/include/JellyfinQt/loader/http/deletedevice.h b/core/include/JellyfinQt/loader/http/deletedevice.h new file mode 100644 index 0000000..cdf3c4a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deletedevice.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEDEVICE_H +#define JELLYFIN_LOADER_HTTP_DELETEDEVICE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEDEVICE_H diff --git a/core/include/JellyfinQt/loader/http/deleteitem.h b/core/include/JellyfinQt/loader/http/deleteitem.h new file mode 100644 index 0000000..b1ba70d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEITEM_H +#define JELLYFIN_LOADER_HTTP_DELETEITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEITEM_H diff --git a/core/include/JellyfinQt/loader/http/deleteitemimage.h b/core/include/JellyfinQt/loader/http/deleteitemimage.h new file mode 100644 index 0000000..c105f7d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteitemimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEITEMIMAGE_H +#define JELLYFIN_LOADER_HTTP_DELETEITEMIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEITEMIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/deleteitemimagebyindex.h b/core/include/JellyfinQt/loader/http/deleteitemimagebyindex.h new file mode 100644 index 0000000..c502ea9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteitemimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEITEMIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_DELETEITEMIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEITEMIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/deleteitems.h b/core/include/JellyfinQt/loader/http/deleteitems.h new file mode 100644 index 0000000..5a75358 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteitems.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEITEMS_H +#define JELLYFIN_LOADER_HTTP_DELETEITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEITEMS_H diff --git a/core/include/JellyfinQt/loader/http/deletelistingprovider.h b/core/include/JellyfinQt/loader/http/deletelistingprovider.h new file mode 100644 index 0000000..8076d92 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deletelistingprovider.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETELISTINGPROVIDER_H +#define JELLYFIN_LOADER_HTTP_DELETELISTINGPROVIDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETELISTINGPROVIDER_H diff --git a/core/include/JellyfinQt/loader/http/deleteprofile.h b/core/include/JellyfinQt/loader/http/deleteprofile.h new file mode 100644 index 0000000..952d215 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteprofile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEPROFILE_H +#define JELLYFIN_LOADER_HTTP_DELETEPROFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEPROFILE_H diff --git a/core/include/JellyfinQt/loader/http/deleterecording.h b/core/include/JellyfinQt/loader/http/deleterecording.h new file mode 100644 index 0000000..419f493 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleterecording.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETERECORDING_H +#define JELLYFIN_LOADER_HTTP_DELETERECORDING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETERECORDING_H diff --git a/core/include/JellyfinQt/loader/http/deletesubtitle.h b/core/include/JellyfinQt/loader/http/deletesubtitle.h new file mode 100644 index 0000000..2d5d2e0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deletesubtitle.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETESUBTITLE_H +#define JELLYFIN_LOADER_HTTP_DELETESUBTITLE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETESUBTITLE_H diff --git a/core/include/JellyfinQt/loader/http/deletetunerhost.h b/core/include/JellyfinQt/loader/http/deletetunerhost.h new file mode 100644 index 0000000..ea1047e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deletetunerhost.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETETUNERHOST_H +#define JELLYFIN_LOADER_HTTP_DELETETUNERHOST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETETUNERHOST_H diff --git a/core/include/JellyfinQt/loader/http/deleteuser.h b/core/include/JellyfinQt/loader/http/deleteuser.h new file mode 100644 index 0000000..f626ca3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteuser.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEUSER_H +#define JELLYFIN_LOADER_HTTP_DELETEUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEUSER_H diff --git a/core/include/JellyfinQt/loader/http/deleteuserimage.h b/core/include/JellyfinQt/loader/http/deleteuserimage.h new file mode 100644 index 0000000..982b738 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteuserimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEUSERIMAGE_H +#define JELLYFIN_LOADER_HTTP_DELETEUSERIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEUSERIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/deleteuserimagebyindex.h b/core/include/JellyfinQt/loader/http/deleteuserimagebyindex.h new file mode 100644 index 0000000..dc50b8d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteuserimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEUSERIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_DELETEUSERIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEUSERIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/deleteuseritemrating.h b/core/include/JellyfinQt/loader/http/deleteuseritemrating.h new file mode 100644 index 0000000..8cf0ee2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/deleteuseritemrating.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DELETEUSERITEMRATING_H +#define JELLYFIN_LOADER_HTTP_DELETEUSERITEMRATING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Deletes a user's saved personal rating for an item. + */ +class DeleteUserItemRating : public Jellyfin::Support::HttpLoader { +public: + explicit DeleteUserItemRating(ApiClient *apiClient); + +protected: + QString url(const DeleteUserItemRatingParams& parameters) const override; + QUrlQuery query(const DeleteUserItemRatingParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DELETEUSERITEMRATING_H diff --git a/core/include/JellyfinQt/loader/http/disableplugin.h b/core/include/JellyfinQt/loader/http/disableplugin.h new file mode 100644 index 0000000..23d2886 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/disableplugin.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DISABLEPLUGIN_H +#define JELLYFIN_LOADER_HTTP_DISABLEPLUGIN_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DISABLEPLUGIN_H diff --git a/core/include/JellyfinQt/loader/http/discovertuners.h b/core/include/JellyfinQt/loader/http/discovertuners.h new file mode 100644 index 0000000..50c08bd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/discovertuners.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DISCOVERTUNERS_H +#define JELLYFIN_LOADER_HTTP_DISCOVERTUNERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DISCOVERTUNERS_H diff --git a/core/include/JellyfinQt/loader/http/discvovertuners.h b/core/include/JellyfinQt/loader/http/discvovertuners.h new file mode 100644 index 0000000..d6b3e51 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/discvovertuners.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DISCVOVERTUNERS_H +#define JELLYFIN_LOADER_HTTP_DISCVOVERTUNERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DISCVOVERTUNERS_H diff --git a/core/include/JellyfinQt/loader/http/displaycontent.h b/core/include/JellyfinQt/loader/http/displaycontent.h new file mode 100644 index 0000000..36645ee --- /dev/null +++ b/core/include/JellyfinQt/loader/http/displaycontent.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DISPLAYCONTENT_H +#define JELLYFIN_LOADER_HTTP_DISPLAYCONTENT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DISPLAYCONTENT_H diff --git a/core/include/JellyfinQt/loader/http/downloadremoteimage.h b/core/include/JellyfinQt/loader/http/downloadremoteimage.h new file mode 100644 index 0000000..f46d64d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/downloadremoteimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DOWNLOADREMOTEIMAGE_H +#define JELLYFIN_LOADER_HTTP_DOWNLOADREMOTEIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DOWNLOADREMOTEIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/downloadremotesubtitles.h b/core/include/JellyfinQt/loader/http/downloadremotesubtitles.h new file mode 100644 index 0000000..c244713 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/downloadremotesubtitles.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_DOWNLOADREMOTESUBTITLES_H +#define JELLYFIN_LOADER_HTTP_DOWNLOADREMOTESUBTITLES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_DOWNLOADREMOTESUBTITLES_H diff --git a/core/include/JellyfinQt/loader/http/enableplugin.h b/core/include/JellyfinQt/loader/http/enableplugin.h new file mode 100644 index 0000000..06258c2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/enableplugin.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ENABLEPLUGIN_H +#define JELLYFIN_LOADER_HTTP_ENABLEPLUGIN_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ENABLEPLUGIN_H diff --git a/core/include/JellyfinQt/loader/http/forgotpassword.h b/core/include/JellyfinQt/loader/http/forgotpassword.h new file mode 100644 index 0000000..ead794d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/forgotpassword.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_FORGOTPASSWORD_H +#define JELLYFIN_LOADER_HTTP_FORGOTPASSWORD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/forgotpasswordresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Initiates the forgot password process for a local user. + */ +class ForgotPassword : public Jellyfin::Support::HttpLoader { +public: + explicit ForgotPassword(ApiClient *apiClient); + +protected: + QString url(const ForgotPasswordParams& parameters) const override; + QUrlQuery query(const ForgotPasswordParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_FORGOTPASSWORD_H diff --git a/core/include/JellyfinQt/loader/http/forgotpasswordpin.h b/core/include/JellyfinQt/loader/http/forgotpasswordpin.h new file mode 100644 index 0000000..8db5bb3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/forgotpasswordpin.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_FORGOTPASSWORDPIN_H +#define JELLYFIN_LOADER_HTTP_FORGOTPASSWORDPIN_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/pinredeemresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Redeems a forgot password pin. + */ +class ForgotPasswordPin : public Jellyfin::Support::HttpLoader { +public: + explicit ForgotPasswordPin(ApiClient *apiClient); + +protected: + QString url(const ForgotPasswordPinParams& parameters) const override; + QUrlQuery query(const ForgotPasswordPinParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_FORGOTPASSWORDPIN_H diff --git a/core/include/JellyfinQt/loader/http/get.h b/core/include/JellyfinQt/loader/http/get.h new file mode 100644 index 0000000..e3b2af1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/get.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GET_H +#define JELLYFIN_LOADER_HTTP_GET_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/searchhintresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the search hint result. + */ +class Get : public Jellyfin::Support::HttpLoader { +public: + explicit Get(ApiClient *apiClient); + +protected: + QString url(const GetParams& parameters) const override; + QUrlQuery query(const GetParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GET_H diff --git a/core/include/JellyfinQt/loader/http/getadditionalpart.h b/core/include/JellyfinQt/loader/http/getadditionalpart.h new file mode 100644 index 0000000..458e1ca --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getadditionalpart.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETADDITIONALPART_H +#define JELLYFIN_LOADER_HTTP_GETADDITIONALPART_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets additional parts for a video. + */ +class GetAdditionalPart : public Jellyfin::Support::HttpLoader { +public: + explicit GetAdditionalPart(ApiClient *apiClient); + +protected: + QString url(const GetAdditionalPartParams& parameters) const override; + QUrlQuery query(const GetAdditionalPartParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETADDITIONALPART_H diff --git a/core/include/JellyfinQt/loader/http/getalbumartists.h b/core/include/JellyfinQt/loader/http/getalbumartists.h new file mode 100644 index 0000000..6b2e63e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getalbumartists.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETALBUMARTISTS_H +#define JELLYFIN_LOADER_HTTP_GETALBUMARTISTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all album artists from a given item, folder, or the entire library. + */ +class GetAlbumArtists : public Jellyfin::Support::HttpLoader { +public: + explicit GetAlbumArtists(ApiClient *apiClient); + +protected: + QString url(const GetAlbumArtistsParams& parameters) const override; + QUrlQuery query(const GetAlbumArtistsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETALBUMARTISTS_H diff --git a/core/include/JellyfinQt/loader/http/getallchannelfeatures.h b/core/include/JellyfinQt/loader/http/getallchannelfeatures.h new file mode 100644 index 0000000..f634140 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getallchannelfeatures.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETALLCHANNELFEATURES_H +#define JELLYFIN_LOADER_HTTP_GETALLCHANNELFEATURES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETALLCHANNELFEATURES_H diff --git a/core/include/JellyfinQt/loader/http/getancestors.h b/core/include/JellyfinQt/loader/http/getancestors.h new file mode 100644 index 0000000..9ff3c5d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getancestors.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETANCESTORS_H +#define JELLYFIN_LOADER_HTTP_GETANCESTORS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETANCESTORS_H diff --git a/core/include/JellyfinQt/loader/http/getartistbyname.h b/core/include/JellyfinQt/loader/http/getartistbyname.h new file mode 100644 index 0000000..88f2f0a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getartistbyname.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETARTISTBYNAME_H +#define JELLYFIN_LOADER_HTTP_GETARTISTBYNAME_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets an artist by name. + */ +class GetArtistByName : public Jellyfin::Support::HttpLoader { +public: + explicit GetArtistByName(ApiClient *apiClient); + +protected: + QString url(const GetArtistByNameParams& parameters) const override; + QUrlQuery query(const GetArtistByNameParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETARTISTBYNAME_H diff --git a/core/include/JellyfinQt/loader/http/getartistimage.h b/core/include/JellyfinQt/loader/http/getartistimage.h new file mode 100644 index 0000000..a480c54 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getartistimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETARTISTIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETARTISTIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETARTISTIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getartists.h b/core/include/JellyfinQt/loader/http/getartists.h new file mode 100644 index 0000000..ac50fb1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getartists.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETARTISTS_H +#define JELLYFIN_LOADER_HTTP_GETARTISTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all artists from a given item, folder, or the entire library. + */ +class GetArtists : public Jellyfin::Support::HttpLoader { +public: + explicit GetArtists(ApiClient *apiClient); + +protected: + QString url(const GetArtistsParams& parameters) const override; + QUrlQuery query(const GetArtistsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETARTISTS_H diff --git a/core/include/JellyfinQt/loader/http/getattachment.h b/core/include/JellyfinQt/loader/http/getattachment.h new file mode 100644 index 0000000..b1765f3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getattachment.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETATTACHMENT_H +#define JELLYFIN_LOADER_HTTP_GETATTACHMENT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETATTACHMENT_H diff --git a/core/include/JellyfinQt/loader/http/getaudiostream.h b/core/include/JellyfinQt/loader/http/getaudiostream.h new file mode 100644 index 0000000..6374a0e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getaudiostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETAUDIOSTREAM_H +#define JELLYFIN_LOADER_HTTP_GETAUDIOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETAUDIOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/getaudiostreambycontainer.h b/core/include/JellyfinQt/loader/http/getaudiostreambycontainer.h new file mode 100644 index 0000000..ca6cf21 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getaudiostreambycontainer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETAUDIOSTREAMBYCONTAINER_H +#define JELLYFIN_LOADER_HTTP_GETAUDIOSTREAMBYCONTAINER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETAUDIOSTREAMBYCONTAINER_H diff --git a/core/include/JellyfinQt/loader/http/getauthproviders.h b/core/include/JellyfinQt/loader/http/getauthproviders.h new file mode 100644 index 0000000..8057e44 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getauthproviders.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETAUTHPROVIDERS_H +#define JELLYFIN_LOADER_HTTP_GETAUTHPROVIDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETAUTHPROVIDERS_H diff --git a/core/include/JellyfinQt/loader/http/getbitratetestbytes.h b/core/include/JellyfinQt/loader/http/getbitratetestbytes.h new file mode 100644 index 0000000..7e7e1d4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getbitratetestbytes.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBITRATETESTBYTES_H +#define JELLYFIN_LOADER_HTTP_GETBITRATETESTBYTES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBITRATETESTBYTES_H diff --git a/core/include/JellyfinQt/loader/http/getbookremotesearchresults.h b/core/include/JellyfinQt/loader/http/getbookremotesearchresults.h new file mode 100644 index 0000000..6de9e62 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getbookremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBOOKREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETBOOKREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBOOKREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getboxsetremotesearchresults.h b/core/include/JellyfinQt/loader/http/getboxsetremotesearchresults.h new file mode 100644 index 0000000..a7dac35 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getboxsetremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBOXSETREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETBOXSETREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBOXSETREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getbrandingcss.h b/core/include/JellyfinQt/loader/http/getbrandingcss.h new file mode 100644 index 0000000..7e0f36f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getbrandingcss.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_H +#define JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_H diff --git a/core/include/JellyfinQt/loader/http/getbrandingcss_2.h b/core/include/JellyfinQt/loader/http/getbrandingcss_2.h new file mode 100644 index 0000000..423c3c6 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getbrandingcss_2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_2_H +#define JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBRANDINGCSS_2_H diff --git a/core/include/JellyfinQt/loader/http/getbrandingoptions.h b/core/include/JellyfinQt/loader/http/getbrandingoptions.h new file mode 100644 index 0000000..4528a72 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getbrandingoptions.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETBRANDINGOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETBRANDINGOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/brandingoptions.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets branding configuration. + */ +class GetBrandingOptions : public Jellyfin::Support::HttpLoader { +public: + explicit GetBrandingOptions(ApiClient *apiClient); + +protected: + QString url(const GetBrandingOptionsParams& parameters) const override; + QUrlQuery query(const GetBrandingOptionsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETBRANDINGOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getchannel.h b/core/include/JellyfinQt/loader/http/getchannel.h new file mode 100644 index 0000000..161a1f9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getchannel.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCHANNEL_H +#define JELLYFIN_LOADER_HTTP_GETCHANNEL_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a live tv channel. + */ +class GetChannel : public Jellyfin::Support::HttpLoader { +public: + explicit GetChannel(ApiClient *apiClient); + +protected: + QString url(const GetChannelParams& parameters) const override; + QUrlQuery query(const GetChannelParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCHANNEL_H diff --git a/core/include/JellyfinQt/loader/http/getchannelfeatures.h b/core/include/JellyfinQt/loader/http/getchannelfeatures.h new file mode 100644 index 0000000..4ef97fa --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getchannelfeatures.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCHANNELFEATURES_H +#define JELLYFIN_LOADER_HTTP_GETCHANNELFEATURES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/channelfeatures.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get channel features. + */ +class GetChannelFeatures : public Jellyfin::Support::HttpLoader { +public: + explicit GetChannelFeatures(ApiClient *apiClient); + +protected: + QString url(const GetChannelFeaturesParams& parameters) const override; + QUrlQuery query(const GetChannelFeaturesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCHANNELFEATURES_H diff --git a/core/include/JellyfinQt/loader/http/getchannelitems.h b/core/include/JellyfinQt/loader/http/getchannelitems.h new file mode 100644 index 0000000..e8f6e1f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getchannelitems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCHANNELITEMS_H +#define JELLYFIN_LOADER_HTTP_GETCHANNELITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get channel items. + */ +class GetChannelItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetChannelItems(ApiClient *apiClient); + +protected: + QString url(const GetChannelItemsParams& parameters) const override; + QUrlQuery query(const GetChannelItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCHANNELITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getchannelmappingoptions.h b/core/include/JellyfinQt/loader/http/getchannelmappingoptions.h new file mode 100644 index 0000000..02307f7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getchannelmappingoptions.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCHANNELMAPPINGOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETCHANNELMAPPINGOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/channelmappingoptionsdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get channel mapping options. + */ +class GetChannelMappingOptions : public Jellyfin::Support::HttpLoader { +public: + explicit GetChannelMappingOptions(ApiClient *apiClient); + +protected: + QString url(const GetChannelMappingOptionsParams& parameters) const override; + QUrlQuery query(const GetChannelMappingOptionsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCHANNELMAPPINGOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getchannels.h b/core/include/JellyfinQt/loader/http/getchannels.h new file mode 100644 index 0000000..fed609f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getchannels.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCHANNELS_H +#define JELLYFIN_LOADER_HTTP_GETCHANNELS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available channels. + */ +class GetChannels : public Jellyfin::Support::HttpLoader { +public: + explicit GetChannels(ApiClient *apiClient); + +protected: + QString url(const GetChannelsParams& parameters) const override; + QUrlQuery query(const GetChannelsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCHANNELS_H diff --git a/core/include/JellyfinQt/loader/http/getconfiguration.h b/core/include/JellyfinQt/loader/http/getconfiguration.h new file mode 100644 index 0000000..f4c9b4c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getconfiguration.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_GETCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/serverconfiguration.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets application configuration. + */ +class GetConfiguration : public Jellyfin::Support::HttpLoader { +public: + explicit GetConfiguration(ApiClient *apiClient); + +protected: + QString url(const GetConfigurationParams& parameters) const override; + QUrlQuery query(const GetConfigurationParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/getconfigurationpages.h b/core/include/JellyfinQt/loader/http/getconfigurationpages.h new file mode 100644 index 0000000..2a9768b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getconfigurationpages.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONFIGURATIONPAGES_H +#define JELLYFIN_LOADER_HTTP_GETCONFIGURATIONPAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONFIGURATIONPAGES_H diff --git a/core/include/JellyfinQt/loader/http/getconnectionmanager.h b/core/include/JellyfinQt/loader/http/getconnectionmanager.h new file mode 100644 index 0000000..e1368e1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getconnectionmanager.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_H +#define JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_H diff --git a/core/include/JellyfinQt/loader/http/getconnectionmanager_2.h b/core/include/JellyfinQt/loader/http/getconnectionmanager_2.h new file mode 100644 index 0000000..dfba6ed --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getconnectionmanager_2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_2_H +#define JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_2_H diff --git a/core/include/JellyfinQt/loader/http/getconnectionmanager_3.h b/core/include/JellyfinQt/loader/http/getconnectionmanager_3.h new file mode 100644 index 0000000..1c0f1bf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getconnectionmanager_3.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_3_H +#define JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_3_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONNECTIONMANAGER_3_H diff --git a/core/include/JellyfinQt/loader/http/getcontentdirectory.h b/core/include/JellyfinQt/loader/http/getcontentdirectory.h new file mode 100644 index 0000000..4bbcd24 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcontentdirectory.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_H +#define JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_H diff --git a/core/include/JellyfinQt/loader/http/getcontentdirectory_2.h b/core/include/JellyfinQt/loader/http/getcontentdirectory_2.h new file mode 100644 index 0000000..d83869e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcontentdirectory_2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_2_H +#define JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_2_H diff --git a/core/include/JellyfinQt/loader/http/getcontentdirectory_3.h b/core/include/JellyfinQt/loader/http/getcontentdirectory_3.h new file mode 100644 index 0000000..d509ed8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcontentdirectory_3.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_3_H +#define JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_3_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCONTENTDIRECTORY_3_H diff --git a/core/include/JellyfinQt/loader/http/getcountries.h b/core/include/JellyfinQt/loader/http/getcountries.h new file mode 100644 index 0000000..b4301bc --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcountries.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCOUNTRIES_H +#define JELLYFIN_LOADER_HTTP_GETCOUNTRIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCOUNTRIES_H diff --git a/core/include/JellyfinQt/loader/http/getcriticreviews.h b/core/include/JellyfinQt/loader/http/getcriticreviews.h new file mode 100644 index 0000000..831a04e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcriticreviews.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCRITICREVIEWS_H +#define JELLYFIN_LOADER_HTTP_GETCRITICREVIEWS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets critic review for an item. + */ +class GetCriticReviews : public Jellyfin::Support::HttpLoader { +public: + explicit GetCriticReviews(ApiClient *apiClient); + +protected: + QString url(const GetCriticReviewsParams& parameters) const override; + QUrlQuery query(const GetCriticReviewsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCRITICREVIEWS_H diff --git a/core/include/JellyfinQt/loader/http/getcultures.h b/core/include/JellyfinQt/loader/http/getcultures.h new file mode 100644 index 0000000..835fa62 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcultures.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCULTURES_H +#define JELLYFIN_LOADER_HTTP_GETCULTURES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCULTURES_H diff --git a/core/include/JellyfinQt/loader/http/getcurrentuser.h b/core/include/JellyfinQt/loader/http/getcurrentuser.h new file mode 100644 index 0000000..9605140 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getcurrentuser.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETCURRENTUSER_H +#define JELLYFIN_LOADER_HTTP_GETCURRENTUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/userdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the user based on auth token. + */ +class GetCurrentUser : public Jellyfin::Support::HttpLoader { +public: + explicit GetCurrentUser(ApiClient *apiClient); + +protected: + QString url(const GetCurrentUserParams& parameters) const override; + QUrlQuery query(const GetCurrentUserParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETCURRENTUSER_H diff --git a/core/include/JellyfinQt/loader/http/getdashboardconfigurationpage.h b/core/include/JellyfinQt/loader/http/getdashboardconfigurationpage.h new file mode 100644 index 0000000..b1f3b18 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdashboardconfigurationpage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDASHBOARDCONFIGURATIONPAGE_H +#define JELLYFIN_LOADER_HTTP_GETDASHBOARDCONFIGURATIONPAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDASHBOARDCONFIGURATIONPAGE_H diff --git a/core/include/JellyfinQt/loader/http/getdefaultdirectorybrowser.h b/core/include/JellyfinQt/loader/http/getdefaultdirectorybrowser.h new file mode 100644 index 0000000..8726620 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdefaultdirectorybrowser.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEFAULTDIRECTORYBROWSER_H +#define JELLYFIN_LOADER_HTTP_GETDEFAULTDIRECTORYBROWSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/defaultdirectorybrowserinfodto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get Default directory browser. + */ +class GetDefaultDirectoryBrowser : public Jellyfin::Support::HttpLoader { +public: + explicit GetDefaultDirectoryBrowser(ApiClient *apiClient); + +protected: + QString url(const GetDefaultDirectoryBrowserParams& parameters) const override; + QUrlQuery query(const GetDefaultDirectoryBrowserParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEFAULTDIRECTORYBROWSER_H diff --git a/core/include/JellyfinQt/loader/http/getdefaultlistingprovider.h b/core/include/JellyfinQt/loader/http/getdefaultlistingprovider.h new file mode 100644 index 0000000..c23f4e5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdefaultlistingprovider.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEFAULTLISTINGPROVIDER_H +#define JELLYFIN_LOADER_HTTP_GETDEFAULTLISTINGPROVIDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/listingsproviderinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets default listings provider info. + */ +class GetDefaultListingProvider : public Jellyfin::Support::HttpLoader { +public: + explicit GetDefaultListingProvider(ApiClient *apiClient); + +protected: + QString url(const GetDefaultListingProviderParams& parameters) const override; + QUrlQuery query(const GetDefaultListingProviderParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEFAULTLISTINGPROVIDER_H diff --git a/core/include/JellyfinQt/loader/http/getdefaultmetadataoptions.h b/core/include/JellyfinQt/loader/http/getdefaultmetadataoptions.h new file mode 100644 index 0000000..f60e413 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdefaultmetadataoptions.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEFAULTMETADATAOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETDEFAULTMETADATAOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/metadataoptions.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a default MetadataOptions object. + */ +class GetDefaultMetadataOptions : public Jellyfin::Support::HttpLoader { +public: + explicit GetDefaultMetadataOptions(ApiClient *apiClient); + +protected: + QString url(const GetDefaultMetadataOptionsParams& parameters) const override; + QUrlQuery query(const GetDefaultMetadataOptionsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEFAULTMETADATAOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getdefaultprofile.h b/core/include/JellyfinQt/loader/http/getdefaultprofile.h new file mode 100644 index 0000000..973cd5a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdefaultprofile.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEFAULTPROFILE_H +#define JELLYFIN_LOADER_HTTP_GETDEFAULTPROFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/deviceprofile.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the default profile. + */ +class GetDefaultProfile : public Jellyfin::Support::HttpLoader { +public: + explicit GetDefaultProfile(ApiClient *apiClient); + +protected: + QString url(const GetDefaultProfileParams& parameters) const override; + QUrlQuery query(const GetDefaultProfileParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEFAULTPROFILE_H diff --git a/core/include/JellyfinQt/loader/http/getdefaulttimer.h b/core/include/JellyfinQt/loader/http/getdefaulttimer.h new file mode 100644 index 0000000..84ddbdf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdefaulttimer.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEFAULTTIMER_H +#define JELLYFIN_LOADER_HTTP_GETDEFAULTTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/seriestimerinfodto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the default values for a new timer. + */ +class GetDefaultTimer : public Jellyfin::Support::HttpLoader { +public: + explicit GetDefaultTimer(ApiClient *apiClient); + +protected: + QString url(const GetDefaultTimerParams& parameters) const override; + QUrlQuery query(const GetDefaultTimerParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEFAULTTIMER_H diff --git a/core/include/JellyfinQt/loader/http/getdescriptionxml.h b/core/include/JellyfinQt/loader/http/getdescriptionxml.h new file mode 100644 index 0000000..8d8c4e9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdescriptionxml.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_H +#define JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_H diff --git a/core/include/JellyfinQt/loader/http/getdescriptionxml_2.h b/core/include/JellyfinQt/loader/http/getdescriptionxml_2.h new file mode 100644 index 0000000..29a2233 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdescriptionxml_2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_2_H +#define JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDESCRIPTIONXML_2_H diff --git a/core/include/JellyfinQt/loader/http/getdeviceinfo.h b/core/include/JellyfinQt/loader/http/getdeviceinfo.h new file mode 100644 index 0000000..9252adb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdeviceinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEVICEINFO_H +#define JELLYFIN_LOADER_HTTP_GETDEVICEINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/deviceinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get info for a device. + */ +class GetDeviceInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetDeviceInfo(ApiClient *apiClient); + +protected: + QString url(const GetDeviceInfoParams& parameters) const override; + QUrlQuery query(const GetDeviceInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEVICEINFO_H diff --git a/core/include/JellyfinQt/loader/http/getdeviceoptions.h b/core/include/JellyfinQt/loader/http/getdeviceoptions.h new file mode 100644 index 0000000..1b6b86f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdeviceoptions.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEVICEOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETDEVICEOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/deviceoptions.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get options for a device. + */ +class GetDeviceOptions : public Jellyfin::Support::HttpLoader { +public: + explicit GetDeviceOptions(ApiClient *apiClient); + +protected: + QString url(const GetDeviceOptionsParams& parameters) const override; + QUrlQuery query(const GetDeviceOptionsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEVICEOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getdevices.h b/core/include/JellyfinQt/loader/http/getdevices.h new file mode 100644 index 0000000..f3bfa44 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdevices.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDEVICES_H +#define JELLYFIN_LOADER_HTTP_GETDEVICES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/deviceinfoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get Devices. + */ +class GetDevices : public Jellyfin::Support::HttpLoader { +public: + explicit GetDevices(ApiClient *apiClient); + +protected: + QString url(const GetDevicesParams& parameters) const override; + QUrlQuery query(const GetDevicesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDEVICES_H diff --git a/core/include/JellyfinQt/loader/http/getdirectorycontents.h b/core/include/JellyfinQt/loader/http/getdirectorycontents.h new file mode 100644 index 0000000..30aa925 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdirectorycontents.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDIRECTORYCONTENTS_H +#define JELLYFIN_LOADER_HTTP_GETDIRECTORYCONTENTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDIRECTORYCONTENTS_H diff --git a/core/include/JellyfinQt/loader/http/getdisplaypreferences.h b/core/include/JellyfinQt/loader/http/getdisplaypreferences.h new file mode 100644 index 0000000..39c9709 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdisplaypreferences.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDISPLAYPREFERENCES_H +#define JELLYFIN_LOADER_HTTP_GETDISPLAYPREFERENCES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/displaypreferencesdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get Display Preferences. + */ +class GetDisplayPreferences : public Jellyfin::Support::HttpLoader { +public: + explicit GetDisplayPreferences(ApiClient *apiClient); + +protected: + QString url(const GetDisplayPreferencesParams& parameters) const override; + QUrlQuery query(const GetDisplayPreferencesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDISPLAYPREFERENCES_H diff --git a/core/include/JellyfinQt/loader/http/getdownload.h b/core/include/JellyfinQt/loader/http/getdownload.h new file mode 100644 index 0000000..4f9ff93 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdownload.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDOWNLOAD_H +#define JELLYFIN_LOADER_HTTP_GETDOWNLOAD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDOWNLOAD_H diff --git a/core/include/JellyfinQt/loader/http/getdrives.h b/core/include/JellyfinQt/loader/http/getdrives.h new file mode 100644 index 0000000..1a4d293 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getdrives.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETDRIVES_H +#define JELLYFIN_LOADER_HTTP_GETDRIVES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETDRIVES_H diff --git a/core/include/JellyfinQt/loader/http/getendpointinfo.h b/core/include/JellyfinQt/loader/http/getendpointinfo.h new file mode 100644 index 0000000..2c132dc --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getendpointinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETENDPOINTINFO_H +#define JELLYFIN_LOADER_HTTP_GETENDPOINTINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/endpointinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets information about the request endpoint. + */ +class GetEndpointInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetEndpointInfo(ApiClient *apiClient); + +protected: + QString url(const GetEndpointInfoParams& parameters) const override; + QUrlQuery query(const GetEndpointInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETENDPOINTINFO_H diff --git a/core/include/JellyfinQt/loader/http/getepisodes.h b/core/include/JellyfinQt/loader/http/getepisodes.h new file mode 100644 index 0000000..db0f948 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getepisodes.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETEPISODES_H +#define JELLYFIN_LOADER_HTTP_GETEPISODES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets episodes for a tv season. + */ +class GetEpisodes : public Jellyfin::Support::HttpLoader { +public: + explicit GetEpisodes(ApiClient *apiClient); + +protected: + QString url(const GetEpisodesParams& parameters) const override; + QUrlQuery query(const GetEpisodesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETEPISODES_H diff --git a/core/include/JellyfinQt/loader/http/getexternalidinfos.h b/core/include/JellyfinQt/loader/http/getexternalidinfos.h new file mode 100644 index 0000000..e8f0735 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getexternalidinfos.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETEXTERNALIDINFOS_H +#define JELLYFIN_LOADER_HTTP_GETEXTERNALIDINFOS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETEXTERNALIDINFOS_H diff --git a/core/include/JellyfinQt/loader/http/getfallbackfont.h b/core/include/JellyfinQt/loader/http/getfallbackfont.h new file mode 100644 index 0000000..76fe951 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getfallbackfont.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETFALLBACKFONT_H +#define JELLYFIN_LOADER_HTTP_GETFALLBACKFONT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETFALLBACKFONT_H diff --git a/core/include/JellyfinQt/loader/http/getfallbackfontlist.h b/core/include/JellyfinQt/loader/http/getfallbackfontlist.h new file mode 100644 index 0000000..6d3b0cd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getfallbackfontlist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETFALLBACKFONTLIST_H +#define JELLYFIN_LOADER_HTTP_GETFALLBACKFONTLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETFALLBACKFONTLIST_H diff --git a/core/include/JellyfinQt/loader/http/getfile.h b/core/include/JellyfinQt/loader/http/getfile.h new file mode 100644 index 0000000..fc584e8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getfile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETFILE_H +#define JELLYFIN_LOADER_HTTP_GETFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETFILE_H diff --git a/core/include/JellyfinQt/loader/http/getfirstuser.h b/core/include/JellyfinQt/loader/http/getfirstuser.h new file mode 100644 index 0000000..6e95db7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getfirstuser.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETFIRSTUSER_H +#define JELLYFIN_LOADER_HTTP_GETFIRSTUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/startupuserdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the first user. + */ +class GetFirstUser : public Jellyfin::Support::HttpLoader { +public: + explicit GetFirstUser(ApiClient *apiClient); + +protected: + QString url(const GetFirstUserParams& parameters) const override; + QUrlQuery query(const GetFirstUserParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETFIRSTUSER_H diff --git a/core/include/JellyfinQt/loader/http/getfirstuser_2.h b/core/include/JellyfinQt/loader/http/getfirstuser_2.h new file mode 100644 index 0000000..8ae7135 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getfirstuser_2.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETFIRSTUSER_2_H +#define JELLYFIN_LOADER_HTTP_GETFIRSTUSER_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/startupuserdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the first user. + */ +class GetFirstUser_2 : public Jellyfin::Support::HttpLoader { +public: + explicit GetFirstUser_2(ApiClient *apiClient); + +protected: + QString url(const GetFirstUser_2Params& parameters) const override; + QUrlQuery query(const GetFirstUser_2Params& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETFIRSTUSER_2_H diff --git a/core/include/JellyfinQt/loader/http/getgeneralimage.h b/core/include/JellyfinQt/loader/http/getgeneralimage.h new file mode 100644 index 0000000..d388ded --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgeneralimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENERALIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETGENERALIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENERALIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getgeneralimages.h b/core/include/JellyfinQt/loader/http/getgeneralimages.h new file mode 100644 index 0000000..91776db --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgeneralimages.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENERALIMAGES_H +#define JELLYFIN_LOADER_HTTP_GETGENERALIMAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENERALIMAGES_H diff --git a/core/include/JellyfinQt/loader/http/getgenre.h b/core/include/JellyfinQt/loader/http/getgenre.h new file mode 100644 index 0000000..83188bf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgenre.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENRE_H +#define JELLYFIN_LOADER_HTTP_GETGENRE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a genre, by name. + */ +class GetGenre : public Jellyfin::Support::HttpLoader { +public: + explicit GetGenre(ApiClient *apiClient); + +protected: + QString url(const GetGenreParams& parameters) const override; + QUrlQuery query(const GetGenreParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENRE_H diff --git a/core/include/JellyfinQt/loader/http/getgenreimage.h b/core/include/JellyfinQt/loader/http/getgenreimage.h new file mode 100644 index 0000000..702e511 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgenreimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENREIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETGENREIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENREIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getgenreimagebyindex.h b/core/include/JellyfinQt/loader/http/getgenreimagebyindex.h new file mode 100644 index 0000000..8bda0e4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgenreimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENREIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETGENREIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENREIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getgenres.h b/core/include/JellyfinQt/loader/http/getgenres.h new file mode 100644 index 0000000..172f39e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgenres.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGENRES_H +#define JELLYFIN_LOADER_HTTP_GETGENRES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all genres from a given item, folder, or the entire library. + */ +class GetGenres : public Jellyfin::Support::HttpLoader { +public: + explicit GetGenres(ApiClient *apiClient); + +protected: + QString url(const GetGenresParams& parameters) const override; + QUrlQuery query(const GetGenresParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGENRES_H diff --git a/core/include/JellyfinQt/loader/http/getgroupingoptions.h b/core/include/JellyfinQt/loader/http/getgroupingoptions.h new file mode 100644 index 0000000..8063833 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getgroupingoptions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGROUPINGOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETGROUPINGOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGROUPINGOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getguideinfo.h b/core/include/JellyfinQt/loader/http/getguideinfo.h new file mode 100644 index 0000000..ae9154d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getguideinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETGUIDEINFO_H +#define JELLYFIN_LOADER_HTTP_GETGUIDEINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/guideinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get guid info. + */ +class GetGuideInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetGuideInfo(ApiClient *apiClient); + +protected: + QString url(const GetGuideInfoParams& parameters) const override; + QUrlQuery query(const GetGuideInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETGUIDEINFO_H diff --git a/core/include/JellyfinQt/loader/http/gethlsaudiosegment.h b/core/include/JellyfinQt/loader/http/gethlsaudiosegment.h new file mode 100644 index 0000000..b696ef5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsaudiosegment.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENT_H +#define JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENT_H diff --git a/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacyaac.h b/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacyaac.h new file mode 100644 index 0000000..1cf7164 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacyaac.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYAAC_H +#define JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYAAC_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYAAC_H diff --git a/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacymp3.h b/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacymp3.h new file mode 100644 index 0000000..ca35bae --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsaudiosegmentlegacymp3.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYMP3_H +#define JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYMP3_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSAUDIOSEGMENTLEGACYMP3_H diff --git a/core/include/JellyfinQt/loader/http/gethlsplaylistlegacy.h b/core/include/JellyfinQt/loader/http/gethlsplaylistlegacy.h new file mode 100644 index 0000000..462889d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsplaylistlegacy.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSPLAYLISTLEGACY_H +#define JELLYFIN_LOADER_HTTP_GETHLSPLAYLISTLEGACY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSPLAYLISTLEGACY_H diff --git a/core/include/JellyfinQt/loader/http/gethlsvideosegment.h b/core/include/JellyfinQt/loader/http/gethlsvideosegment.h new file mode 100644 index 0000000..33cddd7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsvideosegment.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENT_H +#define JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENT_H diff --git a/core/include/JellyfinQt/loader/http/gethlsvideosegmentlegacy.h b/core/include/JellyfinQt/loader/http/gethlsvideosegmentlegacy.h new file mode 100644 index 0000000..88f8360 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gethlsvideosegmentlegacy.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENTLEGACY_H +#define JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENTLEGACY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETHLSVIDEOSEGMENTLEGACY_H diff --git a/core/include/JellyfinQt/loader/http/geticon.h b/core/include/JellyfinQt/loader/http/geticon.h new file mode 100644 index 0000000..1cebb70 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/geticon.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETICON_H +#define JELLYFIN_LOADER_HTTP_GETICON_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETICON_H diff --git a/core/include/JellyfinQt/loader/http/geticonid.h b/core/include/JellyfinQt/loader/http/geticonid.h new file mode 100644 index 0000000..17b9484 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/geticonid.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETICONID_H +#define JELLYFIN_LOADER_HTTP_GETICONID_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETICONID_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfromalbum.h b/core/include/JellyfinQt/loader/http/getinstantmixfromalbum.h new file mode 100644 index 0000000..2f51099 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfromalbum.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMALBUM_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMALBUM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromAlbum : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromAlbum(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromAlbumParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromAlbumParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMALBUM_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfromartists.h b/core/include/JellyfinQt/loader/http/getinstantmixfromartists.h new file mode 100644 index 0000000..8e45a3e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfromartists.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMARTISTS_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMARTISTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromArtists : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromArtists(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromArtistsParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromArtistsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMARTISTS_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfromitem.h b/core/include/JellyfinQt/loader/http/getinstantmixfromitem.h new file mode 100644 index 0000000..e8efe8a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfromitem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMITEM_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromItem : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromItem(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromItemParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMITEM_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenre.h b/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenre.h new file mode 100644 index 0000000..3d8060a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenre.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRE_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromMusicGenre : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromMusicGenre(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromMusicGenreParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromMusicGenreParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRE_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenres.h b/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenres.h new file mode 100644 index 0000000..3f9489b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfrommusicgenres.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRES_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromMusicGenres : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromMusicGenres(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromMusicGenresParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromMusicGenresParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMMUSICGENRES_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfromplaylist.h b/core/include/JellyfinQt/loader/http/getinstantmixfromplaylist.h new file mode 100644 index 0000000..450ae49 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfromplaylist.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromPlaylist : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromPlaylist(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromPlaylistParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromPlaylistParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getinstantmixfromsong.h b/core/include/JellyfinQt/loader/http/getinstantmixfromsong.h new file mode 100644 index 0000000..29db07e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getinstantmixfromsong.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMSONG_H +#define JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMSONG_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Creates an instant playlist based on a given song. + */ +class GetInstantMixFromSong : public Jellyfin::Support::HttpLoader { +public: + explicit GetInstantMixFromSong(ApiClient *apiClient); + +protected: + QString url(const GetInstantMixFromSongParams& parameters) const override; + QUrlQuery query(const GetInstantMixFromSongParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINSTANTMIXFROMSONG_H diff --git a/core/include/JellyfinQt/loader/http/getintros.h b/core/include/JellyfinQt/loader/http/getintros.h new file mode 100644 index 0000000..19105b5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getintros.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETINTROS_H +#define JELLYFIN_LOADER_HTTP_GETINTROS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets intros to play before the main media item plays. + */ +class GetIntros : public Jellyfin::Support::HttpLoader { +public: + explicit GetIntros(ApiClient *apiClient); + +protected: + QString url(const GetIntrosParams& parameters) const override; + QUrlQuery query(const GetIntrosParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETINTROS_H diff --git a/core/include/JellyfinQt/loader/http/getitem.h b/core/include/JellyfinQt/loader/http/getitem.h new file mode 100644 index 0000000..135ee0c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEM_H +#define JELLYFIN_LOADER_HTTP_GETITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets an item from a user's library. + */ +class GetItem : public Jellyfin::Support::HttpLoader { +public: + explicit GetItem(ApiClient *apiClient); + +protected: + QString url(const GetItemParams& parameters) const override; + QUrlQuery query(const GetItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEM_H diff --git a/core/include/JellyfinQt/loader/http/getitemcounts.h b/core/include/JellyfinQt/loader/http/getitemcounts.h new file mode 100644 index 0000000..20d0840 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemcounts.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMCOUNTS_H +#define JELLYFIN_LOADER_HTTP_GETITEMCOUNTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/itemcounts.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get item counts. + */ +class GetItemCounts : public Jellyfin::Support::HttpLoader { +public: + explicit GetItemCounts(ApiClient *apiClient); + +protected: + QString url(const GetItemCountsParams& parameters) const override; + QUrlQuery query(const GetItemCountsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMCOUNTS_H diff --git a/core/include/JellyfinQt/loader/http/getitemimage.h b/core/include/JellyfinQt/loader/http/getitemimage.h new file mode 100644 index 0000000..ec9bf38 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETITEMIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getitemimage2.h b/core/include/JellyfinQt/loader/http/getitemimage2.h new file mode 100644 index 0000000..f907f80 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemimage2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMIMAGE2_H +#define JELLYFIN_LOADER_HTTP_GETITEMIMAGE2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMIMAGE2_H diff --git a/core/include/JellyfinQt/loader/http/getitemimagebyindex.h b/core/include/JellyfinQt/loader/http/getitemimagebyindex.h new file mode 100644 index 0000000..cb02d1c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETITEMIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getitemimageinfos.h b/core/include/JellyfinQt/loader/http/getitemimageinfos.h new file mode 100644 index 0000000..c35b87f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemimageinfos.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMIMAGEINFOS_H +#define JELLYFIN_LOADER_HTTP_GETITEMIMAGEINFOS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMIMAGEINFOS_H diff --git a/core/include/JellyfinQt/loader/http/getitems.h b/core/include/JellyfinQt/loader/http/getitems.h new file mode 100644 index 0000000..f1f4c16 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMS_H +#define JELLYFIN_LOADER_HTTP_GETITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets items based on a query. + */ +class GetItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetItems(ApiClient *apiClient); + +protected: + QString url(const GetItemsParams& parameters) const override; + QUrlQuery query(const GetItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getitemsbyuserid.h b/core/include/JellyfinQt/loader/http/getitemsbyuserid.h new file mode 100644 index 0000000..cd1b62b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getitemsbyuserid.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETITEMSBYUSERID_H +#define JELLYFIN_LOADER_HTTP_GETITEMSBYUSERID_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets items based on a query. + */ +class GetItemsByUserId : public Jellyfin::Support::HttpLoader { +public: + explicit GetItemsByUserId(ApiClient *apiClient); + +protected: + QString url(const GetItemsByUserIdParams& parameters) const override; + QUrlQuery query(const GetItemsByUserIdParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETITEMSBYUSERID_H diff --git a/core/include/JellyfinQt/loader/http/getkeys.h b/core/include/JellyfinQt/loader/http/getkeys.h new file mode 100644 index 0000000..c3d2255 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getkeys.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETKEYS_H +#define JELLYFIN_LOADER_HTTP_GETKEYS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/authenticationinfoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get all keys. + */ +class GetKeys : public Jellyfin::Support::HttpLoader { +public: + explicit GetKeys(ApiClient *apiClient); + +protected: + QString url(const GetKeysParams& parameters) const override; + QUrlQuery query(const GetKeysParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETKEYS_H diff --git a/core/include/JellyfinQt/loader/http/getlatestchannelitems.h b/core/include/JellyfinQt/loader/http/getlatestchannelitems.h new file mode 100644 index 0000000..0d9decf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlatestchannelitems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLATESTCHANNELITEMS_H +#define JELLYFIN_LOADER_HTTP_GETLATESTCHANNELITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets latest channel items. + */ +class GetLatestChannelItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetLatestChannelItems(ApiClient *apiClient); + +protected: + QString url(const GetLatestChannelItemsParams& parameters) const override; + QUrlQuery query(const GetLatestChannelItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLATESTCHANNELITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getlatestmedia.h b/core/include/JellyfinQt/loader/http/getlatestmedia.h new file mode 100644 index 0000000..7125187 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlatestmedia.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLATESTMEDIA_H +#define JELLYFIN_LOADER_HTTP_GETLATESTMEDIA_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLATESTMEDIA_H diff --git a/core/include/JellyfinQt/loader/http/getlibraryoptionsinfo.h b/core/include/JellyfinQt/loader/http/getlibraryoptionsinfo.h new file mode 100644 index 0000000..4a195cc --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlibraryoptionsinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIBRARYOPTIONSINFO_H +#define JELLYFIN_LOADER_HTTP_GETLIBRARYOPTIONSINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/libraryoptionsresultdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the library options info. + */ +class GetLibraryOptionsInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetLibraryOptionsInfo(ApiClient *apiClient); + +protected: + QString url(const GetLibraryOptionsInfoParams& parameters) const override; + QUrlQuery query(const GetLibraryOptionsInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIBRARYOPTIONSINFO_H diff --git a/core/include/JellyfinQt/loader/http/getlineups.h b/core/include/JellyfinQt/loader/http/getlineups.h new file mode 100644 index 0000000..59fbca8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlineups.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLINEUPS_H +#define JELLYFIN_LOADER_HTTP_GETLINEUPS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLINEUPS_H diff --git a/core/include/JellyfinQt/loader/http/getlivehlsstream.h b/core/include/JellyfinQt/loader/http/getlivehlsstream.h new file mode 100644 index 0000000..b8b18d1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlivehlsstream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVEHLSSTREAM_H +#define JELLYFIN_LOADER_HTTP_GETLIVEHLSSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVEHLSSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/getliverecordingfile.h b/core/include/JellyfinQt/loader/http/getliverecordingfile.h new file mode 100644 index 0000000..c75db12 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getliverecordingfile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVERECORDINGFILE_H +#define JELLYFIN_LOADER_HTTP_GETLIVERECORDINGFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVERECORDINGFILE_H diff --git a/core/include/JellyfinQt/loader/http/getlivestreamfile.h b/core/include/JellyfinQt/loader/http/getlivestreamfile.h new file mode 100644 index 0000000..0408cbb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlivestreamfile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVESTREAMFILE_H +#define JELLYFIN_LOADER_HTTP_GETLIVESTREAMFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVESTREAMFILE_H diff --git a/core/include/JellyfinQt/loader/http/getlivetvchannels.h b/core/include/JellyfinQt/loader/http/getlivetvchannels.h new file mode 100644 index 0000000..42a23af --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlivetvchannels.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVETVCHANNELS_H +#define JELLYFIN_LOADER_HTTP_GETLIVETVCHANNELS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available live tv channels. + */ +class GetLiveTvChannels : public Jellyfin::Support::HttpLoader { +public: + explicit GetLiveTvChannels(ApiClient *apiClient); + +protected: + QString url(const GetLiveTvChannelsParams& parameters) const override; + QUrlQuery query(const GetLiveTvChannelsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVETVCHANNELS_H diff --git a/core/include/JellyfinQt/loader/http/getlivetvinfo.h b/core/include/JellyfinQt/loader/http/getlivetvinfo.h new file mode 100644 index 0000000..1a7fb02 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlivetvinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVETVINFO_H +#define JELLYFIN_LOADER_HTTP_GETLIVETVINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/livetvinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available live tv services. + */ +class GetLiveTvInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetLiveTvInfo(ApiClient *apiClient); + +protected: + QString url(const GetLiveTvInfoParams& parameters) const override; + QUrlQuery query(const GetLiveTvInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVETVINFO_H diff --git a/core/include/JellyfinQt/loader/http/getlivetvprograms.h b/core/include/JellyfinQt/loader/http/getlivetvprograms.h new file mode 100644 index 0000000..223bdf4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlivetvprograms.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLIVETVPROGRAMS_H +#define JELLYFIN_LOADER_HTTP_GETLIVETVPROGRAMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available live tv epgs. + */ +class GetLiveTvPrograms : public Jellyfin::Support::HttpLoader { +public: + explicit GetLiveTvPrograms(ApiClient *apiClient); + +protected: + QString url(const GetLiveTvProgramsParams& parameters) const override; + QUrlQuery query(const GetLiveTvProgramsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLIVETVPROGRAMS_H diff --git a/core/include/JellyfinQt/loader/http/getlocalizationoptions.h b/core/include/JellyfinQt/loader/http/getlocalizationoptions.h new file mode 100644 index 0000000..9c4f1fd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlocalizationoptions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLOCALIZATIONOPTIONS_H +#define JELLYFIN_LOADER_HTTP_GETLOCALIZATIONOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLOCALIZATIONOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getlocaltrailers.h b/core/include/JellyfinQt/loader/http/getlocaltrailers.h new file mode 100644 index 0000000..b15035e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlocaltrailers.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLOCALTRAILERS_H +#define JELLYFIN_LOADER_HTTP_GETLOCALTRAILERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLOCALTRAILERS_H diff --git a/core/include/JellyfinQt/loader/http/getlogentries.h b/core/include/JellyfinQt/loader/http/getlogentries.h new file mode 100644 index 0000000..0fd7990 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlogentries.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLOGENTRIES_H +#define JELLYFIN_LOADER_HTTP_GETLOGENTRIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/activitylogentryqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets activity log entries. + */ +class GetLogEntries : public Jellyfin::Support::HttpLoader { +public: + explicit GetLogEntries(ApiClient *apiClient); + +protected: + QString url(const GetLogEntriesParams& parameters) const override; + QUrlQuery query(const GetLogEntriesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLOGENTRIES_H diff --git a/core/include/JellyfinQt/loader/http/getlogfile.h b/core/include/JellyfinQt/loader/http/getlogfile.h new file mode 100644 index 0000000..69475c8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getlogfile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETLOGFILE_H +#define JELLYFIN_LOADER_HTTP_GETLOGFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETLOGFILE_H diff --git a/core/include/JellyfinQt/loader/http/getmasterhlsaudioplaylist.h b/core/include/JellyfinQt/loader/http/getmasterhlsaudioplaylist.h new file mode 100644 index 0000000..b760e1f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmasterhlsaudioplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMASTERHLSAUDIOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETMASTERHLSAUDIOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMASTERHLSAUDIOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getmasterhlsvideoplaylist.h b/core/include/JellyfinQt/loader/http/getmasterhlsvideoplaylist.h new file mode 100644 index 0000000..3551fb3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmasterhlsvideoplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMASTERHLSVIDEOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETMASTERHLSVIDEOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMASTERHLSVIDEOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getmediafolders.h b/core/include/JellyfinQt/loader/http/getmediafolders.h new file mode 100644 index 0000000..efc395b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediafolders.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIAFOLDERS_H +#define JELLYFIN_LOADER_HTTP_GETMEDIAFOLDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all user media folders. + */ +class GetMediaFolders : public Jellyfin::Support::HttpLoader { +public: + explicit GetMediaFolders(ApiClient *apiClient); + +protected: + QString url(const GetMediaFoldersParams& parameters) const override; + QUrlQuery query(const GetMediaFoldersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIAFOLDERS_H diff --git a/core/include/JellyfinQt/loader/http/getmediainfoimage.h b/core/include/JellyfinQt/loader/http/getmediainfoimage.h new file mode 100644 index 0000000..5c639ee --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediainfoimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getmediainfoimages.h b/core/include/JellyfinQt/loader/http/getmediainfoimages.h new file mode 100644 index 0000000..814086a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediainfoimages.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGES_H +#define JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIAINFOIMAGES_H diff --git a/core/include/JellyfinQt/loader/http/getmediareceiverregistrar.h b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar.h new file mode 100644 index 0000000..6899805 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_H +#define JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_H diff --git a/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_2.h b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_2.h new file mode 100644 index 0000000..d7b767a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_2_H +#define JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_2_H diff --git a/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_3.h b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_3.h new file mode 100644 index 0000000..7b26e73 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmediareceiverregistrar_3.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_3_H +#define JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_3_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMEDIARECEIVERREGISTRAR_3_H diff --git a/core/include/JellyfinQt/loader/http/getmetadataeditorinfo.h b/core/include/JellyfinQt/loader/http/getmetadataeditorinfo.h new file mode 100644 index 0000000..0a342fe --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmetadataeditorinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMETADATAEDITORINFO_H +#define JELLYFIN_LOADER_HTTP_GETMETADATAEDITORINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/metadataeditorinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets metadata editor info for an item. + */ +class GetMetadataEditorInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetMetadataEditorInfo(ApiClient *apiClient); + +protected: + QString url(const GetMetadataEditorInfoParams& parameters) const override; + QUrlQuery query(const GetMetadataEditorInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMETADATAEDITORINFO_H diff --git a/core/include/JellyfinQt/loader/http/getmovierecommendations.h b/core/include/JellyfinQt/loader/http/getmovierecommendations.h new file mode 100644 index 0000000..c7a9c0c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmovierecommendations.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMOVIERECOMMENDATIONS_H +#define JELLYFIN_LOADER_HTTP_GETMOVIERECOMMENDATIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMOVIERECOMMENDATIONS_H diff --git a/core/include/JellyfinQt/loader/http/getmovieremotesearchresults.h b/core/include/JellyfinQt/loader/http/getmovieremotesearchresults.h new file mode 100644 index 0000000..06c2282 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmovieremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMOVIEREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETMOVIEREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMOVIEREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getmusicalbumremotesearchresults.h b/core/include/JellyfinQt/loader/http/getmusicalbumremotesearchresults.h new file mode 100644 index 0000000..3c65a0e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicalbumremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICALBUMREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETMUSICALBUMREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICALBUMREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getmusicartistremotesearchresults.h b/core/include/JellyfinQt/loader/http/getmusicartistremotesearchresults.h new file mode 100644 index 0000000..60464ed --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicartistremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICARTISTREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETMUSICARTISTREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICARTISTREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getmusicgenre.h b/core/include/JellyfinQt/loader/http/getmusicgenre.h new file mode 100644 index 0000000..193707e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicgenre.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICGENRE_H +#define JELLYFIN_LOADER_HTTP_GETMUSICGENRE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a music genre, by name. + */ +class GetMusicGenre : public Jellyfin::Support::HttpLoader { +public: + explicit GetMusicGenre(ApiClient *apiClient); + +protected: + QString url(const GetMusicGenreParams& parameters) const override; + QUrlQuery query(const GetMusicGenreParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICGENRE_H diff --git a/core/include/JellyfinQt/loader/http/getmusicgenreimage.h b/core/include/JellyfinQt/loader/http/getmusicgenreimage.h new file mode 100644 index 0000000..5dfe034 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicgenreimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getmusicgenreimagebyindex.h b/core/include/JellyfinQt/loader/http/getmusicgenreimagebyindex.h new file mode 100644 index 0000000..a7747d8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicgenreimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICGENREIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getmusicgenres.h b/core/include/JellyfinQt/loader/http/getmusicgenres.h new file mode 100644 index 0000000..8e10ea7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicgenres.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICGENRES_H +#define JELLYFIN_LOADER_HTTP_GETMUSICGENRES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all music genres from a given item, folder, or the entire library. + */ +class GetMusicGenres : public Jellyfin::Support::HttpLoader { +public: + explicit GetMusicGenres(ApiClient *apiClient); + +protected: + QString url(const GetMusicGenresParams& parameters) const override; + QUrlQuery query(const GetMusicGenresParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICGENRES_H diff --git a/core/include/JellyfinQt/loader/http/getmusicvideoremotesearchresults.h b/core/include/JellyfinQt/loader/http/getmusicvideoremotesearchresults.h new file mode 100644 index 0000000..95eb134 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getmusicvideoremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETMUSICVIDEOREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETMUSICVIDEOREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETMUSICVIDEOREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getnamedconfiguration.h b/core/include/JellyfinQt/loader/http/getnamedconfiguration.h new file mode 100644 index 0000000..2361577 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnamedconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNAMEDCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_GETNAMEDCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNAMEDCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/getnetworkshares.h b/core/include/JellyfinQt/loader/http/getnetworkshares.h new file mode 100644 index 0000000..f3574ea --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnetworkshares.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNETWORKSHARES_H +#define JELLYFIN_LOADER_HTTP_GETNETWORKSHARES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNETWORKSHARES_H diff --git a/core/include/JellyfinQt/loader/http/getnextup.h b/core/include/JellyfinQt/loader/http/getnextup.h new file mode 100644 index 0000000..f3ff625 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnextup.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNEXTUP_H +#define JELLYFIN_LOADER_HTTP_GETNEXTUP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a list of next up episodes. + */ +class GetNextUp : public Jellyfin::Support::HttpLoader { +public: + explicit GetNextUp(ApiClient *apiClient); + +protected: + QString url(const GetNextUpParams& parameters) const override; + QUrlQuery query(const GetNextUpParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNEXTUP_H diff --git a/core/include/JellyfinQt/loader/http/getnotifications.h b/core/include/JellyfinQt/loader/http/getnotifications.h new file mode 100644 index 0000000..17ae1c7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnotifications.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNOTIFICATIONS_H +#define JELLYFIN_LOADER_HTTP_GETNOTIFICATIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/notificationresultdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a user's notifications. + */ +class GetNotifications : public Jellyfin::Support::HttpLoader { +public: + explicit GetNotifications(ApiClient *apiClient); + +protected: + QString url(const GetNotificationsParams& parameters) const override; + QUrlQuery query(const GetNotificationsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNOTIFICATIONS_H diff --git a/core/include/JellyfinQt/loader/http/getnotificationservices.h b/core/include/JellyfinQt/loader/http/getnotificationservices.h new file mode 100644 index 0000000..796153e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnotificationservices.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSERVICES_H +#define JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSERVICES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSERVICES_H diff --git a/core/include/JellyfinQt/loader/http/getnotificationssummary.h b/core/include/JellyfinQt/loader/http/getnotificationssummary.h new file mode 100644 index 0000000..2aa7ad0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnotificationssummary.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSSUMMARY_H +#define JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSSUMMARY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/notificationssummarydto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a user's notification summary. + */ +class GetNotificationsSummary : public Jellyfin::Support::HttpLoader { +public: + explicit GetNotificationsSummary(ApiClient *apiClient); + +protected: + QString url(const GetNotificationsSummaryParams& parameters) const override; + QUrlQuery query(const GetNotificationsSummaryParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNOTIFICATIONSSUMMARY_H diff --git a/core/include/JellyfinQt/loader/http/getnotificationtypes.h b/core/include/JellyfinQt/loader/http/getnotificationtypes.h new file mode 100644 index 0000000..f4646f0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getnotificationtypes.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETNOTIFICATIONTYPES_H +#define JELLYFIN_LOADER_HTTP_GETNOTIFICATIONTYPES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETNOTIFICATIONTYPES_H diff --git a/core/include/JellyfinQt/loader/http/getpackageinfo.h b/core/include/JellyfinQt/loader/http/getpackageinfo.h new file mode 100644 index 0000000..794f637 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpackageinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPACKAGEINFO_H +#define JELLYFIN_LOADER_HTTP_GETPACKAGEINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/packageinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a package by name or assembly GUID. + */ +class GetPackageInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetPackageInfo(ApiClient *apiClient); + +protected: + QString url(const GetPackageInfoParams& parameters) const override; + QUrlQuery query(const GetPackageInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPACKAGEINFO_H diff --git a/core/include/JellyfinQt/loader/http/getpackages.h b/core/include/JellyfinQt/loader/http/getpackages.h new file mode 100644 index 0000000..2971d1c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpackages.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPACKAGES_H +#define JELLYFIN_LOADER_HTTP_GETPACKAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPACKAGES_H diff --git a/core/include/JellyfinQt/loader/http/getparentalratings.h b/core/include/JellyfinQt/loader/http/getparentalratings.h new file mode 100644 index 0000000..fbf3951 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getparentalratings.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPARENTALRATINGS_H +#define JELLYFIN_LOADER_HTTP_GETPARENTALRATINGS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPARENTALRATINGS_H diff --git a/core/include/JellyfinQt/loader/http/getparentpath.h b/core/include/JellyfinQt/loader/http/getparentpath.h new file mode 100644 index 0000000..b8a1151 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getparentpath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPARENTPATH_H +#define JELLYFIN_LOADER_HTTP_GETPARENTPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPARENTPATH_H diff --git a/core/include/JellyfinQt/loader/http/getpasswordresetproviders.h b/core/include/JellyfinQt/loader/http/getpasswordresetproviders.h new file mode 100644 index 0000000..4968eb4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpasswordresetproviders.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPASSWORDRESETPROVIDERS_H +#define JELLYFIN_LOADER_HTTP_GETPASSWORDRESETPROVIDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPASSWORDRESETPROVIDERS_H diff --git a/core/include/JellyfinQt/loader/http/getperson.h b/core/include/JellyfinQt/loader/http/getperson.h new file mode 100644 index 0000000..f11bb44 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getperson.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPERSON_H +#define JELLYFIN_LOADER_HTTP_GETPERSON_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get person by name. + */ +class GetPerson : public Jellyfin::Support::HttpLoader { +public: + explicit GetPerson(ApiClient *apiClient); + +protected: + QString url(const GetPersonParams& parameters) const override; + QUrlQuery query(const GetPersonParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPERSON_H diff --git a/core/include/JellyfinQt/loader/http/getpersonimage.h b/core/include/JellyfinQt/loader/http/getpersonimage.h new file mode 100644 index 0000000..68ef706 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpersonimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPERSONIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETPERSONIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPERSONIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getpersonimagebyindex.h b/core/include/JellyfinQt/loader/http/getpersonimagebyindex.h new file mode 100644 index 0000000..21574cd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpersonimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPERSONIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETPERSONIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPERSONIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getpersonremotesearchresults.h b/core/include/JellyfinQt/loader/http/getpersonremotesearchresults.h new file mode 100644 index 0000000..d610d44 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpersonremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPERSONREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETPERSONREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPERSONREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getpersons.h b/core/include/JellyfinQt/loader/http/getpersons.h new file mode 100644 index 0000000..ea91f56 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpersons.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPERSONS_H +#define JELLYFIN_LOADER_HTTP_GETPERSONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all persons. + */ +class GetPersons : public Jellyfin::Support::HttpLoader { +public: + explicit GetPersons(ApiClient *apiClient); + +protected: + QString url(const GetPersonsParams& parameters) const override; + QUrlQuery query(const GetPersonsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPERSONS_H diff --git a/core/include/JellyfinQt/loader/http/getphysicalpaths.h b/core/include/JellyfinQt/loader/http/getphysicalpaths.h new file mode 100644 index 0000000..68881c1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getphysicalpaths.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPHYSICALPATHS_H +#define JELLYFIN_LOADER_HTTP_GETPHYSICALPATHS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPHYSICALPATHS_H diff --git a/core/include/JellyfinQt/loader/http/getpingsystem.h b/core/include/JellyfinQt/loader/http/getpingsystem.h new file mode 100644 index 0000000..d0f198b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpingsystem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPINGSYSTEM_H +#define JELLYFIN_LOADER_HTTP_GETPINGSYSTEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPINGSYSTEM_H diff --git a/core/include/JellyfinQt/loader/http/getplaybackinfo.h b/core/include/JellyfinQt/loader/http/getplaybackinfo.h new file mode 100644 index 0000000..3c1948d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getplaybackinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLAYBACKINFO_H +#define JELLYFIN_LOADER_HTTP_GETPLAYBACKINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/playbackinforesponse.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live playback media info for an item. + */ +class GetPlaybackInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetPlaybackInfo(ApiClient *apiClient); + +protected: + QString url(const GetPlaybackInfoParams& parameters) const override; + QUrlQuery query(const GetPlaybackInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLAYBACKINFO_H diff --git a/core/include/JellyfinQt/loader/http/getplaylistitems.h b/core/include/JellyfinQt/loader/http/getplaylistitems.h new file mode 100644 index 0000000..a0b9ba7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getplaylistitems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLAYLISTITEMS_H +#define JELLYFIN_LOADER_HTTP_GETPLAYLISTITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the original items of a playlist. + */ +class GetPlaylistItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetPlaylistItems(ApiClient *apiClient); + +protected: + QString url(const GetPlaylistItemsParams& parameters) const override; + QUrlQuery query(const GetPlaylistItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLAYLISTITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getpluginconfiguration.h b/core/include/JellyfinQt/loader/http/getpluginconfiguration.h new file mode 100644 index 0000000..065c4c1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpluginconfiguration.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLUGINCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_GETPLUGINCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/basepluginconfiguration.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets plugin configuration. + */ +class GetPluginConfiguration : public Jellyfin::Support::HttpLoader { +public: + explicit GetPluginConfiguration(ApiClient *apiClient); + +protected: + QString url(const GetPluginConfigurationParams& parameters) const override; + QUrlQuery query(const GetPluginConfigurationParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLUGINCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/getpluginimage.h b/core/include/JellyfinQt/loader/http/getpluginimage.h new file mode 100644 index 0000000..726cc28 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpluginimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLUGINIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETPLUGINIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLUGINIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getpluginmanifest.h b/core/include/JellyfinQt/loader/http/getpluginmanifest.h new file mode 100644 index 0000000..96822c9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpluginmanifest.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLUGINMANIFEST_H +#define JELLYFIN_LOADER_HTTP_GETPLUGINMANIFEST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLUGINMANIFEST_H diff --git a/core/include/JellyfinQt/loader/http/getplugins.h b/core/include/JellyfinQt/loader/http/getplugins.h new file mode 100644 index 0000000..925e1a1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getplugins.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPLUGINS_H +#define JELLYFIN_LOADER_HTTP_GETPLUGINS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPLUGINS_H diff --git a/core/include/JellyfinQt/loader/http/getpostedplaybackinfo.h b/core/include/JellyfinQt/loader/http/getpostedplaybackinfo.h new file mode 100644 index 0000000..073a5fd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpostedplaybackinfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPOSTEDPLAYBACKINFO_H +#define JELLYFIN_LOADER_HTTP_GETPOSTEDPLAYBACKINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/playbackinforesponse.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live playback media info for an item. + */ +class GetPostedPlaybackInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetPostedPlaybackInfo(ApiClient *apiClient); + +protected: + QString url(const GetPostedPlaybackInfoParams& parameters) const override; + QUrlQuery query(const GetPostedPlaybackInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPOSTEDPLAYBACKINFO_H diff --git a/core/include/JellyfinQt/loader/http/getprofile.h b/core/include/JellyfinQt/loader/http/getprofile.h new file mode 100644 index 0000000..2b64e14 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getprofile.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPROFILE_H +#define JELLYFIN_LOADER_HTTP_GETPROFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/deviceprofile.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a single profile. + */ +class GetProfile : public Jellyfin::Support::HttpLoader { +public: + explicit GetProfile(ApiClient *apiClient); + +protected: + QString url(const GetProfileParams& parameters) const override; + QUrlQuery query(const GetProfileParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPROFILE_H diff --git a/core/include/JellyfinQt/loader/http/getprofileinfos.h b/core/include/JellyfinQt/loader/http/getprofileinfos.h new file mode 100644 index 0000000..9eb481c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getprofileinfos.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPROFILEINFOS_H +#define JELLYFIN_LOADER_HTTP_GETPROFILEINFOS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPROFILEINFOS_H diff --git a/core/include/JellyfinQt/loader/http/getprogram.h b/core/include/JellyfinQt/loader/http/getprogram.h new file mode 100644 index 0000000..0e59025 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getprogram.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPROGRAM_H +#define JELLYFIN_LOADER_HTTP_GETPROGRAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a live tv program. + */ +class GetProgram : public Jellyfin::Support::HttpLoader { +public: + explicit GetProgram(ApiClient *apiClient); + +protected: + QString url(const GetProgramParams& parameters) const override; + QUrlQuery query(const GetProgramParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPROGRAM_H diff --git a/core/include/JellyfinQt/loader/http/getprograms.h b/core/include/JellyfinQt/loader/http/getprograms.h new file mode 100644 index 0000000..b4d6156 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getprograms.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPROGRAMS_H +#define JELLYFIN_LOADER_HTTP_GETPROGRAMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available live tv epgs. + */ +class GetPrograms : public Jellyfin::Support::HttpLoader { +public: + explicit GetPrograms(ApiClient *apiClient); + +protected: + QString url(const GetProgramsParams& parameters) const override; + QUrlQuery query(const GetProgramsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPROGRAMS_H diff --git a/core/include/JellyfinQt/loader/http/getpublicsysteminfo.h b/core/include/JellyfinQt/loader/http/getpublicsysteminfo.h new file mode 100644 index 0000000..ff8a86c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpublicsysteminfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPUBLICSYSTEMINFO_H +#define JELLYFIN_LOADER_HTTP_GETPUBLICSYSTEMINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/publicsysteminfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets public information about the server. + */ +class GetPublicSystemInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetPublicSystemInfo(ApiClient *apiClient); + +protected: + QString url(const GetPublicSystemInfoParams& parameters) const override; + QUrlQuery query(const GetPublicSystemInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPUBLICSYSTEMINFO_H diff --git a/core/include/JellyfinQt/loader/http/getpublicusers.h b/core/include/JellyfinQt/loader/http/getpublicusers.h new file mode 100644 index 0000000..c0b89b3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getpublicusers.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETPUBLICUSERS_H +#define JELLYFIN_LOADER_HTTP_GETPUBLICUSERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETPUBLICUSERS_H diff --git a/core/include/JellyfinQt/loader/http/getqueryfilters.h b/core/include/JellyfinQt/loader/http/getqueryfilters.h new file mode 100644 index 0000000..d91e11c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getqueryfilters.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETQUERYFILTERS_H +#define JELLYFIN_LOADER_HTTP_GETQUERYFILTERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/queryfilters.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets query filters. + */ +class GetQueryFilters : public Jellyfin::Support::HttpLoader { +public: + explicit GetQueryFilters(ApiClient *apiClient); + +protected: + QString url(const GetQueryFiltersParams& parameters) const override; + QUrlQuery query(const GetQueryFiltersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETQUERYFILTERS_H diff --git a/core/include/JellyfinQt/loader/http/getqueryfilterslegacy.h b/core/include/JellyfinQt/loader/http/getqueryfilterslegacy.h new file mode 100644 index 0000000..4b73c4b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getqueryfilterslegacy.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETQUERYFILTERSLEGACY_H +#define JELLYFIN_LOADER_HTTP_GETQUERYFILTERSLEGACY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/queryfilterslegacy.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets legacy query filters. + */ +class GetQueryFiltersLegacy : public Jellyfin::Support::HttpLoader { +public: + explicit GetQueryFiltersLegacy(ApiClient *apiClient); + +protected: + QString url(const GetQueryFiltersLegacyParams& parameters) const override; + QUrlQuery query(const GetQueryFiltersLegacyParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETQUERYFILTERSLEGACY_H diff --git a/core/include/JellyfinQt/loader/http/getratingimage.h b/core/include/JellyfinQt/loader/http/getratingimage.h new file mode 100644 index 0000000..5ddf912 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getratingimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRATINGIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETRATINGIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRATINGIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getratingimages.h b/core/include/JellyfinQt/loader/http/getratingimages.h new file mode 100644 index 0000000..353a481 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getratingimages.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRATINGIMAGES_H +#define JELLYFIN_LOADER_HTTP_GETRATINGIMAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRATINGIMAGES_H diff --git a/core/include/JellyfinQt/loader/http/getrecommendedprograms.h b/core/include/JellyfinQt/loader/http/getrecommendedprograms.h new file mode 100644 index 0000000..23e5146 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecommendedprograms.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECOMMENDEDPROGRAMS_H +#define JELLYFIN_LOADER_HTTP_GETRECOMMENDEDPROGRAMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets recommended live tv epgs. + */ +class GetRecommendedPrograms : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecommendedPrograms(ApiClient *apiClient); + +protected: + QString url(const GetRecommendedProgramsParams& parameters) const override; + QUrlQuery query(const GetRecommendedProgramsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECOMMENDEDPROGRAMS_H diff --git a/core/include/JellyfinQt/loader/http/getrecording.h b/core/include/JellyfinQt/loader/http/getrecording.h new file mode 100644 index 0000000..512a5be --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecording.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDING_H +#define JELLYFIN_LOADER_HTTP_GETRECORDING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a live tv recording. + */ +class GetRecording : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecording(ApiClient *apiClient); + +protected: + QString url(const GetRecordingParams& parameters) const override; + QUrlQuery query(const GetRecordingParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDING_H diff --git a/core/include/JellyfinQt/loader/http/getrecordingfolders.h b/core/include/JellyfinQt/loader/http/getrecordingfolders.h new file mode 100644 index 0000000..2e963f0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecordingfolders.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDINGFOLDERS_H +#define JELLYFIN_LOADER_HTTP_GETRECORDINGFOLDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets recording folders. + */ +class GetRecordingFolders : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecordingFolders(ApiClient *apiClient); + +protected: + QString url(const GetRecordingFoldersParams& parameters) const override; + QUrlQuery query(const GetRecordingFoldersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDINGFOLDERS_H diff --git a/core/include/JellyfinQt/loader/http/getrecordinggroup.h b/core/include/JellyfinQt/loader/http/getrecordinggroup.h new file mode 100644 index 0000000..30bc92e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecordinggroup.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDINGGROUP_H +#define JELLYFIN_LOADER_HTTP_GETRECORDINGGROUP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDINGGROUP_H diff --git a/core/include/JellyfinQt/loader/http/getrecordinggroups.h b/core/include/JellyfinQt/loader/http/getrecordinggroups.h new file mode 100644 index 0000000..9914333 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecordinggroups.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDINGGROUPS_H +#define JELLYFIN_LOADER_HTTP_GETRECORDINGGROUPS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live tv recording groups. + */ +class GetRecordingGroups : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecordingGroups(ApiClient *apiClient); + +protected: + QString url(const GetRecordingGroupsParams& parameters) const override; + QUrlQuery query(const GetRecordingGroupsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDINGGROUPS_H diff --git a/core/include/JellyfinQt/loader/http/getrecordings.h b/core/include/JellyfinQt/loader/http/getrecordings.h new file mode 100644 index 0000000..1eb78af --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecordings.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDINGS_H +#define JELLYFIN_LOADER_HTTP_GETRECORDINGS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live tv recordings. + */ +class GetRecordings : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecordings(ApiClient *apiClient); + +protected: + QString url(const GetRecordingsParams& parameters) const override; + QUrlQuery query(const GetRecordingsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDINGS_H diff --git a/core/include/JellyfinQt/loader/http/getrecordingsseries.h b/core/include/JellyfinQt/loader/http/getrecordingsseries.h new file mode 100644 index 0000000..7e25ded --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrecordingsseries.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRECORDINGSSERIES_H +#define JELLYFIN_LOADER_HTTP_GETRECORDINGSSERIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live tv recording series. + */ +class GetRecordingsSeries : public Jellyfin::Support::HttpLoader { +public: + explicit GetRecordingsSeries(ApiClient *apiClient); + +protected: + QString url(const GetRecordingsSeriesParams& parameters) const override; + QUrlQuery query(const GetRecordingsSeriesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRECORDINGSSERIES_H diff --git a/core/include/JellyfinQt/loader/http/getremoteimage.h b/core/include/JellyfinQt/loader/http/getremoteimage.h new file mode 100644 index 0000000..2c460ef --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getremoteimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREMOTEIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETREMOTEIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREMOTEIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getremoteimageproviders.h b/core/include/JellyfinQt/loader/http/getremoteimageproviders.h new file mode 100644 index 0000000..3587224 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getremoteimageproviders.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREMOTEIMAGEPROVIDERS_H +#define JELLYFIN_LOADER_HTTP_GETREMOTEIMAGEPROVIDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREMOTEIMAGEPROVIDERS_H diff --git a/core/include/JellyfinQt/loader/http/getremoteimages.h b/core/include/JellyfinQt/loader/http/getremoteimages.h new file mode 100644 index 0000000..2e9d66a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getremoteimages.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREMOTEIMAGES_H +#define JELLYFIN_LOADER_HTTP_GETREMOTEIMAGES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/remoteimageresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets available remote images for an item. + */ +class GetRemoteImages : public Jellyfin::Support::HttpLoader { +public: + explicit GetRemoteImages(ApiClient *apiClient); + +protected: + QString url(const GetRemoteImagesParams& parameters) const override; + QUrlQuery query(const GetRemoteImagesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREMOTEIMAGES_H diff --git a/core/include/JellyfinQt/loader/http/getremotesearchimage.h b/core/include/JellyfinQt/loader/http/getremotesearchimage.h new file mode 100644 index 0000000..38b1e06 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getremotesearchimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREMOTESEARCHIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETREMOTESEARCHIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREMOTESEARCHIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getremotesubtitles.h b/core/include/JellyfinQt/loader/http/getremotesubtitles.h new file mode 100644 index 0000000..2778cfa --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getremotesubtitles.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREMOTESUBTITLES_H +#define JELLYFIN_LOADER_HTTP_GETREMOTESUBTITLES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREMOTESUBTITLES_H diff --git a/core/include/JellyfinQt/loader/http/getrepositories.h b/core/include/JellyfinQt/loader/http/getrepositories.h new file mode 100644 index 0000000..6f82d1f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrepositories.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETREPOSITORIES_H +#define JELLYFIN_LOADER_HTTP_GETREPOSITORIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETREPOSITORIES_H diff --git a/core/include/JellyfinQt/loader/http/getresumeitems.h b/core/include/JellyfinQt/loader/http/getresumeitems.h new file mode 100644 index 0000000..8c36530 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getresumeitems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETRESUMEITEMS_H +#define JELLYFIN_LOADER_HTTP_GETRESUMEITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets items based on a query. + */ +class GetResumeItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetResumeItems(ApiClient *apiClient); + +protected: + QString url(const GetResumeItemsParams& parameters) const override; + QUrlQuery query(const GetResumeItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETRESUMEITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getrootfolder.h b/core/include/JellyfinQt/loader/http/getrootfolder.h new file mode 100644 index 0000000..6417b1e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getrootfolder.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETROOTFOLDER_H +#define JELLYFIN_LOADER_HTTP_GETROOTFOLDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the root folder from a user's library. + */ +class GetRootFolder : public Jellyfin::Support::HttpLoader { +public: + explicit GetRootFolder(ApiClient *apiClient); + +protected: + QString url(const GetRootFolderParams& parameters) const override; + QUrlQuery query(const GetRootFolderParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETROOTFOLDER_H diff --git a/core/include/JellyfinQt/loader/http/getschedulesdirectcountries.h b/core/include/JellyfinQt/loader/http/getschedulesdirectcountries.h new file mode 100644 index 0000000..5a7ab6a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getschedulesdirectcountries.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSCHEDULESDIRECTCOUNTRIES_H +#define JELLYFIN_LOADER_HTTP_GETSCHEDULESDIRECTCOUNTRIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSCHEDULESDIRECTCOUNTRIES_H diff --git a/core/include/JellyfinQt/loader/http/getseasons.h b/core/include/JellyfinQt/loader/http/getseasons.h new file mode 100644 index 0000000..75997ac --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getseasons.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSEASONS_H +#define JELLYFIN_LOADER_HTTP_GETSEASONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets seasons for a tv series. + */ +class GetSeasons : public Jellyfin::Support::HttpLoader { +public: + explicit GetSeasons(ApiClient *apiClient); + +protected: + QString url(const GetSeasonsParams& parameters) const override; + QUrlQuery query(const GetSeasonsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSEASONS_H diff --git a/core/include/JellyfinQt/loader/http/getseriesremotesearchresults.h b/core/include/JellyfinQt/loader/http/getseriesremotesearchresults.h new file mode 100644 index 0000000..15b93f8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getseriesremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSERIESREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETSERIESREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSERIESREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/getseriestimer.h b/core/include/JellyfinQt/loader/http/getseriestimer.h new file mode 100644 index 0000000..968af03 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getseriestimer.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSERIESTIMER_H +#define JELLYFIN_LOADER_HTTP_GETSERIESTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/seriestimerinfodto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a live tv series timer. + */ +class GetSeriesTimer : public Jellyfin::Support::HttpLoader { +public: + explicit GetSeriesTimer(ApiClient *apiClient); + +protected: + QString url(const GetSeriesTimerParams& parameters) const override; + QUrlQuery query(const GetSeriesTimerParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSERIESTIMER_H diff --git a/core/include/JellyfinQt/loader/http/getseriestimers.h b/core/include/JellyfinQt/loader/http/getseriestimers.h new file mode 100644 index 0000000..187cbb0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getseriestimers.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSERIESTIMERS_H +#define JELLYFIN_LOADER_HTTP_GETSERIESTIMERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/seriestimerinfodtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets live tv series timers. + */ +class GetSeriesTimers : public Jellyfin::Support::HttpLoader { +public: + explicit GetSeriesTimers(ApiClient *apiClient); + +protected: + QString url(const GetSeriesTimersParams& parameters) const override; + QUrlQuery query(const GetSeriesTimersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSERIESTIMERS_H diff --git a/core/include/JellyfinQt/loader/http/getserverlogs.h b/core/include/JellyfinQt/loader/http/getserverlogs.h new file mode 100644 index 0000000..b5a9cbf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getserverlogs.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSERVERLOGS_H +#define JELLYFIN_LOADER_HTTP_GETSERVERLOGS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSERVERLOGS_H diff --git a/core/include/JellyfinQt/loader/http/getsessions.h b/core/include/JellyfinQt/loader/http/getsessions.h new file mode 100644 index 0000000..895d5c7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsessions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSESSIONS_H +#define JELLYFIN_LOADER_HTTP_GETSESSIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSESSIONS_H diff --git a/core/include/JellyfinQt/loader/http/getsimilaralbums.h b/core/include/JellyfinQt/loader/http/getsimilaralbums.h new file mode 100644 index 0000000..99508ef --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilaralbums.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARALBUMS_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARALBUMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarAlbums : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarAlbums(ApiClient *apiClient); + +protected: + QString url(const GetSimilarAlbumsParams& parameters) const override; + QUrlQuery query(const GetSimilarAlbumsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARALBUMS_H diff --git a/core/include/JellyfinQt/loader/http/getsimilarartists.h b/core/include/JellyfinQt/loader/http/getsimilarartists.h new file mode 100644 index 0000000..4b29917 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilarartists.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARARTISTS_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARARTISTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarArtists : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarArtists(ApiClient *apiClient); + +protected: + QString url(const GetSimilarArtistsParams& parameters) const override; + QUrlQuery query(const GetSimilarArtistsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARARTISTS_H diff --git a/core/include/JellyfinQt/loader/http/getsimilaritems.h b/core/include/JellyfinQt/loader/http/getsimilaritems.h new file mode 100644 index 0000000..993b556 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilaritems.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARITEMS_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARITEMS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarItems : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarItems(ApiClient *apiClient); + +protected: + QString url(const GetSimilarItemsParams& parameters) const override; + QUrlQuery query(const GetSimilarItemsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARITEMS_H diff --git a/core/include/JellyfinQt/loader/http/getsimilarmovies.h b/core/include/JellyfinQt/loader/http/getsimilarmovies.h new file mode 100644 index 0000000..f773a59 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilarmovies.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARMOVIES_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARMOVIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarMovies : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarMovies(ApiClient *apiClient); + +protected: + QString url(const GetSimilarMoviesParams& parameters) const override; + QUrlQuery query(const GetSimilarMoviesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARMOVIES_H diff --git a/core/include/JellyfinQt/loader/http/getsimilarshows.h b/core/include/JellyfinQt/loader/http/getsimilarshows.h new file mode 100644 index 0000000..50c30ba --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilarshows.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARSHOWS_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARSHOWS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarShows : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarShows(ApiClient *apiClient); + +protected: + QString url(const GetSimilarShowsParams& parameters) const override; + QUrlQuery query(const GetSimilarShowsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARSHOWS_H diff --git a/core/include/JellyfinQt/loader/http/getsimilartrailers.h b/core/include/JellyfinQt/loader/http/getsimilartrailers.h new file mode 100644 index 0000000..893d73e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsimilartrailers.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSIMILARTRAILERS_H +#define JELLYFIN_LOADER_HTTP_GETSIMILARTRAILERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets similar items. + */ +class GetSimilarTrailers : public Jellyfin::Support::HttpLoader { +public: + explicit GetSimilarTrailers(ApiClient *apiClient); + +protected: + QString url(const GetSimilarTrailersParams& parameters) const override; + QUrlQuery query(const GetSimilarTrailersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSIMILARTRAILERS_H diff --git a/core/include/JellyfinQt/loader/http/getspecialfeatures.h b/core/include/JellyfinQt/loader/http/getspecialfeatures.h new file mode 100644 index 0000000..e554b4c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getspecialfeatures.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSPECIALFEATURES_H +#define JELLYFIN_LOADER_HTTP_GETSPECIALFEATURES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSPECIALFEATURES_H diff --git a/core/include/JellyfinQt/loader/http/getstartupconfiguration.h b/core/include/JellyfinQt/loader/http/getstartupconfiguration.h new file mode 100644 index 0000000..f1c37a5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstartupconfiguration.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTARTUPCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_GETSTARTUPCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/startupconfigurationdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the initial startup wizard configuration. + */ +class GetStartupConfiguration : public Jellyfin::Support::HttpLoader { +public: + explicit GetStartupConfiguration(ApiClient *apiClient); + +protected: + QString url(const GetStartupConfigurationParams& parameters) const override; + QUrlQuery query(const GetStartupConfigurationParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTARTUPCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/getstatus.h b/core/include/JellyfinQt/loader/http/getstatus.h new file mode 100644 index 0000000..8a802f1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstatus.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTATUS_H +#define JELLYFIN_LOADER_HTTP_GETSTATUS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/quickconnectstate.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the current quick connect state. + */ +class GetStatus : public Jellyfin::Support::HttpLoader { +public: + explicit GetStatus(ApiClient *apiClient); + +protected: + QString url(const GetStatusParams& parameters) const override; + QUrlQuery query(const GetStatusParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTATUS_H diff --git a/core/include/JellyfinQt/loader/http/getstudio.h b/core/include/JellyfinQt/loader/http/getstudio.h new file mode 100644 index 0000000..1b76d55 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstudio.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTUDIO_H +#define JELLYFIN_LOADER_HTTP_GETSTUDIO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a studio by name. + */ +class GetStudio : public Jellyfin::Support::HttpLoader { +public: + explicit GetStudio(ApiClient *apiClient); + +protected: + QString url(const GetStudioParams& parameters) const override; + QUrlQuery query(const GetStudioParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTUDIO_H diff --git a/core/include/JellyfinQt/loader/http/getstudioimage.h b/core/include/JellyfinQt/loader/http/getstudioimage.h new file mode 100644 index 0000000..5d4948c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstudioimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getstudioimagebyindex.h b/core/include/JellyfinQt/loader/http/getstudioimagebyindex.h new file mode 100644 index 0000000..dee6b1c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstudioimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTUDIOIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getstudios.h b/core/include/JellyfinQt/loader/http/getstudios.h new file mode 100644 index 0000000..7418159 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getstudios.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSTUDIOS_H +#define JELLYFIN_LOADER_HTTP_GETSTUDIOS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets all studios from a given item, folder, or the entire library. + */ +class GetStudios : public Jellyfin::Support::HttpLoader { +public: + explicit GetStudios(ApiClient *apiClient); + +protected: + QString url(const GetStudiosParams& parameters) const override; + QUrlQuery query(const GetStudiosParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSTUDIOS_H diff --git a/core/include/JellyfinQt/loader/http/getsubtitle.h b/core/include/JellyfinQt/loader/http/getsubtitle.h new file mode 100644 index 0000000..fc0ac3c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsubtitle.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSUBTITLE_H +#define JELLYFIN_LOADER_HTTP_GETSUBTITLE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSUBTITLE_H diff --git a/core/include/JellyfinQt/loader/http/getsubtitleplaylist.h b/core/include/JellyfinQt/loader/http/getsubtitleplaylist.h new file mode 100644 index 0000000..21edbee --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsubtitleplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSUBTITLEPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETSUBTITLEPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSUBTITLEPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getsubtitlewithticks.h b/core/include/JellyfinQt/loader/http/getsubtitlewithticks.h new file mode 100644 index 0000000..9d32b16 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsubtitlewithticks.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSUBTITLEWITHTICKS_H +#define JELLYFIN_LOADER_HTTP_GETSUBTITLEWITHTICKS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSUBTITLEWITHTICKS_H diff --git a/core/include/JellyfinQt/loader/http/getsuggestions.h b/core/include/JellyfinQt/loader/http/getsuggestions.h new file mode 100644 index 0000000..5ce6494 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsuggestions.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSUGGESTIONS_H +#define JELLYFIN_LOADER_HTTP_GETSUGGESTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets suggestions. + */ +class GetSuggestions : public Jellyfin::Support::HttpLoader { +public: + explicit GetSuggestions(ApiClient *apiClient); + +protected: + QString url(const GetSuggestionsParams& parameters) const override; + QUrlQuery query(const GetSuggestionsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSUGGESTIONS_H diff --git a/core/include/JellyfinQt/loader/http/getsysteminfo.h b/core/include/JellyfinQt/loader/http/getsysteminfo.h new file mode 100644 index 0000000..d6803f1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getsysteminfo.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETSYSTEMINFO_H +#define JELLYFIN_LOADER_HTTP_GETSYSTEMINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/systeminfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets information about the server. + */ +class GetSystemInfo : public Jellyfin::Support::HttpLoader { +public: + explicit GetSystemInfo(ApiClient *apiClient); + +protected: + QString url(const GetSystemInfoParams& parameters) const override; + QUrlQuery query(const GetSystemInfoParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETSYSTEMINFO_H diff --git a/core/include/JellyfinQt/loader/http/gettask.h b/core/include/JellyfinQt/loader/http/gettask.h new file mode 100644 index 0000000..0bb22e2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettask.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTASK_H +#define JELLYFIN_LOADER_HTTP_GETTASK_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/taskinfo.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get task by id. + */ +class GetTask : public Jellyfin::Support::HttpLoader { +public: + explicit GetTask(ApiClient *apiClient); + +protected: + QString url(const GetTaskParams& parameters) const override; + QUrlQuery query(const GetTaskParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTASK_H diff --git a/core/include/JellyfinQt/loader/http/gettasks.h b/core/include/JellyfinQt/loader/http/gettasks.h new file mode 100644 index 0000000..63e8ab6 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettasks.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTASKS_H +#define JELLYFIN_LOADER_HTTP_GETTASKS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTASKS_H diff --git a/core/include/JellyfinQt/loader/http/getthememedia.h b/core/include/JellyfinQt/loader/http/getthememedia.h new file mode 100644 index 0000000..131e5a5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getthememedia.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTHEMEMEDIA_H +#define JELLYFIN_LOADER_HTTP_GETTHEMEMEDIA_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/allthememediaresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get theme songs and videos for an item. + */ +class GetThemeMedia : public Jellyfin::Support::HttpLoader { +public: + explicit GetThemeMedia(ApiClient *apiClient); + +protected: + QString url(const GetThemeMediaParams& parameters) const override; + QUrlQuery query(const GetThemeMediaParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTHEMEMEDIA_H diff --git a/core/include/JellyfinQt/loader/http/getthemesongs.h b/core/include/JellyfinQt/loader/http/getthemesongs.h new file mode 100644 index 0000000..85a950a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getthemesongs.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTHEMESONGS_H +#define JELLYFIN_LOADER_HTTP_GETTHEMESONGS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/thememediaresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get theme songs for an item. + */ +class GetThemeSongs : public Jellyfin::Support::HttpLoader { +public: + explicit GetThemeSongs(ApiClient *apiClient); + +protected: + QString url(const GetThemeSongsParams& parameters) const override; + QUrlQuery query(const GetThemeSongsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTHEMESONGS_H diff --git a/core/include/JellyfinQt/loader/http/getthemevideos.h b/core/include/JellyfinQt/loader/http/getthemevideos.h new file mode 100644 index 0000000..17f2f78 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getthemevideos.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTHEMEVIDEOS_H +#define JELLYFIN_LOADER_HTTP_GETTHEMEVIDEOS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/thememediaresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get theme videos for an item. + */ +class GetThemeVideos : public Jellyfin::Support::HttpLoader { +public: + explicit GetThemeVideos(ApiClient *apiClient); + +protected: + QString url(const GetThemeVideosParams& parameters) const override; + QUrlQuery query(const GetThemeVideosParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTHEMEVIDEOS_H diff --git a/core/include/JellyfinQt/loader/http/gettimer.h b/core/include/JellyfinQt/loader/http/gettimer.h new file mode 100644 index 0000000..5eb6b0c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettimer.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTIMER_H +#define JELLYFIN_LOADER_HTTP_GETTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/timerinfodto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a timer. + */ +class GetTimer : public Jellyfin::Support::HttpLoader { +public: + explicit GetTimer(ApiClient *apiClient); + +protected: + QString url(const GetTimerParams& parameters) const override; + QUrlQuery query(const GetTimerParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTIMER_H diff --git a/core/include/JellyfinQt/loader/http/gettimers.h b/core/include/JellyfinQt/loader/http/gettimers.h new file mode 100644 index 0000000..f299fbc --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettimers.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTIMERS_H +#define JELLYFIN_LOADER_HTTP_GETTIMERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/timerinfodtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the live tv timers. + */ +class GetTimers : public Jellyfin::Support::HttpLoader { +public: + explicit GetTimers(ApiClient *apiClient); + +protected: + QString url(const GetTimersParams& parameters) const override; + QUrlQuery query(const GetTimersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTIMERS_H diff --git a/core/include/JellyfinQt/loader/http/gettrailerremotesearchresults.h b/core/include/JellyfinQt/loader/http/gettrailerremotesearchresults.h new file mode 100644 index 0000000..9abdeeb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettrailerremotesearchresults.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTRAILERREMOTESEARCHRESULTS_H +#define JELLYFIN_LOADER_HTTP_GETTRAILERREMOTESEARCHRESULTS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTRAILERREMOTESEARCHRESULTS_H diff --git a/core/include/JellyfinQt/loader/http/gettrailers.h b/core/include/JellyfinQt/loader/http/gettrailers.h new file mode 100644 index 0000000..48b2059 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettrailers.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTRAILERS_H +#define JELLYFIN_LOADER_HTTP_GETTRAILERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Finds movies and trailers similar to a given trailer. + */ +class GetTrailers : public Jellyfin::Support::HttpLoader { +public: + explicit GetTrailers(ApiClient *apiClient); + +protected: + QString url(const GetTrailersParams& parameters) const override; + QUrlQuery query(const GetTrailersParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTRAILERS_H diff --git a/core/include/JellyfinQt/loader/http/gettunerhosttypes.h b/core/include/JellyfinQt/loader/http/gettunerhosttypes.h new file mode 100644 index 0000000..94b6097 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/gettunerhosttypes.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETTUNERHOSTTYPES_H +#define JELLYFIN_LOADER_HTTP_GETTUNERHOSTTYPES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETTUNERHOSTTYPES_H diff --git a/core/include/JellyfinQt/loader/http/getuniversalaudiostream.h b/core/include/JellyfinQt/loader/http/getuniversalaudiostream.h new file mode 100644 index 0000000..ad3affd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getuniversalaudiostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUNIVERSALAUDIOSTREAM_H +#define JELLYFIN_LOADER_HTTP_GETUNIVERSALAUDIOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUNIVERSALAUDIOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/getupcomingepisodes.h b/core/include/JellyfinQt/loader/http/getupcomingepisodes.h new file mode 100644 index 0000000..ee1c966 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getupcomingepisodes.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUPCOMINGEPISODES_H +#define JELLYFIN_LOADER_HTTP_GETUPCOMINGEPISODES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a list of upcoming episodes. + */ +class GetUpcomingEpisodes : public Jellyfin::Support::HttpLoader { +public: + explicit GetUpcomingEpisodes(ApiClient *apiClient); + +protected: + QString url(const GetUpcomingEpisodesParams& parameters) const override; + QUrlQuery query(const GetUpcomingEpisodesParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUPCOMINGEPISODES_H diff --git a/core/include/JellyfinQt/loader/http/getuserbyid.h b/core/include/JellyfinQt/loader/http/getuserbyid.h new file mode 100644 index 0000000..64c59fd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getuserbyid.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUSERBYID_H +#define JELLYFIN_LOADER_HTTP_GETUSERBYID_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/userdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a user by Id. + */ +class GetUserById : public Jellyfin::Support::HttpLoader { +public: + explicit GetUserById(ApiClient *apiClient); + +protected: + QString url(const GetUserByIdParams& parameters) const override; + QUrlQuery query(const GetUserByIdParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUSERBYID_H diff --git a/core/include/JellyfinQt/loader/http/getuserimage.h b/core/include/JellyfinQt/loader/http/getuserimage.h new file mode 100644 index 0000000..ac5b150 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getuserimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUSERIMAGE_H +#define JELLYFIN_LOADER_HTTP_GETUSERIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUSERIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/getuserimagebyindex.h b/core/include/JellyfinQt/loader/http/getuserimagebyindex.h new file mode 100644 index 0000000..acbaae8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getuserimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUSERIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_GETUSERIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUSERIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/getusers.h b/core/include/JellyfinQt/loader/http/getusers.h new file mode 100644 index 0000000..9a49e5b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getusers.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUSERS_H +#define JELLYFIN_LOADER_HTTP_GETUSERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUSERS_H diff --git a/core/include/JellyfinQt/loader/http/getuserviews.h b/core/include/JellyfinQt/loader/http/getuserviews.h new file mode 100644 index 0000000..ac837b8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getuserviews.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUSERVIEWS_H +#define JELLYFIN_LOADER_HTTP_GETUSERVIEWS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get user views. + */ +class GetUserViews : public Jellyfin::Support::HttpLoader { +public: + explicit GetUserViews(ApiClient *apiClient); + +protected: + QString url(const GetUserViewsParams& parameters) const override; + QUrlQuery query(const GetUserViewsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUSERVIEWS_H diff --git a/core/include/JellyfinQt/loader/http/getutctime.h b/core/include/JellyfinQt/loader/http/getutctime.h new file mode 100644 index 0000000..d9d6936 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getutctime.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETUTCTIME_H +#define JELLYFIN_LOADER_HTTP_GETUTCTIME_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/utctimeresponse.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets the current UTC time. + */ +class GetUtcTime : public Jellyfin::Support::HttpLoader { +public: + explicit GetUtcTime(ApiClient *apiClient); + +protected: + QString url(const GetUtcTimeParams& parameters) const override; + QUrlQuery query(const GetUtcTimeParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETUTCTIME_H diff --git a/core/include/JellyfinQt/loader/http/getvarianthlsaudioplaylist.h b/core/include/JellyfinQt/loader/http/getvarianthlsaudioplaylist.h new file mode 100644 index 0000000..14bad2c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getvarianthlsaudioplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETVARIANTHLSAUDIOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETVARIANTHLSAUDIOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETVARIANTHLSAUDIOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getvarianthlsvideoplaylist.h b/core/include/JellyfinQt/loader/http/getvarianthlsvideoplaylist.h new file mode 100644 index 0000000..3106092 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getvarianthlsvideoplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETVARIANTHLSVIDEOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_GETVARIANTHLSVIDEOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETVARIANTHLSVIDEOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/getvideostream.h b/core/include/JellyfinQt/loader/http/getvideostream.h new file mode 100644 index 0000000..873464b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getvideostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETVIDEOSTREAM_H +#define JELLYFIN_LOADER_HTTP_GETVIDEOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETVIDEOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/getvideostreambycontainer.h b/core/include/JellyfinQt/loader/http/getvideostreambycontainer.h new file mode 100644 index 0000000..9266de5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getvideostreambycontainer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETVIDEOSTREAMBYCONTAINER_H +#define JELLYFIN_LOADER_HTTP_GETVIDEOSTREAMBYCONTAINER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETVIDEOSTREAMBYCONTAINER_H diff --git a/core/include/JellyfinQt/loader/http/getvirtualfolders.h b/core/include/JellyfinQt/loader/http/getvirtualfolders.h new file mode 100644 index 0000000..736282a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getvirtualfolders.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETVIRTUALFOLDERS_H +#define JELLYFIN_LOADER_HTTP_GETVIRTUALFOLDERS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETVIRTUALFOLDERS_H diff --git a/core/include/JellyfinQt/loader/http/getwakeonlaninfo.h b/core/include/JellyfinQt/loader/http/getwakeonlaninfo.h new file mode 100644 index 0000000..250573c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getwakeonlaninfo.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETWAKEONLANINFO_H +#define JELLYFIN_LOADER_HTTP_GETWAKEONLANINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETWAKEONLANINFO_H diff --git a/core/include/JellyfinQt/loader/http/getyear.h b/core/include/JellyfinQt/loader/http/getyear.h new file mode 100644 index 0000000..5416e1b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getyear.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETYEAR_H +#define JELLYFIN_LOADER_HTTP_GETYEAR_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Gets a year. + */ +class GetYear : public Jellyfin::Support::HttpLoader { +public: + explicit GetYear(ApiClient *apiClient); + +protected: + QString url(const GetYearParams& parameters) const override; + QUrlQuery query(const GetYearParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETYEAR_H diff --git a/core/include/JellyfinQt/loader/http/getyears.h b/core/include/JellyfinQt/loader/http/getyears.h new file mode 100644 index 0000000..f1320e2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/getyears.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_GETYEARS_H +#define JELLYFIN_LOADER_HTTP_GETYEARS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/baseitemdtoqueryresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Get years. + */ +class GetYears : public Jellyfin::Support::HttpLoader { +public: + explicit GetYears(ApiClient *apiClient); + +protected: + QString url(const GetYearsParams& parameters) const override; + QUrlQuery query(const GetYearsParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_GETYEARS_H diff --git a/core/include/JellyfinQt/loader/http/headartistimage.h b/core/include/JellyfinQt/loader/http/headartistimage.h new file mode 100644 index 0000000..c164a74 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headartistimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADARTISTIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADARTISTIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADARTISTIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headaudiostream.h b/core/include/JellyfinQt/loader/http/headaudiostream.h new file mode 100644 index 0000000..96295fb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headaudiostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAM_H +#define JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/headaudiostreambycontainer.h b/core/include/JellyfinQt/loader/http/headaudiostreambycontainer.h new file mode 100644 index 0000000..dd3ca61 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headaudiostreambycontainer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAMBYCONTAINER_H +#define JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAMBYCONTAINER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADAUDIOSTREAMBYCONTAINER_H diff --git a/core/include/JellyfinQt/loader/http/headgenreimage.h b/core/include/JellyfinQt/loader/http/headgenreimage.h new file mode 100644 index 0000000..80673e4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headgenreimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADGENREIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADGENREIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADGENREIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headgenreimagebyindex.h b/core/include/JellyfinQt/loader/http/headgenreimagebyindex.h new file mode 100644 index 0000000..80799a2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headgenreimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADGENREIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADGENREIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADGENREIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headitemimage.h b/core/include/JellyfinQt/loader/http/headitemimage.h new file mode 100644 index 0000000..1f3c9f4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headitemimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADITEMIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADITEMIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADITEMIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headitemimage2.h b/core/include/JellyfinQt/loader/http/headitemimage2.h new file mode 100644 index 0000000..9e535cf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headitemimage2.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADITEMIMAGE2_H +#define JELLYFIN_LOADER_HTTP_HEADITEMIMAGE2_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADITEMIMAGE2_H diff --git a/core/include/JellyfinQt/loader/http/headitemimagebyindex.h b/core/include/JellyfinQt/loader/http/headitemimagebyindex.h new file mode 100644 index 0000000..668408d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headitemimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADITEMIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADITEMIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADITEMIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headmasterhlsaudioplaylist.h b/core/include/JellyfinQt/loader/http/headmasterhlsaudioplaylist.h new file mode 100644 index 0000000..c31a372 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headmasterhlsaudioplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADMASTERHLSAUDIOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_HEADMASTERHLSAUDIOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADMASTERHLSAUDIOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/headmasterhlsvideoplaylist.h b/core/include/JellyfinQt/loader/http/headmasterhlsvideoplaylist.h new file mode 100644 index 0000000..157bcab --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headmasterhlsvideoplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADMASTERHLSVIDEOPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_HEADMASTERHLSVIDEOPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADMASTERHLSVIDEOPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/headmusicgenreimage.h b/core/include/JellyfinQt/loader/http/headmusicgenreimage.h new file mode 100644 index 0000000..6931778 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headmusicgenreimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headmusicgenreimagebyindex.h b/core/include/JellyfinQt/loader/http/headmusicgenreimagebyindex.h new file mode 100644 index 0000000..445bc9e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headmusicgenreimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADMUSICGENREIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headpersonimage.h b/core/include/JellyfinQt/loader/http/headpersonimage.h new file mode 100644 index 0000000..9ab9975 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headpersonimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADPERSONIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADPERSONIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADPERSONIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headpersonimagebyindex.h b/core/include/JellyfinQt/loader/http/headpersonimagebyindex.h new file mode 100644 index 0000000..86568a8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headpersonimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADPERSONIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADPERSONIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADPERSONIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headstudioimage.h b/core/include/JellyfinQt/loader/http/headstudioimage.h new file mode 100644 index 0000000..685c1f4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headstudioimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headstudioimagebyindex.h b/core/include/JellyfinQt/loader/http/headstudioimagebyindex.h new file mode 100644 index 0000000..b2c71d9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headstudioimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADSTUDIOIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headuniversalaudiostream.h b/core/include/JellyfinQt/loader/http/headuniversalaudiostream.h new file mode 100644 index 0000000..0bb5ef3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headuniversalaudiostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADUNIVERSALAUDIOSTREAM_H +#define JELLYFIN_LOADER_HTTP_HEADUNIVERSALAUDIOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADUNIVERSALAUDIOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/headuserimage.h b/core/include/JellyfinQt/loader/http/headuserimage.h new file mode 100644 index 0000000..ea47fdb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headuserimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADUSERIMAGE_H +#define JELLYFIN_LOADER_HTTP_HEADUSERIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADUSERIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/headuserimagebyindex.h b/core/include/JellyfinQt/loader/http/headuserimagebyindex.h new file mode 100644 index 0000000..1fcf1b3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headuserimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADUSERIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_HEADUSERIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADUSERIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/headvideostream.h b/core/include/JellyfinQt/loader/http/headvideostream.h new file mode 100644 index 0000000..71c26ba --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headvideostream.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAM_H +#define JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAM_H diff --git a/core/include/JellyfinQt/loader/http/headvideostreambycontainer.h b/core/include/JellyfinQt/loader/http/headvideostreambycontainer.h new file mode 100644 index 0000000..2fd870f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/headvideostreambycontainer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAMBYCONTAINER_H +#define JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAMBYCONTAINER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_HEADVIDEOSTREAMBYCONTAINER_H diff --git a/core/include/JellyfinQt/loader/http/initiate.h b/core/include/JellyfinQt/loader/http/initiate.h new file mode 100644 index 0000000..85eb8ec --- /dev/null +++ b/core/include/JellyfinQt/loader/http/initiate.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_INITIATE_H +#define JELLYFIN_LOADER_HTTP_INITIATE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/quickconnectresult.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Initiate a new quick connect request. + */ +class Initiate : public Jellyfin::Support::HttpLoader { +public: + explicit Initiate(ApiClient *apiClient); + +protected: + QString url(const InitiateParams& parameters) const override; + QUrlQuery query(const InitiateParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_INITIATE_H diff --git a/core/include/JellyfinQt/loader/http/installpackage.h b/core/include/JellyfinQt/loader/http/installpackage.h new file mode 100644 index 0000000..d8a57e5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/installpackage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_INSTALLPACKAGE_H +#define JELLYFIN_LOADER_HTTP_INSTALLPACKAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_INSTALLPACKAGE_H diff --git a/core/include/JellyfinQt/loader/http/markfavoriteitem.h b/core/include/JellyfinQt/loader/http/markfavoriteitem.h new file mode 100644 index 0000000..1e940b7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/markfavoriteitem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_MARKFAVORITEITEM_H +#define JELLYFIN_LOADER_HTTP_MARKFAVORITEITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Marks an item as a favorite. + */ +class MarkFavoriteItem : public Jellyfin::Support::HttpLoader { +public: + explicit MarkFavoriteItem(ApiClient *apiClient); + +protected: + QString url(const MarkFavoriteItemParams& parameters) const override; + QUrlQuery query(const MarkFavoriteItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_MARKFAVORITEITEM_H diff --git a/core/include/JellyfinQt/loader/http/markplayeditem.h b/core/include/JellyfinQt/loader/http/markplayeditem.h new file mode 100644 index 0000000..6e8e9fe --- /dev/null +++ b/core/include/JellyfinQt/loader/http/markplayeditem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_MARKPLAYEDITEM_H +#define JELLYFIN_LOADER_HTTP_MARKPLAYEDITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Marks an item as played for user. + */ +class MarkPlayedItem : public Jellyfin::Support::HttpLoader { +public: + explicit MarkPlayedItem(ApiClient *apiClient); + +protected: + QString url(const MarkPlayedItemParams& parameters) const override; + QUrlQuery query(const MarkPlayedItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_MARKPLAYEDITEM_H diff --git a/core/include/JellyfinQt/loader/http/markunplayeditem.h b/core/include/JellyfinQt/loader/http/markunplayeditem.h new file mode 100644 index 0000000..9859446 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/markunplayeditem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_MARKUNPLAYEDITEM_H +#define JELLYFIN_LOADER_HTTP_MARKUNPLAYEDITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Marks an item as unplayed for user. + */ +class MarkUnplayedItem : public Jellyfin::Support::HttpLoader { +public: + explicit MarkUnplayedItem(ApiClient *apiClient); + +protected: + QString url(const MarkUnplayedItemParams& parameters) const override; + QUrlQuery query(const MarkUnplayedItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_MARKUNPLAYEDITEM_H diff --git a/core/include/JellyfinQt/loader/http/mergeversions.h b/core/include/JellyfinQt/loader/http/mergeversions.h new file mode 100644 index 0000000..f78bf72 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/mergeversions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_MERGEVERSIONS_H +#define JELLYFIN_LOADER_HTTP_MERGEVERSIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_MERGEVERSIONS_H diff --git a/core/include/JellyfinQt/loader/http/moveitem.h b/core/include/JellyfinQt/loader/http/moveitem.h new file mode 100644 index 0000000..d66e96f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/moveitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_MOVEITEM_H +#define JELLYFIN_LOADER_HTTP_MOVEITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_MOVEITEM_H diff --git a/core/include/JellyfinQt/loader/http/onplaybackprogress.h b/core/include/JellyfinQt/loader/http/onplaybackprogress.h new file mode 100644 index 0000000..a413ec1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/onplaybackprogress.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ONPLAYBACKPROGRESS_H +#define JELLYFIN_LOADER_HTTP_ONPLAYBACKPROGRESS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ONPLAYBACKPROGRESS_H diff --git a/core/include/JellyfinQt/loader/http/onplaybackstart.h b/core/include/JellyfinQt/loader/http/onplaybackstart.h new file mode 100644 index 0000000..618326e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/onplaybackstart.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ONPLAYBACKSTART_H +#define JELLYFIN_LOADER_HTTP_ONPLAYBACKSTART_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ONPLAYBACKSTART_H diff --git a/core/include/JellyfinQt/loader/http/onplaybackstopped.h b/core/include/JellyfinQt/loader/http/onplaybackstopped.h new file mode 100644 index 0000000..e3bbaf9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/onplaybackstopped.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_ONPLAYBACKSTOPPED_H +#define JELLYFIN_LOADER_HTTP_ONPLAYBACKSTOPPED_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_ONPLAYBACKSTOPPED_H diff --git a/core/include/JellyfinQt/loader/http/openlivestream.h b/core/include/JellyfinQt/loader/http/openlivestream.h new file mode 100644 index 0000000..688b517 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/openlivestream.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_OPENLIVESTREAM_H +#define JELLYFIN_LOADER_HTTP_OPENLIVESTREAM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/livestreamresponse.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Opens a media source. + */ +class OpenLiveStream : public Jellyfin::Support::HttpLoader { +public: + explicit OpenLiveStream(ApiClient *apiClient); + +protected: + QString url(const OpenLiveStreamParams& parameters) const override; + QUrlQuery query(const OpenLiveStreamParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_OPENLIVESTREAM_H diff --git a/core/include/JellyfinQt/loader/http/pingplaybacksession.h b/core/include/JellyfinQt/loader/http/pingplaybacksession.h new file mode 100644 index 0000000..95a6259 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/pingplaybacksession.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_PINGPLAYBACKSESSION_H +#define JELLYFIN_LOADER_HTTP_PINGPLAYBACKSESSION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_PINGPLAYBACKSESSION_H diff --git a/core/include/JellyfinQt/loader/http/play.h b/core/include/JellyfinQt/loader/http/play.h new file mode 100644 index 0000000..5a05179 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/play.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_PLAY_H +#define JELLYFIN_LOADER_HTTP_PLAY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_PLAY_H diff --git a/core/include/JellyfinQt/loader/http/post.h b/core/include/JellyfinQt/loader/http/post.h new file mode 100644 index 0000000..26f47a1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/post.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POST_H +#define JELLYFIN_LOADER_HTTP_POST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POST_H diff --git a/core/include/JellyfinQt/loader/http/postaddedmovies.h b/core/include/JellyfinQt/loader/http/postaddedmovies.h new file mode 100644 index 0000000..df6c4f6 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postaddedmovies.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTADDEDMOVIES_H +#define JELLYFIN_LOADER_HTTP_POSTADDEDMOVIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTADDEDMOVIES_H diff --git a/core/include/JellyfinQt/loader/http/postaddedseries.h b/core/include/JellyfinQt/loader/http/postaddedseries.h new file mode 100644 index 0000000..9258fd3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postaddedseries.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTADDEDSERIES_H +#define JELLYFIN_LOADER_HTTP_POSTADDEDSERIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTADDEDSERIES_H diff --git a/core/include/JellyfinQt/loader/http/postcapabilities.h b/core/include/JellyfinQt/loader/http/postcapabilities.h new file mode 100644 index 0000000..37e022c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postcapabilities.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTCAPABILITIES_H +#define JELLYFIN_LOADER_HTTP_POSTCAPABILITIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTCAPABILITIES_H diff --git a/core/include/JellyfinQt/loader/http/postfullcapabilities.h b/core/include/JellyfinQt/loader/http/postfullcapabilities.h new file mode 100644 index 0000000..d977327 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postfullcapabilities.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTFULLCAPABILITIES_H +#define JELLYFIN_LOADER_HTTP_POSTFULLCAPABILITIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTFULLCAPABILITIES_H diff --git a/core/include/JellyfinQt/loader/http/postpingsystem.h b/core/include/JellyfinQt/loader/http/postpingsystem.h new file mode 100644 index 0000000..5e33aeb --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postpingsystem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTPINGSYSTEM_H +#define JELLYFIN_LOADER_HTTP_POSTPINGSYSTEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTPINGSYSTEM_H diff --git a/core/include/JellyfinQt/loader/http/postupdatedmedia.h b/core/include/JellyfinQt/loader/http/postupdatedmedia.h new file mode 100644 index 0000000..cd05d91 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postupdatedmedia.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTUPDATEDMEDIA_H +#define JELLYFIN_LOADER_HTTP_POSTUPDATEDMEDIA_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTUPDATEDMEDIA_H diff --git a/core/include/JellyfinQt/loader/http/postupdatedmovies.h b/core/include/JellyfinQt/loader/http/postupdatedmovies.h new file mode 100644 index 0000000..421fb7a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postupdatedmovies.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTUPDATEDMOVIES_H +#define JELLYFIN_LOADER_HTTP_POSTUPDATEDMOVIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTUPDATEDMOVIES_H diff --git a/core/include/JellyfinQt/loader/http/postupdatedseries.h b/core/include/JellyfinQt/loader/http/postupdatedseries.h new file mode 100644 index 0000000..b16a60e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postupdatedseries.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTUPDATEDSERIES_H +#define JELLYFIN_LOADER_HTTP_POSTUPDATEDSERIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTUPDATEDSERIES_H diff --git a/core/include/JellyfinQt/loader/http/postuserimage.h b/core/include/JellyfinQt/loader/http/postuserimage.h new file mode 100644 index 0000000..c39e998 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postuserimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTUSERIMAGE_H +#define JELLYFIN_LOADER_HTTP_POSTUSERIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTUSERIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/postuserimagebyindex.h b/core/include/JellyfinQt/loader/http/postuserimagebyindex.h new file mode 100644 index 0000000..84c14fe --- /dev/null +++ b/core/include/JellyfinQt/loader/http/postuserimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_POSTUSERIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_POSTUSERIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_POSTUSERIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/processconnectionmanagercontrolrequest.h b/core/include/JellyfinQt/loader/http/processconnectionmanagercontrolrequest.h new file mode 100644 index 0000000..fd6019e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/processconnectionmanagercontrolrequest.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_PROCESSCONNECTIONMANAGERCONTROLREQUEST_H +#define JELLYFIN_LOADER_HTTP_PROCESSCONNECTIONMANAGERCONTROLREQUEST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_PROCESSCONNECTIONMANAGERCONTROLREQUEST_H diff --git a/core/include/JellyfinQt/loader/http/processcontentdirectorycontrolrequest.h b/core/include/JellyfinQt/loader/http/processcontentdirectorycontrolrequest.h new file mode 100644 index 0000000..bdcfe99 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/processcontentdirectorycontrolrequest.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_PROCESSCONTENTDIRECTORYCONTROLREQUEST_H +#define JELLYFIN_LOADER_HTTP_PROCESSCONTENTDIRECTORYCONTROLREQUEST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_PROCESSCONTENTDIRECTORYCONTROLREQUEST_H diff --git a/core/include/JellyfinQt/loader/http/processmediareceiverregistrarcontrolrequest.h b/core/include/JellyfinQt/loader/http/processmediareceiverregistrarcontrolrequest.h new file mode 100644 index 0000000..5ad7ae8 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/processmediareceiverregistrarcontrolrequest.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_PROCESSMEDIARECEIVERREGISTRARCONTROLREQUEST_H +#define JELLYFIN_LOADER_HTTP_PROCESSMEDIARECEIVERREGISTRARCONTROLREQUEST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_PROCESSMEDIARECEIVERREGISTRARCONTROLREQUEST_H diff --git a/core/include/JellyfinQt/loader/http/refreshlibrary.h b/core/include/JellyfinQt/loader/http/refreshlibrary.h new file mode 100644 index 0000000..9ecbde1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/refreshlibrary.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REFRESHLIBRARY_H +#define JELLYFIN_LOADER_HTTP_REFRESHLIBRARY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REFRESHLIBRARY_H diff --git a/core/include/JellyfinQt/loader/http/removefromcollection.h b/core/include/JellyfinQt/loader/http/removefromcollection.h new file mode 100644 index 0000000..d382fdd --- /dev/null +++ b/core/include/JellyfinQt/loader/http/removefromcollection.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REMOVEFROMCOLLECTION_H +#define JELLYFIN_LOADER_HTTP_REMOVEFROMCOLLECTION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REMOVEFROMCOLLECTION_H diff --git a/core/include/JellyfinQt/loader/http/removefromplaylist.h b/core/include/JellyfinQt/loader/http/removefromplaylist.h new file mode 100644 index 0000000..932da58 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/removefromplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REMOVEFROMPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_REMOVEFROMPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REMOVEFROMPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/removemediapath.h b/core/include/JellyfinQt/loader/http/removemediapath.h new file mode 100644 index 0000000..11fac8b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/removemediapath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REMOVEMEDIAPATH_H +#define JELLYFIN_LOADER_HTTP_REMOVEMEDIAPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REMOVEMEDIAPATH_H diff --git a/core/include/JellyfinQt/loader/http/removeuserfromsession.h b/core/include/JellyfinQt/loader/http/removeuserfromsession.h new file mode 100644 index 0000000..4ca9208 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/removeuserfromsession.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REMOVEUSERFROMSESSION_H +#define JELLYFIN_LOADER_HTTP_REMOVEUSERFROMSESSION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REMOVEUSERFROMSESSION_H diff --git a/core/include/JellyfinQt/loader/http/removevirtualfolder.h b/core/include/JellyfinQt/loader/http/removevirtualfolder.h new file mode 100644 index 0000000..3bbdaad --- /dev/null +++ b/core/include/JellyfinQt/loader/http/removevirtualfolder.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REMOVEVIRTUALFOLDER_H +#define JELLYFIN_LOADER_HTTP_REMOVEVIRTUALFOLDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REMOVEVIRTUALFOLDER_H diff --git a/core/include/JellyfinQt/loader/http/renamevirtualfolder.h b/core/include/JellyfinQt/loader/http/renamevirtualfolder.h new file mode 100644 index 0000000..4da0c8a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/renamevirtualfolder.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_RENAMEVIRTUALFOLDER_H +#define JELLYFIN_LOADER_HTTP_RENAMEVIRTUALFOLDER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_RENAMEVIRTUALFOLDER_H diff --git a/core/include/JellyfinQt/loader/http/reportplaybackprogress.h b/core/include/JellyfinQt/loader/http/reportplaybackprogress.h new file mode 100644 index 0000000..7068d7b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/reportplaybackprogress.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REPORTPLAYBACKPROGRESS_H +#define JELLYFIN_LOADER_HTTP_REPORTPLAYBACKPROGRESS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REPORTPLAYBACKPROGRESS_H diff --git a/core/include/JellyfinQt/loader/http/reportplaybackstart.h b/core/include/JellyfinQt/loader/http/reportplaybackstart.h new file mode 100644 index 0000000..33c988c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/reportplaybackstart.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTART_H +#define JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTART_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTART_H diff --git a/core/include/JellyfinQt/loader/http/reportplaybackstopped.h b/core/include/JellyfinQt/loader/http/reportplaybackstopped.h new file mode 100644 index 0000000..76c8a50 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/reportplaybackstopped.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTOPPED_H +#define JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTOPPED_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REPORTPLAYBACKSTOPPED_H diff --git a/core/include/JellyfinQt/loader/http/reportsessionended.h b/core/include/JellyfinQt/loader/http/reportsessionended.h new file mode 100644 index 0000000..60874b4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/reportsessionended.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REPORTSESSIONENDED_H +#define JELLYFIN_LOADER_HTTP_REPORTSESSIONENDED_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REPORTSESSIONENDED_H diff --git a/core/include/JellyfinQt/loader/http/reportviewing.h b/core/include/JellyfinQt/loader/http/reportviewing.h new file mode 100644 index 0000000..a0af0b1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/reportviewing.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REPORTVIEWING_H +#define JELLYFIN_LOADER_HTTP_REPORTVIEWING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REPORTVIEWING_H diff --git a/core/include/JellyfinQt/loader/http/resettuner.h b/core/include/JellyfinQt/loader/http/resettuner.h new file mode 100644 index 0000000..85da994 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/resettuner.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_RESETTUNER_H +#define JELLYFIN_LOADER_HTTP_RESETTUNER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_RESETTUNER_H diff --git a/core/include/JellyfinQt/loader/http/restartapplication.h b/core/include/JellyfinQt/loader/http/restartapplication.h new file mode 100644 index 0000000..998e90c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/restartapplication.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_RESTARTAPPLICATION_H +#define JELLYFIN_LOADER_HTTP_RESTARTAPPLICATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_RESTARTAPPLICATION_H diff --git a/core/include/JellyfinQt/loader/http/revokekey.h b/core/include/JellyfinQt/loader/http/revokekey.h new file mode 100644 index 0000000..d2f33e9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/revokekey.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_REVOKEKEY_H +#define JELLYFIN_LOADER_HTTP_REVOKEKEY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_REVOKEKEY_H diff --git a/core/include/JellyfinQt/loader/http/searchremotesubtitles.h b/core/include/JellyfinQt/loader/http/searchremotesubtitles.h new file mode 100644 index 0000000..cf9b123 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/searchremotesubtitles.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SEARCHREMOTESUBTITLES_H +#define JELLYFIN_LOADER_HTTP_SEARCHREMOTESUBTITLES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SEARCHREMOTESUBTITLES_H diff --git a/core/include/JellyfinQt/loader/http/sendfullgeneralcommand.h b/core/include/JellyfinQt/loader/http/sendfullgeneralcommand.h new file mode 100644 index 0000000..b63f5a3 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/sendfullgeneralcommand.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SENDFULLGENERALCOMMAND_H +#define JELLYFIN_LOADER_HTTP_SENDFULLGENERALCOMMAND_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SENDFULLGENERALCOMMAND_H diff --git a/core/include/JellyfinQt/loader/http/sendgeneralcommand.h b/core/include/JellyfinQt/loader/http/sendgeneralcommand.h new file mode 100644 index 0000000..875043d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/sendgeneralcommand.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SENDGENERALCOMMAND_H +#define JELLYFIN_LOADER_HTTP_SENDGENERALCOMMAND_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SENDGENERALCOMMAND_H diff --git a/core/include/JellyfinQt/loader/http/sendmessagecommand.h b/core/include/JellyfinQt/loader/http/sendmessagecommand.h new file mode 100644 index 0000000..c0895f5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/sendmessagecommand.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SENDMESSAGECOMMAND_H +#define JELLYFIN_LOADER_HTTP_SENDMESSAGECOMMAND_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SENDMESSAGECOMMAND_H diff --git a/core/include/JellyfinQt/loader/http/sendplaystatecommand.h b/core/include/JellyfinQt/loader/http/sendplaystatecommand.h new file mode 100644 index 0000000..25b605c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/sendplaystatecommand.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SENDPLAYSTATECOMMAND_H +#define JELLYFIN_LOADER_HTTP_SENDPLAYSTATECOMMAND_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SENDPLAYSTATECOMMAND_H diff --git a/core/include/JellyfinQt/loader/http/sendsystemcommand.h b/core/include/JellyfinQt/loader/http/sendsystemcommand.h new file mode 100644 index 0000000..6b13a5b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/sendsystemcommand.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SENDSYSTEMCOMMAND_H +#define JELLYFIN_LOADER_HTTP_SENDSYSTEMCOMMAND_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SENDSYSTEMCOMMAND_H diff --git a/core/include/JellyfinQt/loader/http/setchannelmapping.h b/core/include/JellyfinQt/loader/http/setchannelmapping.h new file mode 100644 index 0000000..8bf8b9b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setchannelmapping.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETCHANNELMAPPING_H +#define JELLYFIN_LOADER_HTTP_SETCHANNELMAPPING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/tunerchannelmapping.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Set channel mappings. + */ +class SetChannelMapping : public Jellyfin::Support::HttpLoader { +public: + explicit SetChannelMapping(ApiClient *apiClient); + +protected: + QString url(const SetChannelMappingParams& parameters) const override; + QUrlQuery query(const SetChannelMappingParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETCHANNELMAPPING_H diff --git a/core/include/JellyfinQt/loader/http/setitemimage.h b/core/include/JellyfinQt/loader/http/setitemimage.h new file mode 100644 index 0000000..b1e3dee --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setitemimage.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETITEMIMAGE_H +#define JELLYFIN_LOADER_HTTP_SETITEMIMAGE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETITEMIMAGE_H diff --git a/core/include/JellyfinQt/loader/http/setitemimagebyindex.h b/core/include/JellyfinQt/loader/http/setitemimagebyindex.h new file mode 100644 index 0000000..0b0db1b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setitemimagebyindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETITEMIMAGEBYINDEX_H +#define JELLYFIN_LOADER_HTTP_SETITEMIMAGEBYINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETITEMIMAGEBYINDEX_H diff --git a/core/include/JellyfinQt/loader/http/setread.h b/core/include/JellyfinQt/loader/http/setread.h new file mode 100644 index 0000000..aa973e5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setread.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETREAD_H +#define JELLYFIN_LOADER_HTTP_SETREAD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETREAD_H diff --git a/core/include/JellyfinQt/loader/http/setremoteaccess.h b/core/include/JellyfinQt/loader/http/setremoteaccess.h new file mode 100644 index 0000000..2744e73 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setremoteaccess.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETREMOTEACCESS_H +#define JELLYFIN_LOADER_HTTP_SETREMOTEACCESS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETREMOTEACCESS_H diff --git a/core/include/JellyfinQt/loader/http/setrepositories.h b/core/include/JellyfinQt/loader/http/setrepositories.h new file mode 100644 index 0000000..b9b524d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setrepositories.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETREPOSITORIES_H +#define JELLYFIN_LOADER_HTTP_SETREPOSITORIES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETREPOSITORIES_H diff --git a/core/include/JellyfinQt/loader/http/setunread.h b/core/include/JellyfinQt/loader/http/setunread.h new file mode 100644 index 0000000..bc689db --- /dev/null +++ b/core/include/JellyfinQt/loader/http/setunread.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SETUNREAD_H +#define JELLYFIN_LOADER_HTTP_SETUNREAD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SETUNREAD_H diff --git a/core/include/JellyfinQt/loader/http/shutdownapplication.h b/core/include/JellyfinQt/loader/http/shutdownapplication.h new file mode 100644 index 0000000..8db9fb0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/shutdownapplication.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SHUTDOWNAPPLICATION_H +#define JELLYFIN_LOADER_HTTP_SHUTDOWNAPPLICATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SHUTDOWNAPPLICATION_H diff --git a/core/include/JellyfinQt/loader/http/starttask.h b/core/include/JellyfinQt/loader/http/starttask.h new file mode 100644 index 0000000..9b588ea --- /dev/null +++ b/core/include/JellyfinQt/loader/http/starttask.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_STARTTASK_H +#define JELLYFIN_LOADER_HTTP_STARTTASK_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_STARTTASK_H diff --git a/core/include/JellyfinQt/loader/http/stopencodingprocess.h b/core/include/JellyfinQt/loader/http/stopencodingprocess.h new file mode 100644 index 0000000..ab62eb0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/stopencodingprocess.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_STOPENCODINGPROCESS_H +#define JELLYFIN_LOADER_HTTP_STOPENCODINGPROCESS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_STOPENCODINGPROCESS_H diff --git a/core/include/JellyfinQt/loader/http/stoptask.h b/core/include/JellyfinQt/loader/http/stoptask.h new file mode 100644 index 0000000..0bf3338 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/stoptask.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_STOPTASK_H +#define JELLYFIN_LOADER_HTTP_STOPTASK_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_STOPTASK_H diff --git a/core/include/JellyfinQt/loader/http/syncplaybuffering.h b/core/include/JellyfinQt/loader/http/syncplaybuffering.h new file mode 100644 index 0000000..70379cf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaybuffering.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYBUFFERING_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYBUFFERING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYBUFFERING_H diff --git a/core/include/JellyfinQt/loader/http/syncplaycreategroup.h b/core/include/JellyfinQt/loader/http/syncplaycreategroup.h new file mode 100644 index 0000000..e368985 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaycreategroup.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYCREATEGROUP_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYCREATEGROUP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYCREATEGROUP_H diff --git a/core/include/JellyfinQt/loader/http/syncplaygetgroups.h b/core/include/JellyfinQt/loader/http/syncplaygetgroups.h new file mode 100644 index 0000000..dbd98db --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaygetgroups.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYGETGROUPS_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYGETGROUPS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYGETGROUPS_H diff --git a/core/include/JellyfinQt/loader/http/syncplayjoingroup.h b/core/include/JellyfinQt/loader/http/syncplayjoingroup.h new file mode 100644 index 0000000..64df66d --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayjoingroup.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYJOINGROUP_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYJOINGROUP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYJOINGROUP_H diff --git a/core/include/JellyfinQt/loader/http/syncplayleavegroup.h b/core/include/JellyfinQt/loader/http/syncplayleavegroup.h new file mode 100644 index 0000000..6105b17 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayleavegroup.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYLEAVEGROUP_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYLEAVEGROUP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYLEAVEGROUP_H diff --git a/core/include/JellyfinQt/loader/http/syncplaymoveplaylistitem.h b/core/include/JellyfinQt/loader/http/syncplaymoveplaylistitem.h new file mode 100644 index 0000000..c2ba512 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaymoveplaylistitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYMOVEPLAYLISTITEM_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYMOVEPLAYLISTITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYMOVEPLAYLISTITEM_H diff --git a/core/include/JellyfinQt/loader/http/syncplaynextitem.h b/core/include/JellyfinQt/loader/http/syncplaynextitem.h new file mode 100644 index 0000000..c825208 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaynextitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYNEXTITEM_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYNEXTITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYNEXTITEM_H diff --git a/core/include/JellyfinQt/loader/http/syncplaypause.h b/core/include/JellyfinQt/loader/http/syncplaypause.h new file mode 100644 index 0000000..87cb5c0 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaypause.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYPAUSE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYPAUSE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYPAUSE_H diff --git a/core/include/JellyfinQt/loader/http/syncplayping.h b/core/include/JellyfinQt/loader/http/syncplayping.h new file mode 100644 index 0000000..cc4ccf5 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayping.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYPING_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYPING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYPING_H diff --git a/core/include/JellyfinQt/loader/http/syncplaypreviousitem.h b/core/include/JellyfinQt/loader/http/syncplaypreviousitem.h new file mode 100644 index 0000000..5daf4a7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaypreviousitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYPREVIOUSITEM_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYPREVIOUSITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYPREVIOUSITEM_H diff --git a/core/include/JellyfinQt/loader/http/syncplayqueue.h b/core/include/JellyfinQt/loader/http/syncplayqueue.h new file mode 100644 index 0000000..f86aa29 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayqueue.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYQUEUE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYQUEUE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYQUEUE_H diff --git a/core/include/JellyfinQt/loader/http/syncplayready.h b/core/include/JellyfinQt/loader/http/syncplayready.h new file mode 100644 index 0000000..7147ce2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayready.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYREADY_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYREADY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYREADY_H diff --git a/core/include/JellyfinQt/loader/http/syncplayremovefromplaylist.h b/core/include/JellyfinQt/loader/http/syncplayremovefromplaylist.h new file mode 100644 index 0000000..210bb42 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayremovefromplaylist.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYREMOVEFROMPLAYLIST_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYREMOVEFROMPLAYLIST_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYREMOVEFROMPLAYLIST_H diff --git a/core/include/JellyfinQt/loader/http/syncplayseek.h b/core/include/JellyfinQt/loader/http/syncplayseek.h new file mode 100644 index 0000000..03c339b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayseek.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSEEK_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSEEK_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSEEK_H diff --git a/core/include/JellyfinQt/loader/http/syncplaysetignorewait.h b/core/include/JellyfinQt/loader/http/syncplaysetignorewait.h new file mode 100644 index 0000000..e2540a4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaysetignorewait.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSETIGNOREWAIT_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSETIGNOREWAIT_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSETIGNOREWAIT_H diff --git a/core/include/JellyfinQt/loader/http/syncplaysetnewqueue.h b/core/include/JellyfinQt/loader/http/syncplaysetnewqueue.h new file mode 100644 index 0000000..c71f248 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaysetnewqueue.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSETNEWQUEUE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSETNEWQUEUE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSETNEWQUEUE_H diff --git a/core/include/JellyfinQt/loader/http/syncplaysetplaylistitem.h b/core/include/JellyfinQt/loader/http/syncplaysetplaylistitem.h new file mode 100644 index 0000000..8abd017 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaysetplaylistitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSETPLAYLISTITEM_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSETPLAYLISTITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSETPLAYLISTITEM_H diff --git a/core/include/JellyfinQt/loader/http/syncplaysetrepeatmode.h b/core/include/JellyfinQt/loader/http/syncplaysetrepeatmode.h new file mode 100644 index 0000000..85483a1 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaysetrepeatmode.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSETREPEATMODE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSETREPEATMODE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSETREPEATMODE_H diff --git a/core/include/JellyfinQt/loader/http/syncplaysetshufflemode.h b/core/include/JellyfinQt/loader/http/syncplaysetshufflemode.h new file mode 100644 index 0000000..7731d4f --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaysetshufflemode.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSETSHUFFLEMODE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSETSHUFFLEMODE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSETSHUFFLEMODE_H diff --git a/core/include/JellyfinQt/loader/http/syncplaystop.h b/core/include/JellyfinQt/loader/http/syncplaystop.h new file mode 100644 index 0000000..47383a2 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplaystop.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYSTOP_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYSTOP_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYSTOP_H diff --git a/core/include/JellyfinQt/loader/http/syncplayunpause.h b/core/include/JellyfinQt/loader/http/syncplayunpause.h new file mode 100644 index 0000000..83c8a8b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/syncplayunpause.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_SYNCPLAYUNPAUSE_H +#define JELLYFIN_LOADER_HTTP_SYNCPLAYUNPAUSE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_SYNCPLAYUNPAUSE_H diff --git a/core/include/JellyfinQt/loader/http/uninstallplugin.h b/core/include/JellyfinQt/loader/http/uninstallplugin.h new file mode 100644 index 0000000..64cea3a --- /dev/null +++ b/core/include/JellyfinQt/loader/http/uninstallplugin.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UNINSTALLPLUGIN_H +#define JELLYFIN_LOADER_HTTP_UNINSTALLPLUGIN_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UNINSTALLPLUGIN_H diff --git a/core/include/JellyfinQt/loader/http/uninstallpluginbyversion.h b/core/include/JellyfinQt/loader/http/uninstallpluginbyversion.h new file mode 100644 index 0000000..41d394c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/uninstallpluginbyversion.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UNINSTALLPLUGINBYVERSION_H +#define JELLYFIN_LOADER_HTTP_UNINSTALLPLUGINBYVERSION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UNINSTALLPLUGINBYVERSION_H diff --git a/core/include/JellyfinQt/loader/http/unmarkfavoriteitem.h b/core/include/JellyfinQt/loader/http/unmarkfavoriteitem.h new file mode 100644 index 0000000..daec845 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/unmarkfavoriteitem.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UNMARKFAVORITEITEM_H +#define JELLYFIN_LOADER_HTTP_UNMARKFAVORITEITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Unmarks item as a favorite. + */ +class UnmarkFavoriteItem : public Jellyfin::Support::HttpLoader { +public: + explicit UnmarkFavoriteItem(ApiClient *apiClient); + +protected: + QString url(const UnmarkFavoriteItemParams& parameters) const override; + QUrlQuery query(const UnmarkFavoriteItemParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UNMARKFAVORITEITEM_H diff --git a/core/include/JellyfinQt/loader/http/updateconfiguration.h b/core/include/JellyfinQt/loader/http/updateconfiguration.h new file mode 100644 index 0000000..f20f985 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATECONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_UPDATECONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATECONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/updatedeviceoptions.h b/core/include/JellyfinQt/loader/http/updatedeviceoptions.h new file mode 100644 index 0000000..1b6e2a4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatedeviceoptions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEDEVICEOPTIONS_H +#define JELLYFIN_LOADER_HTTP_UPDATEDEVICEOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEDEVICEOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/updatedisplaypreferences.h b/core/include/JellyfinQt/loader/http/updatedisplaypreferences.h new file mode 100644 index 0000000..9961491 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatedisplaypreferences.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEDISPLAYPREFERENCES_H +#define JELLYFIN_LOADER_HTTP_UPDATEDISPLAYPREFERENCES_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEDISPLAYPREFERENCES_H diff --git a/core/include/JellyfinQt/loader/http/updateinitialconfiguration.h b/core/include/JellyfinQt/loader/http/updateinitialconfiguration.h new file mode 100644 index 0000000..4974e5b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateinitialconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEINITIALCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_UPDATEINITIALCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEINITIALCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/updateitem.h b/core/include/JellyfinQt/loader/http/updateitem.h new file mode 100644 index 0000000..c9edba9 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateitem.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEITEM_H +#define JELLYFIN_LOADER_HTTP_UPDATEITEM_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEITEM_H diff --git a/core/include/JellyfinQt/loader/http/updateitemcontenttype.h b/core/include/JellyfinQt/loader/http/updateitemcontenttype.h new file mode 100644 index 0000000..38e8a02 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateitemcontenttype.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEITEMCONTENTTYPE_H +#define JELLYFIN_LOADER_HTTP_UPDATEITEMCONTENTTYPE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEITEMCONTENTTYPE_H diff --git a/core/include/JellyfinQt/loader/http/updateitemimageindex.h b/core/include/JellyfinQt/loader/http/updateitemimageindex.h new file mode 100644 index 0000000..0c18a51 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateitemimageindex.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEITEMIMAGEINDEX_H +#define JELLYFIN_LOADER_HTTP_UPDATEITEMIMAGEINDEX_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEITEMIMAGEINDEX_H diff --git a/core/include/JellyfinQt/loader/http/updatelibraryoptions.h b/core/include/JellyfinQt/loader/http/updatelibraryoptions.h new file mode 100644 index 0000000..b8a226b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatelibraryoptions.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATELIBRARYOPTIONS_H +#define JELLYFIN_LOADER_HTTP_UPDATELIBRARYOPTIONS_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATELIBRARYOPTIONS_H diff --git a/core/include/JellyfinQt/loader/http/updatemediaencoderpath.h b/core/include/JellyfinQt/loader/http/updatemediaencoderpath.h new file mode 100644 index 0000000..3f3fdaf --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatemediaencoderpath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEMEDIAENCODERPATH_H +#define JELLYFIN_LOADER_HTTP_UPDATEMEDIAENCODERPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEMEDIAENCODERPATH_H diff --git a/core/include/JellyfinQt/loader/http/updatemediapath.h b/core/include/JellyfinQt/loader/http/updatemediapath.h new file mode 100644 index 0000000..899b1e7 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatemediapath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEMEDIAPATH_H +#define JELLYFIN_LOADER_HTTP_UPDATEMEDIAPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEMEDIAPATH_H diff --git a/core/include/JellyfinQt/loader/http/updatenamedconfiguration.h b/core/include/JellyfinQt/loader/http/updatenamedconfiguration.h new file mode 100644 index 0000000..899b477 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatenamedconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATENAMEDCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_UPDATENAMEDCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATENAMEDCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/updatepluginconfiguration.h b/core/include/JellyfinQt/loader/http/updatepluginconfiguration.h new file mode 100644 index 0000000..910b88e --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatepluginconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEPLUGINCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_UPDATEPLUGINCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEPLUGINCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/updatepluginsecurityinfo.h b/core/include/JellyfinQt/loader/http/updatepluginsecurityinfo.h new file mode 100644 index 0000000..fbc970c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatepluginsecurityinfo.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEPLUGINSECURITYINFO_H +#define JELLYFIN_LOADER_HTTP_UPDATEPLUGINSECURITYINFO_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEPLUGINSECURITYINFO_H diff --git a/core/include/JellyfinQt/loader/http/updateprofile.h b/core/include/JellyfinQt/loader/http/updateprofile.h new file mode 100644 index 0000000..bc6c026 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateprofile.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEPROFILE_H +#define JELLYFIN_LOADER_HTTP_UPDATEPROFILE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEPROFILE_H diff --git a/core/include/JellyfinQt/loader/http/updateseriestimer.h b/core/include/JellyfinQt/loader/http/updateseriestimer.h new file mode 100644 index 0000000..99f2715 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateseriestimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATESERIESTIMER_H +#define JELLYFIN_LOADER_HTTP_UPDATESERIESTIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATESERIESTIMER_H diff --git a/core/include/JellyfinQt/loader/http/updatestartupuser.h b/core/include/JellyfinQt/loader/http/updatestartupuser.h new file mode 100644 index 0000000..904918b --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatestartupuser.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATESTARTUPUSER_H +#define JELLYFIN_LOADER_HTTP_UPDATESTARTUPUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATESTARTUPUSER_H diff --git a/core/include/JellyfinQt/loader/http/updatetask.h b/core/include/JellyfinQt/loader/http/updatetask.h new file mode 100644 index 0000000..92f4392 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatetask.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATETASK_H +#define JELLYFIN_LOADER_HTTP_UPDATETASK_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATETASK_H diff --git a/core/include/JellyfinQt/loader/http/updatetimer.h b/core/include/JellyfinQt/loader/http/updatetimer.h new file mode 100644 index 0000000..15fbf90 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updatetimer.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATETIMER_H +#define JELLYFIN_LOADER_HTTP_UPDATETIMER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATETIMER_H diff --git a/core/include/JellyfinQt/loader/http/updateuser.h b/core/include/JellyfinQt/loader/http/updateuser.h new file mode 100644 index 0000000..3f3e9ea --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateuser.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSER_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSER_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSER_H diff --git a/core/include/JellyfinQt/loader/http/updateuserconfiguration.h b/core/include/JellyfinQt/loader/http/updateuserconfiguration.h new file mode 100644 index 0000000..2ea5877 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateuserconfiguration.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSERCONFIGURATION_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSERCONFIGURATION_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSERCONFIGURATION_H diff --git a/core/include/JellyfinQt/loader/http/updateusereasypassword.h b/core/include/JellyfinQt/loader/http/updateusereasypassword.h new file mode 100644 index 0000000..572133c --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateusereasypassword.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSEREASYPASSWORD_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSEREASYPASSWORD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSEREASYPASSWORD_H diff --git a/core/include/JellyfinQt/loader/http/updateuseritemrating.h b/core/include/JellyfinQt/loader/http/updateuseritemrating.h new file mode 100644 index 0000000..3934267 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateuseritemrating.h @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSERITEMRATING_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSERITEMRATING_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" +#include "JellyfinQt/dto/useritemdatadto.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + +/** + * @brief Updates a user's rating for an item. + */ +class UpdateUserItemRating : public Jellyfin::Support::HttpLoader { +public: + explicit UpdateUserItemRating(ApiClient *apiClient); + +protected: + QString url(const UpdateUserItemRatingParams& parameters) const override; + QUrlQuery query(const UpdateUserItemRatingParams& parameters) const override; +}; + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSERITEMRATING_H diff --git a/core/include/JellyfinQt/loader/http/updateuserpassword.h b/core/include/JellyfinQt/loader/http/updateuserpassword.h new file mode 100644 index 0000000..38e69ae --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateuserpassword.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSERPASSWORD_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSERPASSWORD_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSERPASSWORD_H diff --git a/core/include/JellyfinQt/loader/http/updateuserpolicy.h b/core/include/JellyfinQt/loader/http/updateuserpolicy.h new file mode 100644 index 0000000..1724c05 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/updateuserpolicy.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPDATEUSERPOLICY_H +#define JELLYFIN_LOADER_HTTP_UPDATEUSERPOLICY_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPDATEUSERPOLICY_H diff --git a/core/include/JellyfinQt/loader/http/uploadsubtitle.h b/core/include/JellyfinQt/loader/http/uploadsubtitle.h new file mode 100644 index 0000000..79a3442 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/uploadsubtitle.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_UPLOADSUBTITLE_H +#define JELLYFIN_LOADER_HTTP_UPLOADSUBTITLE_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_UPLOADSUBTITLE_H diff --git a/core/include/JellyfinQt/loader/http/validatepath.h b/core/include/JellyfinQt/loader/http/validatepath.h new file mode 100644 index 0000000..f2ae0c4 --- /dev/null +++ b/core/include/JellyfinQt/loader/http/validatepath.h @@ -0,0 +1,49 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_HTTP_VALIDATEPATH_H +#define JELLYFIN_LOADER_HTTP_VALIDATEPATH_H + +#include + +#include "JellyfinQt/support/loader.h" +#include "JellyfinQt/apiclient.h" +#include "JellyfinQt/loader/requesttypes.h" + +namespace Jellyfin { +namespace Loader { +namespace HTTP { + + + +} // NS HTTP +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_HTTP_VALIDATEPATH_H diff --git a/core/include/JellyfinQt/loader/requesttypes.h b/core/include/JellyfinQt/loader/requesttypes.h new file mode 100644 index 0000000..571c639 --- /dev/null +++ b/core/include/JellyfinQt/loader/requesttypes.h @@ -0,0 +1,23289 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_LOADER_REQUESTTYPES_H +#define JELLYFIN_LOADER_REQUESTTYPES_H + +#include +#include +#include +#include + +#include "JellyfinQt/dto/channeltype.h" +#include "JellyfinQt/dto/configurationpagetype.h" +#include "JellyfinQt/dto/encodingcontext.h" +#include "JellyfinQt/dto/generalcommandtype.h" +#include "JellyfinQt/dto/imageformat.h" +#include "JellyfinQt/dto/imagetype.h" +#include "JellyfinQt/dto/itemfields.h" +#include "JellyfinQt/dto/itemfilter.h" +#include "JellyfinQt/dto/locationtype.h" +#include "JellyfinQt/dto/metadatarefreshmode.h" +#include "JellyfinQt/dto/notificationlevel.h" +#include "JellyfinQt/dto/playcommand.h" +#include "JellyfinQt/dto/playmethod.h" +#include "JellyfinQt/dto/playstatecommand.h" +#include "JellyfinQt/dto/quickconnectstate.h" +#include "JellyfinQt/dto/recordingstatus.h" +#include "JellyfinQt/dto/repeatmode.h" +#include "JellyfinQt/dto/seriesstatus.h" +#include "JellyfinQt/dto/sortorder.h" +#include "JellyfinQt/dto/subtitledeliverymethod.h" +#include "JellyfinQt/dto/version.h" +#include "JellyfinQt/dto/videotype.h" + +namespace Jellyfin { +namespace Loader { + +using namespace Jellyfin::DTO; +class GetLogEntriesParams { +public: + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. The minimum date. Format = ISO. + */ + QDateTime minDate() const; + void setMinDate(QDateTime newMinDate) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter log entries if it has user id, or not. + */ + std::optional hasUserId() const; + void setHasUserId(std::optional newHasUserId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_startIndex = std::nullopt; + QDateTime m_minDate; + std::optional m_limit = std::nullopt; + std::optional m_hasUserId = std::nullopt; + +}; + +class GetKeysParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CreateKeyParams { +public: + /** + * @brief Name of the app using the authentication key. + */ + QString app() const; + void setApp(QString newApp) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_app; + + // Optional path parameters + + // Optional query parameters + +}; + +class RevokeKeyParams { +public: + /** + * @brief The access token to delete. + */ + QString key() const; + void setKey(QString newKey) const; + + +private: + // Required path parameters + QString m_key; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetArtistsParams { +public: + /** + * @brief Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. + */ + QList years() const; + void setYears(QList newYears) const; + + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. + */ + QStringList tags() const; + void setTags(QStringList newTags) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. + */ + QStringList studios() const; + void setStudios(QStringList newStudios) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. + */ + QStringList studioIds() const; + void setStudioIds(QStringList newStudioIds) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person ids. + */ + QStringList personIds() const; + void setPersonIds(QStringList newPersonIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person. + */ + QString person() const; + void setPerson(QString newPerson) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. + */ + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional filter by minimum community rating. + */ + std::optional minCommunityRating() const; + void setMinCommunityRating(std::optional newMinCommunityRating) const; + + /** + * @brief Optional filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional filters to apply. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QList m_years; + QString m_userId; + QStringList m_tags; + QStringList m_studios; + QStringList m_studioIds; + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QStringList m_personTypes; + QStringList m_personIds; + QString m_person; + QString m_parentId; + QStringList m_officialRatings; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_minCommunityRating = std::nullopt; + QStringList m_mediaTypes; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_filters; + QList m_fields; + QStringList m_excludeItemTypes; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetArtistByNameParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetAlbumArtistsParams { +public: + /** + * @brief Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. + */ + QList years() const; + void setYears(QList newYears) const; + + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. + */ + QStringList tags() const; + void setTags(QStringList newTags) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. + */ + QStringList studios() const; + void setStudios(QStringList newStudios) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. + */ + QStringList studioIds() const; + void setStudioIds(QStringList newStudioIds) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person ids. + */ + QStringList personIds() const; + void setPersonIds(QStringList newPersonIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person. + */ + QString person() const; + void setPerson(QString newPerson) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. + */ + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional filter by minimum community rating. + */ + std::optional minCommunityRating() const; + void setMinCommunityRating(std::optional newMinCommunityRating) const; + + /** + * @brief Optional filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional filters to apply. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QList m_years; + QString m_userId; + QStringList m_tags; + QStringList m_studios; + QStringList m_studioIds; + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QStringList m_personTypes; + QStringList m_personIds; + QString m_person; + QString m_parentId; + QStringList m_officialRatings; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_minCommunityRating = std::nullopt; + QStringList m_mediaTypes; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_filters; + QList m_fields; + QStringList m_excludeItemTypes; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetAudioStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief The audio container. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + QString m_container; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadAudioStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief The audio container. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + QString m_container; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetAudioStreamByContainerParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The audio container. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamporphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadAudioStreamByContainerParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The audio container. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamporphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetBrandingOptionsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetBrandingCssParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetBrandingCss_2Params { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetChannelsParams { +public: + /** + * @brief User Id to filter by. Use System.Guid.Empty to not filter by user. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Filter by channels that support media deletion. + */ + std::optional supportsMediaDeletion() const; + void setSupportsMediaDeletion(std::optional newSupportsMediaDeletion) const; + + /** + * @brief Optional. Filter by channels that support getting latest items. + */ + std::optional supportsLatestItems() const; + void setSupportsLatestItems(std::optional newSupportsLatestItems) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter by channels that are favorite. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_supportsMediaDeletion = std::nullopt; + std::optional m_supportsLatestItems = std::nullopt; + std::optional m_startIndex = std::nullopt; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + +}; + +class GetChannelFeaturesParams { +public: + /** + * @brief Channel id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + +private: + // Required path parameters + QString m_channelId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetChannelItemsParams { +public: + /** + * @brief Channel Id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + /** + * @brief Optional. User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Folder Id. + */ + QString folderId() const; + void setFolderId(QString newFolderId) const; + + /** + * @brief Optional. Specify additional filters to apply. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + +private: + // Required path parameters + QString m_channelId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + std::optional m_limit = std::nullopt; + QString m_folderId; + QList m_filters; + QList m_fields; + +}; + +class GetAllChannelFeaturesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLatestChannelItemsParams { +public: + /** + * @brief Optional. User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional filters to apply. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Specify one or more channel id's, comma delimited. + */ + QStringList channelIds() const; + void setChannelIds(QStringList newChannelIds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + std::optional m_limit = std::nullopt; + QList m_filters; + QList m_fields; + QStringList m_channelIds; + +}; + +class CreateCollectionParams { +public: + /** + * @brief Optional. Create the collection within a specific folder. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief The name of the collection. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Whether or not to lock the new collection. + */ + bool isLocked() const; + void setIsLocked(bool newIsLocked) const; + + /** + * @brief Item Ids to add to the collection. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_parentId; + QString m_name; + bool m_isLocked; + QStringList m_ids; + +}; + +class AddToCollectionParams { +public: + /** + * @brief The collection id. + */ + QString collectionId() const; + void setCollectionId(QString newCollectionId) const; + + /** + * @brief Item ids, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + QString m_collectionId; + + // Required query parameters + QStringList m_ids; + + // Optional path parameters + + // Optional query parameters + +}; + +class RemoveFromCollectionParams { +public: + /** + * @brief The collection id. + */ + QString collectionId() const; + void setCollectionId(QString newCollectionId) const; + + /** + * @brief Item ids, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + QString m_collectionId; + + // Required query parameters + QStringList m_ids; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetConfigurationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateConfigurationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetNamedConfigurationParams { +public: + /** + * @brief Configuration key. + */ + QString key() const; + void setKey(QString newKey) const; + + +private: + // Required path parameters + QString m_key; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateNamedConfigurationParams { +public: + /** + * @brief Configuration key. + */ + QString key() const; + void setKey(QString newKey) const; + + +private: + // Required path parameters + QString m_key; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDefaultMetadataOptionsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateMediaEncoderPathParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDashboardConfigurationPageParams { +public: + /** + * @brief The name of the page. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_name; + +}; + +class GetConfigurationPagesParams { +public: + /** + * @brief The Jellyfin.Api.Models.ConfigurationPageInfo. + */ + ConfigurationPageType pageType() const; + void setPageType(ConfigurationPageType newPageType) const; + + /** + * @brief Whether to enable in the main menu. + */ + std::optional enableInMainMenu() const; + void setEnableInMainMenu(std::optional newEnableInMainMenu) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + ConfigurationPageType m_pageType; + std::optional m_enableInMainMenu = std::nullopt; + +}; + +class GetDevicesParams { +public: + /** + * @brief Gets or sets the user identifier. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Gets or sets a value indicating whether [supports synchronize]. + */ + std::optional supportsSync() const; + void setSupportsSync(std::optional newSupportsSync) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_supportsSync = std::nullopt; + +}; + +class DeleteDeviceParams { +public: + /** + * @brief Device Id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_jellyfinId; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDeviceInfoParams { +public: + /** + * @brief Device Id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_jellyfinId; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDeviceOptionsParams { +public: + /** + * @brief Device Id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_jellyfinId; + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateDeviceOptionsParams { +public: + /** + * @brief Device Id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_jellyfinId; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDisplayPreferencesParams { +public: + /** + * @brief Display preferences id. + */ + QString displayPreferencesId() const; + void setDisplayPreferencesId(QString newDisplayPreferencesId) const; + + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Client. + */ + QString client() const; + void setClient(QString newClient) const; + + +private: + // Required path parameters + QString m_displayPreferencesId; + + // Required query parameters + QString m_userId; + QString m_client; + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateDisplayPreferencesParams { +public: + /** + * @brief Display preferences id. + */ + QString displayPreferencesId() const; + void setDisplayPreferencesId(QString newDisplayPreferencesId) const; + + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Client. + */ + QString client() const; + void setClient(QString newClient) const; + + +private: + // Required path parameters + QString m_displayPreferencesId; + + // Required query parameters + QString m_userId; + QString m_client; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetProfileInfosParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CreateProfileParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetProfileParams { +public: + /** + * @brief Profile Id. + */ + QString profileId() const; + void setProfileId(QString newProfileId) const; + + +private: + // Required path parameters + QString m_profileId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteProfileParams { +public: + /** + * @brief Profile id. + */ + QString profileId() const; + void setProfileId(QString newProfileId) const; + + +private: + // Required path parameters + QString m_profileId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateProfileParams { +public: + /** + * @brief Profile id. + */ + QString profileId() const; + void setProfileId(QString newProfileId) const; + + +private: + // Required path parameters + QString m_profileId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDefaultProfileParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetConnectionManagerParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetConnectionManager_2Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetConnectionManager_3Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ProcessConnectionManagerControlRequestParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetContentDirectoryParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetContentDirectory_2Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetContentDirectory_3Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ProcessContentDirectoryControlRequestParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDescriptionXmlParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDescriptionXml_2Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetIconIdParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + /** + * @brief The icon filename. + */ + QString fileName() const; + void setFileName(QString newFileName) const; + + +private: + // Required path parameters + QString m_serverId; + QString m_fileName; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaReceiverRegistrarParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ProcessMediaReceiverRegistrarControlRequestParams { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaReceiverRegistrar_2Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaReceiverRegistrar_3Params { +public: + /** + * @brief Server UUID. + */ + QString serverId() const; + void setServerId(QString newServerId) const; + + +private: + // Required path parameters + QString m_serverId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetIconParams { +public: + /** + * @brief The icon filename. + */ + QString fileName() const; + void setFileName(QString newFileName) const; + + +private: + // Required path parameters + QString m_fileName; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetHlsAudioSegmentParams { +public: + /** + * @brief The segment id. + */ + qint32 segmentId() const; + void setSegmentId(qint32 newSegmentId) const; + + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + qint32 m_segmentId; + QString m_playlistId; + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetVariantHlsAudioPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetMasterHlsAudioPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Enable adaptive bitrate streaming. + */ + bool enableAdaptiveBitrateStreaming() const; + void setEnableAdaptiveBitrateStreaming(bool newEnableAdaptiveBitrateStreaming) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + QString m_mediaSourceId; + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + bool m_enableAdaptiveBitrateStreaming; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadMasterHlsAudioPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Enable adaptive bitrate streaming. + */ + bool enableAdaptiveBitrateStreaming() const; + void setEnableAdaptiveBitrateStreaming(bool newEnableAdaptiveBitrateStreaming) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + QString m_mediaSourceId; + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + bool m_enableAdaptiveBitrateStreaming; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetHlsVideoSegmentParams { +public: + /** + * @brief The segment id. + */ + qint32 segmentId() const; + void setSegmentId(qint32 newSegmentId) const; + + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + qint32 m_segmentId; + QString m_playlistId; + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetVariantHlsVideoPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetMasterHlsVideoPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Enable adaptive bitrate streaming. + */ + bool enableAdaptiveBitrateStreaming() const; + void setEnableAdaptiveBitrateStreaming(bool newEnableAdaptiveBitrateStreaming) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + QString m_mediaSourceId; + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + bool m_enableAdaptiveBitrateStreaming; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadMasterHlsVideoPlaylistParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Enable adaptive bitrate streaming. + */ + bool enableAdaptiveBitrateStreaming() const; + void setEnableAdaptiveBitrateStreaming(bool newEnableAdaptiveBitrateStreaming) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + QString m_mediaSourceId; + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + bool m_enableAdaptiveBitrateStreaming; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetDefaultDirectoryBrowserParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDirectoryContentsParams { +public: + /** + * @brief The path. + */ + QString path() const; + void setPath(QString newPath) const; + + /** + * @brief An optional filter to include or exclude files from the results. true/false. + */ + bool includeFiles() const; + void setIncludeFiles(bool newIncludeFiles) const; + + /** + * @brief An optional filter to include or exclude folders from the results. true/false. + */ + bool includeDirectories() const; + void setIncludeDirectories(bool newIncludeDirectories) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_path; + + // Optional path parameters + + // Optional query parameters + bool m_includeFiles; + bool m_includeDirectories; + +}; + +class GetDrivesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetNetworkSharesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetParentPathParams { +public: + /** + * @brief The path. + */ + QString path() const; + void setPath(QString newPath) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_path; + + // Optional path parameters + + // Optional query parameters + +}; + +class ValidatePathParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetQueryFiltersLegacyParams { +public: + /** + * @brief Optional. User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Parent id. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. Filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_parentId; + QStringList m_mediaTypes; + QStringList m_includeItemTypes; + +}; + +class GetQueryFiltersParams { +public: + /** + * @brief Optional. User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Search recursive. + */ + std::optional recursive() const; + void setRecursive(std::optional newRecursive) const; + + /** + * @brief Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. Is item sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional. Is item series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional. Is item news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional. Is item movie. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional. Is item kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional. Is item airing. + */ + std::optional isAiring() const; + void setIsAiring(std::optional newIsAiring) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_recursive = std::nullopt; + QString m_parentId; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isAiring = std::nullopt; + QStringList m_includeItemTypes; + +}; + +class GetGenresParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief The search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. Include total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QString m_parentId; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + QStringList m_excludeItemTypes; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetGenreParams { +public: + /** + * @brief The genre name. + */ + QString genreName() const; + void setGenreName(QString newGenreName) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_genreName; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetHlsAudioSegmentLegacyAacParams { +public: + /** + * @brief The segment id. + */ + QString segmentId() const; + void setSegmentId(QString newSegmentId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_segmentId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetHlsAudioSegmentLegacyMp3Params { +public: + /** + * @brief The segment id. + */ + QString segmentId() const; + void setSegmentId(QString newSegmentId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_segmentId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetHlsVideoSegmentLegacyParams { +public: + /** + * @brief The segment id. + */ + QString segmentId() const; + void setSegmentId(QString newSegmentId) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_segmentId; + QString m_segmentContainer; + QString m_playlistId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetHlsPlaylistLegacyParams { +public: + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The video id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_playlistId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class StopEncodingProcessParams { +public: + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_playSessionId; + QString m_deviceId; + +}; + +class GetArtistImageParams { +public: + /** + * @brief Artist name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadArtistImageParams { +public: + /** + * @brief Artist name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetGenreImageParams { +public: + /** + * @brief Genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadGenreImageParams { +public: + /** + * @brief Genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetGenreImageByIndexParams { +public: + /** + * @brief Genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadGenreImageByIndexParams { +public: + /** + * @brief Genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetItemImageInfosParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteItemImageParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_imageIndex = std::nullopt; + +}; + +class SetItemImageParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetItemImageParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadItemImageParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class DeleteItemImageByIndexParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SetItemImageByIndexParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief (Unused) Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetItemImageByIndexParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadItemImageByIndexParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetItemImage2Params { +public: + /** + * @brief Optional. Unplayed count overlay to render. + */ + qint32 unplayedCount() const; + void setUnplayedCount(qint32 newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + double percentPlayed() const; + void setPercentPlayed(double newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + qint32 maxWidth() const; + void setMaxWidth(qint32 newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + qint32 maxHeight() const; + void setMaxHeight(qint32 newMaxHeight) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + qint32 m_unplayedCount; + QString m_tag; + double m_percentPlayed; + qint32 m_maxWidth; + qint32 m_maxHeight; + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + ImageFormat m_format; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_quality = std::nullopt; + std::optional m_height = std::nullopt; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadItemImage2Params { +public: + /** + * @brief Optional. Unplayed count overlay to render. + */ + qint32 unplayedCount() const; + void setUnplayedCount(qint32 newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + double percentPlayed() const; + void setPercentPlayed(double newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + qint32 maxWidth() const; + void setMaxWidth(qint32 newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + qint32 maxHeight() const; + void setMaxHeight(qint32 newMaxHeight) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + qint32 m_unplayedCount; + QString m_tag; + double m_percentPlayed; + qint32 m_maxWidth; + qint32 m_maxHeight; + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + ImageFormat m_format; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_quality = std::nullopt; + std::optional m_height = std::nullopt; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class UpdateItemImageIndexParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Old image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief New image index. + */ + qint32 newIndex() const; + void setNewIndex(qint32 newNewIndex) const; + + +private: + // Required path parameters + QString m_itemId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + qint32 m_newIndex; + +}; + +class GetMusicGenreImageParams { +public: + /** + * @brief Music genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadMusicGenreImageParams { +public: + /** + * @brief Music genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetMusicGenreImageByIndexParams { +public: + /** + * @brief Music genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadMusicGenreImageByIndexParams { +public: + /** + * @brief Music genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetPersonImageParams { +public: + /** + * @brief Person name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadPersonImageParams { +public: + /** + * @brief Person name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetPersonImageByIndexParams { +public: + /** + * @brief Person name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadPersonImageByIndexParams { +public: + /** + * @brief Person name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetStudioImageParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadStudioImageParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetStudioImageByIndexParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadStudioImageByIndexParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_name; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class PostUserImageParams { +public: + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief (Unused) Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief (Unused) Image index. + */ + std::optional index() const; + void setIndex(std::optional newIndex) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_index = std::nullopt; + +}; + +class DeleteUserImageParams { +public: + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief (Unused) Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief (Unused) Image index. + */ + std::optional index() const; + void setIndex(std::optional newIndex) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_index = std::nullopt; + +}; + +class GetUserImageParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadUserImageParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Image index. + */ + std::optional imageIndex() const; + void setImageIndex(std::optional newImageIndex) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_imageIndex = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class GetUserImageByIndexParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class HeadUserImageByIndexParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + /** + * @brief Image index. + */ + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex) const; + + /** + * @brief The fixed image width to return. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. Unplayed count overlay to render. + */ + std::optional unplayedCount() const; + void setUnplayedCount(std::optional newUnplayedCount) const; + + /** + * @brief Optional. Supply the cache tag from the item object to receive strong caching headers. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. + */ + std::optional quality() const; + void setQuality(std::optional newQuality) const; + + /** + * @brief Optional. Percent to render for the percent played overlay. + */ + std::optional percentPlayed() const; + void setPercentPlayed(std::optional newPercentPlayed) const; + + /** + * @brief The maximum image width to return. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief The maximum image height to return. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief The fixed image height to return. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Determines the output format of the image - original,gif,jpg,png. + */ + ImageFormat format() const; + void setFormat(ImageFormat newFormat) const; + + /** + * @brief Optional. Apply a foreground layer on top of the image. + */ + QString foregroundLayer() const; + void setForegroundLayer(QString newForegroundLayer) const; + + /** + * @brief Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. + */ + std::optional cropWhitespace() const; + void setCropWhitespace(std::optional newCropWhitespace) const; + + /** + * @brief Optional. Blur image. + */ + std::optional blur() const; + void setBlur(std::optional newBlur) const; + + /** + * @brief Optional. Apply a background color for transparent images. + */ + QString backgroundColor() const; + void setBackgroundColor(QString newBackgroundColor) const; + + /** + * @brief Optional. Add a played indicator. + */ + std::optional addPlayedIndicator() const; + void setAddPlayedIndicator(std::optional newAddPlayedIndicator) const; + + +private: + // Required path parameters + QString m_userId; + ImageType m_imageType; + qint32 m_imageIndex; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_unplayedCount = std::nullopt; + QString m_tag; + std::optional m_quality = std::nullopt; + std::optional m_percentPlayed = std::nullopt; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_height = std::nullopt; + ImageFormat m_format; + QString m_foregroundLayer; + std::optional m_cropWhitespace = std::nullopt; + std::optional m_blur = std::nullopt; + QString m_backgroundColor; + std::optional m_addPlayedIndicator = std::nullopt; + +}; + +class PostUserImageByIndexParams { +public: + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief (Unused) Image index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + /** + * @brief (Unused) Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + +private: + // Required path parameters + QString m_userId; + qint32 m_index; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteUserImageByIndexParams { +public: + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief (Unused) Image index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + /** + * @brief (Unused) Image type. + */ + ImageType imageType() const; + void setImageType(ImageType newImageType) const; + + +private: + // Required path parameters + QString m_userId; + qint32 m_index; + ImageType m_imageType; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetGeneralImagesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetGeneralImageParams { +public: + /** + * @brief Image Type (primary, backdrop, logo, etc). + */ + QString type() const; + void setType(QString newType) const; + + /** + * @brief The name of the image. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + QString m_type; + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaInfoImagesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaInfoImageParams { +public: + /** + * @brief The theme to get the image from. + */ + QString theme() const; + void setTheme(QString newTheme) const; + + /** + * @brief The name of the image. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + QString m_theme; + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRatingImagesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRatingImageParams { +public: + /** + * @brief The theme to get the image from. + */ + QString theme() const; + void setTheme(QString newTheme) const; + + /** + * @brief The name of the image. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + QString m_theme; + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetInstantMixFromAlbumParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromArtistsParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromItemParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromMusicGenresParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromMusicGenreParams { +public: + /** + * @brief The genre name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromPlaylistParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetInstantMixFromSongParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetExternalIdInfosParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ApplySearchCriteriaParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Whether or not to replace all images. Default: True. + */ + bool replaceAllImages() const; + void setReplaceAllImages(bool newReplaceAllImages) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_replaceAllImages; + +}; + +class GetBookRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetBoxSetRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRemoteSearchImageParams { +public: + /** + * @brief The provider name. + */ + QString providerName() const; + void setProviderName(QString newProviderName) const; + + /** + * @brief The image url. + */ + QString imageUrl() const; + void setImageUrl(QString newImageUrl) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_providerName; + QString m_imageUrl; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMovieRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMusicAlbumRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMusicArtistRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMusicVideoRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPersonRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSeriesRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetTrailerRemoteSearchResultsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class PostParams { +public: + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh. + */ + bool replaceAllMetadata() const; + void setReplaceAllMetadata(bool newReplaceAllMetadata) const; + + /** + * @brief (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh. + */ + bool replaceAllImages() const; + void setReplaceAllImages(bool newReplaceAllImages) const; + + /** + * @brief (Optional) Specifies the metadata refresh mode. + */ + MetadataRefreshMode metadataRefreshMode() const; + void setMetadataRefreshMode(MetadataRefreshMode newMetadataRefreshMode) const; + + /** + * @brief (Optional) Specifies the image refresh mode. + */ + MetadataRefreshMode imageRefreshMode() const; + void setImageRefreshMode(MetadataRefreshMode newImageRefreshMode) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_replaceAllMetadata; + bool m_replaceAllImages; + MetadataRefreshMode m_metadataRefreshMode; + MetadataRefreshMode m_imageRefreshMode; + +}; + +class GetItemsParams { +public: + /** + * @brief Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. + */ + QList years() const; + void setYears(QList newYears) const; + + /** + * @brief Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. + */ + QList videoTypes() const; + void setVideoTypes(QList newVideoTypes) const; + + /** + * @brief The user id supplied as query parameter. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. + */ + QStringList tags() const; + void setTags(QStringList newTags) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. + */ + QStringList studios() const; + void setStudios(QStringList newStudios) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. + */ + QStringList studioIds() const; + void setStudioIds(QStringList newStudioIds) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional filter by Series Status. Allows multiple, comma delimited. + */ + QList seriesStatus() const; + void setSeriesStatus(QList newSeriesStatus) const; + + /** + * @brief Optional. Filter based on a search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief When searching within folders, this determines whether or not the search will be recursive. true/false. + */ + std::optional recursive() const; + void setRecursive(std::optional newRecursive) const; + + /** + * @brief Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person id. + */ + QStringList personIds() const; + void setPersonIds(QStringList newPersonIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person. + */ + QString person() const; + void setPerson(QString newPerson) const; + + /** + * @brief Optional filter by parent index number. + */ + std::optional parentIndexNumber() const; + void setParentIndexNumber(std::optional newParentIndexNumber) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. + */ + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. Filter by the minimum width of the item. + */ + std::optional minWidth() const; + void setMinWidth(std::optional newMinWidth) const; + + /** + * @brief Optional. The minimum premiere date. Format = ISO. + */ + QDateTime minPremiereDate() const; + void setMinPremiereDate(QDateTime newMinPremiereDate) const; + + /** + * @brief Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). + */ + QString minOfficialRating() const; + void setMinOfficialRating(QString newMinOfficialRating) const; + + /** + * @brief Optional. Filter by the minimum height of the item. + */ + std::optional minHeight() const; + void setMinHeight(std::optional newMinHeight) const; + + /** + * @brief Optional. The minimum last saved date for the current user. Format = ISO. + */ + QDateTime minDateLastSavedForUser() const; + void setMinDateLastSavedForUser(QDateTime newMinDateLastSavedForUser) const; + + /** + * @brief Optional. The minimum last saved date. Format = ISO. + */ + QDateTime minDateLastSaved() const; + void setMinDateLastSaved(QDateTime newMinDateLastSaved) const; + + /** + * @brief Optional filter by minimum critic rating. + */ + std::optional minCriticRating() const; + void setMinCriticRating(std::optional newMinCriticRating) const; + + /** + * @brief Optional filter by minimum community rating. + */ + std::optional minCommunityRating() const; + void setMinCommunityRating(std::optional newMinCommunityRating) const; + + /** + * @brief Optional filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. Filter by the maximum width of the item. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief Optional. The maximum premiere date. Format = ISO. + */ + QDateTime maxPremiereDate() const; + void setMaxPremiereDate(QDateTime newMaxPremiereDate) const; + + /** + * @brief Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). + */ + QString maxOfficialRating() const; + void setMaxOfficialRating(QString newMaxOfficialRating) const; + + /** + * @brief Optional. Filter by the maximum height of the item. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. + */ + QList locationTypes() const; + void setLocationTypes(QList newLocationTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are unaired episodes or not. + */ + std::optional isUnaired() const; + void setIsUnaired(std::optional newIsUnaired) const; + + /** + * @brief Optional filter by items that are played, or not. + */ + std::optional isPlayed() const; + void setIsPlayed(std::optional newIsPlayed) const; + + /** + * @brief Optional filter by items that are placeholders. + */ + std::optional isPlaceHolder() const; + void setIsPlaceHolder(std::optional newIsPlaceHolder) const; + + /** + * @brief Optional filter by items that are missing episodes or not. + */ + std::optional isMissing() const; + void setIsMissing(std::optional newIsMissing) const; + + /** + * @brief Optional filter by items that are locked. + */ + std::optional isLocked() const; + void setIsLocked(std::optional newIsLocked) const; + + /** + * @brief Optional filter by items that are HD or not. + */ + std::optional isHd() const; + void setIsHd(std::optional newIsHd) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional filter by items that are 4K or not. + */ + std::optional is4K() const; + void setIs4K(std::optional newIs4K) const; + + /** + * @brief Optional filter by items that are 3D, or not. + */ + std::optional is3D() const; + void setIs3D(std::optional newIs3D) const; + + /** + * @brief Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. + */ + QList imageTypes() const; + void setImageTypes(QList newImageTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + /** + * @brief Optional filter by items that have a tvdb id or not. + */ + std::optional hasTvdbId() const; + void setHasTvdbId(std::optional newHasTvdbId) const; + + /** + * @brief Optional filter by items with trailers. + */ + std::optional hasTrailer() const; + void setHasTrailer(std::optional newHasTrailer) const; + + /** + * @brief Optional filter by items that have a tmdb id or not. + */ + std::optional hasTmdbId() const; + void setHasTmdbId(std::optional newHasTmdbId) const; + + /** + * @brief Optional filter by items with theme videos. + */ + std::optional hasThemeVideo() const; + void setHasThemeVideo(std::optional newHasThemeVideo) const; + + /** + * @brief Optional filter by items with theme songs. + */ + std::optional hasThemeSong() const; + void setHasThemeSong(std::optional newHasThemeSong) const; + + /** + * @brief Optional filter by items with subtitles. + */ + std::optional hasSubtitles() const; + void setHasSubtitles(std::optional newHasSubtitles) const; + + /** + * @brief Optional filter by items with special features. + */ + std::optional hasSpecialFeature() const; + void setHasSpecialFeature(std::optional newHasSpecialFeature) const; + + /** + * @brief Optional filter by items that have or do not have a parental rating. + */ + std::optional hasParentalRating() const; + void setHasParentalRating(std::optional newHasParentalRating) const; + + /** + * @brief Optional filter by items that have an overview or not. + */ + std::optional hasOverview() const; + void setHasOverview(std::optional newHasOverview) const; + + /** + * @brief Optional filter by items that have official ratings. + */ + std::optional hasOfficialRating() const; + void setHasOfficialRating(std::optional newHasOfficialRating) const; + + /** + * @brief Optional filter by items that have an imdb id or not. + */ + std::optional hasImdbId() const; + void setHasImdbId(std::optional newHasImdbId) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. + */ + QList excludeLocationTypes() const; + void setExcludeLocationTypes(QList newExcludeLocationTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. + */ + QStringList excludeItemIds() const; + void setExcludeItemIds(QStringList newExcludeItemIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Enable the total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. + */ + QStringList contributingArtistIds() const; + void setContributingArtistIds(QStringList newContributingArtistIds) const; + + /** + * @brief Whether or not to hide items behind their boxsets. + */ + std::optional collapseBoxSetItems() const; + void setCollapseBoxSetItems(std::optional newCollapseBoxSetItems) const; + + /** + * @brief Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. + */ + QStringList artists() const; + void setArtists(QStringList newArtists) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified artist id. + */ + QStringList artistIds() const; + void setArtistIds(QStringList newArtistIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. + */ + QStringList albums() const; + void setAlbums(QStringList newAlbums) const; + + /** + * @brief Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. + */ + QStringList albumIds() const; + void setAlbumIds(QStringList newAlbumIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified album artist id. + */ + QStringList albumArtistIds() const; + void setAlbumArtistIds(QStringList newAlbumArtistIds) const; + + /** + * @brief Optional. Return items that are siblings of a supplied item. + */ + QString adjacentTo() const; + void setAdjacentTo(QString newAdjacentTo) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QList m_years; + QList m_videoTypes; + QString m_userId; + QStringList m_tags; + QStringList m_studios; + QStringList m_studioIds; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + QList m_seriesStatus; + QString m_searchTerm; + std::optional m_recursive = std::nullopt; + QStringList m_personTypes; + QStringList m_personIds; + QString m_person; + std::optional m_parentIndexNumber = std::nullopt; + QString m_parentId; + QStringList m_officialRatings; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_minWidth = std::nullopt; + QDateTime m_minPremiereDate; + QString m_minOfficialRating; + std::optional m_minHeight = std::nullopt; + QDateTime m_minDateLastSavedForUser; + QDateTime m_minDateLastSaved; + std::optional m_minCriticRating = std::nullopt; + std::optional m_minCommunityRating = std::nullopt; + QStringList m_mediaTypes; + std::optional m_maxWidth = std::nullopt; + QDateTime m_maxPremiereDate; + QString m_maxOfficialRating; + std::optional m_maxHeight = std::nullopt; + QList m_locationTypes; + std::optional m_limit = std::nullopt; + std::optional m_isUnaired = std::nullopt; + std::optional m_isPlayed = std::nullopt; + std::optional m_isPlaceHolder = std::nullopt; + std::optional m_isMissing = std::nullopt; + std::optional m_isLocked = std::nullopt; + std::optional m_isHd = std::nullopt; + std::optional m_isFavorite = std::nullopt; + std::optional m_is4K = std::nullopt; + std::optional m_is3D = std::nullopt; + QStringList m_includeItemTypes; + QList m_imageTypes; + std::optional m_imageTypeLimit = std::nullopt; + QStringList m_ids; + std::optional m_hasTvdbId = std::nullopt; + std::optional m_hasTrailer = std::nullopt; + std::optional m_hasTmdbId = std::nullopt; + std::optional m_hasThemeVideo = std::nullopt; + std::optional m_hasThemeSong = std::nullopt; + std::optional m_hasSubtitles = std::nullopt; + std::optional m_hasSpecialFeature = std::nullopt; + std::optional m_hasParentalRating = std::nullopt; + std::optional m_hasOverview = std::nullopt; + std::optional m_hasOfficialRating = std::nullopt; + std::optional m_hasImdbId = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_filters; + QList m_fields; + QList m_excludeLocationTypes; + QStringList m_excludeItemTypes; + QStringList m_excludeItemIds; + QStringList m_excludeArtistIds; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QStringList m_contributingArtistIds; + std::optional m_collapseBoxSetItems = std::nullopt; + QStringList m_artists; + QStringList m_artistIds; + QStringList m_albums; + QStringList m_albumIds; + QStringList m_albumArtistIds; + QString m_adjacentTo; + +}; + +class DeleteItemsParams { +public: + /** + * @brief The item ids. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QStringList m_ids; + +}; + +class GetItemsByUserIdParams { +public: + /** + * @brief The user id supplied as query parameter. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimeted. + */ + QList years() const; + void setYears(QList newYears) const; + + /** + * @brief Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimeted. + */ + QList videoTypes() const; + void setVideoTypes(QList newVideoTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimeted. + */ + QStringList tags() const; + void setTags(QStringList newTags) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimeted. + */ + QStringList studios() const; + void setStudios(QStringList newStudios) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimeted. + */ + QStringList studioIds() const; + void setStudioIds(QStringList newStudioIds) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional filter by Series Status. Allows multiple, comma delimeted. + */ + QList seriesStatus() const; + void setSeriesStatus(QList newSeriesStatus) const; + + /** + * @brief Optional. Filter based on a search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief When searching within folders, this determines whether or not the search will be recursive. true/false. + */ + std::optional recursive() const; + void setRecursive(std::optional newRecursive) const; + + /** + * @brief Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person id. + */ + QStringList personIds() const; + void setPersonIds(QStringList newPersonIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person. + */ + QString person() const; + void setPerson(QString newPerson) const; + + /** + * @brief Optional filter by parent index number. + */ + std::optional parentIndexNumber() const; + void setParentIndexNumber(std::optional newParentIndexNumber) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimeted. + */ + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. Filter by the minimum width of the item. + */ + std::optional minWidth() const; + void setMinWidth(std::optional newMinWidth) const; + + /** + * @brief Optional. The minimum premiere date. Format = ISO. + */ + QDateTime minPremiereDate() const; + void setMinPremiereDate(QDateTime newMinPremiereDate) const; + + /** + * @brief Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). + */ + QString minOfficialRating() const; + void setMinOfficialRating(QString newMinOfficialRating) const; + + /** + * @brief Optional. Filter by the minimum height of the item. + */ + std::optional minHeight() const; + void setMinHeight(std::optional newMinHeight) const; + + /** + * @brief Optional. The minimum last saved date for the current user. Format = ISO. + */ + QDateTime minDateLastSavedForUser() const; + void setMinDateLastSavedForUser(QDateTime newMinDateLastSavedForUser) const; + + /** + * @brief Optional. The minimum last saved date. Format = ISO. + */ + QDateTime minDateLastSaved() const; + void setMinDateLastSaved(QDateTime newMinDateLastSaved) const; + + /** + * @brief Optional filter by minimum critic rating. + */ + std::optional minCriticRating() const; + void setMinCriticRating(std::optional newMinCriticRating) const; + + /** + * @brief Optional filter by minimum community rating. + */ + std::optional minCommunityRating() const; + void setMinCommunityRating(std::optional newMinCommunityRating) const; + + /** + * @brief Optional filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. Filter by the maximum width of the item. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief Optional. The maximum premiere date. Format = ISO. + */ + QDateTime maxPremiereDate() const; + void setMaxPremiereDate(QDateTime newMaxPremiereDate) const; + + /** + * @brief Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). + */ + QString maxOfficialRating() const; + void setMaxOfficialRating(QString newMaxOfficialRating) const; + + /** + * @brief Optional. Filter by the maximum height of the item. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimeted. + */ + QList locationTypes() const; + void setLocationTypes(QList newLocationTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are unaired episodes or not. + */ + std::optional isUnaired() const; + void setIsUnaired(std::optional newIsUnaired) const; + + /** + * @brief Optional filter by items that are played, or not. + */ + std::optional isPlayed() const; + void setIsPlayed(std::optional newIsPlayed) const; + + /** + * @brief Optional filter by items that are placeholders. + */ + std::optional isPlaceHolder() const; + void setIsPlaceHolder(std::optional newIsPlaceHolder) const; + + /** + * @brief Optional filter by items that are missing episodes or not. + */ + std::optional isMissing() const; + void setIsMissing(std::optional newIsMissing) const; + + /** + * @brief Optional filter by items that are locked. + */ + std::optional isLocked() const; + void setIsLocked(std::optional newIsLocked) const; + + /** + * @brief Optional filter by items that are HD or not. + */ + std::optional isHd() const; + void setIsHd(std::optional newIsHd) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional filter by items that are 4K or not. + */ + std::optional is4K() const; + void setIs4K(std::optional newIs4K) const; + + /** + * @brief Optional filter by items that are 3D, or not. + */ + std::optional is3D() const; + void setIs3D(std::optional newIs3D) const; + + /** + * @brief Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimeted. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. + */ + QList imageTypes() const; + void setImageTypes(QList newImageTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + /** + * @brief Optional filter by items that have a tvdb id or not. + */ + std::optional hasTvdbId() const; + void setHasTvdbId(std::optional newHasTvdbId) const; + + /** + * @brief Optional filter by items with trailers. + */ + std::optional hasTrailer() const; + void setHasTrailer(std::optional newHasTrailer) const; + + /** + * @brief Optional filter by items that have a tmdb id or not. + */ + std::optional hasTmdbId() const; + void setHasTmdbId(std::optional newHasTmdbId) const; + + /** + * @brief Optional filter by items with theme videos. + */ + std::optional hasThemeVideo() const; + void setHasThemeVideo(std::optional newHasThemeVideo) const; + + /** + * @brief Optional filter by items with theme songs. + */ + std::optional hasThemeSong() const; + void setHasThemeSong(std::optional newHasThemeSong) const; + + /** + * @brief Optional filter by items with subtitles. + */ + std::optional hasSubtitles() const; + void setHasSubtitles(std::optional newHasSubtitles) const; + + /** + * @brief Optional filter by items with special features. + */ + std::optional hasSpecialFeature() const; + void setHasSpecialFeature(std::optional newHasSpecialFeature) const; + + /** + * @brief Optional filter by items that have or do not have a parental rating. + */ + std::optional hasParentalRating() const; + void setHasParentalRating(std::optional newHasParentalRating) const; + + /** + * @brief Optional filter by items that have an overview or not. + */ + std::optional hasOverview() const; + void setHasOverview(std::optional newHasOverview) const; + + /** + * @brief Optional filter by items that have official ratings. + */ + std::optional hasOfficialRating() const; + void setHasOfficialRating(std::optional newHasOfficialRating) const; + + /** + * @brief Optional filter by items that have an imdb id or not. + */ + std::optional hasImdbId() const; + void setHasImdbId(std::optional newHasImdbId) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimeted. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimeted. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimeted. + */ + QList excludeLocationTypes() const; + void setExcludeLocationTypes(QList newExcludeLocationTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimeted. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. If specified, results will be filtered by exxcluding item ids. This allows multiple, comma delimeted. + */ + QStringList excludeItemIds() const; + void setExcludeItemIds(QStringList newExcludeItemIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimeted. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Enable the total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. + */ + QStringList contributingArtistIds() const; + void setContributingArtistIds(QStringList newContributingArtistIds) const; + + /** + * @brief Whether or not to hide items behind their boxsets. + */ + std::optional collapseBoxSetItems() const; + void setCollapseBoxSetItems(std::optional newCollapseBoxSetItems) const; + + /** + * @brief Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimeted. + */ + QStringList artists() const; + void setArtists(QStringList newArtists) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified artist id. + */ + QStringList artistIds() const; + void setArtistIds(QStringList newArtistIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimeted. + */ + QStringList albums() const; + void setAlbums(QStringList newAlbums) const; + + /** + * @brief Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimeted. + */ + QStringList albumIds() const; + void setAlbumIds(QStringList newAlbumIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified album artist id. + */ + QStringList albumArtistIds() const; + void setAlbumArtistIds(QStringList newAlbumArtistIds) const; + + /** + * @brief Optional. Return items that are siblings of a supplied item. + */ + QString adjacentTo() const; + void setAdjacentTo(QString newAdjacentTo) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QList m_years; + QList m_videoTypes; + QStringList m_tags; + QStringList m_studios; + QStringList m_studioIds; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + QList m_seriesStatus; + QString m_searchTerm; + std::optional m_recursive = std::nullopt; + QStringList m_personTypes; + QStringList m_personIds; + QString m_person; + std::optional m_parentIndexNumber = std::nullopt; + QString m_parentId; + QStringList m_officialRatings; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_minWidth = std::nullopt; + QDateTime m_minPremiereDate; + QString m_minOfficialRating; + std::optional m_minHeight = std::nullopt; + QDateTime m_minDateLastSavedForUser; + QDateTime m_minDateLastSaved; + std::optional m_minCriticRating = std::nullopt; + std::optional m_minCommunityRating = std::nullopt; + QStringList m_mediaTypes; + std::optional m_maxWidth = std::nullopt; + QDateTime m_maxPremiereDate; + QString m_maxOfficialRating; + std::optional m_maxHeight = std::nullopt; + QList m_locationTypes; + std::optional m_limit = std::nullopt; + std::optional m_isUnaired = std::nullopt; + std::optional m_isPlayed = std::nullopt; + std::optional m_isPlaceHolder = std::nullopt; + std::optional m_isMissing = std::nullopt; + std::optional m_isLocked = std::nullopt; + std::optional m_isHd = std::nullopt; + std::optional m_isFavorite = std::nullopt; + std::optional m_is4K = std::nullopt; + std::optional m_is3D = std::nullopt; + QStringList m_includeItemTypes; + QList m_imageTypes; + std::optional m_imageTypeLimit = std::nullopt; + QStringList m_ids; + std::optional m_hasTvdbId = std::nullopt; + std::optional m_hasTrailer = std::nullopt; + std::optional m_hasTmdbId = std::nullopt; + std::optional m_hasThemeVideo = std::nullopt; + std::optional m_hasThemeSong = std::nullopt; + std::optional m_hasSubtitles = std::nullopt; + std::optional m_hasSpecialFeature = std::nullopt; + std::optional m_hasParentalRating = std::nullopt; + std::optional m_hasOverview = std::nullopt; + std::optional m_hasOfficialRating = std::nullopt; + std::optional m_hasImdbId = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_filters; + QList m_fields; + QList m_excludeLocationTypes; + QStringList m_excludeItemTypes; + QStringList m_excludeItemIds; + QStringList m_excludeArtistIds; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QStringList m_contributingArtistIds; + std::optional m_collapseBoxSetItems = std::nullopt; + QStringList m_artists; + QStringList m_artistIds; + QStringList m_albums; + QStringList m_albumIds; + QStringList m_albumArtistIds; + QString m_adjacentTo; + +}; + +class GetResumeItemsParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The start index. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief The search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. Filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief The item limit. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Enable the total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QString m_parentId; + QStringList m_mediaTypes; + std::optional m_limit = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + QStringList m_excludeItemTypes; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class UpdateItemParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteItemParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateItemContentTypeParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The content type of the item. + */ + QString contentType() const; + void setContentType(QString newContentType) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_contentType; + +}; + +class GetMetadataEditorInfoParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSimilarAlbumsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetSimilarArtistsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetAncestorsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetCriticReviewsParams { +public: + /** + * @brief + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDownloadParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetFileParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSimilarItemsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetThemeMediaParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Determines whether or not parent items should be searched for theme media. + */ + bool inheritFromParent() const; + void setInheritFromParent(bool newInheritFromParent) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + bool m_inheritFromParent; + +}; + +class GetThemeSongsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Determines whether or not parent items should be searched for theme media. + */ + bool inheritFromParent() const; + void setInheritFromParent(bool newInheritFromParent) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + bool m_inheritFromParent; + +}; + +class GetThemeVideosParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Determines whether or not parent items should be searched for theme media. + */ + bool inheritFromParent() const; + void setInheritFromParent(bool newInheritFromParent) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + bool m_inheritFromParent; + +}; + +class GetItemCountsParams { +public: + /** + * @brief Optional. Get counts from a specific user's library. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Get counts of favorite items. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_isFavorite = std::nullopt; + +}; + +class GetLibraryOptionsInfoParams { +public: + /** + * @brief Library content type. + */ + QString libraryContentType() const; + void setLibraryContentType(QString newLibraryContentType) const; + + /** + * @brief Whether this is a new library. + */ + bool isNewLibrary() const; + void setIsNewLibrary(bool newIsNewLibrary) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_libraryContentType; + bool m_isNewLibrary; + +}; + +class PostUpdatedMediaParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetMediaFoldersParams { +public: + /** + * @brief Optional. Filter by folders that are marked hidden, or not. + */ + std::optional isHidden() const; + void setIsHidden(std::optional newIsHidden) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_isHidden = std::nullopt; + +}; + +class PostAddedMoviesParams { +public: + /** + * @brief The tmdbId. + */ + QString tmdbId() const; + void setTmdbId(QString newTmdbId) const; + + /** + * @brief The imdbId. + */ + QString imdbId() const; + void setImdbId(QString newImdbId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_tmdbId; + QString m_imdbId; + +}; + +class PostUpdatedMoviesParams { +public: + /** + * @brief The tmdbId. + */ + QString tmdbId() const; + void setTmdbId(QString newTmdbId) const; + + /** + * @brief The imdbId. + */ + QString imdbId() const; + void setImdbId(QString newImdbId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_tmdbId; + QString m_imdbId; + +}; + +class GetPhysicalPathsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class RefreshLibraryParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class PostAddedSeriesParams { +public: + /** + * @brief The tvdbId. + */ + QString tvdbId() const; + void setTvdbId(QString newTvdbId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_tvdbId; + +}; + +class PostUpdatedSeriesParams { +public: + /** + * @brief The tvdbId. + */ + QString tvdbId() const; + void setTvdbId(QString newTvdbId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_tvdbId; + +}; + +class GetSimilarMoviesParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetSimilarShowsParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetSimilarTrailersParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Exclude artist ids. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + QList m_fields; + QStringList m_excludeArtistIds; + +}; + +class GetVirtualFoldersParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AddVirtualFolderParams { +public: + /** + * @brief Whether to refresh the library. + */ + bool refreshLibrary() const; + void setRefreshLibrary(bool newRefreshLibrary) const; + + /** + * @brief The paths of the virtual folder. + */ + QStringList paths() const; + void setPaths(QStringList newPaths) const; + + /** + * @brief The name of the virtual folder. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief The type of the collection. + */ + QString collectionType() const; + void setCollectionType(QString newCollectionType) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_refreshLibrary; + QStringList m_paths; + QString m_name; + QString m_collectionType; + +}; + +class RemoveVirtualFolderParams { +public: + /** + * @brief Whether to refresh the library. + */ + bool refreshLibrary() const; + void setRefreshLibrary(bool newRefreshLibrary) const; + + /** + * @brief The name of the folder. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_refreshLibrary; + QString m_name; + +}; + +class UpdateLibraryOptionsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class RenameVirtualFolderParams { +public: + /** + * @brief Whether to refresh the library. + */ + bool refreshLibrary() const; + void setRefreshLibrary(bool newRefreshLibrary) const; + + /** + * @brief The new name. + */ + QString newName() const; + void setNewName(QString newNewName) const; + + /** + * @brief The name of the virtual folder. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_refreshLibrary; + QString m_newName; + QString m_name; + +}; + +class AddMediaPathParams { +public: + /** + * @brief Whether to refresh the library. + */ + bool refreshLibrary() const; + void setRefreshLibrary(bool newRefreshLibrary) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_refreshLibrary; + +}; + +class RemoveMediaPathParams { +public: + /** + * @brief Whether to refresh the library. + */ + bool refreshLibrary() const; + void setRefreshLibrary(bool newRefreshLibrary) const; + + /** + * @brief The path to remove. + */ + QString path() const; + void setPath(QString newPath) const; + + /** + * @brief The name of the library. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_refreshLibrary; + QString m_path; + QString m_name; + +}; + +class UpdateMediaPathParams { +public: + /** + * @brief The name of the library. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_name; + +}; + +class GetChannelMappingOptionsParams { +public: + /** + * @brief Provider id. + */ + QString providerId() const; + void setProviderId(QString newProviderId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_providerId; + +}; + +class SetChannelMappingParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveTvChannelsParams { +public: + /** + * @brief Optional. Filter by user and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Filter by channel type. + */ + ChannelType type() const; + void setType(ChannelType newType) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Sort order. + */ + SortOrder sortOrder() const; + void setSortOrder(SortOrder newSortOrder) const; + + /** + * @brief Optional. Key to sort by. + */ + QStringList sortBy() const; + void setSortBy(QStringList newSortBy) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter for sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional. Filter for series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional. Filter for news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional. Filter for movies. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional. Filter by channels that are liked, or not. + */ + std::optional isLiked() const; + void setIsLiked(std::optional newIsLiked) const; + + /** + * @brief Optional. Filter for kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional. Filter by channels that are favorites, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. Filter by channels that are disliked, or not. + */ + std::optional isDisliked() const; + void setIsDisliked(std::optional newIsDisliked) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief "Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. Incorporate favorite and like status into channel sorting. + */ + bool enableFavoriteSorting() const; + void setEnableFavoriteSorting(bool newEnableFavoriteSorting) const; + + /** + * @brief Optional. Adds current program info to each channel. + */ + bool addCurrentProgram() const; + void setAddCurrentProgram(bool newAddCurrentProgram) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + ChannelType m_type; + std::optional m_startIndex = std::nullopt; + SortOrder m_sortOrder; + QStringList m_sortBy; + std::optional m_limit = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isLiked = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isFavorite = std::nullopt; + std::optional m_isDisliked = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + bool m_enableFavoriteSorting; + bool m_addCurrentProgram; + +}; + +class GetChannelParams { +public: + /** + * @brief Channel id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + /** + * @brief Optional. Attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_channelId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetGuideInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveTvInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AddListingProviderParams { +public: + /** + * @brief Validate login. + */ + bool validateLogin() const; + void setValidateLogin(bool newValidateLogin) const; + + /** + * @brief Validate listings. + */ + bool validateListings() const; + void setValidateListings(bool newValidateListings) const; + + /** + * @brief Password. + */ + QString pw() const; + void setPw(QString newPw) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_validateLogin; + bool m_validateListings; + QString m_pw; + +}; + +class DeleteListingProviderParams { +public: + /** + * @brief Listing provider id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_jellyfinId; + +}; + +class GetDefaultListingProviderParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLineupsParams { +public: + /** + * @brief Provider type. + */ + QString type() const; + void setType(QString newType) const; + + /** + * @brief Location. + */ + QString location() const; + void setLocation(QString newLocation) const; + + /** + * @brief Provider id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + /** + * @brief Country. + */ + QString country() const; + void setCountry(QString newCountry) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_type; + QString m_location; + QString m_jellyfinId; + QString m_country; + +}; + +class GetSchedulesDirectCountriesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveRecordingFileParams { +public: + /** + * @brief Recording id. + */ + QString recordingId() const; + void setRecordingId(QString newRecordingId) const; + + +private: + // Required path parameters + QString m_recordingId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveStreamFileParams { +public: + /** + * @brief Stream id. + */ + QString streamId() const; + void setStreamId(QString newStreamId) const; + + /** + * @brief Container type. + */ + QString container() const; + void setContainer(QString newContainer) const; + + +private: + // Required path parameters + QString m_streamId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveTvProgramsParams { +public: + /** + * @brief Optional. Filter by user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional. Filter by series timer id. + */ + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId) const; + + /** + * @brief Optional. The minimum premiere start date. + */ + QDateTime minStartDate() const; + void setMinStartDate(QDateTime newMinStartDate) const; + + /** + * @brief Optional. The minimum premiere end date. + */ + QDateTime minEndDate() const; + void setMinEndDate(QDateTime newMinEndDate) const; + + /** + * @brief Optional. The maximum premiere start date. + */ + QDateTime maxStartDate() const; + void setMaxStartDate(QDateTime newMaxStartDate) const; + + /** + * @brief Optional. The maximum premiere end date. + */ + QDateTime maxEndDate() const; + void setMaxEndDate(QDateTime newMaxEndDate) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter by library series id. + */ + QString librarySeriesId() const; + void setLibrarySeriesId(QString newLibrarySeriesId) const; + + /** + * @brief Optional. Filter for sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional. Filter for series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional. Filter for news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional. Filter for movies. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional. Filter for kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional. Filter by programs that are currently airing, or not. + */ + std::optional isAiring() const; + void setIsAiring(std::optional newIsAiring) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Filter by programs that have completed airing, or not. + */ + std::optional hasAired() const; + void setHasAired(std::optional newHasAired) const; + + /** + * @brief The genres to return guide information for. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief The genre ids to return guide information for. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Retrieve total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief The channels to return guide information for. + */ + QStringList channelIds() const; + void setChannelIds(QStringList newChannelIds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + QString m_seriesTimerId; + QDateTime m_minStartDate; + QDateTime m_minEndDate; + QDateTime m_maxStartDate; + QDateTime m_maxEndDate; + std::optional m_limit = std::nullopt; + QString m_librarySeriesId; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isAiring = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + std::optional m_hasAired = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QStringList m_channelIds; + +}; + +class GetProgramsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetProgramParams { +public: + /** + * @brief Program id. + */ + QString programId() const; + void setProgramId(QString newProgramId) const; + + /** + * @brief Optional. Attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_programId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetRecommendedProgramsParams { +public: + /** + * @brief Optional. filter by user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter for sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional. Filter for series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional. Filter for news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional. Filter for movies. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional. Filter for kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional. Filter by programs that are currently airing, or not. + */ + std::optional isAiring() const; + void setIsAiring(std::optional newIsAiring) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Filter by programs that have completed airing, or not. + */ + std::optional hasAired() const; + void setHasAired(std::optional newHasAired) const; + + /** + * @brief The genres to return guide information for. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Retrieve total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_limit = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isAiring = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + std::optional m_hasAired = std::nullopt; + QStringList m_genreIds; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetRecordingsParams { +public: + /** + * @brief Optional. Filter by user and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Filter by recording status. + */ + RecordingStatus status() const; + void setStatus(RecordingStatus newStatus) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Filter by recordings belonging to a series timer. + */ + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter for sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional. Filter for series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional. Filter for news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional. Filter for movies. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional. Filter for is library item. + */ + std::optional isLibraryItem() const; + void setIsLibraryItem(std::optional newIsLibraryItem) const; + + /** + * @brief Optional. Filter for kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional. Filter by recordings that are in progress, or not. + */ + std::optional isInProgress() const; + void setIsInProgress(std::optional newIsInProgress) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Return total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. Filter by channel id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + RecordingStatus m_status; + std::optional m_startIndex = std::nullopt; + QString m_seriesTimerId; + std::optional m_limit = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isLibraryItem = std::nullopt; + std::optional m_isKids = std::nullopt; + std::optional m_isInProgress = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QString m_channelId; + +}; + +class GetRecordingParams { +public: + /** + * @brief Recording id. + */ + QString recordingId() const; + void setRecordingId(QString newRecordingId) const; + + /** + * @brief Optional. Attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_recordingId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class DeleteRecordingParams { +public: + /** + * @brief Recording id. + */ + QString recordingId() const; + void setRecordingId(QString newRecordingId) const; + + +private: + // Required path parameters + QString m_recordingId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRecordingFoldersParams { +public: + /** + * @brief Optional. Filter by user and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetRecordingGroupsParams { +public: + /** + * @brief Optional. Filter by user and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetRecordingGroupParams { +public: + /** + * @brief Group id. + */ + QString groupId() const; + void setGroupId(QString newGroupId) const; + + +private: + // Required path parameters + QString m_groupId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRecordingsSeriesParams { +public: + /** + * @brief Optional. Filter by user and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Filter by recording status. + */ + RecordingStatus status() const; + void setStatus(RecordingStatus newStatus) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Filter by recordings belonging to a series timer. + */ + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter by recordings that are in progress, or not. + */ + std::optional isInProgress() const; + void setIsInProgress(std::optional newIsInProgress) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Filter by recording group. + */ + QString groupId() const; + void setGroupId(QString newGroupId) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Return total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. Filter by channel id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + RecordingStatus m_status; + std::optional m_startIndex = std::nullopt; + QString m_seriesTimerId; + std::optional m_limit = std::nullopt; + std::optional m_isInProgress = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QString m_groupId; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QString m_channelId; + +}; + +class GetSeriesTimersParams { +public: + /** + * @brief Optional. Sort in Ascending or Descending order. + */ + SortOrder sortOrder() const; + void setSortOrder(SortOrder newSortOrder) const; + + /** + * @brief Optional. Sort by SortName or Priority. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + SortOrder m_sortOrder; + QString m_sortBy; + +}; + +class CreateSeriesTimerParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSeriesTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CancelSeriesTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateSeriesTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetTimersParams { +public: + /** + * @brief Optional. Filter by timers belonging to a series timer. + */ + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId) const; + + /** + * @brief Optional. Filter by timers that are scheduled. + */ + std::optional isScheduled() const; + void setIsScheduled(std::optional newIsScheduled) const; + + /** + * @brief Optional. Filter by timers that are active. + */ + std::optional isActive() const; + void setIsActive(std::optional newIsActive) const; + + /** + * @brief Optional. Filter by channel id. + */ + QString channelId() const; + void setChannelId(QString newChannelId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_seriesTimerId; + std::optional m_isScheduled = std::nullopt; + std::optional m_isActive = std::nullopt; + QString m_channelId; + +}; + +class CreateTimerParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CancelTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateTimerParams { +public: + /** + * @brief Timer id. + */ + QString timerId() const; + void setTimerId(QString newTimerId) const; + + +private: + // Required path parameters + QString m_timerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetDefaultTimerParams { +public: + /** + * @brief Optional. To attach default values based on a program. + */ + QString programId() const; + void setProgramId(QString newProgramId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_programId; + +}; + +class AddTunerHostParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteTunerHostParams { +public: + /** + * @brief Tuner host id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_jellyfinId; + +}; + +class GetTunerHostTypesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ResetTunerParams { +public: + /** + * @brief Tuner id. + */ + QString tunerId() const; + void setTunerId(QString newTunerId) const; + + +private: + // Required path parameters + QString m_tunerId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DiscoverTunersParams { +public: + /** + * @brief Only discover new tuners. + */ + bool newDevicesOnly() const; + void setNewDevicesOnly(bool newNewDevicesOnly) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_newDevicesOnly; + +}; + +class DiscvoverTunersParams { +public: + /** + * @brief Only discover new tuners. + */ + bool newDevicesOnly() const; + void setNewDevicesOnly(bool newNewDevicesOnly) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_newDevicesOnly; + +}; + +class GetCountriesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetCulturesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLocalizationOptionsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetParentalRatingsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPlaybackInfoParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + QString m_userId; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPostedPlaybackInfoParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief The start time in ticks. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The media source id. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief The maximum number of audio channels. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief The livestream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Whether to enable transcoding. Default: true. + */ + std::optional enableTranscoding() const; + void setEnableTranscoding(std::optional newEnableTranscoding) const; + + /** + * @brief Whether to enable direct stream. Default: true. + */ + std::optional enableDirectStream() const; + void setEnableDirectStream(std::optional newEnableDirectStream) const; + + /** + * @brief Whether to enable direct play. Default: true. + */ + std::optional enableDirectPlay() const; + void setEnableDirectPlay(std::optional newEnableDirectPlay) const; + + /** + * @brief Whether to auto open the livestream. + */ + std::optional autoOpenLiveStream() const; + void setAutoOpenLiveStream(std::optional newAutoOpenLiveStream) const; + + /** + * @brief The audio stream index. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Whether to allow to copy the video stream. Default: true. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether to allow to copy the audio stream. Default: true. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_subtitleStreamIndex = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + QString m_liveStreamId; + std::optional m_enableTranscoding = std::nullopt; + std::optional m_enableDirectStream = std::nullopt; + std::optional m_enableDirectPlay = std::nullopt; + std::optional m_autoOpenLiveStream = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class CloseLiveStreamParams { +public: + /** + * @brief The livestream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_liveStreamId; + + // Optional path parameters + + // Optional query parameters + +}; + +class OpenLiveStreamParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief The start time in ticks. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The open token. + */ + QString openToken() const; + void setOpenToken(QString newOpenToken) const; + + /** + * @brief The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief The maximum number of audio channels. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Whether to enable direct stream. Default: true. + */ + std::optional enableDirectStream() const; + void setEnableDirectStream(std::optional newEnableDirectStream) const; + + /** + * @brief Whether to enable direct play. Default: true. + */ + std::optional enableDirectPlay() const; + void setEnableDirectPlay(std::optional newEnableDirectPlay) const; + + /** + * @brief The audio stream index. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_subtitleStreamIndex = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + QString m_playSessionId; + QString m_openToken; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + QString m_itemId; + std::optional m_enableDirectStream = std::nullopt; + std::optional m_enableDirectPlay = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + +}; + +class GetBitrateTestBytesParams { +public: + /** + * @brief The bitrate. Defaults to 102400. + */ + qint32 size() const; + void setSize(qint32 newSize) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + qint32 m_size; + +}; + +class GetMovieRecommendationsParams { +public: + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief The max number of items to return per category. + */ + qint32 itemLimit() const; + void setItemLimit(qint32 newItemLimit) const; + + /** + * @brief Optional. The fields to return. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief The max number of categories to return. + */ + qint32 categoryLimit() const; + void setCategoryLimit(qint32 newCategoryLimit) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_parentId; + qint32 m_itemLimit; + QList m_fields; + qint32 m_categoryLimit; + +}; + +class GetMusicGenresParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief The search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. Include total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QString m_parentId; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + QStringList m_excludeItemTypes; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetMusicGenreParams { +public: + /** + * @brief The genre name. + */ + QString genreName() const; + void setGenreName(QString newGenreName) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_genreName; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetNotificationsParams { +public: + /** + * @brief + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SetReadParams { +public: + /** + * @brief + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetNotificationsSummaryParams { +public: + /** + * @brief + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SetUnreadParams { +public: + /** + * @brief + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CreateAdminNotificationParams { +public: + /** + * @brief The URL of the notification. + */ + QString url() const; + void setUrl(QString newUrl) const; + + /** + * @brief The name of the notification. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief The level of the notification. + */ + NotificationLevel level() const; + void setLevel(NotificationLevel newLevel) const; + + /** + * @brief The description of the notification. + */ + QString description() const; + void setDescription(QString newDescription) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_url; + QString m_name; + NotificationLevel m_level; + QString m_description; + +}; + +class GetNotificationServicesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetNotificationTypesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPackagesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPackageInfoParams { +public: + /** + * @brief The name of the package. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief The GUID of the associated assembly. + */ + QString assemblyGuid() const; + void setAssemblyGuid(QString newAssemblyGuid) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_assemblyGuid; + +}; + +class InstallPackageParams { +public: + /** + * @brief Package name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Optional version. Defaults to latest version. + */ + QString version() const; + void setVersion(QString newVersion) const; + + /** + * @brief Optional. Specify the repository to install from. + */ + QString repositoryUrl() const; + void setRepositoryUrl(QString newRepositoryUrl) const; + + /** + * @brief GUID of the associated assembly. + */ + QString assemblyGuid() const; + void setAssemblyGuid(QString newAssemblyGuid) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_version; + QString m_repositoryUrl; + QString m_assemblyGuid; + +}; + +class CancelPackageInstallationParams { +public: + /** + * @brief Installation Id. + */ + QString packageId() const; + void setPackageId(QString newPackageId) const; + + +private: + // Required path parameters + QString m_packageId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRepositoriesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SetRepositoriesParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPersonsParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. userId is required. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional filters to apply. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited. + */ + QStringList excludePersonTypes() const; + void setExcludePersonTypes(QStringList newExcludePersonTypes) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. If specified, person results will be filtered on items related to said persons. + */ + QString appearsInItemId() const; + void setAppearsInItemId(QString newAppearsInItemId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_searchTerm; + QStringList m_personTypes; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_filters; + QList m_fields; + QStringList m_excludePersonTypes; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QString m_appearsInItemId; + +}; + +class GetPersonParams { +public: + /** + * @brief Person name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class CreatePlaylistParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The playlist name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief The media type. + */ + QString mediaType() const; + void setMediaType(QString newMediaType) const; + + /** + * @brief The item ids. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_name; + QString m_mediaType; + QStringList m_ids; + +}; + +class AddToPlaylistParams { +public: + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The userId. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + QString m_playlistId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QStringList m_ids; + +}; + +class RemoveFromPlaylistParams { +public: + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The item ids, comma delimited. + */ + QStringList entryIds() const; + void setEntryIds(QStringList newEntryIds) const; + + +private: + // Required path parameters + QString m_playlistId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QStringList m_entryIds; + +}; + +class GetPlaylistItemsParams { +public: + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_playlistId; + + // Required query parameters + QString m_userId; + + // Optional path parameters + + // Optional query parameters + std::optional m_startIndex = std::nullopt; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class MoveItemParams { +public: + /** + * @brief The playlist id. + */ + QString playlistId() const; + void setPlaylistId(QString newPlaylistId) const; + + /** + * @brief The new index. + */ + qint32 newIndex() const; + void setNewIndex(qint32 newNewIndex) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_playlistId; + qint32 m_newIndex; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ReportPlaybackStartParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class PingPlaybackSessionParams { +public: + /** + * @brief Playback session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_playSessionId; + +}; + +class ReportPlaybackProgressParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ReportPlaybackStoppedParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class MarkPlayedItemParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The date the item was played. + */ + QDateTime datePlayed() const; + void setDatePlayed(QDateTime newDatePlayed) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QDateTime m_datePlayed; + +}; + +class MarkUnplayedItemParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class OnPlaybackStartParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The play method. + */ + PlayMethod playMethod() const; + void setPlayMethod(PlayMethod newPlayMethod) const; + + /** + * @brief The id of the MediaSource. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Indicates if the client can seek. + */ + bool canSeek() const; + void setCanSeek(bool newCanSeek) const; + + /** + * @brief The audio stream index. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_subtitleStreamIndex = std::nullopt; + QString m_playSessionId; + PlayMethod m_playMethod; + QString m_mediaSourceId; + QString m_liveStreamId; + bool m_canSeek; + std::optional m_audioStreamIndex = std::nullopt; + +}; + +class OnPlaybackStoppedParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms. + */ + std::optional positionTicks() const; + void setPositionTicks(std::optional newPositionTicks) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The next media type that will play. + */ + QString nextMediaType() const; + void setNextMediaType(QString newNextMediaType) const; + + /** + * @brief The id of the MediaSource. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_positionTicks = std::nullopt; + QString m_playSessionId; + QString m_nextMediaType; + QString m_mediaSourceId; + QString m_liveStreamId; + +}; + +class OnPlaybackProgressParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Scale of 0-100. + */ + std::optional volumeLevel() const; + void setVolumeLevel(std::optional newVolumeLevel) const; + + /** + * @brief The subtitle stream index. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief The repeat mode. + */ + RepeatMode repeatMode() const; + void setRepeatMode(RepeatMode newRepeatMode) const; + + /** + * @brief Optional. The current position, in ticks. 1 tick = 10000 ms. + */ + std::optional positionTicks() const; + void setPositionTicks(std::optional newPositionTicks) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The play method. + */ + PlayMethod playMethod() const; + void setPlayMethod(PlayMethod newPlayMethod) const; + + /** + * @brief The id of the MediaSource. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Indicates if the player is paused. + */ + bool isPaused() const; + void setIsPaused(bool newIsPaused) const; + + /** + * @brief Indicates if the player is muted. + */ + bool isMuted() const; + void setIsMuted(bool newIsMuted) const; + + /** + * @brief The audio stream index. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_volumeLevel = std::nullopt; + std::optional m_subtitleStreamIndex = std::nullopt; + RepeatMode m_repeatMode; + std::optional m_positionTicks = std::nullopt; + QString m_playSessionId; + PlayMethod m_playMethod; + QString m_mediaSourceId; + QString m_liveStreamId; + bool m_isPaused; + bool m_isMuted; + std::optional m_audioStreamIndex = std::nullopt; + +}; + +class GetPluginsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UninstallPluginParams { +public: + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UninstallPluginByVersionParams { +public: + /** + * @brief Plugin version. + */ + QSharedPointer version() const; + void setVersion(QSharedPointer newVersion) const; + + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QSharedPointer m_version; + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DisablePluginParams { +public: + /** + * @brief Plugin version. + */ + QSharedPointer version() const; + void setVersion(QSharedPointer newVersion) const; + + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QSharedPointer m_version; + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class EnablePluginParams { +public: + /** + * @brief Plugin version. + */ + QSharedPointer version() const; + void setVersion(QSharedPointer newVersion) const; + + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QSharedPointer m_version; + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPluginImageParams { +public: + /** + * @brief Plugin version. + */ + QSharedPointer version() const; + void setVersion(QSharedPointer newVersion) const; + + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QSharedPointer m_version; + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPluginConfigurationParams { +public: + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdatePluginConfigurationParams { +public: + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPluginManifestParams { +public: + /** + * @brief Plugin id. + */ + QString pluginId() const; + void setPluginId(QString newPluginId) const; + + +private: + // Required path parameters + QString m_pluginId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdatePluginSecurityInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ActivateParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AuthorizeParams { +public: + /** + * @brief Quick connect code to authorize. + */ + QString code() const; + void setCode(QString newCode) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_code; + + // Optional path parameters + + // Optional query parameters + +}; + +class AvailableParams { +public: + /** + * @brief New MediaBrowser.Model.QuickConnect.QuickConnectState. + */ + QuickConnectState status() const; + void setStatus(QuickConnectState newStatus) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QuickConnectState m_status; + +}; + +class ConnectParams { +public: + /** + * @brief Secret previously returned from the Initiate endpoint. + */ + QString secret() const; + void setSecret(QString newSecret) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_secret; + + // Optional path parameters + + // Optional query parameters + +}; + +class DeauthorizeParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class InitiateParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetStatusParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRemoteImageParams { +public: + /** + * @brief The image url. + */ + QString imageUrl() const; + void setImageUrl(QString newImageUrl) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_imageUrl; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRemoteImagesParams { +public: + /** + * @brief Item Id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The image type. + */ + ImageType type() const; + void setType(ImageType newType) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. The image provider to use. + */ + QString providerName() const; + void setProviderName(QString newProviderName) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Include all languages. + */ + bool includeAllLanguages() const; + void setIncludeAllLanguages(bool newIncludeAllLanguages) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + ImageType m_type; + std::optional m_startIndex = std::nullopt; + QString m_providerName; + std::optional m_limit = std::nullopt; + bool m_includeAllLanguages; + +}; + +class DownloadRemoteImageParams { +public: + /** + * @brief Item Id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The image type. + */ + ImageType type() const; + void setType(ImageType newType) const; + + /** + * @brief The image url. + */ + QString imageUrl() const; + void setImageUrl(QString newImageUrl) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + ImageType m_type; + + // Optional path parameters + + // Optional query parameters + QString m_imageUrl; + +}; + +class GetRemoteImageProvidersParams { +public: + /** + * @brief Item Id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetTasksParams { +public: + /** + * @brief Optional filter tasks that are hidden, or not. + */ + std::optional isHidden() const; + void setIsHidden(std::optional newIsHidden) const; + + /** + * @brief Optional filter tasks that are enabled, or not. + */ + std::optional isEnabled() const; + void setIsEnabled(std::optional newIsEnabled) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_isHidden = std::nullopt; + std::optional m_isEnabled = std::nullopt; + +}; + +class GetTaskParams { +public: + /** + * @brief Task Id. + */ + QString taskId() const; + void setTaskId(QString newTaskId) const; + + +private: + // Required path parameters + QString m_taskId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateTaskParams { +public: + /** + * @brief Task Id. + */ + QString taskId() const; + void setTaskId(QString newTaskId) const; + + +private: + // Required path parameters + QString m_taskId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class StartTaskParams { +public: + /** + * @brief Task Id. + */ + QString taskId() const; + void setTaskId(QString newTaskId) const; + + +private: + // Required path parameters + QString m_taskId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class StopTaskParams { +public: + /** + * @brief Task Id. + */ + QString taskId() const; + void setTaskId(QString newTaskId) const; + + +private: + // Required path parameters + QString m_taskId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetParams { +public: + /** + * @brief The search term to filter on. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Optional. Supply a user id to search within a user's library or omit to search all. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief If specified, only children of the parent are returned. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief If specified, only results with the specified media types are returned. This allows multiple, comma delimeted. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter for sports. + */ + std::optional isSports() const; + void setIsSports(std::optional newIsSports) const; + + /** + * @brief Optional filter for series. + */ + std::optional isSeries() const; + void setIsSeries(std::optional newIsSeries) const; + + /** + * @brief Optional filter for news. + */ + std::optional isNews() const; + void setIsNews(std::optional newIsNews) const; + + /** + * @brief Optional filter for movies. + */ + std::optional isMovie() const; + void setIsMovie(std::optional newIsMovie) const; + + /** + * @brief Optional filter for kids. + */ + std::optional isKids() const; + void setIsKids(std::optional newIsKids) const; + + /** + * @brief Optional filter whether to include studios. + */ + bool includeStudios() const; + void setIncludeStudios(bool newIncludeStudios) const; + + /** + * @brief Optional filter whether to include people. + */ + bool includePeople() const; + void setIncludePeople(bool newIncludePeople) const; + + /** + * @brief Optional filter whether to include media. + */ + bool includeMedia() const; + void setIncludeMedia(bool newIncludeMedia) const; + + /** + * @brief If specified, only results with the specified item types are returned. This allows multiple, comma delimeted. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional filter whether to include genres. + */ + bool includeGenres() const; + void setIncludeGenres(bool newIncludeGenres) const; + + /** + * @brief Optional filter whether to include artists. + */ + bool includeArtists() const; + void setIncludeArtists(bool newIncludeArtists) const; + + /** + * @brief If specified, results with these item types are filtered out. This allows multiple, comma delimeted. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_searchTerm; + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_parentId; + QStringList m_mediaTypes; + std::optional m_limit = std::nullopt; + std::optional m_isSports = std::nullopt; + std::optional m_isSeries = std::nullopt; + std::optional m_isNews = std::nullopt; + std::optional m_isMovie = std::nullopt; + std::optional m_isKids = std::nullopt; + bool m_includeStudios; + bool m_includePeople; + bool m_includeMedia; + QStringList m_includeItemTypes; + bool m_includeGenres; + bool m_includeArtists; + QStringList m_excludeItemTypes; + +}; + +class GetPasswordResetProvidersParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetAuthProvidersParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSessionsParams { +public: + /** + * @brief Filter by device Id. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Filter by sessions that a given user is allowed to remote control. + */ + QString controllableByUserId() const; + void setControllableByUserId(QString newControllableByUserId) const; + + /** + * @brief Optional. Filter by sessions that were active in the last n seconds. + */ + std::optional activeWithinSeconds() const; + void setActiveWithinSeconds(std::optional newActiveWithinSeconds) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_deviceId; + QString m_controllableByUserId; + std::optional m_activeWithinSeconds = std::nullopt; + +}; + +class SendFullGeneralCommandParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + +private: + // Required path parameters + QString m_sessionId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SendGeneralCommandParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The command to send. + */ + GeneralCommandType command() const; + void setCommand(GeneralCommandType newCommand) const; + + +private: + // Required path parameters + QString m_sessionId; + GeneralCommandType m_command; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SendMessageCommandParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The message test. + */ + QString text() const; + void setText(QString newText) const; + + /** + * @brief The message timeout. If omitted the user will have to confirm viewing the message. + */ + std::optional timeoutMs() const; + void setTimeoutMs(std::optional newTimeoutMs) const; + + /** + * @brief The message header. + */ + QString header() const; + void setHeader(QString newHeader) const; + + +private: + // Required path parameters + QString m_sessionId; + + // Required query parameters + QString m_text; + + // Optional path parameters + + // Optional query parameters + std::optional m_timeoutMs = std::nullopt; + QString m_header; + +}; + +class PlayParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now. + */ + PlayCommand playCommand() const; + void setPlayCommand(PlayCommand newPlayCommand) const; + + /** + * @brief The ids of the items to play, comma delimited. + */ + QStringList itemIds() const; + void setItemIds(QStringList newItemIds) const; + + /** + * @brief The starting position of the first item. + */ + std::optional startPositionTicks() const; + void setStartPositionTicks(std::optional newStartPositionTicks) const; + + +private: + // Required path parameters + QString m_sessionId; + + // Required query parameters + PlayCommand m_playCommand; + QStringList m_itemIds; + + // Optional path parameters + + // Optional query parameters + std::optional m_startPositionTicks = std::nullopt; + +}; + +class SendPlaystateCommandParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The MediaBrowser.Model.Session.PlaystateCommand. + */ + PlaystateCommand command() const; + void setCommand(PlaystateCommand newCommand) const; + + /** + * @brief The optional position ticks. + */ + std::optional seekPositionTicks() const; + void setSeekPositionTicks(std::optional newSeekPositionTicks) const; + + /** + * @brief The optional controlling user id. + */ + QString controllingUserId() const; + void setControllingUserId(QString newControllingUserId) const; + + +private: + // Required path parameters + QString m_sessionId; + PlaystateCommand m_command; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_seekPositionTicks = std::nullopt; + QString m_controllingUserId; + +}; + +class SendSystemCommandParams { +public: + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The command to send. + */ + GeneralCommandType command() const; + void setCommand(GeneralCommandType newCommand) const; + + +private: + // Required path parameters + QString m_sessionId; + GeneralCommandType m_command; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AddUserToSessionParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_sessionId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class RemoveUserFromSessionParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_sessionId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DisplayContentParams { +public: + /** + * @brief The session Id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + /** + * @brief The type of item to browse to. + */ + QString itemType() const; + void setItemType(QString newItemType) const; + + /** + * @brief The name of the item. + */ + QString itemName() const; + void setItemName(QString newItemName) const; + + /** + * @brief The Id of the item. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_sessionId; + + // Required query parameters + QString m_itemType; + QString m_itemName; + QString m_itemId; + + // Optional path parameters + + // Optional query parameters + +}; + +class PostCapabilitiesParams { +public: + /** + * @brief Determines whether sync is supported. + */ + bool supportsSync() const; + void setSupportsSync(bool newSupportsSync) const; + + /** + * @brief Determines whether the device supports a unique identifier. + */ + bool supportsPersistentIdentifier() const; + void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier) const; + + /** + * @brief Determines whether media can be played remotely.. + */ + bool supportsMediaControl() const; + void setSupportsMediaControl(bool newSupportsMediaControl) const; + + /** + * @brief A list of supported remote control commands, comma delimited. + */ + QList supportedCommands() const; + void setSupportedCommands(QList newSupportedCommands) const; + + /** + * @brief A list of playable media types, comma delimited. Audio, Video, Book, Photo. + */ + QStringList playableMediaTypes() const; + void setPlayableMediaTypes(QStringList newPlayableMediaTypes) const; + + /** + * @brief The session id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + bool m_supportsSync; + bool m_supportsPersistentIdentifier; + bool m_supportsMediaControl; + QList m_supportedCommands; + QStringList m_playableMediaTypes; + QString m_jellyfinId; + +}; + +class PostFullCapabilitiesParams { +public: + /** + * @brief The session id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_jellyfinId; + +}; + +class ReportSessionEndedParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ReportViewingParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The session id. + */ + QString sessionId() const; + void setSessionId(QString newSessionId) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_itemId; + + // Optional path parameters + + // Optional query parameters + QString m_sessionId; + +}; + +class CompleteWizardParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetStartupConfigurationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateInitialConfigurationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetFirstUser_2Params { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SetRemoteAccessParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetFirstUserParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateStartupUserParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetStudiosParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_searchTerm; + QString m_parentId; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_limit = std::nullopt; + std::optional m_isFavorite = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + QStringList m_excludeItemTypes; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetStudioParams { +public: + /** + * @brief Studio name. + */ + QString name() const; + void setName(QString newName) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class GetFallbackFontListParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetFallbackFontParams { +public: + /** + * @brief The name of the fallback font file to get. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + QString m_name; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SearchRemoteSubtitlesParams { +public: + /** + * @brief The language of the subtitles. + */ + QString language() const; + void setLanguage(QString newLanguage) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Only show subtitles which are a perfect match. + */ + std::optional isPerfectMatch() const; + void setIsPerfectMatch(std::optional newIsPerfectMatch) const; + + +private: + // Required path parameters + QString m_language; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_isPerfectMatch = std::nullopt; + +}; + +class DownloadRemoteSubtitlesParams { +public: + /** + * @brief The subtitle id. + */ + QString subtitleId() const; + void setSubtitleId(QString newSubtitleId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_subtitleId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetRemoteSubtitlesParams { +public: + /** + * @brief The item id. + */ + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId) const; + + +private: + // Required path parameters + QString m_jellyfinId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSubtitleWithTicksParams { +public: + /** + * @brief Optional. The start position of the subtitle in ticks. + */ + qint64 startPositionTicks() const; + void setStartPositionTicks(qint64 newStartPositionTicks) const; + + /** + * @brief The media source id. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The subtitle stream index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + /** + * @brief The format of the returned subtitle. + */ + QString format() const; + void setFormat(QString newFormat) const; + + /** + * @brief Optional. The end position of the subtitle in ticks. + */ + std::optional endPositionTicks() const; + void setEndPositionTicks(std::optional newEndPositionTicks) const; + + /** + * @brief Optional. Whether to copy the timestamps. + */ + bool copyTimestamps() const; + void setCopyTimestamps(bool newCopyTimestamps) const; + + /** + * @brief Optional. Whether to add a VTT time map. + */ + bool addVttTimeMap() const; + void setAddVttTimeMap(bool newAddVttTimeMap) const; + + +private: + // Required path parameters + qint64 m_startPositionTicks; + QString m_mediaSourceId; + QString m_itemId; + qint32 m_index; + QString m_format; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_endPositionTicks = std::nullopt; + bool m_copyTimestamps; + bool m_addVttTimeMap; + +}; + +class GetSubtitleParams { +public: + /** + * @brief The media source id. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The subtitle stream index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + /** + * @brief The format of the returned subtitle. + */ + QString format() const; + void setFormat(QString newFormat) const; + + /** + * @brief Optional. The start position of the subtitle in ticks. + */ + qint64 startPositionTicks() const; + void setStartPositionTicks(qint64 newStartPositionTicks) const; + + /** + * @brief Optional. The end position of the subtitle in ticks. + */ + std::optional endPositionTicks() const; + void setEndPositionTicks(std::optional newEndPositionTicks) const; + + /** + * @brief Optional. Whether to copy the timestamps. + */ + bool copyTimestamps() const; + void setCopyTimestamps(bool newCopyTimestamps) const; + + /** + * @brief Optional. Whether to add a VTT time map. + */ + bool addVttTimeMap() const; + void setAddVttTimeMap(bool newAddVttTimeMap) const; + + +private: + // Required path parameters + QString m_mediaSourceId; + QString m_itemId; + qint32 m_index; + QString m_format; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + qint64 m_startPositionTicks; + std::optional m_endPositionTicks = std::nullopt; + bool m_copyTimestamps; + bool m_addVttTimeMap; + +}; + +class GetSubtitlePlaylistParams { +public: + /** + * @brief The media source id. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The subtitle stream index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + /** + * @brief The subtitle segment length. + */ + qint32 segmentLength() const; + void setSegmentLength(qint32 newSegmentLength) const; + + +private: + // Required path parameters + QString m_mediaSourceId; + QString m_itemId; + qint32 m_index; + + // Required query parameters + qint32 m_segmentLength; + + // Optional path parameters + + // Optional query parameters + +}; + +class UploadSubtitleParams { +public: + /** + * @brief The item the subtitle belongs to. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteSubtitleParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The index of the subtitle file. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + +private: + // Required path parameters + QString m_itemId; + qint32 m_index; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSuggestionsParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The type. + */ + QStringList type() const; + void setType(QStringList newType) const; + + /** + * @brief Optional. The start index. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief The media types. + */ + QStringList mediaType() const; + void setMediaType(QStringList newMediaType) const; + + /** + * @brief Optional. The limit. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Whether to enable the total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QStringList m_type; + std::optional m_startIndex = std::nullopt; + QStringList m_mediaType; + std::optional m_limit = std::nullopt; + bool m_enableTotalRecordCount; + +}; + +class SyncPlayBufferingParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayJoinGroupParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayLeaveGroupParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayGetGroupsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayMovePlaylistItemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayCreateGroupParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayNextItemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayPauseParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayPingParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayPreviousItemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayQueueParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayReadyParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayRemoveFromPlaylistParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySeekParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySetIgnoreWaitParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySetNewQueueParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySetPlaylistItemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySetRepeatModeParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlaySetShuffleModeParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayStopParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class SyncPlayUnpauseParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetEndpointInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetSystemInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPublicSystemInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetServerLogsParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLogFileParams { +public: + /** + * @brief The name of the log file to get. + */ + QString name() const; + void setName(QString newName) const; + + +private: + // Required path parameters + + // Required query parameters + QString m_name; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPingSystemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class PostPingSystemParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class RestartApplicationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ShutdownApplicationParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetWakeOnLanInfoParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetUtcTimeParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetTrailersParams { +public: + /** + * @brief Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. + */ + QList years() const; + void setYears(QList newYears) const; + + /** + * @brief Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. + */ + QList videoTypes() const; + void setVideoTypes(QList newVideoTypes) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. + */ + QStringList tags() const; + void setTags(QStringList newTags) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. + */ + QStringList studios() const; + void setStudios(QStringList newStudios) const; + + /** + * @brief Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. + */ + QStringList studioIds() const; + void setStudioIds(QStringList newStudioIds) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional filter by Series Status. Allows multiple, comma delimited. + */ + QList seriesStatus() const; + void setSeriesStatus(QList newSeriesStatus) const; + + /** + * @brief Optional. Filter based on a search term. + */ + QString searchTerm() const; + void setSearchTerm(QString newSearchTerm) const; + + /** + * @brief When searching within folders, this determines whether or not the search will be recursive. true/false. + */ + std::optional recursive() const; + void setRecursive(std::optional newRecursive) const; + + /** + * @brief Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. + */ + QStringList personTypes() const; + void setPersonTypes(QStringList newPersonTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person id. + */ + QStringList personIds() const; + void setPersonIds(QStringList newPersonIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified person. + */ + QString person() const; + void setPerson(QString newPerson) const; + + /** + * @brief Optional filter by parent index number. + */ + std::optional parentIndexNumber() const; + void setParentIndexNumber(std::optional newParentIndexNumber) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. + */ + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings) const; + + /** + * @brief Optional filter by items whose name is sorted equally or greater than a given input string. + */ + QString nameStartsWithOrGreater() const; + void setNameStartsWithOrGreater(QString newNameStartsWithOrGreater) const; + + /** + * @brief Optional filter by items whose name is sorted equally than a given input string. + */ + QString nameStartsWith() const; + void setNameStartsWith(QString newNameStartsWith) const; + + /** + * @brief Optional filter by items whose name is equally or lesser than a given input string. + */ + QString nameLessThan() const; + void setNameLessThan(QString newNameLessThan) const; + + /** + * @brief Optional. Filter by the minimum width of the item. + */ + std::optional minWidth() const; + void setMinWidth(std::optional newMinWidth) const; + + /** + * @brief Optional. The minimum premiere date. Format = ISO. + */ + QDateTime minPremiereDate() const; + void setMinPremiereDate(QDateTime newMinPremiereDate) const; + + /** + * @brief Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). + */ + QString minOfficialRating() const; + void setMinOfficialRating(QString newMinOfficialRating) const; + + /** + * @brief Optional. Filter by the minimum height of the item. + */ + std::optional minHeight() const; + void setMinHeight(std::optional newMinHeight) const; + + /** + * @brief Optional. The minimum last saved date for the current user. Format = ISO. + */ + QDateTime minDateLastSavedForUser() const; + void setMinDateLastSavedForUser(QDateTime newMinDateLastSavedForUser) const; + + /** + * @brief Optional. The minimum last saved date. Format = ISO. + */ + QDateTime minDateLastSaved() const; + void setMinDateLastSaved(QDateTime newMinDateLastSaved) const; + + /** + * @brief Optional filter by minimum critic rating. + */ + std::optional minCriticRating() const; + void setMinCriticRating(std::optional newMinCriticRating) const; + + /** + * @brief Optional filter by minimum community rating. + */ + std::optional minCommunityRating() const; + void setMinCommunityRating(std::optional newMinCommunityRating) const; + + /** + * @brief Optional filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. Filter by the maximum width of the item. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief Optional. The maximum premiere date. Format = ISO. + */ + QDateTime maxPremiereDate() const; + void setMaxPremiereDate(QDateTime newMaxPremiereDate) const; + + /** + * @brief Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). + */ + QString maxOfficialRating() const; + void setMaxOfficialRating(QString newMaxOfficialRating) const; + + /** + * @brief Optional. Filter by the maximum height of the item. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. + */ + QList locationTypes() const; + void setLocationTypes(QList newLocationTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional filter by items that are unaired episodes or not. + */ + std::optional isUnaired() const; + void setIsUnaired(std::optional newIsUnaired) const; + + /** + * @brief Optional filter by items that are played, or not. + */ + std::optional isPlayed() const; + void setIsPlayed(std::optional newIsPlayed) const; + + /** + * @brief Optional filter by items that are placeholders. + */ + std::optional isPlaceHolder() const; + void setIsPlaceHolder(std::optional newIsPlaceHolder) const; + + /** + * @brief Optional filter by items that are missing episodes or not. + */ + std::optional isMissing() const; + void setIsMissing(std::optional newIsMissing) const; + + /** + * @brief Optional filter by items that are locked. + */ + std::optional isLocked() const; + void setIsLocked(std::optional newIsLocked) const; + + /** + * @brief Optional filter by items that are HD or not. + */ + std::optional isHd() const; + void setIsHd(std::optional newIsHd) const; + + /** + * @brief Optional filter by items that are marked as favorite, or not. + */ + std::optional isFavorite() const; + void setIsFavorite(std::optional newIsFavorite) const; + + /** + * @brief Optional filter by items that are 4K or not. + */ + std::optional is4K() const; + void setIs4K(std::optional newIs4K) const; + + /** + * @brief Optional filter by items that are 3D, or not. + */ + std::optional is3D() const; + void setIs3D(std::optional newIs3D) const; + + /** + * @brief Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. + */ + QList imageTypes() const; + void setImageTypes(QList newImageTypes) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. If specific items are needed, specify a list of item id's to retrieve. This allows multiple, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + /** + * @brief Optional filter by items that have a tvdb id or not. + */ + std::optional hasTvdbId() const; + void setHasTvdbId(std::optional newHasTvdbId) const; + + /** + * @brief Optional filter by items with trailers. + */ + std::optional hasTrailer() const; + void setHasTrailer(std::optional newHasTrailer) const; + + /** + * @brief Optional filter by items that have a tmdb id or not. + */ + std::optional hasTmdbId() const; + void setHasTmdbId(std::optional newHasTmdbId) const; + + /** + * @brief Optional filter by items with theme videos. + */ + std::optional hasThemeVideo() const; + void setHasThemeVideo(std::optional newHasThemeVideo) const; + + /** + * @brief Optional filter by items with theme songs. + */ + std::optional hasThemeSong() const; + void setHasThemeSong(std::optional newHasThemeSong) const; + + /** + * @brief Optional filter by items with subtitles. + */ + std::optional hasSubtitles() const; + void setHasSubtitles(std::optional newHasSubtitles) const; + + /** + * @brief Optional filter by items with special features. + */ + std::optional hasSpecialFeature() const; + void setHasSpecialFeature(std::optional newHasSpecialFeature) const; + + /** + * @brief Optional filter by items that have or do not have a parental rating. + */ + std::optional hasParentalRating() const; + void setHasParentalRating(std::optional newHasParentalRating) const; + + /** + * @brief Optional filter by items that have an overview or not. + */ + std::optional hasOverview() const; + void setHasOverview(std::optional newHasOverview) const; + + /** + * @brief Optional filter by items that have official ratings. + */ + std::optional hasOfficialRating() const; + void setHasOfficialRating(std::optional newHasOfficialRating) const; + + /** + * @brief Optional filter by items that have an imdb id or not. + */ + std::optional hasImdbId() const; + void setHasImdbId(std::optional newHasImdbId) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. + */ + QStringList genres() const; + void setGenres(QStringList newGenres) const; + + /** + * @brief Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. + */ + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds) const; + + /** + * @brief Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. + */ + QList filters() const; + void setFilters(QList newFilters) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. + */ + QList excludeLocationTypes() const; + void setExcludeLocationTypes(QList newExcludeLocationTypes) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. + */ + QStringList excludeItemIds() const; + void setExcludeItemIds(QStringList newExcludeItemIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. + */ + QStringList excludeArtistIds() const; + void setExcludeArtistIds(QStringList newExcludeArtistIds) const; + + /** + * @brief Optional, include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Enable the total record count. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. + */ + QStringList contributingArtistIds() const; + void setContributingArtistIds(QStringList newContributingArtistIds) const; + + /** + * @brief Whether or not to hide items behind their boxsets. + */ + std::optional collapseBoxSetItems() const; + void setCollapseBoxSetItems(std::optional newCollapseBoxSetItems) const; + + /** + * @brief Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. + */ + QStringList artists() const; + void setArtists(QStringList newArtists) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified artist id. + */ + QStringList artistIds() const; + void setArtistIds(QStringList newArtistIds) const; + + /** + * @brief Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. + */ + QStringList albums() const; + void setAlbums(QStringList newAlbums) const; + + /** + * @brief Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. + */ + QStringList albumIds() const; + void setAlbumIds(QStringList newAlbumIds) const; + + /** + * @brief Optional. If specified, results will be filtered to include only those containing the specified album artist id. + */ + QStringList albumArtistIds() const; + void setAlbumArtistIds(QStringList newAlbumArtistIds) const; + + /** + * @brief Optional. Return items that are siblings of a supplied item. + */ + QString adjacentTo() const; + void setAdjacentTo(QString newAdjacentTo) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QList m_years; + QList m_videoTypes; + QString m_userId; + QStringList m_tags; + QStringList m_studios; + QStringList m_studioIds; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + QList m_seriesStatus; + QString m_searchTerm; + std::optional m_recursive = std::nullopt; + QStringList m_personTypes; + QStringList m_personIds; + QString m_person; + std::optional m_parentIndexNumber = std::nullopt; + QString m_parentId; + QStringList m_officialRatings; + QString m_nameStartsWithOrGreater; + QString m_nameStartsWith; + QString m_nameLessThan; + std::optional m_minWidth = std::nullopt; + QDateTime m_minPremiereDate; + QString m_minOfficialRating; + std::optional m_minHeight = std::nullopt; + QDateTime m_minDateLastSavedForUser; + QDateTime m_minDateLastSaved; + std::optional m_minCriticRating = std::nullopt; + std::optional m_minCommunityRating = std::nullopt; + QStringList m_mediaTypes; + std::optional m_maxWidth = std::nullopt; + QDateTime m_maxPremiereDate; + QString m_maxOfficialRating; + std::optional m_maxHeight = std::nullopt; + QList m_locationTypes; + std::optional m_limit = std::nullopt; + std::optional m_isUnaired = std::nullopt; + std::optional m_isPlayed = std::nullopt; + std::optional m_isPlaceHolder = std::nullopt; + std::optional m_isMissing = std::nullopt; + std::optional m_isLocked = std::nullopt; + std::optional m_isHd = std::nullopt; + std::optional m_isFavorite = std::nullopt; + std::optional m_is4K = std::nullopt; + std::optional m_is3D = std::nullopt; + QList m_imageTypes; + std::optional m_imageTypeLimit = std::nullopt; + QStringList m_ids; + std::optional m_hasTvdbId = std::nullopt; + std::optional m_hasTrailer = std::nullopt; + std::optional m_hasTmdbId = std::nullopt; + std::optional m_hasThemeVideo = std::nullopt; + std::optional m_hasThemeSong = std::nullopt; + std::optional m_hasSubtitles = std::nullopt; + std::optional m_hasSpecialFeature = std::nullopt; + std::optional m_hasParentalRating = std::nullopt; + std::optional m_hasOverview = std::nullopt; + std::optional m_hasOfficialRating = std::nullopt; + std::optional m_hasImdbId = std::nullopt; + QStringList m_genres; + QStringList m_genreIds; + QList m_filters; + QList m_fields; + QList m_excludeLocationTypes; + QStringList m_excludeItemTypes; + QStringList m_excludeItemIds; + QStringList m_excludeArtistIds; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QStringList m_contributingArtistIds; + std::optional m_collapseBoxSetItems = std::nullopt; + QStringList m_artists; + QStringList m_artistIds; + QStringList m_albums; + QStringList m_albumIds; + QStringList m_albumArtistIds; + QString m_adjacentTo; + +}; + +class GetEpisodesParams { +public: + /** + * @brief The series id. + */ + QString seriesId() const; + void setSeriesId(QString newSeriesId) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Skip through the list until a given item is found. + */ + QString startItemId() const; + void setStartItemId(QString newStartItemId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Optional. Filter by season id. + */ + QString seasonId() const; + void setSeasonId(QString newSeasonId) const; + + /** + * @brief Optional filter by season number. + */ + std::optional season() const; + void setSeason(std::optional newSeason) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. Filter by items that are missing episodes or not. + */ + std::optional isMissing() const; + void setIsMissing(std::optional newIsMissing) const; + + /** + * @brief Optional, the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional, include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. Return items that are siblings of a supplied item. + */ + QString adjacentTo() const; + void setAdjacentTo(QString newAdjacentTo) const; + + +private: + // Required path parameters + QString m_seriesId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_startItemId; + std::optional m_startIndex = std::nullopt; + QString m_sortBy; + QString m_seasonId; + std::optional m_season = std::nullopt; + std::optional m_limit = std::nullopt; + std::optional m_isMissing = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QString m_adjacentTo; + +}; + +class GetSeasonsParams { +public: + /** + * @brief The series id. + */ + QString seriesId() const; + void setSeriesId(QString newSeriesId) const; + + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. Filter by special season. + */ + std::optional isSpecialSeason() const; + void setIsSpecialSeason(std::optional newIsSpecialSeason) const; + + /** + * @brief Optional. Filter by items that are missing episodes or not. + */ + std::optional isMissing() const; + void setIsMissing(std::optional newIsMissing) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Optional. Return items that are siblings of a supplied item. + */ + QString adjacentTo() const; + void setAdjacentTo(QString newAdjacentTo) const; + + +private: + // Required path parameters + QString m_seriesId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_isSpecialSeason = std::nullopt; + std::optional m_isMissing = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + QString m_adjacentTo; + +}; + +class GetNextUpParams { +public: + /** + * @brief The user id of the user to get the next up episodes for. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Filter by series id. + */ + QString seriesId() const; + void setSeriesId(QString newSeriesId) const; + + /** + * @brief Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Whether to enable the total records count. Defaults to true. + */ + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImges() const; + void setEnableImges(std::optional newEnableImges) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + /** + * @brief Whether to disable sending the first episode in a series as next up. + */ + bool disableFirstEpisode() const; + void setDisableFirstEpisode(bool newDisableFirstEpisode) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_seriesId; + QString m_parentId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + bool m_enableTotalRecordCount; + std::optional m_enableImges = std::nullopt; + QList m_enableImageTypes; + bool m_disableFirstEpisode; + +}; + +class GetUpcomingEpisodesParams { +public: + /** + * @brief The user id of the user to get the upcoming episodes for. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The record index to start at. All items with a lower index will be dropped from the results. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImges() const; + void setEnableImges(std::optional newEnableImges) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_parentId; + std::optional m_limit = std::nullopt; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImges = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetUniversalAudioStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The transcoding protocol. + */ + QString transcodingProtocol() const; + void setTranscodingProtocol(QString newTranscodingProtocol) const; + + /** + * @brief Optional. The container to transcode to. + */ + QString transcodingContainer() const; + void setTranscodingContainer(QString newTranscodingContainer) const; + + /** + * @brief Optional. The number of how many audio channels to transcode to. + */ + std::optional transcodingAudioChannels() const; + void setTranscodingAudioChannels(std::optional newTranscodingAudioChannels) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. The maximum audio sample rate. + */ + std::optional maxAudioSampleRate() const; + void setMaxAudioSampleRate(std::optional newMaxAudioSampleRate) const; + + /** + * @brief Optional. The maximum number of audio channels. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief Optional. Whether to enable remote media. + */ + std::optional enableRemoteMedia() const; + void setEnableRemoteMedia(std::optional newEnableRemoteMedia) const; + + /** + * @brief Whether to enable redirection. Defaults to true. + */ + bool enableRedirection() const; + void setEnableRedirection(bool newEnableRedirection) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. The audio container. + */ + QStringList container() const; + void setContainer(QStringList newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + bool breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The audio codec to transcode to. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_transcodingProtocol; + QString m_transcodingContainer; + std::optional m_transcodingAudioChannels = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxAudioSampleRate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + std::optional m_enableRemoteMedia = std::nullopt; + bool m_enableRedirection; + QString m_deviceId; + QStringList m_container; + bool m_breakOnNonKeyFrames; + QString m_audioCodec; + std::optional m_audioBitRate = std::nullopt; + +}; + +class HeadUniversalAudioStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Optional. The transcoding protocol. + */ + QString transcodingProtocol() const; + void setTranscodingProtocol(QString newTranscodingProtocol) const; + + /** + * @brief Optional. The container to transcode to. + */ + QString transcodingContainer() const; + void setTranscodingContainer(QString newTranscodingContainer) const; + + /** + * @brief Optional. The number of how many audio channels to transcode to. + */ + std::optional transcodingAudioChannels() const; + void setTranscodingAudioChannels(std::optional newTranscodingAudioChannels) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum streaming bitrate. + */ + std::optional maxStreamingBitrate() const; + void setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) const; + + /** + * @brief Optional. The maximum audio sample rate. + */ + std::optional maxAudioSampleRate() const; + void setMaxAudioSampleRate(std::optional newMaxAudioSampleRate) const; + + /** + * @brief Optional. The maximum number of audio channels. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief Optional. Whether to enable remote media. + */ + std::optional enableRemoteMedia() const; + void setEnableRemoteMedia(std::optional newEnableRemoteMedia) const; + + /** + * @brief Whether to enable redirection. Defaults to true. + */ + bool enableRedirection() const; + void setEnableRedirection(bool newEnableRedirection) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. The audio container. + */ + QStringList container() const; + void setContainer(QStringList newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + bool breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The audio codec to transcode to. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + QString m_transcodingProtocol; + QString m_transcodingContainer; + std::optional m_transcodingAudioChannels = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxStreamingBitrate = std::nullopt; + std::optional m_maxAudioSampleRate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + std::optional m_enableRemoteMedia = std::nullopt; + bool m_enableRedirection; + QString m_deviceId; + QStringList m_container; + bool m_breakOnNonKeyFrames; + QString m_audioCodec; + std::optional m_audioBitRate = std::nullopt; + +}; + +class GetUsersParams { +public: + /** + * @brief Optional filter by IsHidden=true or false. + */ + std::optional isHidden() const; + void setIsHidden(std::optional newIsHidden) const; + + /** + * @brief Optional filter by IsDisabled=true or false. + */ + std::optional isDisabled() const; + void setIsDisabled(std::optional newIsDisabled) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_isHidden = std::nullopt; + std::optional m_isDisabled = std::nullopt; + +}; + +class GetUserByIdParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteUserParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateUserParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AuthenticateUserParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief The password as plain text. + */ + QString pw() const; + void setPw(QString newPw) const; + + /** + * @brief The password sha1-hash. + */ + QString password() const; + void setPassword(QString newPassword) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + QString m_pw; + + // Optional path parameters + + // Optional query parameters + QString m_password; + +}; + +class UpdateUserConfigurationParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateUserEasyPasswordParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateUserPasswordParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateUserPolicyParams { +public: + /** + * @brief The user id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AuthenticateUserByNameParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class AuthenticateWithQuickConnectParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ForgotPasswordParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class ForgotPasswordPinParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetCurrentUserParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class CreateUserByNameParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetPublicUsersParams { +public: + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class MarkFavoriteItemParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UnmarkFavoriteItemParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetItemParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetIntrosParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLocalTrailersParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class DeleteUserItemRatingParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class UpdateUserItemRatingParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Guid,System.Guid,System.Nullable{System.Boolean}) is likes. + */ + std::optional likes() const; + void setLikes(std::optional newLikes) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_likes = std::nullopt; + +}; + +class GetSpecialFeaturesParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_userId; + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLatestMediaParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Return item limit. + */ + qint32 limit() const; + void setLimit(qint32 newLimit) const; + + /** + * @brief Filter by items that are played, or not. + */ + std::optional isPlayed() const; + void setIsPlayed(std::optional newIsPlayed) const; + + /** + * @brief Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional. the max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Whether or not to group items into a parent container. + */ + bool groupItems() const; + void setGroupItems(bool newGroupItems) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_parentId; + qint32 m_limit; + std::optional m_isPlayed = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + bool m_groupItems; + QList m_fields; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetRootFolderParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetGroupingOptionsParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetUserViewsParams { +public: + /** + * @brief User id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Preset views. + */ + QStringList presetViews() const; + void setPresetViews(QStringList newPresetViews) const; + + /** + * @brief Whether or not to include hidden content. + */ + bool includeHidden() const; + void setIncludeHidden(bool newIncludeHidden) const; + + /** + * @brief Whether or not to include external views such as channels or live tv. + */ + std::optional includeExternalContent() const; + void setIncludeExternalContent(std::optional newIncludeExternalContent) const; + + +private: + // Required path parameters + QString m_userId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QStringList m_presetViews; + bool m_includeHidden; + std::optional m_includeExternalContent = std::nullopt; + +}; + +class GetAttachmentParams { +public: + /** + * @brief Video ID. + */ + QString videoId() const; + void setVideoId(QString newVideoId) const; + + /** + * @brief Media Source ID. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Attachment Index. + */ + qint32 index() const; + void setIndex(qint32 newIndex) const; + + +private: + // Required path parameters + QString m_videoId; + QString m_mediaSourceId; + qint32 m_index; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetLiveHlsStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The max width. + */ + std::optional maxWidth() const; + void setMaxWidth(std::optional newMaxWidth) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. The max height. + */ + std::optional maxHeight() const; + void setMaxHeight(std::optional newMaxHeight) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable subtitles in the manifest. + */ + std::optional enableSubtitlesInManifest() const; + void setEnableSubtitlesInManifest(std::optional newEnableSubtitlesInManifest) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief The audio container. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxWidth = std::nullopt; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxHeight = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableSubtitlesInManifest = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + QString m_container; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetVideoStreamByContainerParams { +public: + /** + * @brief + */ + QString stream() const; + void setStream(QString newStream) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamporphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_stream; + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadVideoStreamByContainerParams { +public: + /** + * @brief + */ + QString stream() const; + void setStream(QString newStream) const; + + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment lenght. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamporphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_stream; + QString m_itemId; + QString m_container; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class GetAdditionalPartParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + +class DeleteAlternateSourcesParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + +}; + +class GetVideoStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + QString m_container; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class HeadVideoStreamParams { +public: + /** + * @brief The item id. + */ + QString itemId() const; + void setItemId(QString newItemId) const; + + /** + * @brief Optional. The fixed horizontal resolution of the encoded video. + */ + std::optional width() const; + void setWidth(std::optional newWidth) const; + + /** + * @brief Optional. The index of the video stream to use. If omitted the first video stream will be used. + */ + std::optional videoStreamIndex() const; + void setVideoStreamIndex(std::optional newVideoStreamIndex) const; + + /** + * @brief Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url's extension. Options: h265, h264, mpeg4, theora, vpx, wmv. + */ + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec) const; + + /** + * @brief Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. + */ + std::optional videoBitRate() const; + void setVideoBitRate(std::optional newVideoBitRate) const; + + /** + * @brief Optional. The maximum number of audio channels to transcode. + */ + std::optional transcodingMaxAudioChannels() const; + void setTranscodingMaxAudioChannels(std::optional newTranscodingMaxAudioChannels) const; + + /** + * @brief Optional. The transcoding reason. + */ + QString transcodeReasons() const; + void setTranscodeReasons(QString newTranscodeReasons) const; + + /** + * @brief The tag. + */ + QString tag() const; + void setTag(QString newTag) const; + + /** + * @brief Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. + */ + std::optional subtitleStreamIndex() const; + void setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) const; + + /** + * @brief Optional. Specify the subtitle delivery method. + */ + SubtitleDeliveryMethod subtitleMethod() const; + void setSubtitleMethod(SubtitleDeliveryMethod newSubtitleMethod) const; + + /** + * @brief Optional. Specify a subtitle codec to encode to. + */ + QString subtitleCodec() const; + void setSubtitleCodec(QString newSubtitleCodec) const; + + /** + * @brief Optional. The streaming options. + */ + std::optional streamOptions() const; + void setStreamOptions(std::optional newStreamOptions) const; + + /** + * @brief Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. + */ + std::optional staticStreaming() const; + void setStaticStreaming(std::optional newStaticStreaming) const; + + /** + * @brief Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. + */ + std::optional startTimeTicks() const; + void setStartTimeTicks(std::optional newStartTimeTicks) const; + + /** + * @brief The segment length. + */ + std::optional segmentLength() const; + void setSegmentLength(std::optional newSegmentLength) const; + + /** + * @brief The segment container. + */ + QString segmentContainer() const; + void setSegmentContainer(QString newSegmentContainer) const; + + /** + * @brief Optional. Whether to require a non anamorphic stream. + */ + std::optional requireNonAnamorphic() const; + void setRequireNonAnamorphic(std::optional newRequireNonAnamorphic) const; + + /** + * @brief Optional. Whether to require avc. + */ + std::optional requireAvc() const; + void setRequireAvc(std::optional newRequireAvc) const; + + /** + * @brief Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. + */ + QString profile() const; + void setProfile(QString newProfile) const; + + /** + * @brief The play session id. + */ + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId) const; + + /** + * @brief The streaming parameters. + */ + QString params() const; + void setParams(QString newParams) const; + + /** + * @brief The minimum number of segments. + */ + std::optional minSegments() const; + void setMinSegments(std::optional newMinSegments) const; + + /** + * @brief The media version id, if playing an alternate version. + */ + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId) const; + + /** + * @brief Optional. The maximum video bit depth. + */ + std::optional maxVideoBitDepth() const; + void setMaxVideoBitDepth(std::optional newMaxVideoBitDepth) const; + + /** + * @brief Optional. + */ + std::optional maxRefFrames() const; + void setMaxRefFrames(std::optional newMaxRefFrames) const; + + /** + * @brief Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional maxFramerate() const; + void setMaxFramerate(std::optional newMaxFramerate) const; + + /** + * @brief Optional. Specify a maximum number of audio channels to encode to, e.g. 2. + */ + std::optional maxAudioChannels() const; + void setMaxAudioChannels(std::optional newMaxAudioChannels) const; + + /** + * @brief Optional. The maximum audio bit depth. + */ + std::optional maxAudioBitDepth() const; + void setMaxAudioBitDepth(std::optional newMaxAudioBitDepth) const; + + /** + * @brief The live stream id. + */ + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId) const; + + /** + * @brief Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. + */ + QString level() const; + void setLevel(QString newLevel) const; + + /** + * @brief Optional. The fixed vertical resolution of the encoded video. + */ + std::optional height() const; + void setHeight(std::optional newHeight) const; + + /** + * @brief Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. + */ + std::optional framerate() const; + void setFramerate(std::optional newFramerate) const; + + /** + * @brief Optional. Whether to enable the MpegtsM2Ts mode. + */ + std::optional enableMpegtsM2TsMode() const; + void setEnableMpegtsM2TsMode(std::optional newEnableMpegtsM2TsMode) const; + + /** + * @brief Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. + */ + std::optional enableAutoStreamCopy() const; + void setEnableAutoStreamCopy(std::optional newEnableAutoStreamCopy) const; + + /** + * @brief Optional. The dlna device profile id to utilize. + */ + QString deviceProfileId() const; + void setDeviceProfileId(QString newDeviceProfileId) const; + + /** + * @brief The device id of the client requesting. Used to stop encoding processes when needed. + */ + QString deviceId() const; + void setDeviceId(QString newDeviceId) const; + + /** + * @brief Optional. Whether to deinterlace the video. + */ + std::optional deInterlace() const; + void setDeInterlace(std::optional newDeInterlace) const; + + /** + * @brief Optional. The limit of how many cpu cores to use. + */ + std::optional cpuCoreLimit() const; + void setCpuCoreLimit(std::optional newCpuCoreLimit) const; + + /** + * @brief Whether or not to copy timestamps when transcoding with an offset. Defaults to false. + */ + std::optional copyTimestamps() const; + void setCopyTimestamps(std::optional newCopyTimestamps) const; + + /** + * @brief Optional. The MediaBrowser.Model.Dlna.EncodingContext. + */ + EncodingContext context() const; + void setContext(EncodingContext newContext) const; + + /** + * @brief The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. + */ + QString container() const; + void setContainer(QString newContainer) const; + + /** + * @brief Optional. Whether to break on non key frames. + */ + std::optional breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(std::optional newBreakOnNonKeyFrames) const; + + /** + * @brief Optional. The index of the audio stream to use. If omitted the first audio stream will be used. + */ + std::optional audioStreamIndex() const; + void setAudioStreamIndex(std::optional newAudioStreamIndex) const; + + /** + * @brief Optional. Specify a specific audio sample rate, e.g. 44100. + */ + std::optional audioSampleRate() const; + void setAudioSampleRate(std::optional newAudioSampleRate) const; + + /** + * @brief Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url's extension. Options: aac, mp3, vorbis, wma. + */ + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec) const; + + /** + * @brief Optional. Specify a specific number of audio channels to encode to, e.g. 2. + */ + std::optional audioChannels() const; + void setAudioChannels(std::optional newAudioChannels) const; + + /** + * @brief Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. + */ + std::optional audioBitRate() const; + void setAudioBitRate(std::optional newAudioBitRate) const; + + /** + * @brief Whether or not to allow copying of the video stream url. + */ + std::optional allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) const; + + /** + * @brief Whether or not to allow copying of the audio stream url. + */ + std::optional allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) const; + + +private: + // Required path parameters + QString m_itemId; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + std::optional m_width = std::nullopt; + std::optional m_videoStreamIndex = std::nullopt; + QString m_videoCodec; + std::optional m_videoBitRate = std::nullopt; + std::optional m_transcodingMaxAudioChannels = std::nullopt; + QString m_transcodeReasons; + QString m_tag; + std::optional m_subtitleStreamIndex = std::nullopt; + SubtitleDeliveryMethod m_subtitleMethod; + QString m_subtitleCodec; + std::optional m_streamOptions = std::nullopt; + std::optional m_staticStreaming = std::nullopt; + std::optional m_startTimeTicks = std::nullopt; + std::optional m_segmentLength = std::nullopt; + QString m_segmentContainer; + std::optional m_requireNonAnamorphic = std::nullopt; + std::optional m_requireAvc = std::nullopt; + QString m_profile; + QString m_playSessionId; + QString m_params; + std::optional m_minSegments = std::nullopt; + QString m_mediaSourceId; + std::optional m_maxVideoBitDepth = std::nullopt; + std::optional m_maxRefFrames = std::nullopt; + std::optional m_maxFramerate = std::nullopt; + std::optional m_maxAudioChannels = std::nullopt; + std::optional m_maxAudioBitDepth = std::nullopt; + QString m_liveStreamId; + QString m_level; + std::optional m_height = std::nullopt; + std::optional m_framerate = std::nullopt; + std::optional m_enableMpegtsM2TsMode = std::nullopt; + std::optional m_enableAutoStreamCopy = std::nullopt; + QString m_deviceProfileId; + QString m_deviceId; + std::optional m_deInterlace = std::nullopt; + std::optional m_cpuCoreLimit = std::nullopt; + std::optional m_copyTimestamps = std::nullopt; + EncodingContext m_context; + QString m_container; + std::optional m_breakOnNonKeyFrames = std::nullopt; + std::optional m_audioStreamIndex = std::nullopt; + std::optional m_audioSampleRate = std::nullopt; + QString m_audioCodec; + std::optional m_audioChannels = std::nullopt; + std::optional m_audioBitRate = std::nullopt; + std::optional m_allowVideoStreamCopy = std::nullopt; + std::optional m_allowAudioStreamCopy = std::nullopt; + +}; + +class MergeVersionsParams { +public: + /** + * @brief Item id list. This allows multiple, comma delimited. + */ + QStringList ids() const; + void setIds(QStringList newIds) const; + + +private: + // Required path parameters + + // Required query parameters + QStringList m_ids; + + // Optional path parameters + + // Optional query parameters + +}; + +class GetYearsParams { +public: + /** + * @brief User Id. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + /** + * @brief Skips over a given number of items within the results. Use for paging. + */ + std::optional startIndex() const; + void setStartIndex(std::optional newStartIndex) const; + + /** + * @brief Sort Order - Ascending,Descending. + */ + QString sortOrder() const; + void setSortOrder(QString newSortOrder) const; + + /** + * @brief Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. + */ + QString sortBy() const; + void setSortBy(QString newSortBy) const; + + /** + * @brief Search recursively. + */ + bool recursive() const; + void setRecursive(bool newRecursive) const; + + /** + * @brief Specify this to localize the search to a specific item or folder. Omit to use the root. + */ + QString parentId() const; + void setParentId(QString newParentId) const; + + /** + * @brief Optional. Filter by MediaType. Allows multiple, comma delimited. + */ + QStringList mediaTypes() const; + void setMediaTypes(QStringList newMediaTypes) const; + + /** + * @brief Optional. The maximum number of records to return. + */ + std::optional limit() const; + void setLimit(std::optional newLimit) const; + + /** + * @brief Optional. If specified, results will be included based on item type. This allows multiple, comma delimited. + */ + QStringList includeItemTypes() const; + void setIncludeItemTypes(QStringList newIncludeItemTypes) const; + + /** + * @brief Optional. The max number of images to return, per image type. + */ + std::optional imageTypeLimit() const; + void setImageTypeLimit(std::optional newImageTypeLimit) const; + + /** + * @brief Optional. Specify additional fields of information to return in the output. + */ + QList fields() const; + void setFields(QList newFields) const; + + /** + * @brief Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited. + */ + QStringList excludeItemTypes() const; + void setExcludeItemTypes(QStringList newExcludeItemTypes) const; + + /** + * @brief Optional. Include user data. + */ + std::optional enableUserData() const; + void setEnableUserData(std::optional newEnableUserData) const; + + /** + * @brief Optional. Include image information in output. + */ + std::optional enableImages() const; + void setEnableImages(std::optional newEnableImages) const; + + /** + * @brief Optional. The image types to include in the output. + */ + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes) const; + + +private: + // Required path parameters + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + std::optional m_startIndex = std::nullopt; + QString m_sortOrder; + QString m_sortBy; + bool m_recursive; + QString m_parentId; + QStringList m_mediaTypes; + std::optional m_limit = std::nullopt; + QStringList m_includeItemTypes; + std::optional m_imageTypeLimit = std::nullopt; + QList m_fields; + QStringList m_excludeItemTypes; + std::optional m_enableUserData = std::nullopt; + std::optional m_enableImages = std::nullopt; + QList m_enableImageTypes; + +}; + +class GetYearParams { +public: + /** + * @brief The year. + */ + qint32 year() const; + void setYear(qint32 newYear) const; + + /** + * @brief Optional. Filter by user id, and attach user data. + */ + QString userId() const; + void setUserId(QString newUserId) const; + + +private: + // Required path parameters + qint32 m_year; + + // Required query parameters + + // Optional path parameters + + // Optional query parameters + QString m_userId; + +}; + + + +} // NS Loader +} // NS Jellyfin + +#endif // JELLYFIN_LOADER_REQUESTTYPES_H diff --git a/core/include/JellyfinQt/model/item.h b/core/include/JellyfinQt/model/item.h index 8b8f531..60797bd 100644 --- a/core/include/JellyfinQt/model/item.h +++ b/core/include/JellyfinQt/model/item.h @@ -1,193 +1,65 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ -#ifndef JELLYFIN_MODEL_ITEM_H -#define JELLYFIN_MODEL_ITEM_H +#ifndef JELLYFIN_MODEL_ITEM +#define JELLYFIN_MODEL_ITEM -#include -#include -#include -#include - -#include -#include #include -#include -#include -#include +#include +#include -#include - -#include - -/*#include "dto.h" -#include "mediastream.h" -#include "namedguidpair.h" -#include "userdata.h"*/ - -#include "../DTO/baseitemdto.h" - -namespace Jellyfin{ +#include "../dto/baseitemdto.h" +#include "../support/loader.h" +#include "../apiclient.h" +namespace Jellyfin { namespace Model { -class Item : public QObject { - Q_OBJECT +class Item : public DTO::BaseItemDto { public: - Q_INVOKABLE explicit Item(QObject *parent = nullptr); + Item(const DTO::BaseItemDto &data, ApiClient *apiClient = nullptr); + virtual ~Item(); - Q_PROPERTY(QUuid jellyfinId READ jellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief sameAs Returns true if this item represents the same item as `other` + * + * Note that this does not mean each property is the same, this just mean both of + * these models represent the same item. + * + * @param other The item to compare to + * @return True if they represent the same item, false otherwise. + */ + bool sameAs(const Item &other); - // Based on https://github.com/jellyfin/jellyfin/blob/907695dec7fda152d0e17c1197637bc0e17c9928/MediaBrowser.Model/Dto/BaseItemDto.cs - // I copy, pasted and replaced. I feel like a Go programmer implementing generic containers. - // If this were D, I would've writed a compile-time C# parser to parse that source code at compile time, extract - // the properties and generate a class based on that. - // Doing that in C++ would be more difficult and I dislike qmake. Does it even support running programs at compile time? - // But here I am, using ctrl-C++ + void setApiClient(ApiClient *apiClient); +private: + ApiClient *m_apiClient = nullptr; + QList m_apiClientConnections; - // Please keep the order of the properties the same as in the file linked above. - Q_PROPERTY(QString name READ name NOTIFY nameChanged) - Q_PROPERTY(QString originalTitle READ originalTitle NOTIFY originalTitleChanged) - Q_PROPERTY(QString serverId READ serverId NOTIFY serverIdChanged) - Q_PROPERTY(QString etag READ etag NOTIFY etagChanged) - Q_PROPERTY(QString sourceType READ sourceType NOTIFY sourceTypeChanged) - Q_PROPERTY(QString playlistItemId READ playlistItemId NOTIFY playlistItemIdChanged) - Q_PROPERTY(QDateTime dateCreated READ dateCreated NOTIFY dateCreatedChanged) - Q_PROPERTY(QDateTime dateLastMediaAdded READ dateLastMediaAdded NOTIFY dateLastMediaAddedChanged) - Q_PROPERTY(QString extraType READ extraType NOTIFY extraTypeChanged) - Q_PROPERTY(int airsBeforeSeasonNumber READ airsBeforeSeasonNumber NOTIFY airsBeforeSeasonNumberChanged) - Q_PROPERTY(int airsAfterSeasonNumber READ airsAfterSeasonNumber NOTIFY airsAfterSeasonNumberChanged) - Q_PROPERTY(int airsBeforeEpisodeNumber READ airsBeforeEpisodeNumber NOTIFY airsBeforeEpisodeNumberChanged) - /*Q_PROPERTY(bool canDelete READ canDelete NOTIFY canDeleteChanged) - Q_PROPERTY(bool canDownload READ canDownload NOTIFY canDownloadChanged) - Q_PROPERTY(bool hasSubtitles READ hasSubtitles NOTIFY hasSubtitlesChanged) - Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) - Q_PROPERTY(QString preferredMetadataCountryCode READ preferredMetadataCountryCode NOTIFY preferredMetadataCountryCodeChanged) - Q_PROPERTY(bool supportsSync READ supportsSync NOTIFY supportsSyncChanged) - Q_PROPERTY(QString container READ container NOTIFY containerChanged) - Q_PROPERTY(QString sortName READ sortName NOTIFY sortNameChanged) - Q_PROPERTY(QString forcedSortName READ forcedSortName NOTIFY forcedSortNameChanged) - //SKIP: Video3DFormat - Q_PROPERTY(QDateTime premiereData READ premiereDate NOTIFY premiereDateChanged) - //SKIP: ExternalUrls - //SKIP: MediaSources - Q_PROPERTY(float criticRating READ criticRating NOTIFY criticRatingChanged) - Q_PROPERTY(QStringList productionLocations READ productionLocations NOTIFY productionLocationsChanged) - - // Handpicked, important ones - Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks NOTIFY runTimeTicksChanged) - Q_PROPERTY(QString overview READ overview NOTIFY overviewChanged) - Q_PROPERTY(int productionYear READ productionYear NOTIFY productionYearChanged) - Q_PROPERTY(int indexNumber READ indexNumber NOTIFY indexNumberChanged) - Q_PROPERTY(int indexNumberEnd READ indexNumberEnd NOTIFY indexNumberEndChanged) - Q_PROPERTY(bool isFolder READ isFolder NOTIFY isFolderChanged) - Q_PROPERTY(QString type READ type NOTIFY typeChanged) - Q_PROPERTY(QString parentBackdropItemId READ parentBackdropItemId NOTIFY parentBackdropItemIdChanged) - Q_PROPERTY(QStringList parentBackdropImageTags READ parentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) - Q_PROPERTY(UserData *userData READ userData NOTIFY userDataChanged) - Q_PROPERTY(int recursiveItemCount READ recursiveItemCount NOTIFY recursiveItemCountChanged) - Q_PROPERTY(int childCount READ childCount NOTIFY childCountChanged) - Q_PROPERTY(QString albumArtist READ albumArtist NOTIFY albumArtistChanged) - Q_PROPERTY(QVariantList albumArtists READ albumArtists NOTIFY albumArtistsChanged) - Q_PROPERTY(QString seriesName READ seriesName NOTIFY seriesNameChanged) - Q_PROPERTY(QString seasonName READ seasonName NOTIFY seasonNameChanged) - Q_PROPERTY(QList __list__mediaStreams MEMBER __list__m_mediaStreams NOTIFY mediaStreamsChanged) - Q_PROPERTY(QVariantList mediaStreams READ mediaStreams NOTIFY mediaStreamsChanged STORED false) - Q_PROPERTY(QStringList artists READ artists NOTIFY artistsChanged) - // Why is this a QJsonObject? Well, because I couldn't be bothered to implement the deserialisations of - // a QHash at the moment. - Q_PROPERTY(QJsonObject imageTags READ imageTags NOTIFY imageTagsChanged) - Q_PROPERTY(QStringList backdropImageTags READ backdropImageTags NOTIFY backdropImageTagsChanged) - Q_PROPERTY(QJsonObject imageBlurHashes READ imageBlurHashes NOTIFY imageBlurHashesChanged) - Q_PROPERTY(QString mediaType READ mediaType READ mediaType NOTIFY mediaTypeChanged) - Q_PROPERTY(int width READ width NOTIFY widthChanged) - Q_PROPERTY(int height READ height NOTIFY heightChanged)*/ - - QUuid jellyfinId() const { return m_data->jellyfinId(); } - QString name() const { return m_data->name(); } - QString originalTitle() const { return m_data->originalTitle(); } - QString serverId() const { return m_data->serverId(); } - QString etag() const { return m_data->etag(); } - QString sourceType() const { return m_data->sourceType(); } - QString playlistItemId() const { return m_data->playlistItemId(); } - QDateTime dateCreated() const { return m_data->dateCreated(); } - QDateTime dateLastMediaAdded() const { return m_data->dateLastMediaAdded(); } - QString extraType() const { return m_data->extraType(); } - int airsBeforeSeasonNumber() const { return m_data->airsBeforeSeasonNumber(); } - int airsAfterSeasonNumber() const { return m_data->airsAfterSeasonNumber(); } - int airsBeforeEpisodeNumber() const { return m_data->airsBeforeEpisodeNumber(); } - - QSharedPointer data() const { return m_data; } -signals: - void jellyfinIdChanged(const QUuid &newId); - void nameChanged(const QString &newName); - void originalTitleChanged(const QString &newOriginalTitle); - void serverIdChanged(const QString &newServerId); - void etagChanged(const QString &newEtag); - void sourceTypeChanged(const QString &sourceType); - void playlistItemIdChanged(const QString &playlistItemIdChanged); - void dateCreatedChanged(QDateTime newDateCreatedChanged); - void dateLastMediaAddedChanged(QDateTime newDateLastMediaAdded); - void extraTypeChanged(const QString &newExtraType); - void airsBeforeSeasonNumberChanged(int newAirsBeforeSeasonNumber); - void airsAfterSeasonNumberChanged(int newAirsAfterSeasonNumber); - void airsBeforeEpisodeNumberChanged(int newAirsAfterEpisodeNumber); - bool canDeleteChanged(bool newCanDelete); - void canDownloadChanged(bool newCanDownload); - void hasSubtitlesChanged(bool newHasSubtitles); - void preferredMetadataLanguageChanged(const QString &newPreferredMetadataLanguage); - void preferredMetadataCountryCodeChanged(const QString &newPreferredMetadataCountryCode); - void supportsSyncChanged(bool newSupportsSync); - void containerChanged(const QString &newContainer); - void sortNameChanged(const QString &newSortName); - void forcedSortNameChanged(const QString &newForcedSortName); - void premiereDateChanged(QDateTime newPremiereDate); - void criticRatingChanged(float newCriticRating); - void productionLocationsChanged(QStringList newProductionLocations); - - // Handpicked, important ones - void runTimeTicksChanged(qint64 newRunTimeTicks); - void overviewChanged(const QString &newOverview); - void productionYearChanged(int newProductionYear); - void indexNumberChanged(int newIndexNumber); - void indexNumberEndChanged(int newIndexNumberEnd); - void isFolderChanged(bool newIsFolder); - void typeChanged(const QString &newType); - void parentBackdropItemIdChanged(); - void parentBackdropImageTagsChanged(); - //void userDataChanged(UserData *newUserData); - void recursiveItemCountChanged(int newRecursiveItemCount); - void childCountChanged(int newChildCount); - void albumArtistChanged(const QString &newAlbumArtist); - //void albumArtistsChanged(NameGuidPair *newAlbumArtists); - void seriesNameChanged(const QString &newSeriesName); - void seasonNameChanged(const QString &newSeasonName); - void mediaStreamsChanged(/*const QList &newMediaStreams*/); - void artistsChanged(const QStringList &newArtists); - void imageTagsChanged(); - void backdropImageTagsChanged(); - void imageBlurHashesChanged(); - void mediaTypeChanged(const QString &newMediaType); - void widthChanged(int newWidth); - void heightChanged(int newHeight); -protected: - QSharedPointer m_data; + void onUserDataUpdated(const QString &itemId, const DTO::UserItemDataDto &userData); }; -} // NS Model -} // NS Jellyfin +class ItemLoader { -#endif // JELLYFIN_MODEL_ITEM_H +}; + +} +} + +#endif // JELLYFIN_MODEL_ITEM diff --git a/core/include/JellyfinQt/remotedata.h b/core/include/JellyfinQt/remotedata.h deleted file mode 100644 index d3c211f..0000000 --- a/core/include/JellyfinQt/remotedata.h +++ /dev/null @@ -1,234 +0,0 @@ -/* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef JELLYFIN_DTO_DTO -#define JELLYFIN_DTO_DTO - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "apiclient.h" -#include "jsonhelper.h" - -#include "DTO/baseitemdto.h" -#include "support/jsonconv.h" - -namespace Jellyfin { -/** - * @brief Base class for a serializable object. - * - * This class will be (de)serialized based on its properties. - * Note: it must have a constructor without arguments marked with Q_INVOKABLE - */ -/*class JsonSerializable : public QObject { - Q_OBJECT -public: - Q_INVOKABLE JsonSerializable(QObject *parent); - virtual ~JsonSerializable(); - - void deserialize(const QJsonObject &obj); - QJsonObject serialize(bool capitalize = true) const; -private: - QVariant jsonToVariant(QMetaProperty prop, const QJsonValue &val, const QJsonObject &root); - QJsonValue variantToJson(const QVariant var) const; - QVariant deserializeQObject(const QJsonObject &obj, const QMetaProperty &prop); - - static QString fromPascalCase(QString str); - static QString toPascalCase(QString st); - - static const QRegularExpression m_listExpression; - static const QRegularExpression m_hashExpression; - static int findTypeIdForProperty(QString type); - QHash m_nameMetatypeMap; -};*/ - - -/** - * @brief An "interface" for a remote data source - * - * This class is basically a base class for JSON data that can be fetched from over the network. - * Subclasses should reimplement reload and call setStatus to update the QML part of the code - * appropiatly. - */ -class RemoteDataBase : public QObject, public QQmlParserStatus { - Q_OBJECT - Q_INTERFACES(QQmlParserStatus) -public: - enum Status { - /// The data is unitialized and not loading either. - Uninitialised, - /// The data is being loaded over the network - Loading, - /// The data is ready, the properties in this object are up to date. - Ready, - /// An error has occurred while loading the data. See error() for more details. - Error - }; - Q_ENUM(Status) - - explicit RemoteDataBase(QObject *parent = nullptr) : QObject(parent) {} - RemoteDataBase(ApiClient *apiClient, QObject *parent = nullptr) - : QObject(parent), m_apiClient(apiClient) {} - - Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient WRITE setApiClient NOTIFY apiClientChanged STORED false) - Q_PROPERTY(Status status READ status NOTIFY statusChanged STORED false) - Q_PROPERTY(QNetworkReply::NetworkError error READ error NOTIFY errorChanged STORED false) - Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged STORED false) - Q_PROPERTY(QStringList extraFields MEMBER m_extraFields WRITE setExtraFields NOTIFY extraFieldsChanged STORED false) - Q_PROPERTY(bool autoReload MEMBER m_autoReload NOTIFY autoReloadChanged) - - Status status() const { return m_status; } - QNetworkReply::NetworkError error() const { return m_error; } - QString errorString() const { return m_errorString; } - - void setApiClient(ApiClient *newApiClient); - void setExtraFields(const QStringList &extraFields); -signals: - void statusChanged(Status newStatus); - void apiClientChanged(ApiClient *newApiClient); - void errorChanged(QNetworkReply::NetworkError newError); - void errorStringChanged(QString newErrorString); - void extraFieldsChanged(const QStringList &newExtraFields); - void autoReloadChanged(bool newAutoReload); - /** - * @brief Convenience signal for status == RemoteData.Ready. - */ - void ready(); -public slots: - - /** - * @brief Overload this method to reimplement the fetching mechanism to - * populate the RemoteData with data from the server. - * - * The default implementation makes a GET request to getDataUrl() and parses the resulting JSON, - * which should be enough for most cases. Consider overriding getDataUrl() and - * canRelaod() if possible. Manual overrides need to make sure that - * they're calling setStatus(Status), setError(QNetworkReply::NetworkError) and - * setErrorString() to let the QML side know what this thing is up to. - */ - virtual void reload(); -protected: - /** - * @brief Subclasses should implement this to determine if they can - * load data from the server. - * - * Usage cases include checking if the - * required properties, such as the item id are set. - */ - virtual bool canReload() const; - - /** - * @brief Construct the URL to fetch the data from. - * @return The URL to load data from. - */ - virtual QString getDataUrl() const = 0; - virtual void dataFetched(QJsonObject data) = 0; - - void setStatus(Status newStatus); - void setError(QNetworkReply::NetworkError error); - void setErrorString(const QString &newErrorString); - - void classBegin() override { - m_isParsing = true; - } - - void componentComplete() override { - m_isParsing = false; - if (canReload()) { - reload(); - } - } - ApiClient *m_apiClient = nullptr; -protected: - // Returns true if this class is instantiated within QML and is still being parsed. - bool isQmlParsing() const { return m_isParsing; } -private: - Status m_status = Uninitialised; - QNetworkReply::NetworkError m_error = QNetworkReply::NoError; - QString m_errorString; - QStringList m_extraFields; - bool m_autoReload = true; - bool m_isParsing = false; -}; - -template -class RemoteData : public RemoteDataBase { -public: - RemoteData(QObject *parent = nullptr) : RemoteDataBase(parent) { - m_data = new T(this); - } - RemoteData(ApiClient *apiClient, QObject *parent = nullptr) - : RemoteDataBase(apiClient, parent) { - m_data = new T(this); - } - - T *data() const { return m_data; } - void setData(T *newData) { - newData->setParent(this); - m_data->deleteLater(); - m_data = newData; - emitDataChanged(); - } -protected: - T* m_data; - void dataFetched(QJsonObject data) override { - m_data->updateFromJSON(data); - } - virtual void emitDataChanged() = 0; -}; - -/*class RemoteItem : public RemoteData { - Q_OBJECT -public: - RemoteItem(QObject *parent = nullptr); - RemoteItem(QString id, ApiClient *apiClient, QObject *parent = nullptr); - Q_PROPERTY(DTO::BaseItemDto *data MEMBER m_data READ data NOTIFY dataChanged) - Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) - - QString getDataUrl() const override { - return QString("/Users/") + m_apiClient->userId() + "/Items/" + Support::uuidToString(m_data->jellyfinId()); - } - - bool canReload() const override { - return RemoteData::canReload() && !m_data->jellyfinId().isNull(); - } - - QString jellyfinId() const { return Support::uuidToString(m_data->jellyfinId()); } - void setJellyfinId(QString newId) { - m_data->setJellyfinId(newId); - if (canReload()) reload(); - } -signals: - void dataChanged(DTO::BaseItemDto *newData); - void jellyfinIdChanged(const QString &newId); -protected: - void emitDataChanged() override { - emit dataChanged(m_data); - } -};*/ - -void registerRemoteTypes(const char *uri); -} // NS Jellyfin - -#endif // JELLYFIN_DTO_DTO_H diff --git a/core/include/JellyfinQt/support/jsonconv.h b/core/include/JellyfinQt/support/jsonconv.h index f886b46..52113ff 100644 --- a/core/include/JellyfinQt/support/jsonconv.h +++ b/core/include/JellyfinQt/support/jsonconv.h @@ -1,3 +1,21 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef JELLYFIN_SUPPORT_JSONCONV_H #define JELLYFIN_SUPPORT_JSONCONV_H @@ -42,8 +60,6 @@ QJsonValue toJsonValue(const T &source) { Q_ASSERT_X(false, "toJsonValue", "toJsonValue called with unimplemented type"); } - - // QList template QList fromJsonValue(const QJsonArray &source) { diff --git a/core/include/JellyfinQt/support/loader.h b/core/include/JellyfinQt/support/loader.h index 08e74c8..47426fd 100644 --- a/core/include/JellyfinQt/support/loader.h +++ b/core/include/JellyfinQt/support/loader.h @@ -1,23 +1,48 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ #ifndef JELLYFIN_SUPPORT_LOADER_H #define JELLYFIN_SUPPORT_LOADER_H -#include -#include +#include +#include +#include +#include +#include #include #include #include -#include +#include "../apiclient.h" +#include "jsonconv.h" -namespace Jellfyin { +namespace Jellyfin { namespace Support { -class LoadException : public std::runtime_error { +class LoadException : public QException { public: - explicit LoadException(const char *message) - : std::runtime_error(message) {} + explicit LoadException(const QString &message) + : m_message(message.toStdString()) {} + virtual const char *what() const noexcept override; +private: + std::string m_message; }; static const int HTTP_TIMEOUT = 30000; // 30 seconds; @@ -33,14 +58,17 @@ static const int HTTP_TIMEOUT = 30000; // 30 seconds; template class Loader { public: - explicit Loader(Jellyfin::ApiClient *apiClient) + explicit Loader(ApiClient *apiClient) : m_apiClient(apiClient) {} /** * @brief load Loads the given resource. * @param parameters Parameters to determine which resource should be loaded. * @return The resource if successfull. */ - virtual R load(const P ¶meters) const; + virtual std::optional load(const P ¶meters) const { + Q_UNUSED(parameters) + throw new LoadException(QStringLiteral("Loader not set")); + } /** * @brief Heuristic to determine if this resource can be loaded via this loaded. * @@ -53,6 +81,36 @@ protected: Jellyfin::ApiClient *m_apiClient; }; +/** + * Implementation of a Loader that tries multiple loaders. + */ +template +class MultipleChoiceLoader : public Loader { + using L = Loader; +public: + explicit MultipleChoiceLoader(ApiClient *apiClient, + std::initializer_list loaders) + : L(apiClient), m_loaders(loaders) {} + + virtual std::optional load(const P ¶meters) const override { + for(auto it = m_loaders.begin(); it != m_loaders.end(); it++) { + if (it->isAvailable()) { + try { + std::optional res = it->load(parameters); + if (res.has_value()) return res; + } catch (LoadException e) { + qDebug() << "Error while loading: " << e.what(); + } + } + } + qDebug() << "No loaders were able to fulfill the request"; + return std::nullopt; + } + +private: + QList m_loaders; +}; + /** * Implementation of Loader that loads Items over HTTP */ @@ -62,17 +120,19 @@ public: explicit HttpLoader(Jellyfin::ApiClient *apiClient) : Loader (apiClient) {} - virtual R load(const P ¶meters) const override { + virtual std::optional load(const P ¶meters) const override { QNetworkReply *reply = this->m_apiClient->get(url(parameters), query(parameters)); QByteArray array; while (!reply->atEnd()) { if (!reply->waitForReadyRead(HTTP_TIMEOUT)) { if (reply->error() == QNetworkReply::NoError) { reply->deleteLater(); - throw LoadException("HTTP timeout"); + //: Loading from a resource failed due to the server taking too long to respond + throw LoadException(QObject::tr("Network timeout")); } reply->deleteLater(); - throw LoadException("HTTP error"); + //: An HTTP has occurred. First argument is replaced by QNetworkReply->errorString() + throw LoadException(QObject::tr("HTTP error: %1").arg(reply->errorString())); } array.append(reply->readAll()); } @@ -82,12 +142,11 @@ public: if (error.error != QJsonParseError::NoError) { throw LoadException(error.errorString().toLocal8Bit().constData()); } - return parse(document); + return fromJsonValue(QJsonValue(document.object())); } protected: - virtual const QString url(const P ¶meters) const; - virtual const QUrlQuery query(const P ¶meters) const; - virtual R parse(const QJsonObject &object) const; + virtual QString url(const P ¶meters) const; + virtual QUrlQuery query(const P ¶meters) const; }; } // NS Support diff --git a/core/include/JellyfinQt/viewmodel/item.h b/core/include/JellyfinQt/viewmodel/item.h new file mode 100644 index 0000000..f95b711 --- /dev/null +++ b/core/include/JellyfinQt/viewmodel/item.h @@ -0,0 +1,197 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#ifndef JELLYFIN_VIEWMODEL_ITEM_H +#define JELLYFIN_VIEWMODEL_ITEM_H + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +#include + +/*#include "dto.h" +#include "mediastream.h" +#include "namedguidpair.h" +#include "userdata.h"*/ + +#include "../loader/requesttypes.h" +#include "../model/item.h" +#include "loader.h" + +namespace Jellyfin { + +namespace ViewModel { + +class Item : public QObject { + Q_OBJECT +public: + Q_INVOKABLE explicit Item(QSharedPointer data = QSharedPointer(), + QObject *parent = nullptr); + + // Please keep the order of the properties the same as in the file linked above. + Q_PROPERTY(QUuid jellyfinId READ jellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString name READ name NOTIFY nameChanged) + Q_PROPERTY(QString originalTitle READ originalTitle NOTIFY originalTitleChanged) + Q_PROPERTY(QString serverId READ serverId NOTIFY serverIdChanged) + Q_PROPERTY(QString etag READ etag NOTIFY etagChanged) + Q_PROPERTY(QString sourceType READ sourceType NOTIFY sourceTypeChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId NOTIFY playlistItemIdChanged) + Q_PROPERTY(QDateTime dateCreated READ dateCreated NOTIFY dateCreatedChanged) + Q_PROPERTY(QDateTime dateLastMediaAdded READ dateLastMediaAdded NOTIFY dateLastMediaAddedChanged) + Q_PROPERTY(QString extraType READ extraType NOTIFY extraTypeChanged) + Q_PROPERTY(int airsBeforeSeasonNumber READ airsBeforeSeasonNumber NOTIFY airsBeforeSeasonNumberChanged) + Q_PROPERTY(int airsAfterSeasonNumber READ airsAfterSeasonNumber NOTIFY airsAfterSeasonNumberChanged) + Q_PROPERTY(int airsBeforeEpisodeNumber READ airsBeforeEpisodeNumber NOTIFY airsBeforeEpisodeNumberChanged) + /*Q_PROPERTY(bool canDelete READ canDelete NOTIFY canDeleteChanged) + Q_PROPERTY(bool canDownload READ canDownload NOTIFY canDownloadChanged) + Q_PROPERTY(bool hasSubtitles READ hasSubtitles NOTIFY hasSubtitlesChanged) + Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) + Q_PROPERTY(QString preferredMetadataCountryCode READ preferredMetadataCountryCode NOTIFY preferredMetadataCountryCodeChanged) + Q_PROPERTY(bool supportsSync READ supportsSync NOTIFY supportsSyncChanged) + Q_PROPERTY(QString container READ container NOTIFY containerChanged) + Q_PROPERTY(QString sortName READ sortName NOTIFY sortNameChanged) + Q_PROPERTY(QString forcedSortName READ forcedSortName NOTIFY forcedSortNameChanged) + //SKIP: Video3DFormat + Q_PROPERTY(QDateTime premiereData READ premiereDate NOTIFY premiereDateChanged) + //SKIP: ExternalUrls + //SKIP: MediaSources + Q_PROPERTY(float criticRating READ criticRating NOTIFY criticRatingChanged) + Q_PROPERTY(QStringList productionLocations READ productionLocations NOTIFY productionLocationsChanged) + + // Handpicked, important ones + Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks NOTIFY runTimeTicksChanged) + Q_PROPERTY(QString overview READ overview NOTIFY overviewChanged) + Q_PROPERTY(int productionYear READ productionYear NOTIFY productionYearChanged) + Q_PROPERTY(int indexNumber READ indexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(int indexNumberEnd READ indexNumberEnd NOTIFY indexNumberEndChanged) + Q_PROPERTY(bool isFolder READ isFolder NOTIFY isFolderChanged) + Q_PROPERTY(QString type READ type NOTIFY typeChanged) + Q_PROPERTY(QString parentBackdropItemId READ parentBackdropItemId NOTIFY parentBackdropItemIdChanged) + Q_PROPERTY(QStringList parentBackdropImageTags READ parentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) + Q_PROPERTY(UserData *userData READ userData NOTIFY userDataChanged) + Q_PROPERTY(int recursiveItemCount READ recursiveItemCount NOTIFY recursiveItemCountChanged) + Q_PROPERTY(int childCount READ childCount NOTIFY childCountChanged) + Q_PROPERTY(QString albumArtist READ albumArtist NOTIFY albumArtistChanged) + Q_PROPERTY(QVariantList albumArtists READ albumArtists NOTIFY albumArtistsChanged) + Q_PROPERTY(QString seriesName READ seriesName NOTIFY seriesNameChanged) + Q_PROPERTY(QString seasonName READ seasonName NOTIFY seasonNameChanged) + Q_PROPERTY(QList __list__mediaStreams MEMBER __list__m_mediaStreams NOTIFY mediaStreamsChanged) + Q_PROPERTY(QVariantList mediaStreams READ mediaStreams NOTIFY mediaStreamsChanged STORED false) + Q_PROPERTY(QStringList artists READ artists NOTIFY artistsChanged) + // Why is this a QJsonObject? Well, because I couldn't be bothered to implement the deserialisations of + // a QHash at the moment. + Q_PROPERTY(QJsonObject imageTags READ imageTags NOTIFY imageTagsChanged) + Q_PROPERTY(QStringList backdropImageTags READ backdropImageTags NOTIFY backdropImageTagsChanged) + Q_PROPERTY(QJsonObject imageBlurHashes READ imageBlurHashes NOTIFY imageBlurHashesChanged) + Q_PROPERTY(QString mediaType READ mediaType READ mediaType NOTIFY mediaTypeChanged) + Q_PROPERTY(int width READ width NOTIFY widthChanged) + Q_PROPERTY(int height READ height NOTIFY heightChanged)*/ + + QUuid jellyfinId() const { return m_data->jellyfinId(); } + QString name() const { return m_data->name(); } + QString originalTitle() const { return m_data->originalTitle(); } + QString serverId() const { return m_data->serverId(); } + QString etag() const { return m_data->etag(); } + QString sourceType() const { return m_data->sourceType(); } + QString playlistItemId() const { return m_data->playlistItemId(); } + QDateTime dateCreated() const { return m_data->dateCreated(); } + QDateTime dateLastMediaAdded() const { return m_data->dateLastMediaAdded(); } + QString extraType() const { return m_data->extraType(); } + int airsBeforeSeasonNumber() const { return m_data->airsBeforeSeasonNumber().value_or(0); } + int airsAfterSeasonNumber() const { return m_data->airsAfterSeasonNumber().value_or(999); } + int airsBeforeEpisodeNumber() const { return m_data->airsBeforeEpisodeNumber().value_or(0); } + + QSharedPointer data() const { return m_data; } + void setData(QSharedPointer newData); +signals: + void jellyfinIdChanged(const QUuid &newId); + void nameChanged(const QString &newName); + void originalTitleChanged(const QString &newOriginalTitle); + void serverIdChanged(const QString &newServerId); + void etagChanged(const QString &newEtag); + void sourceTypeChanged(const QString &sourceType); + void playlistItemIdChanged(const QString &playlistItemIdChanged); + void dateCreatedChanged(QDateTime newDateCreatedChanged); + void dateLastMediaAddedChanged(QDateTime newDateLastMediaAdded); + void extraTypeChanged(const QString &newExtraType); + void airsBeforeSeasonNumberChanged(int newAirsBeforeSeasonNumber); + void airsAfterSeasonNumberChanged(int newAirsAfterSeasonNumber); + void airsBeforeEpisodeNumberChanged(int newAirsAfterEpisodeNumber); + bool canDeleteChanged(bool newCanDelete); + void canDownloadChanged(bool newCanDownload); + void hasSubtitlesChanged(bool newHasSubtitles); + void preferredMetadataLanguageChanged(const QString &newPreferredMetadataLanguage); + void preferredMetadataCountryCodeChanged(const QString &newPreferredMetadataCountryCode); + void supportsSyncChanged(bool newSupportsSync); + void containerChanged(const QString &newContainer); + void sortNameChanged(const QString &newSortName); + void forcedSortNameChanged(const QString &newForcedSortName); + void premiereDateChanged(QDateTime newPremiereDate); + void criticRatingChanged(float newCriticRating); + void productionLocationsChanged(QStringList newProductionLocations); + + // Handpicked, important ones + void runTimeTicksChanged(qint64 newRunTimeTicks); + void overviewChanged(const QString &newOverview); + void productionYearChanged(int newProductionYear); + void indexNumberChanged(int newIndexNumber); + void indexNumberEndChanged(int newIndexNumberEnd); + void isFolderChanged(bool newIsFolder); + void typeChanged(const QString &newType); + void parentBackdropItemIdChanged(); + void parentBackdropImageTagsChanged(); + //void userDataChanged(UserData *newUserData); + void recursiveItemCountChanged(int newRecursiveItemCount); + void childCountChanged(int newChildCount); + void albumArtistChanged(const QString &newAlbumArtist); + //void albumArtistsChanged(NameGuidPair *newAlbumArtists); + void seriesNameChanged(const QString &newSeriesName); + void seasonNameChanged(const QString &newSeasonName); + void mediaStreamsChanged(/*const QList &newMediaStreams*/); + void artistsChanged(const QStringList &newArtists); + void imageTagsChanged(); + void backdropImageTagsChanged(); + void imageBlurHashesChanged(); + void mediaTypeChanged(const QString &newMediaType); + void widthChanged(int newWidth); + void heightChanged(int newHeight); +protected: + QSharedPointer m_data; +}; + +class ItemLoader : Loader { + Q_OBJECT +public: + explicit ItemLoader(QObject *parent = nullptr); +}; + +} // NS ViewModel +} // NS Jellyfin + +#endif // JELLYFIN_VIEWMODEL_ITEM_H diff --git a/core/include/JellyfinQt/viewmodel/loader.h b/core/include/JellyfinQt/viewmodel/loader.h new file mode 100644 index 0000000..dcb99c3 --- /dev/null +++ b/core/include/JellyfinQt/viewmodel/loader.h @@ -0,0 +1,211 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#ifndef JELLYFIN_DTO_DTO +#define JELLYFIN_DTO_DTO + +#include + +#include +#include +#include + +#include "../support/loader.h" + +namespace Jellyfin { +namespace ViewModel { + +/** + * @brief An "interface" for a remote data source + * + * This class is basically a base class for JSON data that can be fetched from over the network. + * Subclasses should reimplement reload and call setStatus to update the QML part of the code + * appropiatly. + */ +class LoaderBase : public QObject, public QQmlParserStatus { + Q_OBJECT + Q_INTERFACES(QQmlParserStatus) +public: + enum Status { + /// The data is unitialized and not loading either. + Uninitialised, + /// The data is being loaded over the network + Loading, + /// The data is ready, the properties in this object are up to date. + Ready, + /// An error has occurred while loading the data. See error() for more details. + Error + }; + Q_ENUM(Status) + + explicit LoaderBase(QObject *parent = nullptr) : QObject(parent) {} + LoaderBase(ApiClient *apiClient, QObject *parent = nullptr) + : QObject(parent), m_apiClient(apiClient) {} + + Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient WRITE setApiClient NOTIFY apiClientChanged STORED false) + Q_PROPERTY(Status status READ status NOTIFY statusChanged STORED false) + Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged STORED false) + Q_PROPERTY(bool autoReload MEMBER m_autoReload NOTIFY autoReloadChanged) + + Status status() const { return m_status; } + QString errorString() const { return m_errorString; } + + void setApiClient(ApiClient *newApiClient); + void setExtraFields(const QStringList &extraFields); +signals: + void statusChanged(Status newStatus); + void apiClientChanged(ApiClient *newApiClient); + void errorStringChanged(QString newErrorString); + void autoReloadChanged(bool newAutoReload); + void viewModelChanged(); + + /** + * @brief Convenience signal for status == RemoteData.Ready. + */ + void ready(); +public slots: + + /** + * @brief Overload this method to reimplement the fetching mechanism to + * populate the RemoteData with data from the server. + * + * The default implementation makes a GET request to getDataUrl() and parses the resulting JSON, + * which should be enough for most cases. Consider overriding getDataUrl() and + * canRelaod() if possible. Manual overrides need to make sure that + * they're calling setStatus(Status), setError(QNetworkReply::NetworkError) and + * setErrorString() to let the QML side know what this thing is up to. + */ + virtual void reload() {}; +protected: + /** + * @brief Subclasses should implement this to determine if they can + * load data from the server. + * + * Usage cases include checking if the + * required properties, such as the item id are set. + */ + virtual bool canReload() const; + + void setStatus(Status newStatus); + void setError(QNetworkReply::NetworkError error); + void setErrorString(const QString &newErrorString); + + void classBegin() override { + m_isParsing = true; + } + + void componentComplete() override { + m_isParsing = false; + if (canReload()) { + reload(); + } + } + ApiClient *m_apiClient = nullptr; +protected: + // Returns true if this class is instantiated within QML and is still being parsed. + bool isQmlParsing() const { return m_isParsing; } + void emitDataChanged(); +private: + Status m_status = Uninitialised; + QString m_errorString; + bool m_autoReload = true; + bool m_isParsing = false; +}; + +/** + * Class representing data from a remote source, meant to be instantiated from QML. + * + * Subclasses should do the following: + * - initialize m_loader with an appropiate loader + * - create properties that map to the parameters. + * - override canReload() + */ +template +class Loader : public LoaderBase { + using RFutureWatcher = QFutureWatcher>; +public: + Loader(QObject *parent = nullptr) + : LoaderBase(parent), + m_futureWatcher(new RFutureWatcher) { + m_dataViewModel = new T(this); + connect(m_futureWatcher, &RFutureWatcher::finished, this, &Loader::updateData()); + } + Loader(ApiClient *apiClient, QObject *parent = nullptr) + : LoaderBase(apiClient, parent), + m_futureWatcher(new QFutureWatcher>) { + m_dataViewModel = new T(this); + } + + T *dataViewModel() const { return m_dataViewModel; } + + void reload() override { + setStatus(Loading); + QFuture> future = QtConcurrent::run(this, &Loader::invokeLoader, m_parameters); + m_futureWatcher->setFuture(future); + } +protected: + T* m_dataViewModel; + P m_parameters; + /** + * @brief Subclasses should initialize this to a loader that actually loads stuff. + */ + Support::Loader m_loader; +private: + QFutureWatcher> *m_futureWatcher; + + /** + * @brief Callback for QtConcurrent::run() + * @param self Pointer to this class + * @param parameters Parameters to forward to the loader + * @return empty optional if an error occured, otherwise the result. + */ + std::optional invokeLoader(P parameters) { + try { + return this->m_loader.load(parameters); + } catch (Support::LoadException e) { + this->setErrorString(QString(e.what())); + return std::nullopt; + } + } + /** + * @brief Updates the data when finished. + */ + void updateData() { + std::optional newData = m_futureWatcher->result(); + if (newData.has_value()) { + if (newData.sameAs(*m_dataViewModel->data())) { + // Replace the data the model holds + m_dataViewModel->data()->replaceData(*newData); + } else { + // Replace the model + m_dataViewModel->setData(QSharedPointer::create(*newData, m_apiClient)); + } + setStatus(Ready); + emitDataChanged(); + } else { + setStatus(Error); + } + } +}; + +void registerRemoteTypes(const char *uri); + +} // NS ViewModel +} // NS Jellyfin + +#endif // JELLYFIN_DTO_DTO_H diff --git a/core/include/JellyfinQt/playbackmanager.h b/core/include/JellyfinQt/viewmodel/playbackmanager.h similarity index 85% rename from core/include/JellyfinQt/playbackmanager.h rename to core/include/JellyfinQt/viewmodel/playbackmanager.h index c48d269..12886ed 100644 --- a/core/include/JellyfinQt/playbackmanager.h +++ b/core/include/JellyfinQt/viewmodel/playbackmanager.h @@ -1,24 +1,23 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef JELLYFIN_MEDIA_SOURCE_H -#define JELLYFIN_MEDIA_SOURCE_H + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#ifndef JELLYFIN_VIEWMODEL_PLAYBACKMANAGER_H +#define JELLYFIN_VIEWMODEL_PLAYBACKMANAGER_H #include #include @@ -34,11 +33,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include -#include -#include "support/jsonconv.h" -#include "model/item.h" +#include "../dto/baseitemdto.h" +#include "../support/jsonconv.h" +#include "../viewmodel/item.h" -#include "apiclient.h" +#include "../apiclient.h" namespace Jellyfin { @@ -48,6 +47,7 @@ class ApiClient; class ItemModel; class RemoteItem; +namespace ViewModel { /** * @brief The PlaybackManager class manages the playback of Jellyfin items. It fetches streams based on Jellyfin items, posts @@ -93,7 +93,7 @@ public: Q_PROPERTY(QMediaPlayer::State playbackState READ playbackState NOTIFY playbackStateChanged) Q_PROPERTY(qint64 position READ position NOTIFY positionChanged) - Model::Item *item() const { return m_item; } + Model::Item *item() const { return m_item.data(); } void setApiClient(ApiClient *apiClient); QString streamUrl() const { return m_streamUrl; } @@ -167,7 +167,7 @@ private slots: private: QTimer m_updateTimer; ApiClient *m_apiClient = nullptr; - Model::Item *m_item; + QSharedPointer m_item; QString m_streamUrl; QString m_playSessionId; int m_audioIndex = 0; @@ -187,7 +187,7 @@ private: int m_queueIndex = 0; bool m_resumePlayback = true; - void setItem(Model::Item *newItem); + void setItem(ViewModel::Item *newItem); void swapMediaPlayer(); bool m_qmlIsParsingComponent = false; @@ -225,6 +225,7 @@ private: void componentComplete() override; }; -} +} // NS ViewModel +} // NS Jellyfin -#endif // JELLYFIN_MEDIA_SOURCE_H +#endif // JELLYFIN_VIEWMODEL_PLAYBACKMANAGER_H diff --git a/core/openapigenerator.d b/core/openapigenerator.d index 13f1d7b..4cc1b1b 100755 --- a/core/openapigenerator.d +++ b/core/openapigenerator.d @@ -29,9 +29,11 @@ string COPYRIGHT = q"EOL EOL"; import std.algorithm; import std.array; +import std.conv; import std.file : mkdirRecurse; import std.exception; import std.path : buildPath, dirSeparator; +import std.parallelism : parallel; import std.range; import std.string; import std.stdio; @@ -65,24 +67,25 @@ string CMAKE_VAR_PREFIX = "openapi"; string INCLUDE_PREFIX = "JellyfinQt"; string SRC_PREFIX = ""; -string MODEL_FOLDER = "DTO"; +string MODEL_FOLDER = "dto"; string SUPPORT_FOLDER = "support"; +string LOADER_FOLDER = "loader"; +string HTTP_LOADER_FOLDER = buildPath("loader", "http"); string[string] compatAliases; string[string] memberAliases; static this() { - /*compatAliases["BaseItemDto"] = "Item"; - compatAliases["UserDto"] = "User"; - compatAliases["UserItemDataDto"] = "UserData";*/ - memberAliases["id"] = "jellyfinId"; + memberAliases["static"] = "staticStreaming"; } CasePolicy OPENAPI_CASING = CasePolicy.PASCAL; static immutable string[1] CPP_NAMESPACE = ["Jellyfin"]; static immutable string[2] CPP_NAMESPACE_DTO = ["Jellyfin", "DTO"]; static immutable string[2] CPP_NAMESPACE_SUPPORT = ["Jellyfin", "Support"]; +static immutable string[2] CPP_NAMESPACE_LOADER = ["Jellyfin", "Loader"]; +static immutable string[3] CPP_NAMESPACE_LOADER_HTTP = ["Jellyfin", "Loader", "HTTP"]; CasePolicy CPP_FILENAME_CASING = CasePolicy.LOWER; CasePolicy CPP_CLASS_CASING = CasePolicy.PASCAL; @@ -129,23 +132,54 @@ void realMain(string[] args) { if (args.length >= 3) outputDirectory = args[2]; mkdirRecurse(buildPath(outputDirectory, "include", INCLUDE_PREFIX, MODEL_FOLDER)); + mkdirRecurse(buildPath(outputDirectory, "include", INCLUDE_PREFIX, HTTP_LOADER_FOLDER)); mkdirRecurse(buildPath(outputDirectory, "src", SRC_PREFIX, MODEL_FOLDER)); + mkdirRecurse(buildPath(outputDirectory, "src", SRC_PREFIX, HTTP_LOADER_FOLDER)); Node root = Loader.fromFile(schemeFile).load(); Appender!(string[]) headerFiles, implementationFiles; + foreach(string key, ref const Node scheme; root["components"]["schemas"]) { - generateFileForSchema(key, scheme, root["components"]["schemas"]); - string fileBase = key.applyCasePolicy(OPENAPI_CASING, CPP_FILENAME_CASING); - headerFiles ~= [buildPath(outputDirectory, "include", INCLUDE_PREFIX, MODEL_FOLDER, fileBase ~ ".h")]; - implementationFiles ~= [buildPath(outputDirectory, "src", SRC_PREFIX, MODEL_FOLDER, fileBase ~ ".cpp")]; + string headerFileName = buildPath(outputDirectory, "include", INCLUDE_PREFIX, MODEL_FOLDER, fileBase ~ ".h"); + string implementationFileName = buildPath(outputDirectory, "src", SRC_PREFIX, MODEL_FOLDER, fileBase ~ ".cpp"); + + headerFiles ~= [headerFileName]; + implementationFiles ~= [implementationFileName]; + + File headerFile = File(headerFileName, "w+"); + File implementationFile = File(implementationFileName, "w+"); + + generateFileForSchema(key, scheme, root["components"]["schemas"], headerFile, implementationFile); } - foreach(string original, string compatAlias; compatAliases) { - writeCompatAliasFile(original, compatAlias); + + Appender!(Endpoint[]) endpoints; + foreach(string path, ref const Node operations; root["paths"]) { + foreach (string operation, ref const Node endpoint; operations) { + string fileBase = endpoint["operationId"].as!string.applyCasePolicy(OPENAPI_CASING, CPP_FILENAME_CASING); + string headerFileName = buildPath(outputDirectory, "include", INCLUDE_PREFIX, HTTP_LOADER_FOLDER, fileBase ~ ".h"); + string implementationFileName = buildPath(outputDirectory, "src", SRC_PREFIX, HTTP_LOADER_FOLDER, fileBase ~ ".cpp"); + + headerFiles ~= [headerFileName]; + implementationFiles ~= [implementationFileName]; + + File headerFile = File(headerFileName, "w+"); + File implementationFile = File(implementationFileName, "w+"); + generateFileForEndpoint(path, operation, endpoint, root["components"]["schemas"], headerFile, implementationFile, endpoints); + } } + string typesHeaderPath = buildPath(outputDirectory, "include", INCLUDE_PREFIX, LOADER_FOLDER, "requesttypes.h"); + File typesHeader = File(typesHeaderPath, "w+"); + implementationFiles ~= [typesHeaderPath]; + + writeRequestTypesFile(typesHeader, endpoints[]); + writeCMakeFile(headerFiles[], implementationFiles[]); } +/** + * Writes a CMake file that includes the specified files. + */ void writeCMakeFile(string[] headerFiles, string[] implementationFiles) { File output = File(buildPath(outputDirectory, CMAKE_INCLUDE_FILE), "w+"); output.writeln("cmake_minimum_required(VERSION 3.0)"); @@ -171,20 +205,188 @@ void writeCMakeFile(string[] headerFiles, string[] implementationFiles) { output.writeln(")"); } -void writeCompatAliasFile(ref const string original, ref const string compatAlias) { - string fileBase = compatAlias.applyCasePolicy(OPENAPI_CASING, CPP_FILENAME_CASING); - File headerFile = File(buildPath(outputDirectory, "include", INCLUDE_PREFIX, MODEL_FOLDER, fileBase ~ ".h"), "w+"); - File implementationFile = File(buildPath(outputDirectory, "src", SRC_PREFIX, MODEL_FOLDER, fileBase ~ ".cpp"), "w+"); +void writeRequestTypesFile(R)(File headerFile, R endpoints) if(is(ElementType!R : Endpoint)) { - writeHeaderPreamble(headerFile, CPP_NAMESPACE_DTO, compatAlias, [], [original]); - headerFile.writefln("using %s = %s;", compatAlias, original); - writeHeaderPostamble(headerFile, CPP_NAMESPACE_DTO, compatAlias); + string[] collectImports(R range, bool function(MetaTypeInfo) predicate) { + return endpoints + // Create a list of all parameter types used + .map!(e => e.parameters) + .joiner + .map!(e => e.type) + // Weed out container types + .map!((MetaTypeInfo e) { + if (e.isContainer) { + MetaTypeInfo c = e.containerType; + while (c.isContainer) { + c = c.containerType; + } + return c; + } else { + return e; + } + }) + // Filter out the ones we need according to the predicate + .filter!predicate + // Map MetaTypeInfo -> typename: string + .map!(e => e.typeName) + // Filter out qint32 etc + .filter!(e => !e.startsWith("qint")) + // Sort and filter out duplicates + .array + .sort + .uniq + .array; + } + + RequestParameter[] getParameters(RequestParameter[] params, bool function(RequestParameter) pred) { + return params + .filter!pred + .array + .sort!((a, b) => a.name > b.name) + .array + .array; + } + + string[] systemImports = collectImports(endpoints, e => e.needsSystemImport) + ~ ["QList", "optional"]; + string[] userImports = collectImports(endpoints, e => e.needsLocalImport) + .map!(e => buildPath(MODEL_FOLDER, e.applyCasePolicy(CasePolicy.PASCAL, CasePolicy.LOWER) ~ ".h")) + .array; + + headerFile.writeHeaderPreamble(CPP_NAMESPACE_LOADER, "RequestTypes", systemImports, userImports); + + struct EndpointController { + string name; + RequestParameter[] requiredPathParameters = []; + RequestParameter[] optionalPathParameters = []; + RequestParameter[] requiredQueryParameters = []; + RequestParameter[] optionalQueryParameters = []; + RequestParameter[] requiredParameters = []; + RequestParameter[] optionalParameters = []; + RequestParameter[] parameters = []; + } + + struct Controller { + EndpointController[] endpoints; + string dtoNamespace = namespaceString!CPP_NAMESPACE_DTO; + } + + Controller controller; + + foreach(endpoint; endpoints) { + EndpointController endpointController; + endpointController.name = endpoint.parameterType; + endpointController.requiredPathParameters = + getParameters(endpoint.parameters, (e => e.required && e.location == ParameterLocation.PATH)); + endpointController.optionalPathParameters = + getParameters(endpoint.parameters, (e => !e.required && e.location == ParameterLocation.PATH)); + endpointController.requiredQueryParameters = + getParameters(endpoint.parameters, (e => e.required && e.location == ParameterLocation.QUERY)); + endpointController.optionalQueryParameters = + getParameters(endpoint.parameters, (e => !e.required && e.location == ParameterLocation.QUERY)); + with (endpointController) { + parameters = requiredPathParameters ~ requiredQueryParameters ~ optionalPathParameters ~ optionalQueryParameters; + + requiredParameters = requiredPathParameters ~ requiredQueryParameters; + optionalParameters = optionalPathParameters ~ optionalQueryParameters; + } + controller.endpoints ~= [endpointController]; + } + headerFile.writeln(render!(import("loader_types_header.hbs"), Controller)(controller)); + headerFile.writeHeaderPostamble(CPP_NAMESPACE_LOADER, "RequestTypes"); } -void generateFileForSchema(ref string name, ref const Node scheme, Node allSchemas) { - string fileBase = name.applyCasePolicy(OPENAPI_CASING, CPP_FILENAME_CASING); - File headerFile = File(buildPath(outputDirectory, "include", INCLUDE_PREFIX, MODEL_FOLDER, fileBase ~ ".h"), "w+"); - File implementationFile = File(buildPath(outputDirectory, "src", SRC_PREFIX, MODEL_FOLDER, fileBase ~ ".cpp"), "w+"); +/** + * Generates files for endpoins + * Params: + * path = Path of the endpoint, for example "/foo/{barId}/baz"; + * operation = HTTP method, like "get", "post", ... + * endpointNode = YAML node representing the endpoint. + * allSchemas = YAML node containing the schemas that values in the endpointNOde could reference. + * headerFile = File to write the header (.h) file to + * implementationFile = File to write the implementation (.cpp) file to. + * endpoints = Appender to add any requestParameters encountered to. + */ +void generateFileForEndpoint(ref const string path, ref const string operation, ref const Node endpointNode, + ref const Node allSchemas, ref scope File headerFile, ref scope File implementationFile, + ref scope Appender!(Endpoint[]) endpoints) { + + string name = endpointNode["operationId"].as!string; + + Endpoint endpoint = new Endpoint(); + endpoint.parameterType = name ~ "Params"; + endpoint.description = endpointNode.getOr!string("summary", ""); + + string[] systemImports = ["optional"]; + string[] userImports = [buildPath(SUPPORT_FOLDER, "loader.h"), "apiclient.h", buildPath(LOADER_FOLDER, "requesttypes.h")]; + + // Find the most likely result response. + foreach(string code, const Node response; endpointNode["responses"]) { + int codeNo = to!int(code); + if ([200, 201].canFind(codeNo)) { + foreach(string contentType, const Node content; response["content"]) { + if (contentType == "application/json") { + if ("$ref" in content["schema"]) { + endpoint.hasSuccessResponse = true; + string reference = content["schema"]["$ref"].as!string.chompPrefix("#/components/schemas/"); + endpoint.resultIsReference = true; + endpoint.resultType = reference; + string importFile = reference.applyCasePolicy(CasePolicy.PASCAL, CasePolicy.LOWER) ~ ".h"; + userImports ~= [buildPath(MODEL_FOLDER, importFile)]; + } else { + endpoint.resultIsReference = false; + } + } + } + } + } + + // Build the parameter structure. + if ("parameters" in endpointNode && endpointNode["parameters"].length > 0) { + foreach (ref const Node yamlParameter; endpointNode["parameters"]) { + RequestParameter param = new RequestParameter(); + param.name = yamlParameter["name"].as!string; + param.required = yamlParameter.getOr!bool("required", false); + param.description = yamlParameter.getOr!string("description", ""); + param.type = getType(param.name, yamlParameter["schema"], allSchemas); + switch(yamlParameter["in"].as!string.toLower) { + case "path": + param.location = ParameterLocation.PATH; + break; + case "query": + param.location = ParameterLocation.QUERY; + break; + default: + assert(false); + } + endpoint.parameters ~= [param]; + } + } + + endpoints ~= [endpoint]; + + // Render templates + class Controller { + string className; + //MetaTypeInfo[] properties; + string supportNamespace = namespaceString!CPP_NAMESPACE_SUPPORT; + string dtoNamespace = namespaceString!CPP_NAMESPACE_DTO; + string responseType = "void"; + string parameterType = "void"; + Endpoint endpoint; + } + Controller controller = new Controller(); + controller.className = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_CASING); + controller.endpoint = endpoint; + //controller.properties = properties; + + writeHeaderPreamble(headerFile, CPP_NAMESPACE_LOADER_HTTP, name, systemImports, userImports); + headerFile.writeln(render!(import("loader_header.hbs"), Controller)(controller)); + writeHeaderPostamble(headerFile, CPP_NAMESPACE_LOADER_HTTP, name); +} + +void generateFileForSchema(ref const string name, ref const Node scheme, Node allSchemas, + ref scope File headerFile, ref scope File implementationFile) { if ("enum" in scheme) { string[3] imports = ["QJsonValue", "QObject", "QString"]; @@ -210,6 +412,7 @@ void generateFileForSchema(ref string name, ref const Node scheme, Node allSchem userImports ~= [buildPath(SUPPORT_FOLDER, "jsonconv.h")]; MetaTypeInfo[] usedTypes = collectTypeInfo(scheme["properties"], allSchemas); + usedTypes[$-1].isLast = true; bool importedContainers = false; void collectImports(MetaTypeInfo type) { if (type.needsPointer && !systemImports[].canFind("QSharedPointer")) { @@ -256,119 +459,124 @@ void generateFileForSchema(ref string name, ref const Node scheme, Node allSchem } // Object -MetaTypeInfo[] collectTypeInfo(Node properties, Node allSchemas) { - // We need to recurse (sometimes) - MetaTypeInfo getType(string name, Node node) { - MetaTypeInfo info = new MetaTypeInfo(); - info.originalName = name; - info.name = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_MEMBER_CASING); - if ("description" in node) { - info.description = node["description"].as!string; - } - - // Special case for QML - info.name = memberAliases.get(info.name.toLower(), info.name); - - if ("$ref" in node) { - string type = node["$ref"].as!string()["#/components/schemas/".length..$]; - if (type in allSchemas&& "type" in allSchemas[type] - && allSchemas[type]["type"].as!string == "object") { - info.needsPointer = true; - info.isTypeNullable = true; - info.typeNullableCheck = ".isNull()"; - info.typeNullableSetter = ".clear()"; - } - - info.needsLocalImport = true; - info.typeName = type; - return info; - } - if (!("type" in node)) { - info.typeName = "QVariant"; - info.isTypeNullable = true; - info.needsSystemImport = true; - info.typeNullableCheck = ".isNull()"; - info.typeNullableSetter = ".clear()"; - return info; - } - switch(node["type"].as!string) { - case "boolean": - info.typeName = "bool"; - return info; - case "string": - if ("format" in node) { - switch(node["format"].as!string) { - case "date-time": - info.typeName= "QDateTime"; - info.needsSystemImport = true; - info.isTypeNullable = true; - info.typeNullableCheck = ".isNull()"; - info.typeNullableSetter = "= QDateTime()"; - return info; - case "uuid": - info.typeName = "QUuid"; - info.needsSystemImport = true; - info.isTypeNullable = true; - info.typeNullableCheck = ".isNull()"; - info.typeNullableSetter = "= QGuid()"; - return info; - default: - break; - } - } - info.isTypeNullable = true; - info.typeName= "QString"; - info.needsSystemImport = true; - info.typeNullableCheck = ".isNull()"; - info.typeNullableSetter = ".clear()"; - return info; - case "integer": - if ("format" in node) { - info.typeName= "q" ~ node["format"].as!string; - return info; - } - goto default; - case "number": - if ("format" in node) { - switch(node["format"].as!string) { - case "float": - case "double": - info.typeName = node["format"].as!string; - return info; - default: - break; - } - } - goto default; - case "object": - info.typeName = "QJsonObject"; // This'll do for now - return info; - case "array": - MetaTypeInfo containedType = getType("arrayItem", node["items"]); - info.needsLocalImport = containedType.needsLocalImport; - info.needsSystemImport = true; - info.isContainer = true; - info.containerType = containedType; - info.isTypeNullable = true; - info.typeNullableCheck = ".size() == 0"; - info.typeNullableSetter = ".clear()"; - if (containedType.typeName == "QString") { - info.typeName = "QStringList"; - } else { - info.typeName = "QList<" ~ containedType.typeNameWithQualifiers ~ ">"; - } - return info; - default: - info.typeName = "UNIMPLEMENTED"; - return info; - } +// We need to recurse (sometimes) +MetaTypeInfo getType(ref string name, const ref Node node, const ref Node allSchemas) { + MetaTypeInfo info = new MetaTypeInfo(); + info.originalName = name; + info.name = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_MEMBER_CASING); + if ("description" in node) { + info.description = node["description"].as!string; } + // Special case for QML + info.name = memberAliases.get(info.name.toLower(), info.name); + info.isNullable = node.getOr("nullable", false); + + if ("$ref" in node) { + string type = node["$ref"].as!string()["#/components/schemas/".length..$]; + if (type in allSchemas&& "type" in allSchemas[type] + && allSchemas[type]["type"].as!string == "object") { + info.needsPointer = true; + info.isTypeNullable = true; + info.typeNullableCheck = ".isNull()"; + info.typeNullableSetter = ".clear()"; + } + + info.needsLocalImport = true; + info.typeName = type; + return info; + } + if (!("type" in node)) { + info.typeName = "QVariant"; + info.isTypeNullable = true; + info.needsSystemImport = true; + info.typeNullableCheck = ".isNull()"; + info.typeNullableSetter = ".clear()"; + return info; + } + switch(node["type"].as!string) { + case "boolean": + info.typeName = "bool"; + return info; + case "string": + if ("format" in node) { + switch(node["format"].as!string) { + case "date-time": + info.typeName= "QDateTime"; + info.needsSystemImport = true; + info.isTypeNullable = true; + info.typeNullableCheck = ".isNull()"; + info.typeNullableSetter = "= QDateTime()"; + return info; + /+case "uuid": + info.typeName = "QUuid"; + info.needsSystemImport = true; + info.isTypeNullable = true; + info.typeNullableCheck = ".isNull()"; + info.typeNullableSetter = "= QGuid()"; + return info;+/ + default: + break; + } + } + info.isTypeNullable = true; + info.typeName= "QString"; + info.needsSystemImport = true; + info.typeNullableCheck = ".isNull()"; + info.typeNullableSetter = ".clear()"; + return info; + case "integer": + if ("format" in node) { + info.typeName= "q" ~ node["format"].as!string; + return info; + } + goto default; + case "number": + if ("format" in node) { + switch(node["format"].as!string) { + case "float": + case "double": + info.typeName = node["format"].as!string; + return info; + default: + break; + } + } + goto default; + case "object": + info.typeName = "QJsonObject"; // This'll do for now + return info; + case "array": + string containedTypeName = "arrayItem"; + MetaTypeInfo containedType = getType(containedTypeName, node["items"], allSchemas); + info.needsLocalImport = containedType.needsLocalImport; + info.needsSystemImport = true; + info.isContainer = true; + info.containerType = containedType; + info.isTypeNullable = true; + info.typeNullableCheck = ".size() == 0"; + info.typeNullableSetter = ".clear()"; + if (containedType.typeName == "QString") { + info.typeName = "QStringList"; + } else { + info.typeName = "QList<" ~ containedType.typeNameWithQualifiers ~ ">"; + } + return info; + default: + info.typeName = "UNIMPLEMENTED"; + return info; + } +} + +/** + * Given a list of JSON schemes, this will generate a list of MetaTypeInfo[] + */ +MetaTypeInfo[] collectTypeInfo(const ref Node properties, const ref Node allSchemas) { Appender!(MetaTypeInfo[]) result; - foreach(const ref string name, const ref Node node; properties) { - result ~= getType(name, node); + foreach(ref string name, const ref Node node; properties) { + result ~= getType(name, node, allSchemas); } return result[]; } @@ -454,7 +662,7 @@ void writeHeaderPreamble(File output, immutable string[] fileNamespace, string c void writeHeaderPostamble(File output, immutable string[] fileNamespace, string className) { output.writeln(); - foreach(namespace; fileNamespace) { + foreach_reverse(namespace; fileNamespace) { output.writefln("} // NS %s", namespace); } output.writeln(); @@ -479,13 +687,21 @@ void writeImplementationPreamble(File output, immutable string[] fileNamespace, void writeImplementationPostamble(File output, immutable string[] fileNamespace, string className) { output.writeln(); - foreach(namespace; fileNamespace) { + foreach_reverse(namespace; fileNamespace) { output.writefln("} // NS %s", namespace); } } // Helper functions + +/** + * Transforsm the given string from the input casing system to the ouptut casing system. + * + * Params: + * source = The string to transform + * + */ string applyCasePolicy(string source, CasePolicy input, CasePolicy output) { if (input == output) return source; switch(output) { @@ -543,6 +759,10 @@ string applyCasePolicy(string source, CasePolicy input, CasePolicy output) { } } +unittest { + assert("fooBar".applyCasePolicy(CasePolicy.CAMEL, CasePolicy.SNAKE) == "foo_bar"); +} + class MetaTypeInfo { public: string originalName = ""; @@ -564,6 +784,9 @@ public: /// If `isContainer` is true, the type of the container. MetaTypeInfo containerType = null; + /// For use in templating + bool isLast = false; + string writeName() { return name.applyCasePolicy(CPP_CLASS_MEMBER_CASING, CasePolicy.PASCAL); } @@ -575,6 +798,9 @@ public: string typeNameWithQualifiers() { if (needsPointer) { return "QSharedPointer<" ~ typeName~ ">"; + } + if (needsOptional) { + return "std::optional<" ~ typeName ~ ">"; } else { return typeName; } @@ -587,7 +813,7 @@ public: string typeNullableCheck; string nullableCheck() { if (typeNullableCheck.length > 0) { - return memberName ~ "." ~ typeNullableCheck; + return memberName ~ typeNullableCheck; } if (needsOptional) { return "!" ~ memberName ~ ".has_value()"; @@ -598,10 +824,10 @@ public: string typeNullableSetter = ""; string nullableSetter() { if (needsOptional) { - return memberName ~ "= std::nullopt"; + return " = std::nullopt"; } if (typeNullableSetter.startsWith("=")) { - return memberName ~ typeNullableSetter; + return typeNullableSetter; } else { return typeNullableSetter; } @@ -614,12 +840,52 @@ public: } } +class Endpoint { + bool resultIsReference = false; + bool hasSuccessResponse = false; + string resultType; + string parameterType = "void"; + + string description; + + string method; + + RequestParameter[] parameters = []; +} + +enum ParameterLocation { + PATH, + QUERY +} + +class RequestParameter { + string name; + ParameterLocation location; + bool required; + string description; + MetaTypeInfo type; +} + +/** + * Generates a guard name based on a namespace and class name. + * + * Params: + * namespace = Array of namespaces this class is in. + * className = The name of this class (or enum or whatever). + */ string guardName(immutable string[] namespace, string className) { return namespace.map!toUpper().join("_") ~ "_" ~ className.applyCasePolicy(OPENAPI_CASING, CasePolicy.UPPER) ~ "_H"; } +unittest { + assert(guardName(["foo", "bar", "Baz"] == "FOO_BAR_BAZ_H") +} + +/** + * Converts a string array of namespaces into a C++ namespace string. + */ string namespaceString(string[] name)() { string result; static foreach(idx, part; name) { @@ -630,3 +896,34 @@ string namespaceString(string[] name)() { } return result; } + +/// Ditto +string namespaceString(immutable string[] name) { + string result; + foreach(idx, part; name) { + if (idx != 0) { + result ~= "::"; + } + result ~= part; + } + return result; +} + +unittest { + assert(namespaceString!["foo", "bar"] == "foo::bar"); +} + +/** + * Retrieves the given key from the node, if it does not exists, returns the or parameter. + */ +T getOr(T)(const ref Node node, string key, T or) { + if (key in node) { + try { + return node[key].get!T; + } catch (Exception e) { + return or; + } + } else { + return or; + } +} diff --git a/core/src/DTO/accessschedule.cpp b/core/src/DTO/accessschedule.cpp index 7a385b8..ab82166 100644 --- a/core/src/DTO/accessschedule.cpp +++ b/core/src/DTO/accessschedule.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { AccessSchedule::AccessSchedule() {} +AccessSchedule::AccessSchedule(const AccessSchedule &other) : + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_dayOfWeek(other.m_dayOfWeek), + m_startHour(other.m_startHour), + m_endHour(other.m_endHour){} AccessSchedule AccessSchedule::fromJson(QJsonObject source) { AccessSchedule instance; diff --git a/core/src/DTO/activitylogentry.cpp b/core/src/DTO/activitylogentry.cpp index 2270e83..c692761 100644 --- a/core/src/DTO/activitylogentry.cpp +++ b/core/src/DTO/activitylogentry.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { ActivityLogEntry::ActivityLogEntry() {} +ActivityLogEntry::ActivityLogEntry(const ActivityLogEntry &other) : + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_overview(other.m_overview), + m_shortOverview(other.m_shortOverview), + m_type(other.m_type), + m_itemId(other.m_itemId), + m_date(other.m_date), + m_userId(other.m_userId), + m_userPrimaryImageTag(other.m_userPrimaryImageTag), + m_severity(other.m_severity){} ActivityLogEntry ActivityLogEntry::fromJson(QJsonObject source) { ActivityLogEntry instance; diff --git a/core/src/DTO/activitylogentryqueryresult.cpp b/core/src/DTO/activitylogentryqueryresult.cpp index 77d2cd3..af60ea5 100644 --- a/core/src/DTO/activitylogentryqueryresult.cpp +++ b/core/src/DTO/activitylogentryqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ActivityLogEntryQueryResult::ActivityLogEntryQueryResult() {} +ActivityLogEntryQueryResult::ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} ActivityLogEntryQueryResult ActivityLogEntryQueryResult::fromJson(QJsonObject source) { ActivityLogEntryQueryResult instance; diff --git a/core/src/DTO/addvirtualfolderdto.cpp b/core/src/DTO/addvirtualfolderdto.cpp index b045679..fa1bb63 100644 --- a/core/src/DTO/addvirtualfolderdto.cpp +++ b/core/src/DTO/addvirtualfolderdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { AddVirtualFolderDto::AddVirtualFolderDto() {} +AddVirtualFolderDto::AddVirtualFolderDto(const AddVirtualFolderDto &other) : + m_libraryOptions(other.m_libraryOptions){} AddVirtualFolderDto AddVirtualFolderDto::fromJson(QJsonObject source) { AddVirtualFolderDto instance; diff --git a/core/src/DTO/albuminfo.cpp b/core/src/DTO/albuminfo.cpp index 032e99a..e635baf 100644 --- a/core/src/DTO/albuminfo.cpp +++ b/core/src/DTO/albuminfo.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { AlbumInfo::AlbumInfo() {} +AlbumInfo::AlbumInfo(const AlbumInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_albumArtists(other.m_albumArtists), + m_artistProviderIds(other.m_artistProviderIds), + m_songInfos(other.m_songInfos){} AlbumInfo AlbumInfo::fromJson(QJsonObject source) { AlbumInfo instance; diff --git a/core/src/DTO/albuminforemotesearchquery.cpp b/core/src/DTO/albuminforemotesearchquery.cpp index a7c05dc..9246cfc 100644 --- a/core/src/DTO/albuminforemotesearchquery.cpp +++ b/core/src/DTO/albuminforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery() {} +AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} AlbumInfoRemoteSearchQuery AlbumInfoRemoteSearchQuery::fromJson(QJsonObject source) { AlbumInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/allthememediaresult.cpp b/core/src/DTO/allthememediaresult.cpp index 92bd8bc..7362315 100644 --- a/core/src/DTO/allthememediaresult.cpp +++ b/core/src/DTO/allthememediaresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { AllThemeMediaResult::AllThemeMediaResult() {} +AllThemeMediaResult::AllThemeMediaResult(const AllThemeMediaResult &other) : + m_themeVideosResult(other.m_themeVideosResult), + m_themeSongsResult(other.m_themeSongsResult), + m_soundtrackSongsResult(other.m_soundtrackSongsResult){} AllThemeMediaResult AllThemeMediaResult::fromJson(QJsonObject source) { AllThemeMediaResult instance; diff --git a/core/src/DTO/artistinfo.cpp b/core/src/DTO/artistinfo.cpp index dd075eb..d838824 100644 --- a/core/src/DTO/artistinfo.cpp +++ b/core/src/DTO/artistinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { ArtistInfo::ArtistInfo() {} +ArtistInfo::ArtistInfo(const ArtistInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_songInfos(other.m_songInfos){} ArtistInfo ArtistInfo::fromJson(QJsonObject source) { ArtistInfo instance; diff --git a/core/src/DTO/artistinforemotesearchquery.cpp b/core/src/DTO/artistinforemotesearchquery.cpp index 3241e97..d0c0e54 100644 --- a/core/src/DTO/artistinforemotesearchquery.cpp +++ b/core/src/DTO/artistinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery() {} +ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} ArtistInfoRemoteSearchQuery ArtistInfoRemoteSearchQuery::fromJson(QJsonObject source) { ArtistInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/authenticateuserbyname.cpp b/core/src/DTO/authenticateuserbyname.cpp index 608cba1..59f6f03 100644 --- a/core/src/DTO/authenticateuserbyname.cpp +++ b/core/src/DTO/authenticateuserbyname.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { AuthenticateUserByName::AuthenticateUserByName() {} +AuthenticateUserByName::AuthenticateUserByName(const AuthenticateUserByName &other) : + m_username(other.m_username), + m_pw(other.m_pw), + m_password(other.m_password){} AuthenticateUserByName AuthenticateUserByName::fromJson(QJsonObject source) { AuthenticateUserByName instance; diff --git a/core/src/DTO/authenticationinfo.cpp b/core/src/DTO/authenticationinfo.cpp index a9dfda3..1058332 100644 --- a/core/src/DTO/authenticationinfo.cpp +++ b/core/src/DTO/authenticationinfo.cpp @@ -33,6 +33,19 @@ namespace Jellyfin { namespace DTO { AuthenticationInfo::AuthenticationInfo() {} +AuthenticationInfo::AuthenticationInfo(const AuthenticationInfo &other) : + m_jellyfinId(other.m_jellyfinId), + m_accessToken(other.m_accessToken), + m_deviceId(other.m_deviceId), + m_appName(other.m_appName), + m_appVersion(other.m_appVersion), + m_deviceName(other.m_deviceName), + m_userId(other.m_userId), + m_isActive(other.m_isActive), + m_dateCreated(other.m_dateCreated), + m_dateRevoked(other.m_dateRevoked), + m_dateLastActivity(other.m_dateLastActivity), + m_userName(other.m_userName){} AuthenticationInfo AuthenticationInfo::fromJson(QJsonObject source) { AuthenticationInfo instance; diff --git a/core/src/DTO/authenticationinfoqueryresult.cpp b/core/src/DTO/authenticationinfoqueryresult.cpp index 6156a00..0e213b3 100644 --- a/core/src/DTO/authenticationinfoqueryresult.cpp +++ b/core/src/DTO/authenticationinfoqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { AuthenticationInfoQueryResult::AuthenticationInfoQueryResult() {} +AuthenticationInfoQueryResult::AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} AuthenticationInfoQueryResult AuthenticationInfoQueryResult::fromJson(QJsonObject source) { AuthenticationInfoQueryResult instance; diff --git a/core/src/DTO/authenticationresult.cpp b/core/src/DTO/authenticationresult.cpp index f03a822..68bde64 100644 --- a/core/src/DTO/authenticationresult.cpp +++ b/core/src/DTO/authenticationresult.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { AuthenticationResult::AuthenticationResult() {} +AuthenticationResult::AuthenticationResult(const AuthenticationResult &other) : + m_user(other.m_user), + m_sessionInfo(other.m_sessionInfo), + m_accessToken(other.m_accessToken), + m_serverId(other.m_serverId){} AuthenticationResult AuthenticationResult::fromJson(QJsonObject source) { AuthenticationResult instance; diff --git a/core/src/DTO/baseitem.cpp b/core/src/DTO/baseitem.cpp index e2e5fb0..bedf534 100644 --- a/core/src/DTO/baseitem.cpp +++ b/core/src/DTO/baseitem.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { BaseItem::BaseItem() {} +BaseItem::BaseItem(const BaseItem &other) : + m_size(other.m_size), + m_container(other.m_container), + m_dateLastSaved(other.m_dateLastSaved), + m_remoteTrailers(other.m_remoteTrailers), + m_isHD(other.m_isHD), + m_isShortcut(other.m_isShortcut), + m_shortcutPath(other.m_shortcutPath), + m_width(other.m_width), + m_height(other.m_height), + m_extraIds(other.m_extraIds), + m_supportsExternalTransfer(other.m_supportsExternalTransfer){} BaseItem BaseItem::fromJson(QJsonObject source) { BaseItem instance; diff --git a/core/src/DTO/baseitemdto.cpp b/core/src/DTO/baseitemdto.cpp index dca876e..e81727d 100644 --- a/core/src/DTO/baseitemdto.cpp +++ b/core/src/DTO/baseitemdto.cpp @@ -33,6 +33,158 @@ namespace Jellyfin { namespace DTO { BaseItemDto::BaseItemDto() {} +BaseItemDto::BaseItemDto(const BaseItemDto &other) : + m_name(other.m_name), + m_originalTitle(other.m_originalTitle), + m_serverId(other.m_serverId), + m_jellyfinId(other.m_jellyfinId), + m_etag(other.m_etag), + m_sourceType(other.m_sourceType), + m_playlistItemId(other.m_playlistItemId), + m_dateCreated(other.m_dateCreated), + m_dateLastMediaAdded(other.m_dateLastMediaAdded), + m_extraType(other.m_extraType), + m_airsBeforeSeasonNumber(other.m_airsBeforeSeasonNumber), + m_airsAfterSeasonNumber(other.m_airsAfterSeasonNumber), + m_airsBeforeEpisodeNumber(other.m_airsBeforeEpisodeNumber), + m_canDelete(other.m_canDelete), + m_canDownload(other.m_canDownload), + m_hasSubtitles(other.m_hasSubtitles), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_preferredMetadataCountryCode(other.m_preferredMetadataCountryCode), + m_supportsSync(other.m_supportsSync), + m_container(other.m_container), + m_sortName(other.m_sortName), + m_forcedSortName(other.m_forcedSortName), + m_video3DFormat(other.m_video3DFormat), + m_premiereDate(other.m_premiereDate), + m_externalUrls(other.m_externalUrls), + m_mediaSources(other.m_mediaSources), + m_criticRating(other.m_criticRating), + m_productionLocations(other.m_productionLocations), + m_path(other.m_path), + m_enableMediaSourceDisplay(other.m_enableMediaSourceDisplay), + m_officialRating(other.m_officialRating), + m_customRating(other.m_customRating), + m_channelId(other.m_channelId), + m_channelName(other.m_channelName), + m_overview(other.m_overview), + m_taglines(other.m_taglines), + m_genres(other.m_genres), + m_communityRating(other.m_communityRating), + m_cumulativeRunTimeTicks(other.m_cumulativeRunTimeTicks), + m_runTimeTicks(other.m_runTimeTicks), + m_playAccess(other.m_playAccess), + m_aspectRatio(other.m_aspectRatio), + m_productionYear(other.m_productionYear), + m_isPlaceHolder(other.m_isPlaceHolder), + m_number(other.m_number), + m_channelNumber(other.m_channelNumber), + m_indexNumber(other.m_indexNumber), + m_indexNumberEnd(other.m_indexNumberEnd), + m_parentIndexNumber(other.m_parentIndexNumber), + m_remoteTrailers(other.m_remoteTrailers), + m_providerIds(other.m_providerIds), + m_isHD(other.m_isHD), + m_isFolder(other.m_isFolder), + m_parentId(other.m_parentId), + m_type(other.m_type), + m_people(other.m_people), + m_studios(other.m_studios), + m_genreItems(other.m_genreItems), + m_parentLogoItemId(other.m_parentLogoItemId), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_localTrailerCount(other.m_localTrailerCount), + m_userData(other.m_userData), + m_recursiveItemCount(other.m_recursiveItemCount), + m_childCount(other.m_childCount), + m_seriesName(other.m_seriesName), + m_seriesId(other.m_seriesId), + m_seasonId(other.m_seasonId), + m_specialFeatureCount(other.m_specialFeatureCount), + m_displayPreferencesId(other.m_displayPreferencesId), + m_status(other.m_status), + m_airTime(other.m_airTime), + m_airDays(other.m_airDays), + m_tags(other.m_tags), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio), + m_artists(other.m_artists), + m_artistItems(other.m_artistItems), + m_album(other.m_album), + m_collectionType(other.m_collectionType), + m_displayOrder(other.m_displayOrder), + m_albumId(other.m_albumId), + m_albumPrimaryImageTag(other.m_albumPrimaryImageTag), + m_seriesPrimaryImageTag(other.m_seriesPrimaryImageTag), + m_albumArtist(other.m_albumArtist), + m_albumArtists(other.m_albumArtists), + m_seasonName(other.m_seasonName), + m_mediaStreams(other.m_mediaStreams), + m_videoType(other.m_videoType), + m_partCount(other.m_partCount), + m_mediaSourceCount(other.m_mediaSourceCount), + m_imageTags(other.m_imageTags), + m_backdropImageTags(other.m_backdropImageTags), + m_screenshotImageTags(other.m_screenshotImageTags), + m_parentLogoImageTag(other.m_parentLogoImageTag), + m_parentArtItemId(other.m_parentArtItemId), + m_parentArtImageTag(other.m_parentArtImageTag), + m_seriesThumbImageTag(other.m_seriesThumbImageTag), + m_imageBlurHashes(other.m_imageBlurHashes), + m_seriesStudio(other.m_seriesStudio), + m_parentThumbItemId(other.m_parentThumbItemId), + m_parentThumbImageTag(other.m_parentThumbImageTag), + m_parentPrimaryImageItemId(other.m_parentPrimaryImageItemId), + m_parentPrimaryImageTag(other.m_parentPrimaryImageTag), + m_chapters(other.m_chapters), + m_locationType(other.m_locationType), + m_isoType(other.m_isoType), + m_mediaType(other.m_mediaType), + m_endDate(other.m_endDate), + m_lockedFields(other.m_lockedFields), + m_trailerCount(other.m_trailerCount), + m_movieCount(other.m_movieCount), + m_seriesCount(other.m_seriesCount), + m_programCount(other.m_programCount), + m_episodeCount(other.m_episodeCount), + m_songCount(other.m_songCount), + m_albumCount(other.m_albumCount), + m_artistCount(other.m_artistCount), + m_musicVideoCount(other.m_musicVideoCount), + m_lockData(other.m_lockData), + m_width(other.m_width), + m_height(other.m_height), + m_cameraMake(other.m_cameraMake), + m_cameraModel(other.m_cameraModel), + m_software(other.m_software), + m_exposureTime(other.m_exposureTime), + m_focalLength(other.m_focalLength), + m_imageOrientation(other.m_imageOrientation), + m_aperture(other.m_aperture), + m_shutterSpeed(other.m_shutterSpeed), + m_latitude(other.m_latitude), + m_longitude(other.m_longitude), + m_altitude(other.m_altitude), + m_isoSpeedRating(other.m_isoSpeedRating), + m_seriesTimerId(other.m_seriesTimerId), + m_programId(other.m_programId), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_startDate(other.m_startDate), + m_completionPercentage(other.m_completionPercentage), + m_isRepeat(other.m_isRepeat), + m_episodeTitle(other.m_episodeTitle), + m_channelType(other.m_channelType), + m_audio(other.m_audio), + m_isMovie(other.m_isMovie), + m_isSports(other.m_isSports), + m_isSeries(other.m_isSeries), + m_isLive(other.m_isLive), + m_isNews(other.m_isNews), + m_isKids(other.m_isKids), + m_isPremiere(other.m_isPremiere), + m_timerId(other.m_timerId), + m_currentProgram(other.m_currentProgram){} BaseItemDto BaseItemDto::fromJson(QJsonObject source) { BaseItemDto instance; diff --git a/core/src/DTO/baseitemdtoqueryresult.cpp b/core/src/DTO/baseitemdtoqueryresult.cpp index 884256d..41c5580 100644 --- a/core/src/DTO/baseitemdtoqueryresult.cpp +++ b/core/src/DTO/baseitemdtoqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { BaseItemDtoQueryResult::BaseItemDtoQueryResult() {} +BaseItemDtoQueryResult::BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} BaseItemDtoQueryResult BaseItemDtoQueryResult::fromJson(QJsonObject source) { BaseItemDtoQueryResult instance; diff --git a/core/src/DTO/baseitemperson.cpp b/core/src/DTO/baseitemperson.cpp index 1ce2bbb..f66328e 100644 --- a/core/src/DTO/baseitemperson.cpp +++ b/core/src/DTO/baseitemperson.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { BaseItemPerson::BaseItemPerson() {} +BaseItemPerson::BaseItemPerson(const BaseItemPerson &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_role(other.m_role), + m_type(other.m_type), + m_primaryImageTag(other.m_primaryImageTag), + m_imageBlurHashes(other.m_imageBlurHashes){} BaseItemPerson BaseItemPerson::fromJson(QJsonObject source) { BaseItemPerson instance; diff --git a/core/src/DTO/bookinfo.cpp b/core/src/DTO/bookinfo.cpp index ec445a2..e3ab926 100644 --- a/core/src/DTO/bookinfo.cpp +++ b/core/src/DTO/bookinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { BookInfo::BookInfo() {} +BookInfo::BookInfo(const BookInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_seriesName(other.m_seriesName){} BookInfo BookInfo::fromJson(QJsonObject source) { BookInfo instance; diff --git a/core/src/DTO/bookinforemotesearchquery.cpp b/core/src/DTO/bookinforemotesearchquery.cpp index a8eec5c..8a4b527 100644 --- a/core/src/DTO/bookinforemotesearchquery.cpp +++ b/core/src/DTO/bookinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery() {} +BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} BookInfoRemoteSearchQuery BookInfoRemoteSearchQuery::fromJson(QJsonObject source) { BookInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/boxsetinfo.cpp b/core/src/DTO/boxsetinfo.cpp index ed8623b..515003b 100644 --- a/core/src/DTO/boxsetinfo.cpp +++ b/core/src/DTO/boxsetinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { BoxSetInfo::BoxSetInfo() {} +BoxSetInfo::BoxSetInfo(const BoxSetInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} BoxSetInfo BoxSetInfo::fromJson(QJsonObject source) { BoxSetInfo instance; diff --git a/core/src/DTO/boxsetinforemotesearchquery.cpp b/core/src/DTO/boxsetinforemotesearchquery.cpp index 3418687..e8f8284 100644 --- a/core/src/DTO/boxsetinforemotesearchquery.cpp +++ b/core/src/DTO/boxsetinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery() {} +BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} BoxSetInfoRemoteSearchQuery BoxSetInfoRemoteSearchQuery::fromJson(QJsonObject source) { BoxSetInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/brandingoptions.cpp b/core/src/DTO/brandingoptions.cpp index 091337b..cebea83 100644 --- a/core/src/DTO/brandingoptions.cpp +++ b/core/src/DTO/brandingoptions.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { BrandingOptions::BrandingOptions() {} +BrandingOptions::BrandingOptions(const BrandingOptions &other) : + m_loginDisclaimer(other.m_loginDisclaimer), + m_customCss(other.m_customCss){} BrandingOptions BrandingOptions::fromJson(QJsonObject source) { BrandingOptions instance; diff --git a/core/src/DTO/bufferrequestdto.cpp b/core/src/DTO/bufferrequestdto.cpp index fa1d0ad..6b91118 100644 --- a/core/src/DTO/bufferrequestdto.cpp +++ b/core/src/DTO/bufferrequestdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { BufferRequestDto::BufferRequestDto() {} +BufferRequestDto::BufferRequestDto(const BufferRequestDto &other) : + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_isPlaying(other.m_isPlaying), + m_playlistItemId(other.m_playlistItemId){} BufferRequestDto BufferRequestDto::fromJson(QJsonObject source) { BufferRequestDto instance; diff --git a/core/src/DTO/channelfeatures.cpp b/core/src/DTO/channelfeatures.cpp index c089e78..f632928 100644 --- a/core/src/DTO/channelfeatures.cpp +++ b/core/src/DTO/channelfeatures.cpp @@ -33,6 +33,19 @@ namespace Jellyfin { namespace DTO { ChannelFeatures::ChannelFeatures() {} +ChannelFeatures::ChannelFeatures(const ChannelFeatures &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_canSearch(other.m_canSearch), + m_mediaTypes(other.m_mediaTypes), + m_contentTypes(other.m_contentTypes), + m_maxPageSize(other.m_maxPageSize), + m_autoRefreshLevels(other.m_autoRefreshLevels), + m_defaultSortFields(other.m_defaultSortFields), + m_supportsSortOrderToggle(other.m_supportsSortOrderToggle), + m_supportsLatestMedia(other.m_supportsLatestMedia), + m_canFilter(other.m_canFilter), + m_supportsContentDownloading(other.m_supportsContentDownloading){} ChannelFeatures ChannelFeatures::fromJson(QJsonObject source) { ChannelFeatures instance; diff --git a/core/src/DTO/channelmappingoptionsdto.cpp b/core/src/DTO/channelmappingoptionsdto.cpp index 3af1e35..410c41e 100644 --- a/core/src/DTO/channelmappingoptionsdto.cpp +++ b/core/src/DTO/channelmappingoptionsdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ChannelMappingOptionsDto::ChannelMappingOptionsDto() {} +ChannelMappingOptionsDto::ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other) : + m_tunerChannels(other.m_tunerChannels), + m_providerChannels(other.m_providerChannels), + m_mappings(other.m_mappings), + m_providerName(other.m_providerName){} ChannelMappingOptionsDto ChannelMappingOptionsDto::fromJson(QJsonObject source) { ChannelMappingOptionsDto instance; diff --git a/core/src/DTO/chapterinfo.cpp b/core/src/DTO/chapterinfo.cpp index 07ab300..d306128 100644 --- a/core/src/DTO/chapterinfo.cpp +++ b/core/src/DTO/chapterinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ChapterInfo::ChapterInfo() {} +ChapterInfo::ChapterInfo(const ChapterInfo &other) : + m_startPositionTicks(other.m_startPositionTicks), + m_name(other.m_name), + m_imagePath(other.m_imagePath), + m_imageDateModified(other.m_imageDateModified), + m_imageTag(other.m_imageTag){} ChapterInfo ChapterInfo::fromJson(QJsonObject source) { ChapterInfo instance; diff --git a/core/src/DTO/clientcapabilities.cpp b/core/src/DTO/clientcapabilities.cpp index a68d03d..4f40eae 100644 --- a/core/src/DTO/clientcapabilities.cpp +++ b/core/src/DTO/clientcapabilities.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { ClientCapabilities::ClientCapabilities() {} +ClientCapabilities::ClientCapabilities(const ClientCapabilities &other) : + m_playableMediaTypes(other.m_playableMediaTypes), + m_supportedCommands(other.m_supportedCommands), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsContentUploading(other.m_supportsContentUploading), + m_messageCallbackUrl(other.m_messageCallbackUrl), + m_supportsPersistentIdentifier(other.m_supportsPersistentIdentifier), + m_supportsSync(other.m_supportsSync), + m_deviceProfile(other.m_deviceProfile), + m_appStoreUrl(other.m_appStoreUrl), + m_iconUrl(other.m_iconUrl){} ClientCapabilities ClientCapabilities::fromJson(QJsonObject source) { ClientCapabilities instance; diff --git a/core/src/DTO/clientcapabilitiesdto.cpp b/core/src/DTO/clientcapabilitiesdto.cpp index d49d753..a37b75a 100644 --- a/core/src/DTO/clientcapabilitiesdto.cpp +++ b/core/src/DTO/clientcapabilitiesdto.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { ClientCapabilitiesDto::ClientCapabilitiesDto() {} +ClientCapabilitiesDto::ClientCapabilitiesDto(const ClientCapabilitiesDto &other) : + m_playableMediaTypes(other.m_playableMediaTypes), + m_supportedCommands(other.m_supportedCommands), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsContentUploading(other.m_supportsContentUploading), + m_messageCallbackUrl(other.m_messageCallbackUrl), + m_supportsPersistentIdentifier(other.m_supportsPersistentIdentifier), + m_supportsSync(other.m_supportsSync), + m_deviceProfile(other.m_deviceProfile), + m_appStoreUrl(other.m_appStoreUrl), + m_iconUrl(other.m_iconUrl){} ClientCapabilitiesDto ClientCapabilitiesDto::fromJson(QJsonObject source) { ClientCapabilitiesDto instance; diff --git a/core/src/DTO/codecprofile.cpp b/core/src/DTO/codecprofile.cpp index ef94411..5ca7571 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(const CodecProfile &other) : + m_type(other.m_type), + m_conditions(other.m_conditions), + m_applyConditions(other.m_applyConditions), + m_codec(other.m_codec), + m_container(other.m_container){} CodecProfile CodecProfile::fromJson(QJsonObject source) { CodecProfile instance; diff --git a/core/src/DTO/collectioncreationresult.cpp b/core/src/DTO/collectioncreationresult.cpp index f20ee28..e5ee2b7 100644 --- a/core/src/DTO/collectioncreationresult.cpp +++ b/core/src/DTO/collectioncreationresult.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { CollectionCreationResult::CollectionCreationResult() {} +CollectionCreationResult::CollectionCreationResult(const CollectionCreationResult &other) : + m_jellyfinId(other.m_jellyfinId){} CollectionCreationResult CollectionCreationResult::fromJson(QJsonObject source) { CollectionCreationResult instance; diff --git a/core/src/DTO/configurationpageinfo.cpp b/core/src/DTO/configurationpageinfo.cpp index 8ba52c6..0fafa02 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(const ConfigurationPageInfo &other) : + m_name(other.m_name), + m_enableInMainMenu(other.m_enableInMainMenu), + m_menuSection(other.m_menuSection), + m_menuIcon(other.m_menuIcon), + m_displayName(other.m_displayName), + m_configurationPageType(other.m_configurationPageType), + m_pluginId(other.m_pluginId){} ConfigurationPageInfo ConfigurationPageInfo::fromJson(QJsonObject source) { ConfigurationPageInfo instance; diff --git a/core/src/DTO/containerprofile.cpp b/core/src/DTO/containerprofile.cpp index bad1605..c094eb0 100644 --- a/core/src/DTO/containerprofile.cpp +++ b/core/src/DTO/containerprofile.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ContainerProfile::ContainerProfile() {} +ContainerProfile::ContainerProfile(const ContainerProfile &other) : + m_type(other.m_type), + m_conditions(other.m_conditions), + m_container(other.m_container){} ContainerProfile ContainerProfile::fromJson(QJsonObject source) { ContainerProfile instance; diff --git a/core/src/DTO/controlresponse.cpp b/core/src/DTO/controlresponse.cpp index c914e90..f7777d9 100644 --- a/core/src/DTO/controlresponse.cpp +++ b/core/src/DTO/controlresponse.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ControlResponse::ControlResponse() {} +ControlResponse::ControlResponse(const ControlResponse &other) : + m_headers(other.m_headers), + m_xml(other.m_xml), + m_isSuccessful(other.m_isSuccessful){} ControlResponse ControlResponse::fromJson(QJsonObject source) { ControlResponse instance; diff --git a/core/src/DTO/countryinfo.cpp b/core/src/DTO/countryinfo.cpp index 12b2f2d..a678718 100644 --- a/core/src/DTO/countryinfo.cpp +++ b/core/src/DTO/countryinfo.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { CountryInfo::CountryInfo() {} +CountryInfo::CountryInfo(const CountryInfo &other) : + m_name(other.m_name), + m_displayName(other.m_displayName), + m_twoLetterISORegionName(other.m_twoLetterISORegionName), + m_threeLetterISORegionName(other.m_threeLetterISORegionName){} CountryInfo CountryInfo::fromJson(QJsonObject source) { CountryInfo instance; diff --git a/core/src/DTO/createplaylistdto.cpp b/core/src/DTO/createplaylistdto.cpp index c89239f..f0568bd 100644 --- a/core/src/DTO/createplaylistdto.cpp +++ b/core/src/DTO/createplaylistdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { CreatePlaylistDto::CreatePlaylistDto() {} +CreatePlaylistDto::CreatePlaylistDto(const CreatePlaylistDto &other) : + m_name(other.m_name), + m_ids(other.m_ids), + m_userId(other.m_userId), + m_mediaType(other.m_mediaType){} CreatePlaylistDto CreatePlaylistDto::fromJson(QJsonObject source) { CreatePlaylistDto instance; diff --git a/core/src/DTO/createuserbyname.cpp b/core/src/DTO/createuserbyname.cpp index e157c80..c2531f3 100644 --- a/core/src/DTO/createuserbyname.cpp +++ b/core/src/DTO/createuserbyname.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { CreateUserByName::CreateUserByName() {} +CreateUserByName::CreateUserByName(const CreateUserByName &other) : + m_name(other.m_name), + m_password(other.m_password){} CreateUserByName CreateUserByName::fromJson(QJsonObject source) { CreateUserByName instance; diff --git a/core/src/DTO/culturedto.cpp b/core/src/DTO/culturedto.cpp index 5757eda..de0c870 100644 --- a/core/src/DTO/culturedto.cpp +++ b/core/src/DTO/culturedto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { CultureDto::CultureDto() {} +CultureDto::CultureDto(const CultureDto &other) : + m_name(other.m_name), + m_displayName(other.m_displayName), + m_twoLetterISOLanguageName(other.m_twoLetterISOLanguageName), + m_threeLetterISOLanguageName(other.m_threeLetterISOLanguageName), + m_threeLetterISOLanguageNames(other.m_threeLetterISOLanguageNames){} CultureDto CultureDto::fromJson(QJsonObject source) { CultureDto instance; diff --git a/core/src/DTO/defaultdirectorybrowserinfodto.cpp b/core/src/DTO/defaultdirectorybrowserinfodto.cpp index 859b904..cd2677f 100644 --- a/core/src/DTO/defaultdirectorybrowserinfodto.cpp +++ b/core/src/DTO/defaultdirectorybrowserinfodto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { DefaultDirectoryBrowserInfoDto::DefaultDirectoryBrowserInfoDto() {} +DefaultDirectoryBrowserInfoDto::DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other) : + m_path(other.m_path){} DefaultDirectoryBrowserInfoDto DefaultDirectoryBrowserInfoDto::fromJson(QJsonObject source) { DefaultDirectoryBrowserInfoDto instance; diff --git a/core/src/DTO/deviceidentification.cpp b/core/src/DTO/deviceidentification.cpp index ba05bba..f8eef9b 100644 --- a/core/src/DTO/deviceidentification.cpp +++ b/core/src/DTO/deviceidentification.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { DeviceIdentification::DeviceIdentification() {} +DeviceIdentification::DeviceIdentification(const DeviceIdentification &other) : + m_friendlyName(other.m_friendlyName), + m_modelNumber(other.m_modelNumber), + m_serialNumber(other.m_serialNumber), + m_modelName(other.m_modelName), + m_modelDescription(other.m_modelDescription), + m_modelUrl(other.m_modelUrl), + m_manufacturer(other.m_manufacturer), + m_manufacturerUrl(other.m_manufacturerUrl), + m_headers(other.m_headers){} DeviceIdentification DeviceIdentification::fromJson(QJsonObject source) { DeviceIdentification instance; diff --git a/core/src/DTO/deviceinfo.cpp b/core/src/DTO/deviceinfo.cpp index 2e92fa0..37c4542 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(const DeviceInfo &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_lastUserName(other.m_lastUserName), + m_appName(other.m_appName), + m_appVersion(other.m_appVersion), + m_lastUserId(other.m_lastUserId), + m_dateLastActivity(other.m_dateLastActivity), + m_capabilities(other.m_capabilities), + m_iconUrl(other.m_iconUrl){} DeviceInfo DeviceInfo::fromJson(QJsonObject source) { DeviceInfo instance; diff --git a/core/src/DTO/deviceinfoqueryresult.cpp b/core/src/DTO/deviceinfoqueryresult.cpp index 4ad71b2..7866bcb 100644 --- a/core/src/DTO/deviceinfoqueryresult.cpp +++ b/core/src/DTO/deviceinfoqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { DeviceInfoQueryResult::DeviceInfoQueryResult() {} +DeviceInfoQueryResult::DeviceInfoQueryResult(const DeviceInfoQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} DeviceInfoQueryResult DeviceInfoQueryResult::fromJson(QJsonObject source) { DeviceInfoQueryResult instance; diff --git a/core/src/DTO/deviceoptions.cpp b/core/src/DTO/deviceoptions.cpp index 3cc2e4a..da47ea7 100644 --- a/core/src/DTO/deviceoptions.cpp +++ b/core/src/DTO/deviceoptions.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { DeviceOptions::DeviceOptions() {} +DeviceOptions::DeviceOptions(const DeviceOptions &other) : + m_customName(other.m_customName){} DeviceOptions DeviceOptions::fromJson(QJsonObject source) { DeviceOptions instance; diff --git a/core/src/DTO/deviceprofile.cpp b/core/src/DTO/deviceprofile.cpp index 610061a..7f570bf 100644 --- a/core/src/DTO/deviceprofile.cpp +++ b/core/src/DTO/deviceprofile.cpp @@ -33,6 +33,46 @@ namespace Jellyfin { namespace DTO { DeviceProfile::DeviceProfile() {} +DeviceProfile::DeviceProfile(const DeviceProfile &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_identification(other.m_identification), + m_friendlyName(other.m_friendlyName), + m_manufacturer(other.m_manufacturer), + m_manufacturerUrl(other.m_manufacturerUrl), + m_modelName(other.m_modelName), + m_modelDescription(other.m_modelDescription), + m_modelNumber(other.m_modelNumber), + m_modelUrl(other.m_modelUrl), + m_serialNumber(other.m_serialNumber), + m_enableAlbumArtInDidl(other.m_enableAlbumArtInDidl), + m_enableSingleAlbumArtLimit(other.m_enableSingleAlbumArtLimit), + m_enableSingleSubtitleLimit(other.m_enableSingleSubtitleLimit), + m_supportedMediaTypes(other.m_supportedMediaTypes), + m_userId(other.m_userId), + m_albumArtPn(other.m_albumArtPn), + m_maxAlbumArtWidth(other.m_maxAlbumArtWidth), + m_maxAlbumArtHeight(other.m_maxAlbumArtHeight), + m_maxIconWidth(other.m_maxIconWidth), + m_maxIconHeight(other.m_maxIconHeight), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_maxStaticBitrate(other.m_maxStaticBitrate), + m_musicStreamingTranscodingBitrate(other.m_musicStreamingTranscodingBitrate), + m_maxStaticMusicBitrate(other.m_maxStaticMusicBitrate), + m_sonyAggregationFlags(other.m_sonyAggregationFlags), + m_protocolInfo(other.m_protocolInfo), + m_timelineOffsetSeconds(other.m_timelineOffsetSeconds), + m_requiresPlainVideoItems(other.m_requiresPlainVideoItems), + m_requiresPlainFolders(other.m_requiresPlainFolders), + m_enableMSMediaReceiverRegistrar(other.m_enableMSMediaReceiverRegistrar), + m_ignoreTranscodeByteRangeRequests(other.m_ignoreTranscodeByteRangeRequests), + m_xmlRootAttributes(other.m_xmlRootAttributes), + m_directPlayProfiles(other.m_directPlayProfiles), + m_transcodingProfiles(other.m_transcodingProfiles), + m_containerProfiles(other.m_containerProfiles), + m_codecProfiles(other.m_codecProfiles), + m_responseProfiles(other.m_responseProfiles), + m_subtitleProfiles(other.m_subtitleProfiles){} DeviceProfile DeviceProfile::fromJson(QJsonObject source) { DeviceProfile instance; diff --git a/core/src/DTO/deviceprofileinfo.cpp b/core/src/DTO/deviceprofileinfo.cpp index 2ccf8f2..6ca223d 100644 --- a/core/src/DTO/deviceprofileinfo.cpp +++ b/core/src/DTO/deviceprofileinfo.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { DeviceProfileInfo::DeviceProfileInfo() {} +DeviceProfileInfo::DeviceProfileInfo(const DeviceProfileInfo &other) : + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_type(other.m_type){} DeviceProfileInfo DeviceProfileInfo::fromJson(QJsonObject source) { DeviceProfileInfo instance; diff --git a/core/src/DTO/directplayprofile.cpp b/core/src/DTO/directplayprofile.cpp index 9a5ac29..39cd1d3 100644 --- a/core/src/DTO/directplayprofile.cpp +++ b/core/src/DTO/directplayprofile.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { DirectPlayProfile::DirectPlayProfile() {} +DirectPlayProfile::DirectPlayProfile(const DirectPlayProfile &other) : + m_container(other.m_container), + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_type(other.m_type){} DirectPlayProfile DirectPlayProfile::fromJson(QJsonObject source) { DirectPlayProfile instance; diff --git a/core/src/DTO/displaypreferencesdto.cpp b/core/src/DTO/displaypreferencesdto.cpp index 12758eb..5c0840c 100644 --- a/core/src/DTO/displaypreferencesdto.cpp +++ b/core/src/DTO/displaypreferencesdto.cpp @@ -33,6 +33,21 @@ namespace Jellyfin { namespace DTO { DisplayPreferencesDto::DisplayPreferencesDto() {} +DisplayPreferencesDto::DisplayPreferencesDto(const DisplayPreferencesDto &other) : + m_jellyfinId(other.m_jellyfinId), + m_viewType(other.m_viewType), + m_sortBy(other.m_sortBy), + m_indexBy(other.m_indexBy), + m_rememberIndexing(other.m_rememberIndexing), + m_primaryImageHeight(other.m_primaryImageHeight), + m_primaryImageWidth(other.m_primaryImageWidth), + m_customPrefs(other.m_customPrefs), + m_scrollDirection(other.m_scrollDirection), + m_showBackdrop(other.m_showBackdrop), + m_rememberSorting(other.m_rememberSorting), + m_sortOrder(other.m_sortOrder), + m_showSidebar(other.m_showSidebar), + m_client(other.m_client){} DisplayPreferencesDto DisplayPreferencesDto::fromJson(QJsonObject source) { DisplayPreferencesDto instance; diff --git a/core/src/DTO/endpointinfo.cpp b/core/src/DTO/endpointinfo.cpp index c5903ab..fc198c4 100644 --- a/core/src/DTO/endpointinfo.cpp +++ b/core/src/DTO/endpointinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { EndPointInfo::EndPointInfo() {} +EndPointInfo::EndPointInfo(const EndPointInfo &other) : + m_isLocal(other.m_isLocal), + m_isInNetwork(other.m_isInNetwork){} EndPointInfo EndPointInfo::fromJson(QJsonObject source) { EndPointInfo instance; diff --git a/core/src/DTO/externalidinfo.cpp b/core/src/DTO/externalidinfo.cpp index 547211f..5248e33 100644 --- a/core/src/DTO/externalidinfo.cpp +++ b/core/src/DTO/externalidinfo.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ExternalIdInfo::ExternalIdInfo() {} +ExternalIdInfo::ExternalIdInfo(const ExternalIdInfo &other) : + m_name(other.m_name), + m_key(other.m_key), + m_type(other.m_type), + m_urlFormatString(other.m_urlFormatString){} ExternalIdInfo ExternalIdInfo::fromJson(QJsonObject source) { ExternalIdInfo instance; diff --git a/core/src/DTO/externalurl.cpp b/core/src/DTO/externalurl.cpp index 538a291..4d63aef 100644 --- a/core/src/DTO/externalurl.cpp +++ b/core/src/DTO/externalurl.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { ExternalUrl::ExternalUrl() {} +ExternalUrl::ExternalUrl(const ExternalUrl &other) : + m_name(other.m_name), + m_url(other.m_url){} ExternalUrl ExternalUrl::fromJson(QJsonObject source) { ExternalUrl instance; diff --git a/core/src/DTO/filesystementryinfo.cpp b/core/src/DTO/filesystementryinfo.cpp index efb76dc..ffc1d53 100644 --- a/core/src/DTO/filesystementryinfo.cpp +++ b/core/src/DTO/filesystementryinfo.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { FileSystemEntryInfo::FileSystemEntryInfo() {} +FileSystemEntryInfo::FileSystemEntryInfo(const FileSystemEntryInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_type(other.m_type){} FileSystemEntryInfo FileSystemEntryInfo::fromJson(QJsonObject source) { FileSystemEntryInfo instance; diff --git a/core/src/DTO/fontfile.cpp b/core/src/DTO/fontfile.cpp index f07b874..864b2fd 100644 --- a/core/src/DTO/fontfile.cpp +++ b/core/src/DTO/fontfile.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { FontFile::FontFile() {} +FontFile::FontFile(const FontFile &other) : + m_name(other.m_name), + m_size(other.m_size), + m_dateCreated(other.m_dateCreated), + m_dateModified(other.m_dateModified){} FontFile FontFile::fromJson(QJsonObject source) { FontFile instance; diff --git a/core/src/DTO/forgotpassworddto.cpp b/core/src/DTO/forgotpassworddto.cpp index 8a08a7e..f105aa4 100644 --- a/core/src/DTO/forgotpassworddto.cpp +++ b/core/src/DTO/forgotpassworddto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { ForgotPasswordDto::ForgotPasswordDto() {} +ForgotPasswordDto::ForgotPasswordDto(const ForgotPasswordDto &other) : + m_enteredUsername(other.m_enteredUsername){} ForgotPasswordDto ForgotPasswordDto::fromJson(QJsonObject source) { ForgotPasswordDto instance; diff --git a/core/src/DTO/forgotpasswordresult.cpp b/core/src/DTO/forgotpasswordresult.cpp index a7eb847..51ef9ea 100644 --- a/core/src/DTO/forgotpasswordresult.cpp +++ b/core/src/DTO/forgotpasswordresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ForgotPasswordResult::ForgotPasswordResult() {} +ForgotPasswordResult::ForgotPasswordResult(const ForgotPasswordResult &other) : + m_action(other.m_action), + m_pinFile(other.m_pinFile), + m_pinExpirationDate(other.m_pinExpirationDate){} ForgotPasswordResult ForgotPasswordResult::fromJson(QJsonObject source) { ForgotPasswordResult instance; diff --git a/core/src/DTO/generalcommand.cpp b/core/src/DTO/generalcommand.cpp index 7d44aa0..6fc9a58 100644 --- a/core/src/DTO/generalcommand.cpp +++ b/core/src/DTO/generalcommand.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { GeneralCommand::GeneralCommand() {} +GeneralCommand::GeneralCommand(const GeneralCommand &other) : + m_name(other.m_name), + m_controllingUserId(other.m_controllingUserId), + m_arguments(other.m_arguments){} GeneralCommand GeneralCommand::fromJson(QJsonObject source) { GeneralCommand instance; diff --git a/core/src/DTO/getprogramsdto.cpp b/core/src/DTO/getprogramsdto.cpp index 765a50d..5d79bfc 100644 --- a/core/src/DTO/getprogramsdto.cpp +++ b/core/src/DTO/getprogramsdto.cpp @@ -33,6 +33,34 @@ namespace Jellyfin { namespace DTO { GetProgramsDto::GetProgramsDto() {} +GetProgramsDto::GetProgramsDto(const GetProgramsDto &other) : + m_channelIds(other.m_channelIds), + m_userId(other.m_userId), + m_minStartDate(other.m_minStartDate), + m_hasAired(other.m_hasAired), + m_isAiring(other.m_isAiring), + m_maxStartDate(other.m_maxStartDate), + m_minEndDate(other.m_minEndDate), + m_maxEndDate(other.m_maxEndDate), + m_isMovie(other.m_isMovie), + m_isSeries(other.m_isSeries), + m_isNews(other.m_isNews), + m_isKids(other.m_isKids), + m_isSports(other.m_isSports), + m_startIndex(other.m_startIndex), + m_limit(other.m_limit), + m_sortBy(other.m_sortBy), + m_sortOrder(other.m_sortOrder), + m_genres(other.m_genres), + m_genreIds(other.m_genreIds), + m_enableImages(other.m_enableImages), + m_enableTotalRecordCount(other.m_enableTotalRecordCount), + m_imageTypeLimit(other.m_imageTypeLimit), + m_enableImageTypes(other.m_enableImageTypes), + m_enableUserData(other.m_enableUserData), + m_seriesTimerId(other.m_seriesTimerId), + m_librarySeriesId(other.m_librarySeriesId), + m_fields(other.m_fields){} GetProgramsDto GetProgramsDto::fromJson(QJsonObject source) { GetProgramsDto instance; diff --git a/core/src/DTO/groupinfodto.cpp b/core/src/DTO/groupinfodto.cpp index 60b7bc6..adf7d72 100644 --- a/core/src/DTO/groupinfodto.cpp +++ b/core/src/DTO/groupinfodto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { GroupInfoDto::GroupInfoDto() {} +GroupInfoDto::GroupInfoDto(const GroupInfoDto &other) : + m_groupId(other.m_groupId), + m_groupName(other.m_groupName), + m_state(other.m_state), + m_participants(other.m_participants), + m_lastUpdatedAt(other.m_lastUpdatedAt){} GroupInfoDto GroupInfoDto::fromJson(QJsonObject source) { GroupInfoDto instance; diff --git a/core/src/DTO/guideinfo.cpp b/core/src/DTO/guideinfo.cpp index cf980dd..3b91240 100644 --- a/core/src/DTO/guideinfo.cpp +++ b/core/src/DTO/guideinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { GuideInfo::GuideInfo() {} +GuideInfo::GuideInfo(const GuideInfo &other) : + m_startDate(other.m_startDate), + m_endDate(other.m_endDate){} GuideInfo GuideInfo::fromJson(QJsonObject source) { GuideInfo instance; diff --git a/core/src/DTO/httpheaderinfo.cpp b/core/src/DTO/httpheaderinfo.cpp index 93b7ae2..a33f12c 100644 --- a/core/src/DTO/httpheaderinfo.cpp +++ b/core/src/DTO/httpheaderinfo.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { HttpHeaderInfo::HttpHeaderInfo() {} +HttpHeaderInfo::HttpHeaderInfo(const HttpHeaderInfo &other) : + m_name(other.m_name), + m_value(other.m_value), + m_match(other.m_match){} HttpHeaderInfo HttpHeaderInfo::fromJson(QJsonObject source) { HttpHeaderInfo instance; diff --git a/core/src/DTO/ignorewaitrequestdto.cpp b/core/src/DTO/ignorewaitrequestdto.cpp index b390bb2..784a2cd 100644 --- a/core/src/DTO/ignorewaitrequestdto.cpp +++ b/core/src/DTO/ignorewaitrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { IgnoreWaitRequestDto::IgnoreWaitRequestDto() {} +IgnoreWaitRequestDto::IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other) : + m_ignoreWait(other.m_ignoreWait){} IgnoreWaitRequestDto IgnoreWaitRequestDto::fromJson(QJsonObject source) { IgnoreWaitRequestDto instance; diff --git a/core/src/DTO/imagebynameinfo.cpp b/core/src/DTO/imagebynameinfo.cpp index 035d074..a7f33bf 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(const ImageByNameInfo &other) : + m_name(other.m_name), + m_theme(other.m_theme), + m_context(other.m_context), + m_fileLength(other.m_fileLength), + m_format(other.m_format){} ImageByNameInfo ImageByNameInfo::fromJson(QJsonObject source) { ImageByNameInfo instance; diff --git a/core/src/DTO/imageinfo.cpp b/core/src/DTO/imageinfo.cpp index bb4928e..f10db1f 100644 --- a/core/src/DTO/imageinfo.cpp +++ b/core/src/DTO/imageinfo.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { ImageInfo::ImageInfo() {} +ImageInfo::ImageInfo(const ImageInfo &other) : + m_imageType(other.m_imageType), + m_imageIndex(other.m_imageIndex), + m_imageTag(other.m_imageTag), + m_path(other.m_path), + m_blurHash(other.m_blurHash), + m_height(other.m_height), + m_width(other.m_width), + m_size(other.m_size){} ImageInfo ImageInfo::fromJson(QJsonObject source) { ImageInfo instance; diff --git a/core/src/DTO/imageoption.cpp b/core/src/DTO/imageoption.cpp index ccc8f57..8a6f813 100644 --- a/core/src/DTO/imageoption.cpp +++ b/core/src/DTO/imageoption.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ImageOption::ImageOption() {} +ImageOption::ImageOption(const ImageOption &other) : + m_type(other.m_type), + m_limit(other.m_limit), + m_minWidth(other.m_minWidth){} ImageOption ImageOption::fromJson(QJsonObject source) { ImageOption instance; diff --git a/core/src/DTO/imageproviderinfo.cpp b/core/src/DTO/imageproviderinfo.cpp index 65c6e65..368800d 100644 --- a/core/src/DTO/imageproviderinfo.cpp +++ b/core/src/DTO/imageproviderinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { ImageProviderInfo::ImageProviderInfo() {} +ImageProviderInfo::ImageProviderInfo(const ImageProviderInfo &other) : + m_name(other.m_name), + m_supportedImages(other.m_supportedImages){} ImageProviderInfo ImageProviderInfo::fromJson(QJsonObject source) { ImageProviderInfo instance; diff --git a/core/src/DTO/installationinfo.cpp b/core/src/DTO/installationinfo.cpp index 81981b7..ffee3cc 100644 --- a/core/src/DTO/installationinfo.cpp +++ b/core/src/DTO/installationinfo.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { InstallationInfo::InstallationInfo() {} +InstallationInfo::InstallationInfo(const InstallationInfo &other) : + m_guid(other.m_guid), + m_name(other.m_name), + m_version(other.m_version), + m_changelog(other.m_changelog), + m_sourceUrl(other.m_sourceUrl), + m_checksum(other.m_checksum){} InstallationInfo InstallationInfo::fromJson(QJsonObject source) { InstallationInfo instance; diff --git a/core/src/DTO/iplugin.cpp b/core/src/DTO/iplugin.cpp index 983fcd6..16f9a58 100644 --- a/core/src/DTO/iplugin.cpp +++ b/core/src/DTO/iplugin.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { IPlugin::IPlugin() {} +IPlugin::IPlugin(const IPlugin &other) : + m_name(other.m_name), + m_description(other.m_description), + m_jellyfinId(other.m_jellyfinId), + m_version(other.m_version), + m_assemblyFilePath(other.m_assemblyFilePath), + m_canUninstall(other.m_canUninstall), + m_dataFolderPath(other.m_dataFolderPath){} IPlugin IPlugin::fromJson(QJsonObject source) { IPlugin instance; diff --git a/core/src/DTO/itemcounts.cpp b/core/src/DTO/itemcounts.cpp index 641da8e..767d0c1 100644 --- a/core/src/DTO/itemcounts.cpp +++ b/core/src/DTO/itemcounts.cpp @@ -33,6 +33,19 @@ namespace Jellyfin { namespace DTO { ItemCounts::ItemCounts() {} +ItemCounts::ItemCounts(const ItemCounts &other) : + m_movieCount(other.m_movieCount), + m_seriesCount(other.m_seriesCount), + m_episodeCount(other.m_episodeCount), + m_artistCount(other.m_artistCount), + m_programCount(other.m_programCount), + m_trailerCount(other.m_trailerCount), + m_songCount(other.m_songCount), + m_albumCount(other.m_albumCount), + m_musicVideoCount(other.m_musicVideoCount), + m_boxSetCount(other.m_boxSetCount), + m_bookCount(other.m_bookCount), + m_itemCount(other.m_itemCount){} ItemCounts ItemCounts::fromJson(QJsonObject source) { ItemCounts instance; diff --git a/core/src/DTO/joingrouprequestdto.cpp b/core/src/DTO/joingrouprequestdto.cpp index f7ac3b3..f60169d 100644 --- a/core/src/DTO/joingrouprequestdto.cpp +++ b/core/src/DTO/joingrouprequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { JoinGroupRequestDto::JoinGroupRequestDto() {} +JoinGroupRequestDto::JoinGroupRequestDto(const JoinGroupRequestDto &other) : + m_groupId(other.m_groupId){} JoinGroupRequestDto JoinGroupRequestDto::fromJson(QJsonObject source) { JoinGroupRequestDto instance; diff --git a/core/src/DTO/libraryoptioninfodto.cpp b/core/src/DTO/libraryoptioninfodto.cpp index 85259f1..31401de 100644 --- a/core/src/DTO/libraryoptioninfodto.cpp +++ b/core/src/DTO/libraryoptioninfodto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { LibraryOptionInfoDto::LibraryOptionInfoDto() {} +LibraryOptionInfoDto::LibraryOptionInfoDto(const LibraryOptionInfoDto &other) : + m_name(other.m_name), + m_defaultEnabled(other.m_defaultEnabled){} LibraryOptionInfoDto LibraryOptionInfoDto::fromJson(QJsonObject source) { LibraryOptionInfoDto instance; diff --git a/core/src/DTO/libraryoptions.cpp b/core/src/DTO/libraryoptions.cpp index ac5c8c9..bbe284d 100644 --- a/core/src/DTO/libraryoptions.cpp +++ b/core/src/DTO/libraryoptions.cpp @@ -33,6 +33,32 @@ namespace Jellyfin { namespace DTO { LibraryOptions::LibraryOptions() {} +LibraryOptions::LibraryOptions(const LibraryOptions &other) : + m_enablePhotos(other.m_enablePhotos), + m_enableRealtimeMonitor(other.m_enableRealtimeMonitor), + m_enableChapterImageExtraction(other.m_enableChapterImageExtraction), + m_extractChapterImagesDuringLibraryScan(other.m_extractChapterImagesDuringLibraryScan), + m_pathInfos(other.m_pathInfos), + m_saveLocalMetadata(other.m_saveLocalMetadata), + m_enableInternetProviders(other.m_enableInternetProviders), + m_enableAutomaticSeriesGrouping(other.m_enableAutomaticSeriesGrouping), + m_enableEmbeddedTitles(other.m_enableEmbeddedTitles), + m_enableEmbeddedEpisodeInfos(other.m_enableEmbeddedEpisodeInfos), + m_automaticRefreshIntervalDays(other.m_automaticRefreshIntervalDays), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_seasonZeroDisplayName(other.m_seasonZeroDisplayName), + m_metadataSavers(other.m_metadataSavers), + m_disabledLocalMetadataReaders(other.m_disabledLocalMetadataReaders), + m_localMetadataReaderOrder(other.m_localMetadataReaderOrder), + m_disabledSubtitleFetchers(other.m_disabledSubtitleFetchers), + m_subtitleFetcherOrder(other.m_subtitleFetcherOrder), + m_skipSubtitlesIfEmbeddedSubtitlesPresent(other.m_skipSubtitlesIfEmbeddedSubtitlesPresent), + m_skipSubtitlesIfAudioTrackMatches(other.m_skipSubtitlesIfAudioTrackMatches), + m_subtitleDownloadLanguages(other.m_subtitleDownloadLanguages), + m_requirePerfectSubtitleMatch(other.m_requirePerfectSubtitleMatch), + m_saveSubtitlesWithMedia(other.m_saveSubtitlesWithMedia), + m_typeOptions(other.m_typeOptions){} LibraryOptions LibraryOptions::fromJson(QJsonObject source) { LibraryOptions instance; diff --git a/core/src/DTO/libraryoptionsresultdto.cpp b/core/src/DTO/libraryoptionsresultdto.cpp index dde40b5..93413c4 100644 --- a/core/src/DTO/libraryoptionsresultdto.cpp +++ b/core/src/DTO/libraryoptionsresultdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { LibraryOptionsResultDto::LibraryOptionsResultDto() {} +LibraryOptionsResultDto::LibraryOptionsResultDto(const LibraryOptionsResultDto &other) : + m_metadataSavers(other.m_metadataSavers), + m_metadataReaders(other.m_metadataReaders), + m_subtitleFetchers(other.m_subtitleFetchers), + m_typeOptions(other.m_typeOptions){} LibraryOptionsResultDto LibraryOptionsResultDto::fromJson(QJsonObject source) { LibraryOptionsResultDto instance; diff --git a/core/src/DTO/librarytypeoptionsdto.cpp b/core/src/DTO/librarytypeoptionsdto.cpp index 072c8be..f23e570 100644 --- a/core/src/DTO/librarytypeoptionsdto.cpp +++ b/core/src/DTO/librarytypeoptionsdto.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { LibraryTypeOptionsDto::LibraryTypeOptionsDto() {} +LibraryTypeOptionsDto::LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other) : + m_type(other.m_type), + m_metadataFetchers(other.m_metadataFetchers), + m_imageFetchers(other.m_imageFetchers), + m_supportedImageTypes(other.m_supportedImageTypes), + m_defaultImageOptions(other.m_defaultImageOptions){} LibraryTypeOptionsDto LibraryTypeOptionsDto::fromJson(QJsonObject source) { LibraryTypeOptionsDto instance; diff --git a/core/src/DTO/libraryupdateinfo.cpp b/core/src/DTO/libraryupdateinfo.cpp index f2217aa..d97d955 100644 --- a/core/src/DTO/libraryupdateinfo.cpp +++ b/core/src/DTO/libraryupdateinfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { LibraryUpdateInfo::LibraryUpdateInfo() {} +LibraryUpdateInfo::LibraryUpdateInfo(const LibraryUpdateInfo &other) : + m_foldersAddedTo(other.m_foldersAddedTo), + m_foldersRemovedFrom(other.m_foldersRemovedFrom), + m_itemsAdded(other.m_itemsAdded), + m_itemsRemoved(other.m_itemsRemoved), + m_itemsUpdated(other.m_itemsUpdated), + m_collectionFolders(other.m_collectionFolders), + m_isEmpty(other.m_isEmpty){} LibraryUpdateInfo LibraryUpdateInfo::fromJson(QJsonObject source) { LibraryUpdateInfo instance; diff --git a/core/src/DTO/listingsproviderinfo.cpp b/core/src/DTO/listingsproviderinfo.cpp index b43b9d3..f90ac0b 100644 --- a/core/src/DTO/listingsproviderinfo.cpp +++ b/core/src/DTO/listingsproviderinfo.cpp @@ -33,6 +33,25 @@ namespace Jellyfin { namespace DTO { ListingsProviderInfo::ListingsProviderInfo() {} +ListingsProviderInfo::ListingsProviderInfo(const ListingsProviderInfo &other) : + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_username(other.m_username), + m_password(other.m_password), + m_listingsId(other.m_listingsId), + m_zipCode(other.m_zipCode), + m_country(other.m_country), + m_path(other.m_path), + m_enabledTuners(other.m_enabledTuners), + m_enableAllTuners(other.m_enableAllTuners), + m_newsCategories(other.m_newsCategories), + m_sportsCategories(other.m_sportsCategories), + m_kidsCategories(other.m_kidsCategories), + m_movieCategories(other.m_movieCategories), + m_channelMappings(other.m_channelMappings), + m_moviePrefix(other.m_moviePrefix), + m_preferredLanguage(other.m_preferredLanguage), + m_userAgent(other.m_userAgent){} ListingsProviderInfo ListingsProviderInfo::fromJson(QJsonObject source) { ListingsProviderInfo instance; diff --git a/core/src/DTO/livestreamresponse.cpp b/core/src/DTO/livestreamresponse.cpp index 96c1d8e..04ff98c 100644 --- a/core/src/DTO/livestreamresponse.cpp +++ b/core/src/DTO/livestreamresponse.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { LiveStreamResponse::LiveStreamResponse() {} +LiveStreamResponse::LiveStreamResponse(const LiveStreamResponse &other) : + m_mediaSource(other.m_mediaSource){} LiveStreamResponse LiveStreamResponse::fromJson(QJsonObject source) { LiveStreamResponse instance; diff --git a/core/src/DTO/livetvinfo.cpp b/core/src/DTO/livetvinfo.cpp index 0685a7b..96853cf 100644 --- a/core/src/DTO/livetvinfo.cpp +++ b/core/src/DTO/livetvinfo.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { LiveTvInfo::LiveTvInfo() {} +LiveTvInfo::LiveTvInfo(const LiveTvInfo &other) : + m_services(other.m_services), + m_isEnabled(other.m_isEnabled), + m_enabledUsers(other.m_enabledUsers){} LiveTvInfo LiveTvInfo::fromJson(QJsonObject source) { LiveTvInfo instance; diff --git a/core/src/DTO/livetvserviceinfo.cpp b/core/src/DTO/livetvserviceinfo.cpp index 81dd38a..dd396b3 100644 --- a/core/src/DTO/livetvserviceinfo.cpp +++ b/core/src/DTO/livetvserviceinfo.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { LiveTvServiceInfo::LiveTvServiceInfo() {} +LiveTvServiceInfo::LiveTvServiceInfo(const LiveTvServiceInfo &other) : + m_name(other.m_name), + m_homePageUrl(other.m_homePageUrl), + m_status(other.m_status), + m_statusMessage(other.m_statusMessage), + m_version(other.m_version), + m_hasUpdateAvailable(other.m_hasUpdateAvailable), + m_isVisible(other.m_isVisible), + m_tuners(other.m_tuners){} LiveTvServiceInfo LiveTvServiceInfo::fromJson(QJsonObject source) { LiveTvServiceInfo instance; diff --git a/core/src/DTO/localizationoption.cpp b/core/src/DTO/localizationoption.cpp index 66385a5..f12610b 100644 --- a/core/src/DTO/localizationoption.cpp +++ b/core/src/DTO/localizationoption.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { LocalizationOption::LocalizationOption() {} +LocalizationOption::LocalizationOption(const LocalizationOption &other) : + m_name(other.m_name), + m_value(other.m_value){} LocalizationOption LocalizationOption::fromJson(QJsonObject source) { LocalizationOption instance; diff --git a/core/src/DTO/logfile.cpp b/core/src/DTO/logfile.cpp index bfd622f..3bb0f9e 100644 --- a/core/src/DTO/logfile.cpp +++ b/core/src/DTO/logfile.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { LogFile::LogFile() {} +LogFile::LogFile(const LogFile &other) : + m_dateCreated(other.m_dateCreated), + m_dateModified(other.m_dateModified), + m_size(other.m_size), + m_name(other.m_name){} LogFile LogFile::fromJson(QJsonObject source) { LogFile instance; diff --git a/core/src/DTO/mediaattachment.cpp b/core/src/DTO/mediaattachment.cpp index cf2c604..1bab8c4 100644 --- a/core/src/DTO/mediaattachment.cpp +++ b/core/src/DTO/mediaattachment.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { MediaAttachment::MediaAttachment() {} +MediaAttachment::MediaAttachment(const MediaAttachment &other) : + m_codec(other.m_codec), + m_codecTag(other.m_codecTag), + m_comment(other.m_comment), + m_index(other.m_index), + m_fileName(other.m_fileName), + m_mimeType(other.m_mimeType), + m_deliveryUrl(other.m_deliveryUrl){} MediaAttachment MediaAttachment::fromJson(QJsonObject source) { MediaAttachment instance; diff --git a/core/src/DTO/mediaencoderpathdto.cpp b/core/src/DTO/mediaencoderpathdto.cpp index 43c566d..7476b96 100644 --- a/core/src/DTO/mediaencoderpathdto.cpp +++ b/core/src/DTO/mediaencoderpathdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { MediaEncoderPathDto::MediaEncoderPathDto() {} +MediaEncoderPathDto::MediaEncoderPathDto(const MediaEncoderPathDto &other) : + m_path(other.m_path), + m_pathType(other.m_pathType){} MediaEncoderPathDto MediaEncoderPathDto::fromJson(QJsonObject source) { MediaEncoderPathDto instance; diff --git a/core/src/DTO/mediapathdto.cpp b/core/src/DTO/mediapathdto.cpp index 44b891b..ffe4c27 100644 --- a/core/src/DTO/mediapathdto.cpp +++ b/core/src/DTO/mediapathdto.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { MediaPathDto::MediaPathDto() {} +MediaPathDto::MediaPathDto(const MediaPathDto &other) : + m_name(other.m_name), + m_path(other.m_path), + m_pathInfo(other.m_pathInfo){} MediaPathDto MediaPathDto::fromJson(QJsonObject source) { MediaPathDto instance; diff --git a/core/src/DTO/mediapathinfo.cpp b/core/src/DTO/mediapathinfo.cpp index 0601405..8f3a0f0 100644 --- a/core/src/DTO/mediapathinfo.cpp +++ b/core/src/DTO/mediapathinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { MediaPathInfo::MediaPathInfo() {} +MediaPathInfo::MediaPathInfo(const MediaPathInfo &other) : + m_path(other.m_path), + m_networkPath(other.m_networkPath){} MediaPathInfo MediaPathInfo::fromJson(QJsonObject source) { MediaPathInfo instance; diff --git a/core/src/DTO/mediasourceinfo.cpp b/core/src/DTO/mediasourceinfo.cpp index 39dfe58..8444afb 100644 --- a/core/src/DTO/mediasourceinfo.cpp +++ b/core/src/DTO/mediasourceinfo.cpp @@ -33,6 +33,49 @@ namespace Jellyfin { namespace DTO { MediaSourceInfo::MediaSourceInfo() {} +MediaSourceInfo::MediaSourceInfo(const MediaSourceInfo &other) : + m_protocol(other.m_protocol), + m_jellyfinId(other.m_jellyfinId), + m_path(other.m_path), + m_encoderPath(other.m_encoderPath), + m_encoderProtocol(other.m_encoderProtocol), + m_type(other.m_type), + m_container(other.m_container), + m_size(other.m_size), + m_name(other.m_name), + m_isRemote(other.m_isRemote), + m_eTag(other.m_eTag), + m_runTimeTicks(other.m_runTimeTicks), + m_readAtNativeFramerate(other.m_readAtNativeFramerate), + m_ignoreDts(other.m_ignoreDts), + m_ignoreIndex(other.m_ignoreIndex), + m_genPtsInput(other.m_genPtsInput), + m_supportsTranscoding(other.m_supportsTranscoding), + m_supportsDirectStream(other.m_supportsDirectStream), + m_supportsDirectPlay(other.m_supportsDirectPlay), + m_isInfiniteStream(other.m_isInfiniteStream), + m_requiresOpening(other.m_requiresOpening), + m_openToken(other.m_openToken), + m_requiresClosing(other.m_requiresClosing), + m_liveStreamId(other.m_liveStreamId), + m_bufferMs(other.m_bufferMs), + m_requiresLooping(other.m_requiresLooping), + m_supportsProbing(other.m_supportsProbing), + m_videoType(other.m_videoType), + m_isoType(other.m_isoType), + m_video3DFormat(other.m_video3DFormat), + m_mediaStreams(other.m_mediaStreams), + m_mediaAttachments(other.m_mediaAttachments), + m_formats(other.m_formats), + m_bitrate(other.m_bitrate), + m_timestamp(other.m_timestamp), + m_requiredHttpHeaders(other.m_requiredHttpHeaders), + m_transcodingUrl(other.m_transcodingUrl), + m_transcodingSubProtocol(other.m_transcodingSubProtocol), + m_transcodingContainer(other.m_transcodingContainer), + m_analyzeDurationMs(other.m_analyzeDurationMs), + m_defaultAudioStreamIndex(other.m_defaultAudioStreamIndex), + m_defaultSubtitleStreamIndex(other.m_defaultSubtitleStreamIndex){} MediaSourceInfo MediaSourceInfo::fromJson(QJsonObject source) { MediaSourceInfo instance; diff --git a/core/src/DTO/mediastream.cpp b/core/src/DTO/mediastream.cpp index 44cb6f0..57f2706 100644 --- a/core/src/DTO/mediastream.cpp +++ b/core/src/DTO/mediastream.cpp @@ -33,6 +33,54 @@ namespace Jellyfin { namespace DTO { MediaStream::MediaStream() {} +MediaStream::MediaStream(const MediaStream &other) : + m_codec(other.m_codec), + m_codecTag(other.m_codecTag), + m_language(other.m_language), + m_colorRange(other.m_colorRange), + m_colorSpace(other.m_colorSpace), + m_colorTransfer(other.m_colorTransfer), + m_colorPrimaries(other.m_colorPrimaries), + m_comment(other.m_comment), + m_timeBase(other.m_timeBase), + m_codecTimeBase(other.m_codecTimeBase), + m_title(other.m_title), + m_videoRange(other.m_videoRange), + m_localizedUndefined(other.m_localizedUndefined), + m_localizedDefault(other.m_localizedDefault), + m_localizedForced(other.m_localizedForced), + m_displayTitle(other.m_displayTitle), + m_nalLengthSize(other.m_nalLengthSize), + m_isInterlaced(other.m_isInterlaced), + m_isAVC(other.m_isAVC), + m_channelLayout(other.m_channelLayout), + m_bitRate(other.m_bitRate), + m_bitDepth(other.m_bitDepth), + m_refFrames(other.m_refFrames), + m_packetLength(other.m_packetLength), + m_channels(other.m_channels), + m_sampleRate(other.m_sampleRate), + m_isDefault(other.m_isDefault), + m_isForced(other.m_isForced), + m_height(other.m_height), + m_width(other.m_width), + m_averageFrameRate(other.m_averageFrameRate), + m_realFrameRate(other.m_realFrameRate), + m_profile(other.m_profile), + m_type(other.m_type), + m_aspectRatio(other.m_aspectRatio), + m_index(other.m_index), + m_score(other.m_score), + m_isExternal(other.m_isExternal), + m_deliveryMethod(other.m_deliveryMethod), + m_deliveryUrl(other.m_deliveryUrl), + m_isExternalUrl(other.m_isExternalUrl), + m_isTextSubtitleStream(other.m_isTextSubtitleStream), + m_supportsExternalStream(other.m_supportsExternalStream), + m_path(other.m_path), + m_pixelFormat(other.m_pixelFormat), + m_level(other.m_level), + m_isAnamorphic(other.m_isAnamorphic){} MediaStream MediaStream::fromJson(QJsonObject source) { MediaStream instance; diff --git a/core/src/DTO/mediaupdateinfodto.cpp b/core/src/DTO/mediaupdateinfodto.cpp index 048ebdf..6340e8a 100644 --- a/core/src/DTO/mediaupdateinfodto.cpp +++ b/core/src/DTO/mediaupdateinfodto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { MediaUpdateInfoDto::MediaUpdateInfoDto() {} +MediaUpdateInfoDto::MediaUpdateInfoDto(const MediaUpdateInfoDto &other) : + m_path(other.m_path), + m_updateType(other.m_updateType){} MediaUpdateInfoDto MediaUpdateInfoDto::fromJson(QJsonObject source) { MediaUpdateInfoDto instance; diff --git a/core/src/DTO/mediaurl.cpp b/core/src/DTO/mediaurl.cpp index d269d29..e2c7d2f 100644 --- a/core/src/DTO/mediaurl.cpp +++ b/core/src/DTO/mediaurl.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { MediaUrl::MediaUrl() {} +MediaUrl::MediaUrl(const MediaUrl &other) : + m_url(other.m_url), + m_name(other.m_name){} MediaUrl MediaUrl::fromJson(QJsonObject source) { MediaUrl instance; diff --git a/core/src/DTO/metadataeditorinfo.cpp b/core/src/DTO/metadataeditorinfo.cpp index 69aeb43..7bdcdfd 100644 --- a/core/src/DTO/metadataeditorinfo.cpp +++ b/core/src/DTO/metadataeditorinfo.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { MetadataEditorInfo::MetadataEditorInfo() {} +MetadataEditorInfo::MetadataEditorInfo(const MetadataEditorInfo &other) : + m_parentalRatingOptions(other.m_parentalRatingOptions), + m_countries(other.m_countries), + m_cultures(other.m_cultures), + m_externalIdInfos(other.m_externalIdInfos), + m_contentType(other.m_contentType), + m_contentTypeOptions(other.m_contentTypeOptions){} MetadataEditorInfo MetadataEditorInfo::fromJson(QJsonObject source) { MetadataEditorInfo instance; diff --git a/core/src/DTO/metadataoptions.cpp b/core/src/DTO/metadataoptions.cpp index cc27370..0291610 100644 --- a/core/src/DTO/metadataoptions.cpp +++ b/core/src/DTO/metadataoptions.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { MetadataOptions::MetadataOptions() {} +MetadataOptions::MetadataOptions(const MetadataOptions &other) : + m_itemType(other.m_itemType), + m_disabledMetadataSavers(other.m_disabledMetadataSavers), + m_localMetadataReaderOrder(other.m_localMetadataReaderOrder), + m_disabledMetadataFetchers(other.m_disabledMetadataFetchers), + m_metadataFetcherOrder(other.m_metadataFetcherOrder), + m_disabledImageFetchers(other.m_disabledImageFetchers), + m_imageFetcherOrder(other.m_imageFetcherOrder){} MetadataOptions MetadataOptions::fromJson(QJsonObject source) { MetadataOptions instance; diff --git a/core/src/DTO/moveplaylistitemrequestdto.cpp b/core/src/DTO/moveplaylistitemrequestdto.cpp index 52f01f6..7262a1c 100644 --- a/core/src/DTO/moveplaylistitemrequestdto.cpp +++ b/core/src/DTO/moveplaylistitemrequestdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { MovePlaylistItemRequestDto::MovePlaylistItemRequestDto() {} +MovePlaylistItemRequestDto::MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other) : + m_playlistItemId(other.m_playlistItemId), + m_newIndex(other.m_newIndex){} MovePlaylistItemRequestDto MovePlaylistItemRequestDto::fromJson(QJsonObject source) { MovePlaylistItemRequestDto instance; diff --git a/core/src/DTO/movieinfo.cpp b/core/src/DTO/movieinfo.cpp index 88eefe5..339b116 100644 --- a/core/src/DTO/movieinfo.cpp +++ b/core/src/DTO/movieinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { MovieInfo::MovieInfo() {} +MovieInfo::MovieInfo(const MovieInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} MovieInfo MovieInfo::fromJson(QJsonObject source) { MovieInfo instance; diff --git a/core/src/DTO/movieinforemotesearchquery.cpp b/core/src/DTO/movieinforemotesearchquery.cpp index a8d96f3..f0359f8 100644 --- a/core/src/DTO/movieinforemotesearchquery.cpp +++ b/core/src/DTO/movieinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery() {} +MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} MovieInfoRemoteSearchQuery MovieInfoRemoteSearchQuery::fromJson(QJsonObject source) { MovieInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/musicvideoinfo.cpp b/core/src/DTO/musicvideoinfo.cpp index 7b2eb70..268dc5e 100644 --- a/core/src/DTO/musicvideoinfo.cpp +++ b/core/src/DTO/musicvideoinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { MusicVideoInfo::MusicVideoInfo() {} +MusicVideoInfo::MusicVideoInfo(const MusicVideoInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_artists(other.m_artists){} MusicVideoInfo MusicVideoInfo::fromJson(QJsonObject source) { MusicVideoInfo instance; diff --git a/core/src/DTO/musicvideoinforemotesearchquery.cpp b/core/src/DTO/musicvideoinforemotesearchquery.cpp index d1c8b9d..edb69c1 100644 --- a/core/src/DTO/musicvideoinforemotesearchquery.cpp +++ b/core/src/DTO/musicvideoinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery() {} +MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} MusicVideoInfoRemoteSearchQuery MusicVideoInfoRemoteSearchQuery::fromJson(QJsonObject source) { MusicVideoInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/nameguidpair.cpp b/core/src/DTO/nameguidpair.cpp index 60dcfee..3b0940d 100644 --- a/core/src/DTO/nameguidpair.cpp +++ b/core/src/DTO/nameguidpair.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { NameGuidPair::NameGuidPair() {} +NameGuidPair::NameGuidPair(const NameGuidPair &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} NameGuidPair NameGuidPair::fromJson(QJsonObject source) { NameGuidPair instance; diff --git a/core/src/DTO/nameidpair.cpp b/core/src/DTO/nameidpair.cpp index 3700bc4..f2bc8b8 100644 --- a/core/src/DTO/nameidpair.cpp +++ b/core/src/DTO/nameidpair.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { NameIdPair::NameIdPair() {} +NameIdPair::NameIdPair(const NameIdPair &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} NameIdPair NameIdPair::fromJson(QJsonObject source) { NameIdPair instance; diff --git a/core/src/DTO/namevaluepair.cpp b/core/src/DTO/namevaluepair.cpp index afb2809..90f5479 100644 --- a/core/src/DTO/namevaluepair.cpp +++ b/core/src/DTO/namevaluepair.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { NameValuePair::NameValuePair() {} +NameValuePair::NameValuePair(const NameValuePair &other) : + m_name(other.m_name), + m_value(other.m_value){} NameValuePair NameValuePair::fromJson(QJsonObject source) { NameValuePair instance; diff --git a/core/src/DTO/newgrouprequestdto.cpp b/core/src/DTO/newgrouprequestdto.cpp index 06545ae..8adfad2 100644 --- a/core/src/DTO/newgrouprequestdto.cpp +++ b/core/src/DTO/newgrouprequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { NewGroupRequestDto::NewGroupRequestDto() {} +NewGroupRequestDto::NewGroupRequestDto(const NewGroupRequestDto &other) : + m_groupName(other.m_groupName){} NewGroupRequestDto NewGroupRequestDto::fromJson(QJsonObject source) { NewGroupRequestDto instance; diff --git a/core/src/DTO/nextitemrequestdto.cpp b/core/src/DTO/nextitemrequestdto.cpp index 0ab7052..3246016 100644 --- a/core/src/DTO/nextitemrequestdto.cpp +++ b/core/src/DTO/nextitemrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { NextItemRequestDto::NextItemRequestDto() {} +NextItemRequestDto::NextItemRequestDto(const NextItemRequestDto &other) : + m_playlistItemId(other.m_playlistItemId){} NextItemRequestDto NextItemRequestDto::fromJson(QJsonObject source) { NextItemRequestDto instance; diff --git a/core/src/DTO/notificationdto.cpp b/core/src/DTO/notificationdto.cpp index 55dea6d..baf4a9d 100644 --- a/core/src/DTO/notificationdto.cpp +++ b/core/src/DTO/notificationdto.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { NotificationDto::NotificationDto() {} +NotificationDto::NotificationDto(const NotificationDto &other) : + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_date(other.m_date), + m_isRead(other.m_isRead), + m_name(other.m_name), + m_description(other.m_description), + m_url(other.m_url), + m_level(other.m_level){} NotificationDto NotificationDto::fromJson(QJsonObject source) { NotificationDto instance; diff --git a/core/src/DTO/notificationresultdto.cpp b/core/src/DTO/notificationresultdto.cpp index f32401a..59dfd47 100644 --- a/core/src/DTO/notificationresultdto.cpp +++ b/core/src/DTO/notificationresultdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { NotificationResultDto::NotificationResultDto() {} +NotificationResultDto::NotificationResultDto(const NotificationResultDto &other) : + m_notifications(other.m_notifications), + m_totalRecordCount(other.m_totalRecordCount){} NotificationResultDto NotificationResultDto::fromJson(QJsonObject source) { NotificationResultDto instance; diff --git a/core/src/DTO/notificationssummarydto.cpp b/core/src/DTO/notificationssummarydto.cpp index dfa0ea6..9259c8e 100644 --- a/core/src/DTO/notificationssummarydto.cpp +++ b/core/src/DTO/notificationssummarydto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { NotificationsSummaryDto::NotificationsSummaryDto() {} +NotificationsSummaryDto::NotificationsSummaryDto(const NotificationsSummaryDto &other) : + m_unreadCount(other.m_unreadCount), + m_maxUnreadNotificationLevel(other.m_maxUnreadNotificationLevel){} NotificationsSummaryDto NotificationsSummaryDto::fromJson(QJsonObject source) { NotificationsSummaryDto instance; diff --git a/core/src/DTO/notificationtypeinfo.cpp b/core/src/DTO/notificationtypeinfo.cpp index 18575a9..24cfcc5 100644 --- a/core/src/DTO/notificationtypeinfo.cpp +++ b/core/src/DTO/notificationtypeinfo.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { NotificationTypeInfo::NotificationTypeInfo() {} +NotificationTypeInfo::NotificationTypeInfo(const NotificationTypeInfo &other) : + m_type(other.m_type), + m_name(other.m_name), + m_enabled(other.m_enabled), + m_category(other.m_category), + m_isBasedOnUserEvent(other.m_isBasedOnUserEvent){} NotificationTypeInfo NotificationTypeInfo::fromJson(QJsonObject source) { NotificationTypeInfo instance; diff --git a/core/src/DTO/objectgroupupdate.cpp b/core/src/DTO/objectgroupupdate.cpp index 12008ad..80e6dea 100644 --- a/core/src/DTO/objectgroupupdate.cpp +++ b/core/src/DTO/objectgroupupdate.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ObjectGroupUpdate::ObjectGroupUpdate() {} +ObjectGroupUpdate::ObjectGroupUpdate(const ObjectGroupUpdate &other) : + m_groupId(other.m_groupId), + m_type(other.m_type), + m_data(other.m_data){} ObjectGroupUpdate ObjectGroupUpdate::fromJson(QJsonObject source) { ObjectGroupUpdate instance; diff --git a/core/src/DTO/openlivestreamdto.cpp b/core/src/DTO/openlivestreamdto.cpp index a4cc48d..2a1520a 100644 --- a/core/src/DTO/openlivestreamdto.cpp +++ b/core/src/DTO/openlivestreamdto.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { OpenLiveStreamDto::OpenLiveStreamDto() {} +OpenLiveStreamDto::OpenLiveStreamDto(const OpenLiveStreamDto &other) : + m_openToken(other.m_openToken), + m_userId(other.m_userId), + m_playSessionId(other.m_playSessionId), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_startTimeTicks(other.m_startTimeTicks), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_maxAudioChannels(other.m_maxAudioChannels), + m_itemId(other.m_itemId), + m_enableDirectPlay(other.m_enableDirectPlay), + m_enableDirectStream(other.m_enableDirectStream), + m_deviceProfile(other.m_deviceProfile), + m_directPlayProtocols(other.m_directPlayProtocols){} OpenLiveStreamDto OpenLiveStreamDto::fromJson(QJsonObject source) { OpenLiveStreamDto instance; diff --git a/core/src/DTO/packageinfo.cpp b/core/src/DTO/packageinfo.cpp index 85abded..8e62fac 100644 --- a/core/src/DTO/packageinfo.cpp +++ b/core/src/DTO/packageinfo.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { PackageInfo::PackageInfo() {} +PackageInfo::PackageInfo(const PackageInfo &other) : + m_name(other.m_name), + m_description(other.m_description), + m_overview(other.m_overview), + m_owner(other.m_owner), + m_category(other.m_category), + m_guid(other.m_guid), + m_versions(other.m_versions), + m_imageUrl(other.m_imageUrl){} PackageInfo PackageInfo::fromJson(QJsonObject source) { PackageInfo instance; diff --git a/core/src/DTO/parentalrating.cpp b/core/src/DTO/parentalrating.cpp index 7bd42ee..4d8d5b0 100644 --- a/core/src/DTO/parentalrating.cpp +++ b/core/src/DTO/parentalrating.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { ParentalRating::ParentalRating() {} +ParentalRating::ParentalRating(const ParentalRating &other) : + m_name(other.m_name), + m_value(other.m_value){} ParentalRating ParentalRating::fromJson(QJsonObject source) { ParentalRating instance; diff --git a/core/src/DTO/pathsubstitution.cpp b/core/src/DTO/pathsubstitution.cpp index 43b5fa1..982e3b7 100644 --- a/core/src/DTO/pathsubstitution.cpp +++ b/core/src/DTO/pathsubstitution.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { PathSubstitution::PathSubstitution() {} +PathSubstitution::PathSubstitution(const PathSubstitution &other) : + m_from(other.m_from), + m_to(other.m_to){} PathSubstitution PathSubstitution::fromJson(QJsonObject source) { PathSubstitution instance; diff --git a/core/src/DTO/personlookupinfo.cpp b/core/src/DTO/personlookupinfo.cpp index 05ba83d..0ab2058 100644 --- a/core/src/DTO/personlookupinfo.cpp +++ b/core/src/DTO/personlookupinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { PersonLookupInfo::PersonLookupInfo() {} +PersonLookupInfo::PersonLookupInfo(const PersonLookupInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} PersonLookupInfo PersonLookupInfo::fromJson(QJsonObject source) { PersonLookupInfo instance; diff --git a/core/src/DTO/personlookupinforemotesearchquery.cpp b/core/src/DTO/personlookupinforemotesearchquery.cpp index 8d1b4d1..c26c465 100644 --- a/core/src/DTO/personlookupinforemotesearchquery.cpp +++ b/core/src/DTO/personlookupinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery() {} +PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} PersonLookupInfoRemoteSearchQuery PersonLookupInfoRemoteSearchQuery::fromJson(QJsonObject source) { PersonLookupInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/pingrequestdto.cpp b/core/src/DTO/pingrequestdto.cpp index 1554284..917414f 100644 --- a/core/src/DTO/pingrequestdto.cpp +++ b/core/src/DTO/pingrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { PingRequestDto::PingRequestDto() {} +PingRequestDto::PingRequestDto(const PingRequestDto &other) : + m_ping(other.m_ping){} PingRequestDto PingRequestDto::fromJson(QJsonObject source) { PingRequestDto instance; diff --git a/core/src/DTO/pinredeemresult.cpp b/core/src/DTO/pinredeemresult.cpp index 2eacef5..d183134 100644 --- a/core/src/DTO/pinredeemresult.cpp +++ b/core/src/DTO/pinredeemresult.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { PinRedeemResult::PinRedeemResult() {} +PinRedeemResult::PinRedeemResult(const PinRedeemResult &other) : + m_success(other.m_success), + m_usersReset(other.m_usersReset){} PinRedeemResult PinRedeemResult::fromJson(QJsonObject source) { PinRedeemResult instance; diff --git a/core/src/DTO/playbackinfodto.cpp b/core/src/DTO/playbackinfodto.cpp index 794574c..061749b 100644 --- a/core/src/DTO/playbackinfodto.cpp +++ b/core/src/DTO/playbackinfodto.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { PlaybackInfoDto::PlaybackInfoDto() {} +PlaybackInfoDto::PlaybackInfoDto(const PlaybackInfoDto &other) : + m_userId(other.m_userId), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_startTimeTicks(other.m_startTimeTicks), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_maxAudioChannels(other.m_maxAudioChannels), + m_mediaSourceId(other.m_mediaSourceId), + m_liveStreamId(other.m_liveStreamId), + m_deviceProfile(other.m_deviceProfile), + m_enableDirectPlay(other.m_enableDirectPlay), + m_enableDirectStream(other.m_enableDirectStream), + m_enableTranscoding(other.m_enableTranscoding), + m_allowVideoStreamCopy(other.m_allowVideoStreamCopy), + m_allowAudioStreamCopy(other.m_allowAudioStreamCopy), + m_autoOpenLiveStream(other.m_autoOpenLiveStream){} PlaybackInfoDto PlaybackInfoDto::fromJson(QJsonObject source) { PlaybackInfoDto instance; diff --git a/core/src/DTO/playbackinforesponse.cpp b/core/src/DTO/playbackinforesponse.cpp index c383537..b607a4b 100644 --- a/core/src/DTO/playbackinforesponse.cpp +++ b/core/src/DTO/playbackinforesponse.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { PlaybackInfoResponse::PlaybackInfoResponse() {} +PlaybackInfoResponse::PlaybackInfoResponse(const PlaybackInfoResponse &other) : + m_mediaSources(other.m_mediaSources), + m_playSessionId(other.m_playSessionId), + m_errorCode(other.m_errorCode){} PlaybackInfoResponse PlaybackInfoResponse::fromJson(QJsonObject source) { PlaybackInfoResponse instance; diff --git a/core/src/DTO/playbackprogressinfo.cpp b/core/src/DTO/playbackprogressinfo.cpp index 0f0924d..5226efe 100644 --- a/core/src/DTO/playbackprogressinfo.cpp +++ b/core/src/DTO/playbackprogressinfo.cpp @@ -33,6 +33,27 @@ namespace Jellyfin { namespace DTO { PlaybackProgressInfo::PlaybackProgressInfo() {} +PlaybackProgressInfo::PlaybackProgressInfo(const PlaybackProgressInfo &other) : + m_canSeek(other.m_canSeek), + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_positionTicks(other.m_positionTicks), + m_playbackStartTimeTicks(other.m_playbackStartTimeTicks), + m_volumeLevel(other.m_volumeLevel), + m_brightness(other.m_brightness), + m_aspectRatio(other.m_aspectRatio), + m_playMethod(other.m_playMethod), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_repeatMode(other.m_repeatMode), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_playlistItemId(other.m_playlistItemId){} PlaybackProgressInfo PlaybackProgressInfo::fromJson(QJsonObject source) { PlaybackProgressInfo instance; diff --git a/core/src/DTO/playbackstartinfo.cpp b/core/src/DTO/playbackstartinfo.cpp index 22db874..34a9d9a 100644 --- a/core/src/DTO/playbackstartinfo.cpp +++ b/core/src/DTO/playbackstartinfo.cpp @@ -33,6 +33,27 @@ namespace Jellyfin { namespace DTO { PlaybackStartInfo::PlaybackStartInfo() {} +PlaybackStartInfo::PlaybackStartInfo(const PlaybackStartInfo &other) : + m_canSeek(other.m_canSeek), + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_positionTicks(other.m_positionTicks), + m_playbackStartTimeTicks(other.m_playbackStartTimeTicks), + m_volumeLevel(other.m_volumeLevel), + m_brightness(other.m_brightness), + m_aspectRatio(other.m_aspectRatio), + m_playMethod(other.m_playMethod), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_repeatMode(other.m_repeatMode), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_playlistItemId(other.m_playlistItemId){} PlaybackStartInfo PlaybackStartInfo::fromJson(QJsonObject source) { PlaybackStartInfo instance; diff --git a/core/src/DTO/playbackstopinfo.cpp b/core/src/DTO/playbackstopinfo.cpp index a6237de..87d16c5 100644 --- a/core/src/DTO/playbackstopinfo.cpp +++ b/core/src/DTO/playbackstopinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { PlaybackStopInfo::PlaybackStopInfo() {} +PlaybackStopInfo::PlaybackStopInfo(const PlaybackStopInfo &other) : + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_positionTicks(other.m_positionTicks), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_failed(other.m_failed), + m_nextMediaType(other.m_nextMediaType), + m_playlistItemId(other.m_playlistItemId), + m_nowPlayingQueue(other.m_nowPlayingQueue){} PlaybackStopInfo PlaybackStopInfo::fromJson(QJsonObject source) { PlaybackStopInfo instance; diff --git a/core/src/DTO/playerstateinfo.cpp b/core/src/DTO/playerstateinfo.cpp index a019c8a..8fab6a5 100644 --- a/core/src/DTO/playerstateinfo.cpp +++ b/core/src/DTO/playerstateinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { PlayerStateInfo::PlayerStateInfo() {} +PlayerStateInfo::PlayerStateInfo(const PlayerStateInfo &other) : + m_positionTicks(other.m_positionTicks), + m_canSeek(other.m_canSeek), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_volumeLevel(other.m_volumeLevel), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_mediaSourceId(other.m_mediaSourceId), + m_playMethod(other.m_playMethod), + m_repeatMode(other.m_repeatMode){} PlayerStateInfo PlayerStateInfo::fromJson(QJsonObject source) { PlayerStateInfo instance; diff --git a/core/src/DTO/playlistcreationresult.cpp b/core/src/DTO/playlistcreationresult.cpp index 47d50e4..1b0b68b 100644 --- a/core/src/DTO/playlistcreationresult.cpp +++ b/core/src/DTO/playlistcreationresult.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { PlaylistCreationResult::PlaylistCreationResult() {} +PlaylistCreationResult::PlaylistCreationResult(const PlaylistCreationResult &other) : + m_jellyfinId(other.m_jellyfinId){} PlaylistCreationResult PlaylistCreationResult::fromJson(QJsonObject source) { PlaylistCreationResult instance; diff --git a/core/src/DTO/playrequest.cpp b/core/src/DTO/playrequest.cpp index 02a2c07..5d40a36 100644 --- a/core/src/DTO/playrequest.cpp +++ b/core/src/DTO/playrequest.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { PlayRequest::PlayRequest() {} +PlayRequest::PlayRequest(const PlayRequest &other) : + m_itemIds(other.m_itemIds), + m_startPositionTicks(other.m_startPositionTicks), + m_playCommand(other.m_playCommand), + m_controllingUserId(other.m_controllingUserId), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_audioStreamIndex(other.m_audioStreamIndex), + m_mediaSourceId(other.m_mediaSourceId), + m_startIndex(other.m_startIndex){} PlayRequest PlayRequest::fromJson(QJsonObject source) { PlayRequest instance; diff --git a/core/src/DTO/playrequestdto.cpp b/core/src/DTO/playrequestdto.cpp index fc16212..93c7529 100644 --- a/core/src/DTO/playrequestdto.cpp +++ b/core/src/DTO/playrequestdto.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { PlayRequestDto::PlayRequestDto() {} +PlayRequestDto::PlayRequestDto(const PlayRequestDto &other) : + m_playingQueue(other.m_playingQueue), + m_playingItemPosition(other.m_playingItemPosition), + m_startPositionTicks(other.m_startPositionTicks){} PlayRequestDto PlayRequestDto::fromJson(QJsonObject source) { PlayRequestDto instance; diff --git a/core/src/DTO/playstaterequest.cpp b/core/src/DTO/playstaterequest.cpp index 5382039..03828a2 100644 --- a/core/src/DTO/playstaterequest.cpp +++ b/core/src/DTO/playstaterequest.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { PlaystateRequest::PlaystateRequest() {} +PlaystateRequest::PlaystateRequest(const PlaystateRequest &other) : + m_command(other.m_command), + m_seekPositionTicks(other.m_seekPositionTicks), + m_controllingUserId(other.m_controllingUserId){} PlaystateRequest PlaystateRequest::fromJson(QJsonObject source) { PlaystateRequest instance; diff --git a/core/src/DTO/plugininfo.cpp b/core/src/DTO/plugininfo.cpp index b6e365c..05ed8e3 100644 --- a/core/src/DTO/plugininfo.cpp +++ b/core/src/DTO/plugininfo.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { PluginInfo::PluginInfo() {} +PluginInfo::PluginInfo(const PluginInfo &other) : + m_name(other.m_name), + m_version(other.m_version), + m_configurationFileName(other.m_configurationFileName), + m_description(other.m_description), + m_jellyfinId(other.m_jellyfinId), + m_canUninstall(other.m_canUninstall), + m_hasImage(other.m_hasImage), + m_status(other.m_status){} PluginInfo PluginInfo::fromJson(QJsonObject source) { PluginInfo instance; diff --git a/core/src/DTO/pluginsecurityinfo.cpp b/core/src/DTO/pluginsecurityinfo.cpp index 6ccb238..31ebffa 100644 --- a/core/src/DTO/pluginsecurityinfo.cpp +++ b/core/src/DTO/pluginsecurityinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { PluginSecurityInfo::PluginSecurityInfo() {} +PluginSecurityInfo::PluginSecurityInfo(const PluginSecurityInfo &other) : + m_supporterKey(other.m_supporterKey), + m_isMbSupporter(other.m_isMbSupporter){} PluginSecurityInfo PluginSecurityInfo::fromJson(QJsonObject source) { PluginSecurityInfo instance; diff --git a/core/src/DTO/previousitemrequestdto.cpp b/core/src/DTO/previousitemrequestdto.cpp index 5012706..7ad2ef9 100644 --- a/core/src/DTO/previousitemrequestdto.cpp +++ b/core/src/DTO/previousitemrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { PreviousItemRequestDto::PreviousItemRequestDto() {} +PreviousItemRequestDto::PreviousItemRequestDto(const PreviousItemRequestDto &other) : + m_playlistItemId(other.m_playlistItemId){} PreviousItemRequestDto PreviousItemRequestDto::fromJson(QJsonObject source) { PreviousItemRequestDto instance; diff --git a/core/src/DTO/problemdetails.cpp b/core/src/DTO/problemdetails.cpp index 8f4d4b6..362c467 100644 --- a/core/src/DTO/problemdetails.cpp +++ b/core/src/DTO/problemdetails.cpp @@ -33,6 +33,12 @@ namespace Jellyfin { namespace DTO { ProblemDetails::ProblemDetails() {} +ProblemDetails::ProblemDetails(const ProblemDetails &other) : + m_type(other.m_type), + m_title(other.m_title), + m_status(other.m_status), + m_detail(other.m_detail), + m_instance(other.m_instance){} ProblemDetails ProblemDetails::fromJson(QJsonObject source) { ProblemDetails instance; diff --git a/core/src/DTO/profilecondition.cpp b/core/src/DTO/profilecondition.cpp index 260a28d..223976d 100644 --- a/core/src/DTO/profilecondition.cpp +++ b/core/src/DTO/profilecondition.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ProfileCondition::ProfileCondition() {} +ProfileCondition::ProfileCondition(const ProfileCondition &other) : + m_condition(other.m_condition), + m_property(other.m_property), + m_value(other.m_value), + m_isRequired(other.m_isRequired){} ProfileCondition ProfileCondition::fromJson(QJsonObject source) { ProfileCondition instance; diff --git a/core/src/DTO/publicsysteminfo.cpp b/core/src/DTO/publicsysteminfo.cpp index 921ebe4..742b831 100644 --- a/core/src/DTO/publicsysteminfo.cpp +++ b/core/src/DTO/publicsysteminfo.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { PublicSystemInfo::PublicSystemInfo() {} +PublicSystemInfo::PublicSystemInfo(const PublicSystemInfo &other) : + m_localAddress(other.m_localAddress), + m_serverName(other.m_serverName), + m_version(other.m_version), + m_productName(other.m_productName), + m_operatingSystem(other.m_operatingSystem), + m_jellyfinId(other.m_jellyfinId), + m_startupWizardCompleted(other.m_startupWizardCompleted){} PublicSystemInfo PublicSystemInfo::fromJson(QJsonObject source) { PublicSystemInfo instance; diff --git a/core/src/DTO/queryfilters.cpp b/core/src/DTO/queryfilters.cpp index deb5919..54afaaa 100644 --- a/core/src/DTO/queryfilters.cpp +++ b/core/src/DTO/queryfilters.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { QueryFilters::QueryFilters() {} +QueryFilters::QueryFilters(const QueryFilters &other) : + m_genres(other.m_genres), + m_tags(other.m_tags){} QueryFilters QueryFilters::fromJson(QJsonObject source) { QueryFilters instance; diff --git a/core/src/DTO/queryfilterslegacy.cpp b/core/src/DTO/queryfilterslegacy.cpp index 8a68133..eb20c5f 100644 --- a/core/src/DTO/queryfilterslegacy.cpp +++ b/core/src/DTO/queryfilterslegacy.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { QueryFiltersLegacy::QueryFiltersLegacy() {} +QueryFiltersLegacy::QueryFiltersLegacy(const QueryFiltersLegacy &other) : + m_genres(other.m_genres), + m_tags(other.m_tags), + m_officialRatings(other.m_officialRatings), + m_years(other.m_years){} QueryFiltersLegacy QueryFiltersLegacy::fromJson(QJsonObject source) { QueryFiltersLegacy instance; diff --git a/core/src/DTO/queueitem.cpp b/core/src/DTO/queueitem.cpp index 4ebc66c..2b81d88 100644 --- a/core/src/DTO/queueitem.cpp +++ b/core/src/DTO/queueitem.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { QueueItem::QueueItem() {} +QueueItem::QueueItem(const QueueItem &other) : + m_jellyfinId(other.m_jellyfinId), + m_playlistItemId(other.m_playlistItemId){} QueueItem QueueItem::fromJson(QJsonObject source) { QueueItem instance; diff --git a/core/src/DTO/queuerequestdto.cpp b/core/src/DTO/queuerequestdto.cpp index 574664c..a903a46 100644 --- a/core/src/DTO/queuerequestdto.cpp +++ b/core/src/DTO/queuerequestdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { QueueRequestDto::QueueRequestDto() {} +QueueRequestDto::QueueRequestDto(const QueueRequestDto &other) : + m_itemIds(other.m_itemIds), + m_mode(other.m_mode){} QueueRequestDto QueueRequestDto::fromJson(QJsonObject source) { QueueRequestDto instance; diff --git a/core/src/DTO/quickconnectdto.cpp b/core/src/DTO/quickconnectdto.cpp index b48561e..01d3f42 100644 --- a/core/src/DTO/quickconnectdto.cpp +++ b/core/src/DTO/quickconnectdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { QuickConnectDto::QuickConnectDto() {} +QuickConnectDto::QuickConnectDto(const QuickConnectDto &other) : + m_token(other.m_token){} QuickConnectDto QuickConnectDto::fromJson(QJsonObject source) { QuickConnectDto instance; diff --git a/core/src/DTO/quickconnectresult.cpp b/core/src/DTO/quickconnectresult.cpp index 50ee82a..8aa0c23 100644 --- a/core/src/DTO/quickconnectresult.cpp +++ b/core/src/DTO/quickconnectresult.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { QuickConnectResult::QuickConnectResult() {} +QuickConnectResult::QuickConnectResult(const QuickConnectResult &other) : + m_authenticated(other.m_authenticated), + m_secret(other.m_secret), + m_code(other.m_code), + m_authentication(other.m_authentication), + m_error(other.m_error), + m_dateAdded(other.m_dateAdded){} QuickConnectResult QuickConnectResult::fromJson(QJsonObject source) { QuickConnectResult instance; diff --git a/core/src/DTO/readyrequestdto.cpp b/core/src/DTO/readyrequestdto.cpp index 5e146ef..6655eda 100644 --- a/core/src/DTO/readyrequestdto.cpp +++ b/core/src/DTO/readyrequestdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ReadyRequestDto::ReadyRequestDto() {} +ReadyRequestDto::ReadyRequestDto(const ReadyRequestDto &other) : + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_isPlaying(other.m_isPlaying), + m_playlistItemId(other.m_playlistItemId){} ReadyRequestDto ReadyRequestDto::fromJson(QJsonObject source) { ReadyRequestDto instance; diff --git a/core/src/DTO/recommendationdto.cpp b/core/src/DTO/recommendationdto.cpp index 16427c8..e30fff4 100644 --- a/core/src/DTO/recommendationdto.cpp +++ b/core/src/DTO/recommendationdto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { RecommendationDto::RecommendationDto() {} +RecommendationDto::RecommendationDto(const RecommendationDto &other) : + m_items(other.m_items), + m_recommendationType(other.m_recommendationType), + m_baselineItemName(other.m_baselineItemName), + m_categoryId(other.m_categoryId){} RecommendationDto RecommendationDto::fromJson(QJsonObject source) { RecommendationDto instance; diff --git a/core/src/DTO/remoteimageinfo.cpp b/core/src/DTO/remoteimageinfo.cpp index 17a5f44..6d49717 100644 --- a/core/src/DTO/remoteimageinfo.cpp +++ b/core/src/DTO/remoteimageinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { RemoteImageInfo::RemoteImageInfo() {} +RemoteImageInfo::RemoteImageInfo(const RemoteImageInfo &other) : + m_providerName(other.m_providerName), + m_url(other.m_url), + m_thumbnailUrl(other.m_thumbnailUrl), + m_height(other.m_height), + m_width(other.m_width), + m_communityRating(other.m_communityRating), + m_voteCount(other.m_voteCount), + m_language(other.m_language), + m_type(other.m_type), + m_ratingType(other.m_ratingType){} RemoteImageInfo RemoteImageInfo::fromJson(QJsonObject source) { RemoteImageInfo instance; diff --git a/core/src/DTO/remoteimageresult.cpp b/core/src/DTO/remoteimageresult.cpp index 5d0ba88..d5965b5 100644 --- a/core/src/DTO/remoteimageresult.cpp +++ b/core/src/DTO/remoteimageresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { RemoteImageResult::RemoteImageResult() {} +RemoteImageResult::RemoteImageResult(const RemoteImageResult &other) : + m_images(other.m_images), + m_totalRecordCount(other.m_totalRecordCount), + m_providers(other.m_providers){} RemoteImageResult RemoteImageResult::fromJson(QJsonObject source) { RemoteImageResult instance; diff --git a/core/src/DTO/remotesearchresult.cpp b/core/src/DTO/remotesearchresult.cpp index d884c7b..5285476 100644 --- a/core/src/DTO/remotesearchresult.cpp +++ b/core/src/DTO/remotesearchresult.cpp @@ -33,6 +33,19 @@ namespace Jellyfin { namespace DTO { RemoteSearchResult::RemoteSearchResult() {} +RemoteSearchResult::RemoteSearchResult(const RemoteSearchResult &other) : + m_name(other.m_name), + m_providerIds(other.m_providerIds), + m_productionYear(other.m_productionYear), + m_indexNumber(other.m_indexNumber), + m_indexNumberEnd(other.m_indexNumberEnd), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_imageUrl(other.m_imageUrl), + m_searchProviderName(other.m_searchProviderName), + m_overview(other.m_overview), + m_albumArtist(other.m_albumArtist), + m_artists(other.m_artists){} RemoteSearchResult RemoteSearchResult::fromJson(QJsonObject source) { RemoteSearchResult instance; diff --git a/core/src/DTO/remotesubtitleinfo.cpp b/core/src/DTO/remotesubtitleinfo.cpp index 44b511a..52cf853 100644 --- a/core/src/DTO/remotesubtitleinfo.cpp +++ b/core/src/DTO/remotesubtitleinfo.cpp @@ -33,6 +33,18 @@ namespace Jellyfin { namespace DTO { RemoteSubtitleInfo::RemoteSubtitleInfo() {} +RemoteSubtitleInfo::RemoteSubtitleInfo(const RemoteSubtitleInfo &other) : + m_threeLetterISOLanguageName(other.m_threeLetterISOLanguageName), + m_jellyfinId(other.m_jellyfinId), + m_providerName(other.m_providerName), + m_name(other.m_name), + m_format(other.m_format), + m_author(other.m_author), + m_comment(other.m_comment), + m_dateCreated(other.m_dateCreated), + m_communityRating(other.m_communityRating), + m_downloadCount(other.m_downloadCount), + m_isHashMatch(other.m_isHashMatch){} RemoteSubtitleInfo RemoteSubtitleInfo::fromJson(QJsonObject source) { RemoteSubtitleInfo instance; diff --git a/core/src/DTO/removefromplaylistrequestdto.cpp b/core/src/DTO/removefromplaylistrequestdto.cpp index 4f6c4a7..971106f 100644 --- a/core/src/DTO/removefromplaylistrequestdto.cpp +++ b/core/src/DTO/removefromplaylistrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { RemoveFromPlaylistRequestDto::RemoveFromPlaylistRequestDto() {} +RemoveFromPlaylistRequestDto::RemoveFromPlaylistRequestDto(const RemoveFromPlaylistRequestDto &other) : + m_playlistItemIds(other.m_playlistItemIds){} RemoveFromPlaylistRequestDto RemoveFromPlaylistRequestDto::fromJson(QJsonObject source) { RemoveFromPlaylistRequestDto instance; diff --git a/core/src/DTO/repositoryinfo.cpp b/core/src/DTO/repositoryinfo.cpp index 7045478..0aec601 100644 --- a/core/src/DTO/repositoryinfo.cpp +++ b/core/src/DTO/repositoryinfo.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { RepositoryInfo::RepositoryInfo() {} +RepositoryInfo::RepositoryInfo(const RepositoryInfo &other) : + m_name(other.m_name), + m_url(other.m_url), + m_enabled(other.m_enabled){} RepositoryInfo RepositoryInfo::fromJson(QJsonObject source) { RepositoryInfo instance; diff --git a/core/src/DTO/responseprofile.cpp b/core/src/DTO/responseprofile.cpp index ccaacae..1a14e1b 100644 --- a/core/src/DTO/responseprofile.cpp +++ b/core/src/DTO/responseprofile.cpp @@ -33,6 +33,14 @@ namespace Jellyfin { namespace DTO { ResponseProfile::ResponseProfile() {} +ResponseProfile::ResponseProfile(const ResponseProfile &other) : + m_container(other.m_container), + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_type(other.m_type), + m_orgPn(other.m_orgPn), + m_mimeType(other.m_mimeType), + m_conditions(other.m_conditions){} ResponseProfile ResponseProfile::fromJson(QJsonObject source) { ResponseProfile instance; diff --git a/core/src/DTO/searchhint.cpp b/core/src/DTO/searchhint.cpp index 0a54134..1334d8f 100644 --- a/core/src/DTO/searchhint.cpp +++ b/core/src/DTO/searchhint.cpp @@ -33,6 +33,36 @@ namespace Jellyfin { namespace DTO { SearchHint::SearchHint() {} +SearchHint::SearchHint(const SearchHint &other) : + m_itemId(other.m_itemId), + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_matchedTerm(other.m_matchedTerm), + m_indexNumber(other.m_indexNumber), + m_productionYear(other.m_productionYear), + m_parentIndexNumber(other.m_parentIndexNumber), + m_primaryImageTag(other.m_primaryImageTag), + m_thumbImageTag(other.m_thumbImageTag), + m_thumbImageItemId(other.m_thumbImageItemId), + m_backdropImageTag(other.m_backdropImageTag), + m_backdropImageItemId(other.m_backdropImageItemId), + m_type(other.m_type), + m_isFolder(other.m_isFolder), + m_runTimeTicks(other.m_runTimeTicks), + m_mediaType(other.m_mediaType), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_series(other.m_series), + m_status(other.m_status), + m_album(other.m_album), + m_albumId(other.m_albumId), + m_albumArtist(other.m_albumArtist), + m_artists(other.m_artists), + m_songCount(other.m_songCount), + m_episodeCount(other.m_episodeCount), + m_channelId(other.m_channelId), + m_channelName(other.m_channelName), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio){} SearchHint SearchHint::fromJson(QJsonObject source) { SearchHint instance; diff --git a/core/src/DTO/searchhintresult.cpp b/core/src/DTO/searchhintresult.cpp index 51470e0..bfa351b 100644 --- a/core/src/DTO/searchhintresult.cpp +++ b/core/src/DTO/searchhintresult.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { SearchHintResult::SearchHintResult() {} +SearchHintResult::SearchHintResult(const SearchHintResult &other) : + m_searchHints(other.m_searchHints), + m_totalRecordCount(other.m_totalRecordCount){} SearchHintResult SearchHintResult::fromJson(QJsonObject source) { SearchHintResult instance; diff --git a/core/src/DTO/seekrequestdto.cpp b/core/src/DTO/seekrequestdto.cpp index 1a3d473..81061c9 100644 --- a/core/src/DTO/seekrequestdto.cpp +++ b/core/src/DTO/seekrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { SeekRequestDto::SeekRequestDto() {} +SeekRequestDto::SeekRequestDto(const SeekRequestDto &other) : + m_positionTicks(other.m_positionTicks){} SeekRequestDto SeekRequestDto::fromJson(QJsonObject source) { SeekRequestDto instance; diff --git a/core/src/DTO/sendcommand.cpp b/core/src/DTO/sendcommand.cpp index a99f331..485fba7 100644 --- a/core/src/DTO/sendcommand.cpp +++ b/core/src/DTO/sendcommand.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { SendCommand::SendCommand() {} +SendCommand::SendCommand(const SendCommand &other) : + m_groupId(other.m_groupId), + m_playlistItemId(other.m_playlistItemId), + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_command(other.m_command), + m_emittedAt(other.m_emittedAt){} SendCommand SendCommand::fromJson(QJsonObject source) { SendCommand instance; diff --git a/core/src/DTO/seriesinfo.cpp b/core/src/DTO/seriesinfo.cpp index a735036..86fe65e 100644 --- a/core/src/DTO/seriesinfo.cpp +++ b/core/src/DTO/seriesinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { SeriesInfo::SeriesInfo() {} +SeriesInfo::SeriesInfo(const SeriesInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} SeriesInfo SeriesInfo::fromJson(QJsonObject source) { SeriesInfo instance; diff --git a/core/src/DTO/seriesinforemotesearchquery.cpp b/core/src/DTO/seriesinforemotesearchquery.cpp index 5e6903c..c992e8f 100644 --- a/core/src/DTO/seriesinforemotesearchquery.cpp +++ b/core/src/DTO/seriesinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery() {} +SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} SeriesInfoRemoteSearchQuery SeriesInfoRemoteSearchQuery::fromJson(QJsonObject source) { SeriesInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/seriestimerinfodto.cpp b/core/src/DTO/seriestimerinfodto.cpp index ddeb0cb..293306f 100644 --- a/core/src/DTO/seriestimerinfodto.cpp +++ b/core/src/DTO/seriestimerinfodto.cpp @@ -33,6 +33,42 @@ namespace Jellyfin { namespace DTO { SeriesTimerInfoDto::SeriesTimerInfoDto() {} +SeriesTimerInfoDto::SeriesTimerInfoDto(const SeriesTimerInfoDto &other) : + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_serverId(other.m_serverId), + m_externalId(other.m_externalId), + m_channelId(other.m_channelId), + m_externalChannelId(other.m_externalChannelId), + m_channelName(other.m_channelName), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_programId(other.m_programId), + m_externalProgramId(other.m_externalProgramId), + m_name(other.m_name), + m_overview(other.m_overview), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_serviceName(other.m_serviceName), + m_priority(other.m_priority), + m_prePaddingSeconds(other.m_prePaddingSeconds), + m_postPaddingSeconds(other.m_postPaddingSeconds), + m_isPrePaddingRequired(other.m_isPrePaddingRequired), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_isPostPaddingRequired(other.m_isPostPaddingRequired), + m_keepUntil(other.m_keepUntil), + m_recordAnyTime(other.m_recordAnyTime), + m_skipEpisodesInLibrary(other.m_skipEpisodesInLibrary), + m_recordAnyChannel(other.m_recordAnyChannel), + m_keepUpTo(other.m_keepUpTo), + m_recordNewOnly(other.m_recordNewOnly), + m_days(other.m_days), + m_dayPattern(other.m_dayPattern), + m_imageTags(other.m_imageTags), + m_parentThumbItemId(other.m_parentThumbItemId), + m_parentThumbImageTag(other.m_parentThumbImageTag), + m_parentPrimaryImageItemId(other.m_parentPrimaryImageItemId), + m_parentPrimaryImageTag(other.m_parentPrimaryImageTag){} SeriesTimerInfoDto SeriesTimerInfoDto::fromJson(QJsonObject source) { SeriesTimerInfoDto instance; diff --git a/core/src/DTO/seriestimerinfodtoqueryresult.cpp b/core/src/DTO/seriestimerinfodtoqueryresult.cpp index 613568e..69cb61d 100644 --- a/core/src/DTO/seriestimerinfodtoqueryresult.cpp +++ b/core/src/DTO/seriestimerinfodtoqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult() {} +SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} SeriesTimerInfoDtoQueryResult SeriesTimerInfoDtoQueryResult::fromJson(QJsonObject source) { SeriesTimerInfoDtoQueryResult instance; diff --git a/core/src/DTO/serverconfiguration.cpp b/core/src/DTO/serverconfiguration.cpp index 6297e6a..67e469d 100644 --- a/core/src/DTO/serverconfiguration.cpp +++ b/core/src/DTO/serverconfiguration.cpp @@ -33,6 +33,92 @@ namespace Jellyfin { namespace DTO { ServerConfiguration::ServerConfiguration() {} +ServerConfiguration::ServerConfiguration(const ServerConfiguration &other) : + m_logFileRetentionDays(other.m_logFileRetentionDays), + m_isStartupWizardCompleted(other.m_isStartupWizardCompleted), + m_cachePath(other.m_cachePath), + m_previousVersion(other.m_previousVersion), + m_previousVersionStr(other.m_previousVersionStr), + m_enableUPnP(other.m_enableUPnP), + m_enableMetrics(other.m_enableMetrics), + m_publicPort(other.m_publicPort), + m_uPnPCreateHttpPortMap(other.m_uPnPCreateHttpPortMap), + m_uDPPortRange(other.m_uDPPortRange), + m_enableIPV6(other.m_enableIPV6), + m_enableIPV4(other.m_enableIPV4), + m_enableSSDPTracing(other.m_enableSSDPTracing), + m_sSDPTracingFilter(other.m_sSDPTracingFilter), + m_uDPSendCount(other.m_uDPSendCount), + m_uDPSendDelay(other.m_uDPSendDelay), + m_ignoreVirtualInterfaces(other.m_ignoreVirtualInterfaces), + m_virtualInterfaceNames(other.m_virtualInterfaceNames), + m_gatewayMonitorPeriod(other.m_gatewayMonitorPeriod), + m_enableMultiSocketBinding(other.m_enableMultiSocketBinding), + m_trustAllIP6Interfaces(other.m_trustAllIP6Interfaces), + m_hDHomerunPortRange(other.m_hDHomerunPortRange), + m_publishedServerUriBySubnet(other.m_publishedServerUriBySubnet), + m_autoDiscoveryTracing(other.m_autoDiscoveryTracing), + m_autoDiscovery(other.m_autoDiscovery), + m_publicHttpsPort(other.m_publicHttpsPort), + m_httpServerPortNumber(other.m_httpServerPortNumber), + m_httpsPortNumber(other.m_httpsPortNumber), + m_enableHttps(other.m_enableHttps), + m_enableNormalizedItemByNameIds(other.m_enableNormalizedItemByNameIds), + m_certificatePath(other.m_certificatePath), + m_certificatePassword(other.m_certificatePassword), + m_isPortAuthorized(other.m_isPortAuthorized), + m_quickConnectAvailable(other.m_quickConnectAvailable), + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableCaseSensitiveItemIds(other.m_enableCaseSensitiveItemIds), + m_disableLiveTvChannelUserDataName(other.m_disableLiveTvChannelUserDataName), + m_metadataPath(other.m_metadataPath), + m_metadataNetworkPath(other.m_metadataNetworkPath), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_sortReplaceCharacters(other.m_sortReplaceCharacters), + m_sortRemoveCharacters(other.m_sortRemoveCharacters), + m_sortRemoveWords(other.m_sortRemoveWords), + m_minResumePct(other.m_minResumePct), + m_maxResumePct(other.m_maxResumePct), + m_minResumeDurationSeconds(other.m_minResumeDurationSeconds), + m_minAudiobookResume(other.m_minAudiobookResume), + m_maxAudiobookResume(other.m_maxAudiobookResume), + m_libraryMonitorDelay(other.m_libraryMonitorDelay), + m_enableDashboardResponseCaching(other.m_enableDashboardResponseCaching), + m_imageSavingConvention(other.m_imageSavingConvention), + m_metadataOptions(other.m_metadataOptions), + m_skipDeserializationForBasicTypes(other.m_skipDeserializationForBasicTypes), + m_serverName(other.m_serverName), + m_baseUrl(other.m_baseUrl), + m_uICulture(other.m_uICulture), + m_saveMetadataHidden(other.m_saveMetadataHidden), + m_contentTypes(other.m_contentTypes), + m_remoteClientBitrateLimit(other.m_remoteClientBitrateLimit), + m_enableFolderView(other.m_enableFolderView), + m_enableGroupingIntoCollections(other.m_enableGroupingIntoCollections), + m_displaySpecialsWithinSeasons(other.m_displaySpecialsWithinSeasons), + m_localNetworkSubnets(other.m_localNetworkSubnets), + m_localNetworkAddresses(other.m_localNetworkAddresses), + m_codecsUsed(other.m_codecsUsed), + m_pluginRepositories(other.m_pluginRepositories), + m_enableExternalContentInSuggestions(other.m_enableExternalContentInSuggestions), + m_requireHttps(other.m_requireHttps), + m_enableNewOmdbSupport(other.m_enableNewOmdbSupport), + m_remoteIPFilter(other.m_remoteIPFilter), + m_isRemoteIPFilterBlacklist(other.m_isRemoteIPFilterBlacklist), + m_imageExtractionTimeoutMs(other.m_imageExtractionTimeoutMs), + m_pathSubstitutions(other.m_pathSubstitutions), + m_enableSimpleArtistDetection(other.m_enableSimpleArtistDetection), + m_uninstalledPlugins(other.m_uninstalledPlugins), + m_enableSlowResponseWarning(other.m_enableSlowResponseWarning), + m_slowResponseThresholdMs(other.m_slowResponseThresholdMs), + m_corsHosts(other.m_corsHosts), + m_knownProxies(other.m_knownProxies), + m_activityLogRetentionDays(other.m_activityLogRetentionDays), + m_libraryScanFanoutConcurrency(other.m_libraryScanFanoutConcurrency), + m_libraryMetadataRefreshConcurrency(other.m_libraryMetadataRefreshConcurrency), + m_removeOldPlugins(other.m_removeOldPlugins), + m_disablePluginImages(other.m_disablePluginImages){} ServerConfiguration ServerConfiguration::fromJson(QJsonObject source) { ServerConfiguration instance; diff --git a/core/src/DTO/sessioninfo.cpp b/core/src/DTO/sessioninfo.cpp index fda236a..e3910b3 100644 --- a/core/src/DTO/sessioninfo.cpp +++ b/core/src/DTO/sessioninfo.cpp @@ -33,6 +33,35 @@ namespace Jellyfin { namespace DTO { SessionInfo::SessionInfo() {} +SessionInfo::SessionInfo(const SessionInfo &other) : + m_playState(other.m_playState), + m_additionalUsers(other.m_additionalUsers), + m_capabilities(other.m_capabilities), + m_remoteEndPoint(other.m_remoteEndPoint), + m_playableMediaTypes(other.m_playableMediaTypes), + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_userName(other.m_userName), + m_client(other.m_client), + m_lastActivityDate(other.m_lastActivityDate), + m_lastPlaybackCheckIn(other.m_lastPlaybackCheckIn), + m_deviceName(other.m_deviceName), + m_deviceType(other.m_deviceType), + m_nowPlayingItem(other.m_nowPlayingItem), + m_fullNowPlayingItem(other.m_fullNowPlayingItem), + m_nowViewingItem(other.m_nowViewingItem), + m_deviceId(other.m_deviceId), + m_applicationVersion(other.m_applicationVersion), + m_transcodingInfo(other.m_transcodingInfo), + m_isActive(other.m_isActive), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsRemoteControl(other.m_supportsRemoteControl), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_hasCustomDeviceName(other.m_hasCustomDeviceName), + m_playlistItemId(other.m_playlistItemId), + m_serverId(other.m_serverId), + m_userPrimaryImageTag(other.m_userPrimaryImageTag), + m_supportedCommands(other.m_supportedCommands){} SessionInfo SessionInfo::fromJson(QJsonObject source) { SessionInfo instance; diff --git a/core/src/DTO/sessionuserinfo.cpp b/core/src/DTO/sessionuserinfo.cpp index e388fc9..d0e8171 100644 --- a/core/src/DTO/sessionuserinfo.cpp +++ b/core/src/DTO/sessionuserinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { SessionUserInfo::SessionUserInfo() {} +SessionUserInfo::SessionUserInfo(const SessionUserInfo &other) : + m_userId(other.m_userId), + m_userName(other.m_userName){} SessionUserInfo SessionUserInfo::fromJson(QJsonObject source) { SessionUserInfo instance; diff --git a/core/src/DTO/setchannelmappingdto.cpp b/core/src/DTO/setchannelmappingdto.cpp index eee6f36..978bf89 100644 --- a/core/src/DTO/setchannelmappingdto.cpp +++ b/core/src/DTO/setchannelmappingdto.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { SetChannelMappingDto::SetChannelMappingDto() {} +SetChannelMappingDto::SetChannelMappingDto(const SetChannelMappingDto &other) : + m_providerId(other.m_providerId), + m_tunerChannelId(other.m_tunerChannelId), + m_providerChannelId(other.m_providerChannelId){} SetChannelMappingDto SetChannelMappingDto::fromJson(QJsonObject source) { SetChannelMappingDto instance; diff --git a/core/src/DTO/setplaylistitemrequestdto.cpp b/core/src/DTO/setplaylistitemrequestdto.cpp index a242aa8..f2fe075 100644 --- a/core/src/DTO/setplaylistitemrequestdto.cpp +++ b/core/src/DTO/setplaylistitemrequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { SetPlaylistItemRequestDto::SetPlaylistItemRequestDto() {} +SetPlaylistItemRequestDto::SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other) : + m_playlistItemId(other.m_playlistItemId){} SetPlaylistItemRequestDto SetPlaylistItemRequestDto::fromJson(QJsonObject source) { SetPlaylistItemRequestDto instance; diff --git a/core/src/DTO/setrepeatmoderequestdto.cpp b/core/src/DTO/setrepeatmoderequestdto.cpp index c0f3788..e303460 100644 --- a/core/src/DTO/setrepeatmoderequestdto.cpp +++ b/core/src/DTO/setrepeatmoderequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { SetRepeatModeRequestDto::SetRepeatModeRequestDto() {} +SetRepeatModeRequestDto::SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other) : + m_mode(other.m_mode){} SetRepeatModeRequestDto SetRepeatModeRequestDto::fromJson(QJsonObject source) { SetRepeatModeRequestDto instance; diff --git a/core/src/DTO/setshufflemoderequestdto.cpp b/core/src/DTO/setshufflemoderequestdto.cpp index 8d9eb3d..89888c6 100644 --- a/core/src/DTO/setshufflemoderequestdto.cpp +++ b/core/src/DTO/setshufflemoderequestdto.cpp @@ -33,6 +33,8 @@ namespace Jellyfin { namespace DTO { SetShuffleModeRequestDto::SetShuffleModeRequestDto() {} +SetShuffleModeRequestDto::SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other) : + m_mode(other.m_mode){} SetShuffleModeRequestDto SetShuffleModeRequestDto::fromJson(QJsonObject source) { SetShuffleModeRequestDto instance; diff --git a/core/src/DTO/songinfo.cpp b/core/src/DTO/songinfo.cpp index a4d1b67..83d0f67 100644 --- a/core/src/DTO/songinfo.cpp +++ b/core/src/DTO/songinfo.cpp @@ -33,6 +33,20 @@ namespace Jellyfin { namespace DTO { SongInfo::SongInfo() {} +SongInfo::SongInfo(const SongInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_albumArtists(other.m_albumArtists), + m_album(other.m_album), + m_artists(other.m_artists){} SongInfo SongInfo::fromJson(QJsonObject source) { SongInfo instance; diff --git a/core/src/DTO/specialviewoptiondto.cpp b/core/src/DTO/specialviewoptiondto.cpp index 1f98d15..7d94c40 100644 --- a/core/src/DTO/specialviewoptiondto.cpp +++ b/core/src/DTO/specialviewoptiondto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { SpecialViewOptionDto::SpecialViewOptionDto() {} +SpecialViewOptionDto::SpecialViewOptionDto(const SpecialViewOptionDto &other) : + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} SpecialViewOptionDto SpecialViewOptionDto::fromJson(QJsonObject source) { SpecialViewOptionDto instance; diff --git a/core/src/DTO/startupconfigurationdto.cpp b/core/src/DTO/startupconfigurationdto.cpp index a8398e5..4b3f3f0 100644 --- a/core/src/DTO/startupconfigurationdto.cpp +++ b/core/src/DTO/startupconfigurationdto.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { StartupConfigurationDto::StartupConfigurationDto() {} +StartupConfigurationDto::StartupConfigurationDto(const StartupConfigurationDto &other) : + m_uICulture(other.m_uICulture), + m_metadataCountryCode(other.m_metadataCountryCode), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage){} StartupConfigurationDto StartupConfigurationDto::fromJson(QJsonObject source) { StartupConfigurationDto instance; diff --git a/core/src/DTO/startupremoteaccessdto.cpp b/core/src/DTO/startupremoteaccessdto.cpp index 5dc70fa..07f96ce 100644 --- a/core/src/DTO/startupremoteaccessdto.cpp +++ b/core/src/DTO/startupremoteaccessdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { StartupRemoteAccessDto::StartupRemoteAccessDto() {} +StartupRemoteAccessDto::StartupRemoteAccessDto(const StartupRemoteAccessDto &other) : + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableAutomaticPortMapping(other.m_enableAutomaticPortMapping){} StartupRemoteAccessDto StartupRemoteAccessDto::fromJson(QJsonObject source) { StartupRemoteAccessDto instance; diff --git a/core/src/DTO/startupuserdto.cpp b/core/src/DTO/startupuserdto.cpp index dc5eb2e..14b967e 100644 --- a/core/src/DTO/startupuserdto.cpp +++ b/core/src/DTO/startupuserdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { StartupUserDto::StartupUserDto() {} +StartupUserDto::StartupUserDto(const StartupUserDto &other) : + m_name(other.m_name), + m_password(other.m_password){} StartupUserDto StartupUserDto::fromJson(QJsonObject source) { StartupUserDto instance; diff --git a/core/src/DTO/subtitleprofile.cpp b/core/src/DTO/subtitleprofile.cpp index 361f16a..96a9c17 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(const SubtitleProfile &other) : + m_format(other.m_format), + m_method(other.m_method), + m_didlMode(other.m_didlMode), + m_language(other.m_language), + m_container(other.m_container){} SubtitleProfile SubtitleProfile::fromJson(QJsonObject source) { SubtitleProfile instance; diff --git a/core/src/DTO/systeminfo.cpp b/core/src/DTO/systeminfo.cpp index cfa5d8a..5ce73a8 100644 --- a/core/src/DTO/systeminfo.cpp +++ b/core/src/DTO/systeminfo.cpp @@ -33,6 +33,33 @@ namespace Jellyfin { namespace DTO { SystemInfo::SystemInfo() {} +SystemInfo::SystemInfo(const SystemInfo &other) : + m_localAddress(other.m_localAddress), + m_serverName(other.m_serverName), + m_version(other.m_version), + m_productName(other.m_productName), + m_operatingSystem(other.m_operatingSystem), + m_jellyfinId(other.m_jellyfinId), + m_startupWizardCompleted(other.m_startupWizardCompleted), + m_operatingSystemDisplayName(other.m_operatingSystemDisplayName), + m_packageName(other.m_packageName), + m_hasPendingRestart(other.m_hasPendingRestart), + m_isShuttingDown(other.m_isShuttingDown), + m_supportsLibraryMonitor(other.m_supportsLibraryMonitor), + m_webSocketPortNumber(other.m_webSocketPortNumber), + m_completedInstallations(other.m_completedInstallations), + m_canSelfRestart(other.m_canSelfRestart), + m_canLaunchWebBrowser(other.m_canLaunchWebBrowser), + m_programDataPath(other.m_programDataPath), + m_webPath(other.m_webPath), + m_itemsByNamePath(other.m_itemsByNamePath), + m_cachePath(other.m_cachePath), + m_logPath(other.m_logPath), + m_internalMetadataPath(other.m_internalMetadataPath), + m_transcodingTempPath(other.m_transcodingTempPath), + m_hasUpdateAvailable(other.m_hasUpdateAvailable), + m_encoderLocation(other.m_encoderLocation), + m_systemArchitecture(other.m_systemArchitecture){} SystemInfo SystemInfo::fromJson(QJsonObject source) { SystemInfo instance; diff --git a/core/src/DTO/taskinfo.cpp b/core/src/DTO/taskinfo.cpp index b5d3e94..f141eb2 100644 --- a/core/src/DTO/taskinfo.cpp +++ b/core/src/DTO/taskinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { TaskInfo::TaskInfo() {} +TaskInfo::TaskInfo(const TaskInfo &other) : + m_name(other.m_name), + m_state(other.m_state), + m_currentProgressPercentage(other.m_currentProgressPercentage), + m_jellyfinId(other.m_jellyfinId), + m_lastExecutionResult(other.m_lastExecutionResult), + m_triggers(other.m_triggers), + m_description(other.m_description), + m_category(other.m_category), + m_isHidden(other.m_isHidden), + m_key(other.m_key){} TaskInfo TaskInfo::fromJson(QJsonObject source) { TaskInfo instance; diff --git a/core/src/DTO/taskresult.cpp b/core/src/DTO/taskresult.cpp index c10793c..4c061f5 100644 --- a/core/src/DTO/taskresult.cpp +++ b/core/src/DTO/taskresult.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { TaskResult::TaskResult() {} +TaskResult::TaskResult(const TaskResult &other) : + m_startTimeUtc(other.m_startTimeUtc), + m_endTimeUtc(other.m_endTimeUtc), + m_status(other.m_status), + m_name(other.m_name), + m_key(other.m_key), + m_jellyfinId(other.m_jellyfinId), + m_errorMessage(other.m_errorMessage), + m_longErrorMessage(other.m_longErrorMessage){} TaskResult TaskResult::fromJson(QJsonObject source) { TaskResult instance; diff --git a/core/src/DTO/tasktriggerinfo.cpp b/core/src/DTO/tasktriggerinfo.cpp index f97e0ae..36dd1bf 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(const TaskTriggerInfo &other) : + m_type(other.m_type), + m_timeOfDayTicks(other.m_timeOfDayTicks), + m_intervalTicks(other.m_intervalTicks), + m_dayOfWeek(other.m_dayOfWeek), + m_maxRuntimeTicks(other.m_maxRuntimeTicks){} TaskTriggerInfo TaskTriggerInfo::fromJson(QJsonObject source) { TaskTriggerInfo instance; diff --git a/core/src/DTO/thememediaresult.cpp b/core/src/DTO/thememediaresult.cpp index 47ceeb3..ac1163c 100644 --- a/core/src/DTO/thememediaresult.cpp +++ b/core/src/DTO/thememediaresult.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { ThemeMediaResult::ThemeMediaResult() {} +ThemeMediaResult::ThemeMediaResult(const ThemeMediaResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex), + m_ownerId(other.m_ownerId){} ThemeMediaResult ThemeMediaResult::fromJson(QJsonObject source) { ThemeMediaResult instance; diff --git a/core/src/DTO/timereventinfo.cpp b/core/src/DTO/timereventinfo.cpp index 74f5dea..ed013fe 100644 --- a/core/src/DTO/timereventinfo.cpp +++ b/core/src/DTO/timereventinfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { TimerEventInfo::TimerEventInfo() {} +TimerEventInfo::TimerEventInfo(const TimerEventInfo &other) : + m_jellyfinId(other.m_jellyfinId), + m_programId(other.m_programId){} TimerEventInfo TimerEventInfo::fromJson(QJsonObject source) { TimerEventInfo instance; diff --git a/core/src/DTO/timerinfodto.cpp b/core/src/DTO/timerinfodto.cpp index e7dfb0c..683e2b9 100644 --- a/core/src/DTO/timerinfodto.cpp +++ b/core/src/DTO/timerinfodto.cpp @@ -33,6 +33,35 @@ namespace Jellyfin { namespace DTO { TimerInfoDto::TimerInfoDto() {} +TimerInfoDto::TimerInfoDto(const TimerInfoDto &other) : + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_serverId(other.m_serverId), + m_externalId(other.m_externalId), + m_channelId(other.m_channelId), + m_externalChannelId(other.m_externalChannelId), + m_channelName(other.m_channelName), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_programId(other.m_programId), + m_externalProgramId(other.m_externalProgramId), + m_name(other.m_name), + m_overview(other.m_overview), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_serviceName(other.m_serviceName), + m_priority(other.m_priority), + m_prePaddingSeconds(other.m_prePaddingSeconds), + m_postPaddingSeconds(other.m_postPaddingSeconds), + m_isPrePaddingRequired(other.m_isPrePaddingRequired), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_isPostPaddingRequired(other.m_isPostPaddingRequired), + m_keepUntil(other.m_keepUntil), + m_status(other.m_status), + m_seriesTimerId(other.m_seriesTimerId), + m_externalSeriesTimerId(other.m_externalSeriesTimerId), + m_runTimeTicks(other.m_runTimeTicks), + m_programInfo(other.m_programInfo){} TimerInfoDto TimerInfoDto::fromJson(QJsonObject source) { TimerInfoDto instance; diff --git a/core/src/DTO/timerinfodtoqueryresult.cpp b/core/src/DTO/timerinfodtoqueryresult.cpp index b9b1ad1..ac60b5f 100644 --- a/core/src/DTO/timerinfodtoqueryresult.cpp +++ b/core/src/DTO/timerinfodtoqueryresult.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { TimerInfoDtoQueryResult::TimerInfoDtoQueryResult() {} +TimerInfoDtoQueryResult::TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other) : + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} TimerInfoDtoQueryResult TimerInfoDtoQueryResult::fromJson(QJsonObject source) { TimerInfoDtoQueryResult instance; diff --git a/core/src/DTO/trailerinfo.cpp b/core/src/DTO/trailerinfo.cpp index c059e0e..03baed5 100644 --- a/core/src/DTO/trailerinfo.cpp +++ b/core/src/DTO/trailerinfo.cpp @@ -33,6 +33,17 @@ namespace Jellyfin { namespace DTO { TrailerInfo::TrailerInfo() {} +TrailerInfo::TrailerInfo(const TrailerInfo &other) : + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} TrailerInfo TrailerInfo::fromJson(QJsonObject source) { TrailerInfo instance; diff --git a/core/src/DTO/trailerinforemotesearchquery.cpp b/core/src/DTO/trailerinforemotesearchquery.cpp index c138cc7..6c54750 100644 --- a/core/src/DTO/trailerinforemotesearchquery.cpp +++ b/core/src/DTO/trailerinforemotesearchquery.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery() {} +TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other) : + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} TrailerInfoRemoteSearchQuery TrailerInfoRemoteSearchQuery::fromJson(QJsonObject source) { TrailerInfoRemoteSearchQuery instance; diff --git a/core/src/DTO/transcodinginfo.cpp b/core/src/DTO/transcodinginfo.cpp index ddcda2b..b28da33 100644 --- a/core/src/DTO/transcodinginfo.cpp +++ b/core/src/DTO/transcodinginfo.cpp @@ -33,6 +33,19 @@ namespace Jellyfin { namespace DTO { TranscodingInfo::TranscodingInfo() {} +TranscodingInfo::TranscodingInfo(const TranscodingInfo &other) : + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_container(other.m_container), + m_isVideoDirect(other.m_isVideoDirect), + m_isAudioDirect(other.m_isAudioDirect), + m_bitrate(other.m_bitrate), + m_framerate(other.m_framerate), + m_completionPercentage(other.m_completionPercentage), + m_width(other.m_width), + m_height(other.m_height), + m_audioChannels(other.m_audioChannels), + m_transcodeReasons(other.m_transcodeReasons){} TranscodingInfo TranscodingInfo::fromJson(QJsonObject source) { TranscodingInfo instance; diff --git a/core/src/DTO/transcodingprofile.cpp b/core/src/DTO/transcodingprofile.cpp index 49400df..7a3c7e1 100644 --- a/core/src/DTO/transcodingprofile.cpp +++ b/core/src/DTO/transcodingprofile.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { TranscodingProfile::TranscodingProfile() {} +TranscodingProfile::TranscodingProfile(const TranscodingProfile &other) : + m_container(other.m_container), + m_type(other.m_type), + m_videoCodec(other.m_videoCodec), + m_audioCodec(other.m_audioCodec), + m_protocol(other.m_protocol), + m_estimateContentLength(other.m_estimateContentLength), + m_enableMpegtsM2TsMode(other.m_enableMpegtsM2TsMode), + m_transcodeSeekInfo(other.m_transcodeSeekInfo), + m_copyTimestamps(other.m_copyTimestamps), + m_context(other.m_context), + m_enableSubtitlesInManifest(other.m_enableSubtitlesInManifest), + m_maxAudioChannels(other.m_maxAudioChannels), + m_minSegments(other.m_minSegments), + m_segmentLength(other.m_segmentLength), + m_breakOnNonKeyFrames(other.m_breakOnNonKeyFrames){} TranscodingProfile TranscodingProfile::fromJson(QJsonObject source) { TranscodingProfile instance; diff --git a/core/src/DTO/tunerchannelmapping.cpp b/core/src/DTO/tunerchannelmapping.cpp index df00b8a..5d00e3c 100644 --- a/core/src/DTO/tunerchannelmapping.cpp +++ b/core/src/DTO/tunerchannelmapping.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { TunerChannelMapping::TunerChannelMapping() {} +TunerChannelMapping::TunerChannelMapping(const TunerChannelMapping &other) : + m_name(other.m_name), + m_providerChannelName(other.m_providerChannelName), + m_providerChannelId(other.m_providerChannelId), + m_jellyfinId(other.m_jellyfinId){} TunerChannelMapping TunerChannelMapping::fromJson(QJsonObject source) { TunerChannelMapping instance; diff --git a/core/src/DTO/tunerhostinfo.cpp b/core/src/DTO/tunerhostinfo.cpp index 05118a5..982f4df 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(const TunerHostInfo &other) : + m_jellyfinId(other.m_jellyfinId), + m_url(other.m_url), + m_type(other.m_type), + m_deviceId(other.m_deviceId), + m_friendlyName(other.m_friendlyName), + m_importFavoritesOnly(other.m_importFavoritesOnly), + m_allowHWTranscoding(other.m_allowHWTranscoding), + m_enableStreamLooping(other.m_enableStreamLooping), + m_source(other.m_source), + m_tunerCount(other.m_tunerCount), + m_userAgent(other.m_userAgent){} TunerHostInfo TunerHostInfo::fromJson(QJsonObject source) { TunerHostInfo instance; diff --git a/core/src/DTO/typeoptions.cpp b/core/src/DTO/typeoptions.cpp index 9513e85..aa3e935 100644 --- a/core/src/DTO/typeoptions.cpp +++ b/core/src/DTO/typeoptions.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { TypeOptions::TypeOptions() {} +TypeOptions::TypeOptions(const TypeOptions &other) : + m_type(other.m_type), + m_metadataFetchers(other.m_metadataFetchers), + m_metadataFetcherOrder(other.m_metadataFetcherOrder), + m_imageFetchers(other.m_imageFetchers), + m_imageFetcherOrder(other.m_imageFetcherOrder), + m_imageOptions(other.m_imageOptions){} TypeOptions TypeOptions::fromJson(QJsonObject source) { TypeOptions instance; diff --git a/core/src/DTO/updatelibraryoptionsdto.cpp b/core/src/DTO/updatelibraryoptionsdto.cpp index 16887d4..364dde3 100644 --- a/core/src/DTO/updatelibraryoptionsdto.cpp +++ b/core/src/DTO/updatelibraryoptionsdto.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { UpdateLibraryOptionsDto::UpdateLibraryOptionsDto() {} +UpdateLibraryOptionsDto::UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other) : + m_jellyfinId(other.m_jellyfinId), + m_libraryOptions(other.m_libraryOptions){} UpdateLibraryOptionsDto UpdateLibraryOptionsDto::fromJson(QJsonObject source) { UpdateLibraryOptionsDto instance; diff --git a/core/src/DTO/updateusereasypassword.cpp b/core/src/DTO/updateusereasypassword.cpp index 135d460..35c1cf5 100644 --- a/core/src/DTO/updateusereasypassword.cpp +++ b/core/src/DTO/updateusereasypassword.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { UpdateUserEasyPassword::UpdateUserEasyPassword() {} +UpdateUserEasyPassword::UpdateUserEasyPassword(const UpdateUserEasyPassword &other) : + m_newPassword(other.m_newPassword), + m_newPw(other.m_newPw), + m_resetPassword(other.m_resetPassword){} UpdateUserEasyPassword UpdateUserEasyPassword::fromJson(QJsonObject source) { UpdateUserEasyPassword instance; diff --git a/core/src/DTO/updateuserpassword.cpp b/core/src/DTO/updateuserpassword.cpp index 377597f..6da19fd 100644 --- a/core/src/DTO/updateuserpassword.cpp +++ b/core/src/DTO/updateuserpassword.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { UpdateUserPassword::UpdateUserPassword() {} +UpdateUserPassword::UpdateUserPassword(const UpdateUserPassword &other) : + m_currentPassword(other.m_currentPassword), + m_currentPw(other.m_currentPw), + m_newPw(other.m_newPw), + m_resetPassword(other.m_resetPassword){} UpdateUserPassword UpdateUserPassword::fromJson(QJsonObject source) { UpdateUserPassword instance; diff --git a/core/src/DTO/uploadsubtitledto.cpp b/core/src/DTO/uploadsubtitledto.cpp index 5dca02f..d89b3d5 100644 --- a/core/src/DTO/uploadsubtitledto.cpp +++ b/core/src/DTO/uploadsubtitledto.cpp @@ -33,6 +33,11 @@ namespace Jellyfin { namespace DTO { UploadSubtitleDto::UploadSubtitleDto() {} +UploadSubtitleDto::UploadSubtitleDto(const UploadSubtitleDto &other) : + m_language(other.m_language), + m_format(other.m_format), + m_isForced(other.m_isForced), + m_data(other.m_data){} UploadSubtitleDto UploadSubtitleDto::fromJson(QJsonObject source) { UploadSubtitleDto instance; diff --git a/core/src/DTO/userconfiguration.cpp b/core/src/DTO/userconfiguration.cpp index a955585..c09cde3 100644 --- a/core/src/DTO/userconfiguration.cpp +++ b/core/src/DTO/userconfiguration.cpp @@ -33,6 +33,22 @@ namespace Jellyfin { namespace DTO { UserConfiguration::UserConfiguration() {} +UserConfiguration::UserConfiguration(const UserConfiguration &other) : + m_audioLanguagePreference(other.m_audioLanguagePreference), + m_playDefaultAudioTrack(other.m_playDefaultAudioTrack), + m_subtitleLanguagePreference(other.m_subtitleLanguagePreference), + m_displayMissingEpisodes(other.m_displayMissingEpisodes), + m_groupedFolders(other.m_groupedFolders), + m_subtitleMode(other.m_subtitleMode), + m_displayCollectionsView(other.m_displayCollectionsView), + m_enableLocalPassword(other.m_enableLocalPassword), + m_orderedViews(other.m_orderedViews), + m_latestItemsExcludes(other.m_latestItemsExcludes), + m_myMediaExcludes(other.m_myMediaExcludes), + m_hidePlayedInLatest(other.m_hidePlayedInLatest), + m_rememberAudioSelections(other.m_rememberAudioSelections), + m_rememberSubtitleSelections(other.m_rememberSubtitleSelections), + m_enableNextEpisodeAutoPlay(other.m_enableNextEpisodeAutoPlay){} UserConfiguration UserConfiguration::fromJson(QJsonObject source) { UserConfiguration instance; diff --git a/core/src/DTO/userdto.cpp b/core/src/DTO/userdto.cpp index b7b8f6e..7d38c0f 100644 --- a/core/src/DTO/userdto.cpp +++ b/core/src/DTO/userdto.cpp @@ -33,6 +33,21 @@ namespace Jellyfin { namespace DTO { UserDto::UserDto() {} +UserDto::UserDto(const UserDto &other) : + m_name(other.m_name), + m_serverId(other.m_serverId), + m_serverName(other.m_serverName), + m_jellyfinId(other.m_jellyfinId), + m_primaryImageTag(other.m_primaryImageTag), + m_hasPassword(other.m_hasPassword), + m_hasConfiguredPassword(other.m_hasConfiguredPassword), + m_hasConfiguredEasyPassword(other.m_hasConfiguredEasyPassword), + m_enableAutoLogin(other.m_enableAutoLogin), + m_lastLoginDate(other.m_lastLoginDate), + m_lastActivityDate(other.m_lastActivityDate), + m_configuration(other.m_configuration), + m_policy(other.m_policy), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio){} UserDto UserDto::fromJson(QJsonObject source) { UserDto instance; diff --git a/core/src/DTO/useritemdatadto.cpp b/core/src/DTO/useritemdatadto.cpp index 8d4f23a..60161f1 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(const UserItemDataDto &other) : + m_rating(other.m_rating), + m_playedPercentage(other.m_playedPercentage), + m_unplayedItemCount(other.m_unplayedItemCount), + m_playbackPositionTicks(other.m_playbackPositionTicks), + m_playCount(other.m_playCount), + m_isFavorite(other.m_isFavorite), + m_likes(other.m_likes), + m_lastPlayedDate(other.m_lastPlayedDate), + m_played(other.m_played), + m_key(other.m_key), + m_itemId(other.m_itemId){} UserItemDataDto UserItemDataDto::fromJson(QJsonObject source) { UserItemDataDto instance; diff --git a/core/src/DTO/userpolicy.cpp b/core/src/DTO/userpolicy.cpp index e34d208..90a2dd2 100644 --- a/core/src/DTO/userpolicy.cpp +++ b/core/src/DTO/userpolicy.cpp @@ -33,6 +33,46 @@ namespace Jellyfin { namespace DTO { UserPolicy::UserPolicy() {} +UserPolicy::UserPolicy(const UserPolicy &other) : + m_isAdministrator(other.m_isAdministrator), + m_isHidden(other.m_isHidden), + m_isDisabled(other.m_isDisabled), + m_maxParentalRating(other.m_maxParentalRating), + m_blockedTags(other.m_blockedTags), + m_enableUserPreferenceAccess(other.m_enableUserPreferenceAccess), + m_accessSchedules(other.m_accessSchedules), + m_blockUnratedItems(other.m_blockUnratedItems), + m_enableRemoteControlOfOtherUsers(other.m_enableRemoteControlOfOtherUsers), + m_enableSharedDeviceControl(other.m_enableSharedDeviceControl), + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableLiveTvManagement(other.m_enableLiveTvManagement), + m_enableLiveTvAccess(other.m_enableLiveTvAccess), + m_enableMediaPlayback(other.m_enableMediaPlayback), + m_enableAudioPlaybackTranscoding(other.m_enableAudioPlaybackTranscoding), + m_enableVideoPlaybackTranscoding(other.m_enableVideoPlaybackTranscoding), + m_enablePlaybackRemuxing(other.m_enablePlaybackRemuxing), + m_forceRemoteSourceTranscoding(other.m_forceRemoteSourceTranscoding), + m_enableContentDeletion(other.m_enableContentDeletion), + m_enableContentDeletionFromFolders(other.m_enableContentDeletionFromFolders), + m_enableContentDownloading(other.m_enableContentDownloading), + m_enableSyncTranscoding(other.m_enableSyncTranscoding), + m_enableMediaConversion(other.m_enableMediaConversion), + m_enabledDevices(other.m_enabledDevices), + m_enableAllDevices(other.m_enableAllDevices), + m_enabledChannels(other.m_enabledChannels), + m_enableAllChannels(other.m_enableAllChannels), + m_enabledFolders(other.m_enabledFolders), + m_enableAllFolders(other.m_enableAllFolders), + m_invalidLoginAttemptCount(other.m_invalidLoginAttemptCount), + m_loginAttemptsBeforeLockout(other.m_loginAttemptsBeforeLockout), + m_maxActiveSessions(other.m_maxActiveSessions), + m_enablePublicSharing(other.m_enablePublicSharing), + m_blockedMediaFolders(other.m_blockedMediaFolders), + m_blockedChannels(other.m_blockedChannels), + m_remoteClientBitrateLimit(other.m_remoteClientBitrateLimit), + m_authenticationProviderId(other.m_authenticationProviderId), + m_passwordResetProviderId(other.m_passwordResetProviderId), + m_syncPlayAccess(other.m_syncPlayAccess){} UserPolicy UserPolicy::fromJson(QJsonObject source) { UserPolicy instance; diff --git a/core/src/DTO/utctimeresponse.cpp b/core/src/DTO/utctimeresponse.cpp index 9d7d54c..3b6d457 100644 --- a/core/src/DTO/utctimeresponse.cpp +++ b/core/src/DTO/utctimeresponse.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { UtcTimeResponse::UtcTimeResponse() {} +UtcTimeResponse::UtcTimeResponse(const UtcTimeResponse &other) : + m_requestReceptionTime(other.m_requestReceptionTime), + m_responseTransmissionTime(other.m_responseTransmissionTime){} UtcTimeResponse UtcTimeResponse::fromJson(QJsonObject source) { UtcTimeResponse instance; diff --git a/core/src/DTO/validatepathdto.cpp b/core/src/DTO/validatepathdto.cpp index 49deedd..2cb49a6 100644 --- a/core/src/DTO/validatepathdto.cpp +++ b/core/src/DTO/validatepathdto.cpp @@ -33,6 +33,10 @@ namespace Jellyfin { namespace DTO { ValidatePathDto::ValidatePathDto() {} +ValidatePathDto::ValidatePathDto(const ValidatePathDto &other) : + m_validateWritable(other.m_validateWritable), + m_path(other.m_path), + m_isFile(other.m_isFile){} ValidatePathDto ValidatePathDto::fromJson(QJsonObject source) { ValidatePathDto instance; diff --git a/core/src/DTO/version.cpp b/core/src/DTO/version.cpp index 527ca0c..f6bce42 100644 --- a/core/src/DTO/version.cpp +++ b/core/src/DTO/version.cpp @@ -33,6 +33,13 @@ namespace Jellyfin { namespace DTO { Version::Version() {} +Version::Version(const Version &other) : + m_major(other.m_major), + m_minor(other.m_minor), + m_build(other.m_build), + m_revision(other.m_revision), + m_majorRevision(other.m_majorRevision), + m_minorRevision(other.m_minorRevision){} Version Version::fromJson(QJsonObject source) { Version instance; diff --git a/core/src/DTO/versioninfo.cpp b/core/src/DTO/versioninfo.cpp index b40dc75..3961019 100644 --- a/core/src/DTO/versioninfo.cpp +++ b/core/src/DTO/versioninfo.cpp @@ -33,6 +33,16 @@ namespace Jellyfin { namespace DTO { VersionInfo::VersionInfo() {} +VersionInfo::VersionInfo(const VersionInfo &other) : + m_version(other.m_version), + m_versionNumber(other.m_versionNumber), + m_changelog(other.m_changelog), + m_targetAbi(other.m_targetAbi), + m_sourceUrl(other.m_sourceUrl), + m_checksum(other.m_checksum), + m_timestamp(other.m_timestamp), + m_repositoryName(other.m_repositoryName), + m_repositoryUrl(other.m_repositoryUrl){} VersionInfo VersionInfo::fromJson(QJsonObject source) { VersionInfo instance; diff --git a/core/src/DTO/virtualfolderinfo.cpp b/core/src/DTO/virtualfolderinfo.cpp index 568b9e8..bd27315 100644 --- a/core/src/DTO/virtualfolderinfo.cpp +++ b/core/src/DTO/virtualfolderinfo.cpp @@ -33,6 +33,15 @@ namespace Jellyfin { namespace DTO { VirtualFolderInfo::VirtualFolderInfo() {} +VirtualFolderInfo::VirtualFolderInfo(const VirtualFolderInfo &other) : + m_name(other.m_name), + m_locations(other.m_locations), + m_collectionType(other.m_collectionType), + m_libraryOptions(other.m_libraryOptions), + m_itemId(other.m_itemId), + m_primaryImageItemId(other.m_primaryImageItemId), + m_refreshProgress(other.m_refreshProgress), + m_refreshStatus(other.m_refreshStatus){} VirtualFolderInfo VirtualFolderInfo::fromJson(QJsonObject source) { VirtualFolderInfo instance; diff --git a/core/src/DTO/wakeonlaninfo.cpp b/core/src/DTO/wakeonlaninfo.cpp index ff6f85a..54b3ef0 100644 --- a/core/src/DTO/wakeonlaninfo.cpp +++ b/core/src/DTO/wakeonlaninfo.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { WakeOnLanInfo::WakeOnLanInfo() {} +WakeOnLanInfo::WakeOnLanInfo(const WakeOnLanInfo &other) : + m_macAddress(other.m_macAddress), + m_port(other.m_port){} WakeOnLanInfo WakeOnLanInfo::fromJson(QJsonObject source) { WakeOnLanInfo instance; diff --git a/core/src/DTO/xmlattribute.cpp b/core/src/DTO/xmlattribute.cpp index b7c3ae9..5de925e 100644 --- a/core/src/DTO/xmlattribute.cpp +++ b/core/src/DTO/xmlattribute.cpp @@ -33,6 +33,9 @@ namespace Jellyfin { namespace DTO { XmlAttribute::XmlAttribute() {} +XmlAttribute::XmlAttribute(const XmlAttribute &other) : + m_name(other.m_name), + m_value(other.m_value){} XmlAttribute XmlAttribute::fromJson(QJsonObject source) { XmlAttribute instance; diff --git a/core/src/apiclient.cpp b/core/src/apiclient.cpp index c5cb54a..9ea9946 100644 --- a/core/src/apiclient.cpp +++ b/core/src/apiclient.cpp @@ -23,9 +23,12 @@ namespace Jellyfin { ApiClient::ApiClient(QObject *parent) : QObject(parent), - m_webSocket(new WebSocket(this)) { - m_deviceName = QHostInfo::localHostName(); - m_deviceId = QUuid::createUuid().toString(); // TODO: make this not random? + m_webSocket(new WebSocket(this)), + m_eventbus(new EventBus(this)), + m_deviceName(QHostInfo::localHostName()) { + + m_deviceId = Support::uuidToString(retrieveDeviceId()); + m_credManager = CredentialsManager::newInstance(this); generateDeviceProfile(); @@ -133,7 +136,11 @@ void ApiClient::setupConnection() { // Note that this is done without calling JellyfinApiClient::get since that automatically includes the base_url, // which is something we want to avoid here. QNetworkRequest req = QNetworkRequest(m_baseUrl); +#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0) + req.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy); +#else req.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true); +#endif QNetworkReply *rep = m_naManager.get(req); connect(rep, &QNetworkReply::finished, this, [rep, this](){ int status = statusCode(rep); @@ -226,7 +233,8 @@ void ApiClient::deleteSession() { void ApiClient::postCapabilities() { QJsonObject capabilities; - capabilities["SupportsPersistentIdentifier"] = false; // Technically untrue, but not implemented yet. + capabilities["SupportedCommands"] = Support::toJsonValue(m_supportedCommands); + capabilities["SupportsPersistentIdentifier"] = true; capabilities["SupportsMediaControl"] = false; capabilities["SupportsSync"] = false; capabilities["SupportsContentUploading"] = false; @@ -262,11 +270,12 @@ void ApiClient::defaultNetworkErrorHandler(QNetworkReply::NetworkError error) { QNetworkReply *rep = dynamic_cast(signalSender); if (rep != nullptr && statusCode(rep) == 401) { this->setAuthenticated(false); + emit this->setupRequired(); emit this->authenticationError(ApiError::INVALID_PASSWORD); + rep->deleteLater(); } else { emit this->networkError(error); } - rep->deleteLater(); } void ApiClient::onUserDataChanged(const QString &itemId, UserData *userData) { @@ -278,4 +287,45 @@ void ApiClient::setAuthenticated(bool authenticated) { if (authenticated) m_webSocket->open(); emit authenticatedChanged(authenticated); } + +QUuid ApiClient::retrieveDeviceId() { + // This should probably not block the main thread, but on the other side, + // the file is not too big. + QString path = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + + QDir folder(path); + static QString fileName = QStringLiteral("deviceid"); + if (!path.isEmpty() && !folder.exists(fileName)) { + folder.mkpath("."); + QFile uuidFile(folder.absoluteFilePath(fileName)); + if (uuidFile.open(QIODevice::WriteOnly)) { + QUuid uuid = QUuid::createUuid(); + uuidFile.write(uuid.toByteArray()); + uuidFile.close(); + return uuid; + } else { + qDebug() << "Could not persist device id"; + return QUuid::createUuid(); + } + } else { + QFile uuidFile(folder.absoluteFilePath(fileName)); + if (uuidFile.open(QIODevice::ReadOnly)) { + QUuid uuid(uuidFile.readAll()); + uuidFile.close(); + if (uuid.isNull()) { + qDebug() << "UUID file contains junk. Recreating"; + uuidFile.remove(); + uuidFile.open(QIODevice::WriteOnly); + uuid = QUuid::createUuid(); + uuidFile.write(uuid.toByteArray()); + uuidFile.close(); + } + return uuid; + } else { + qDebug() << "Could not open device id file. Generating a random one."; + return QUuid::createUuid(); + } + } +} + } diff --git a/core/src/dto/accessschedule.cpp b/core/src/dto/accessschedule.cpp new file mode 100644 index 0000000..1b461ec --- /dev/null +++ b/core/src/dto/accessschedule.cpp @@ -0,0 +1,125 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AccessSchedule::AccessSchedule() {} + +AccessSchedule::AccessSchedule(const AccessSchedule &other) : + + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_dayOfWeek(other.m_dayOfWeek), + m_startHour(other.m_startHour), + m_endHour(other.m_endHour){} + + +void AccessSchedule::replaceData(AccessSchedule &other) { + m_jellyfinId = other.m_jellyfinId; + m_userId = other.m_userId; + m_dayOfWeek = other.m_dayOfWeek; + m_startHour = other.m_startHour; + m_endHour = other.m_endHour; +} + +AccessSchedule AccessSchedule::fromJson(QJsonObject source) { + AccessSchedule instance; + instance.setFromJson(source); + return instance; +} + + +void AccessSchedule::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_dayOfWeek = Jellyfin::Support::fromJsonValue(source["DayOfWeek"]); + m_startHour = Jellyfin::Support::fromJsonValue(source["StartHour"]); + m_endHour = Jellyfin::Support::fromJsonValue(source["EndHour"]); + +} + +QJsonObject AccessSchedule::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["DayOfWeek"] = Jellyfin::Support::toJsonValue(m_dayOfWeek); + result["StartHour"] = Jellyfin::Support::toJsonValue(m_startHour); + result["EndHour"] = Jellyfin::Support::toJsonValue(m_endHour); + + return result; +} + +qint32 AccessSchedule::jellyfinId() const { return m_jellyfinId; } + +void AccessSchedule::setJellyfinId(qint32 newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString AccessSchedule::userId() const { return m_userId; } + +void AccessSchedule::setUserId(QString newUserId) { + m_userId = newUserId; +} + +DynamicDayOfWeek AccessSchedule::dayOfWeek() const { return m_dayOfWeek; } + +void AccessSchedule::setDayOfWeek(DynamicDayOfWeek newDayOfWeek) { + m_dayOfWeek = newDayOfWeek; +} + +double AccessSchedule::startHour() const { return m_startHour; } + +void AccessSchedule::setStartHour(double newStartHour) { + m_startHour = newStartHour; +} + +double AccessSchedule::endHour() const { return m_endHour; } + +void AccessSchedule::setEndHour(double newEndHour) { + m_endHour = newEndHour; +} + + +} // NS DTO + +namespace Support { + +using AccessSchedule = Jellyfin::DTO::AccessSchedule; + +template <> +AccessSchedule fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AccessSchedule::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/activitylogentry.cpp b/core/src/dto/activitylogentry.cpp new file mode 100644 index 0000000..c158dea --- /dev/null +++ b/core/src/dto/activitylogentry.cpp @@ -0,0 +1,217 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ActivityLogEntry::ActivityLogEntry() {} + +ActivityLogEntry::ActivityLogEntry(const ActivityLogEntry &other) : + + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_overview(other.m_overview), + m_shortOverview(other.m_shortOverview), + m_type(other.m_type), + m_itemId(other.m_itemId), + m_date(other.m_date), + m_userId(other.m_userId), + m_userPrimaryImageTag(other.m_userPrimaryImageTag), + m_severity(other.m_severity){} + + +void ActivityLogEntry::replaceData(ActivityLogEntry &other) { + m_jellyfinId = other.m_jellyfinId; + m_name = other.m_name; + m_overview = other.m_overview; + m_shortOverview = other.m_shortOverview; + m_type = other.m_type; + m_itemId = other.m_itemId; + m_date = other.m_date; + m_userId = other.m_userId; + m_userPrimaryImageTag = other.m_userPrimaryImageTag; + m_severity = other.m_severity; +} + +ActivityLogEntry ActivityLogEntry::fromJson(QJsonObject source) { + ActivityLogEntry instance; + instance.setFromJson(source); + return instance; +} + + +void ActivityLogEntry::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_overview = Jellyfin::Support::fromJsonValue(source["Overview"]); + m_shortOverview = Jellyfin::Support::fromJsonValue(source["ShortOverview"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_date = Jellyfin::Support::fromJsonValue(source["Date"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_userPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["UserPrimaryImageTag"]); + m_severity = Jellyfin::Support::fromJsonValue(source["Severity"]); + +} + +QJsonObject ActivityLogEntry::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["ShortOverview"] = Jellyfin::Support::toJsonValue(m_shortOverview); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["Date"] = Jellyfin::Support::toJsonValue(m_date); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["UserPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_userPrimaryImageTag); + result["Severity"] = Jellyfin::Support::toJsonValue(m_severity); + + return result; +} + +qint64 ActivityLogEntry::jellyfinId() const { return m_jellyfinId; } + +void ActivityLogEntry::setJellyfinId(qint64 newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString ActivityLogEntry::name() const { return m_name; } + +void ActivityLogEntry::setName(QString newName) { + m_name = newName; +} +bool ActivityLogEntry::nameNull() const { + return m_name.isNull(); +} + +void ActivityLogEntry::setNameNull() { + m_name.clear(); + +} +QString ActivityLogEntry::overview() const { return m_overview; } + +void ActivityLogEntry::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool ActivityLogEntry::overviewNull() const { + return m_overview.isNull(); +} + +void ActivityLogEntry::setOverviewNull() { + m_overview.clear(); + +} +QString ActivityLogEntry::shortOverview() const { return m_shortOverview; } + +void ActivityLogEntry::setShortOverview(QString newShortOverview) { + m_shortOverview = newShortOverview; +} +bool ActivityLogEntry::shortOverviewNull() const { + return m_shortOverview.isNull(); +} + +void ActivityLogEntry::setShortOverviewNull() { + m_shortOverview.clear(); + +} +QString ActivityLogEntry::type() const { return m_type; } + +void ActivityLogEntry::setType(QString newType) { + m_type = newType; +} +bool ActivityLogEntry::typeNull() const { + return m_type.isNull(); +} + +void ActivityLogEntry::setTypeNull() { + m_type.clear(); + +} +QString ActivityLogEntry::itemId() const { return m_itemId; } + +void ActivityLogEntry::setItemId(QString newItemId) { + m_itemId = newItemId; +} +bool ActivityLogEntry::itemIdNull() const { + return m_itemId.isNull(); +} + +void ActivityLogEntry::setItemIdNull() { + m_itemId.clear(); + +} +QDateTime ActivityLogEntry::date() const { return m_date; } + +void ActivityLogEntry::setDate(QDateTime newDate) { + m_date = newDate; +} + +QString ActivityLogEntry::userId() const { return m_userId; } + +void ActivityLogEntry::setUserId(QString newUserId) { + m_userId = newUserId; +} + +QString ActivityLogEntry::userPrimaryImageTag() const { return m_userPrimaryImageTag; } + +void ActivityLogEntry::setUserPrimaryImageTag(QString newUserPrimaryImageTag) { + m_userPrimaryImageTag = newUserPrimaryImageTag; +} +bool ActivityLogEntry::userPrimaryImageTagNull() const { + return m_userPrimaryImageTag.isNull(); +} + +void ActivityLogEntry::setUserPrimaryImageTagNull() { + m_userPrimaryImageTag.clear(); + +} +LogLevel ActivityLogEntry::severity() const { return m_severity; } + +void ActivityLogEntry::setSeverity(LogLevel newSeverity) { + m_severity = newSeverity; +} + + +} // NS DTO + +namespace Support { + +using ActivityLogEntry = Jellyfin::DTO::ActivityLogEntry; + +template <> +ActivityLogEntry fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ActivityLogEntry::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/activitylogentryqueryresult.cpp b/core/src/dto/activitylogentryqueryresult.cpp new file mode 100644 index 0000000..e8bb1c3 --- /dev/null +++ b/core/src/dto/activitylogentryqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ActivityLogEntryQueryResult::ActivityLogEntryQueryResult() {} + +ActivityLogEntryQueryResult::ActivityLogEntryQueryResult(const ActivityLogEntryQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void ActivityLogEntryQueryResult::replaceData(ActivityLogEntryQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +ActivityLogEntryQueryResult ActivityLogEntryQueryResult::fromJson(QJsonObject source) { + ActivityLogEntryQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void ActivityLogEntryQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject ActivityLogEntryQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> ActivityLogEntryQueryResult::items() const { return m_items; } + +void ActivityLogEntryQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool ActivityLogEntryQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void ActivityLogEntryQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 ActivityLogEntryQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void ActivityLogEntryQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 ActivityLogEntryQueryResult::startIndex() const { return m_startIndex; } + +void ActivityLogEntryQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using ActivityLogEntryQueryResult = Jellyfin::DTO::ActivityLogEntryQueryResult; + +template <> +ActivityLogEntryQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ActivityLogEntryQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/addvirtualfolderdto.cpp b/core/src/dto/addvirtualfolderdto.cpp new file mode 100644 index 0000000..f5a8c00 --- /dev/null +++ b/core/src/dto/addvirtualfolderdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AddVirtualFolderDto::AddVirtualFolderDto() {} + +AddVirtualFolderDto::AddVirtualFolderDto(const AddVirtualFolderDto &other) : + + m_libraryOptions(other.m_libraryOptions){} + + +void AddVirtualFolderDto::replaceData(AddVirtualFolderDto &other) { + m_libraryOptions = other.m_libraryOptions; +} + +AddVirtualFolderDto AddVirtualFolderDto::fromJson(QJsonObject source) { + AddVirtualFolderDto instance; + instance.setFromJson(source); + return instance; +} + + +void AddVirtualFolderDto::setFromJson(QJsonObject source) { + m_libraryOptions = Jellyfin::Support::fromJsonValue>(source["LibraryOptions"]); + +} + +QJsonObject AddVirtualFolderDto::toJson() { + QJsonObject result; + result["LibraryOptions"] = Jellyfin::Support::toJsonValue>(m_libraryOptions); + + return result; +} + +QSharedPointer AddVirtualFolderDto::libraryOptions() const { return m_libraryOptions; } + +void AddVirtualFolderDto::setLibraryOptions(QSharedPointer newLibraryOptions) { + m_libraryOptions = newLibraryOptions; +} + + +} // NS DTO + +namespace Support { + +using AddVirtualFolderDto = Jellyfin::DTO::AddVirtualFolderDto; + +template <> +AddVirtualFolderDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AddVirtualFolderDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/albuminfo.cpp b/core/src/dto/albuminfo.cpp new file mode 100644 index 0000000..6f022fd --- /dev/null +++ b/core/src/dto/albuminfo.cpp @@ -0,0 +1,289 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AlbumInfo::AlbumInfo() {} + +AlbumInfo::AlbumInfo(const AlbumInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_albumArtists(other.m_albumArtists), + m_artistProviderIds(other.m_artistProviderIds), + m_songInfos(other.m_songInfos){} + + +void AlbumInfo::replaceData(AlbumInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; + m_albumArtists = other.m_albumArtists; + m_artistProviderIds = other.m_artistProviderIds; + m_songInfos = other.m_songInfos; +} + +AlbumInfo AlbumInfo::fromJson(QJsonObject source) { + AlbumInfo instance; + instance.setFromJson(source); + return instance; +} + + +void AlbumInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + m_albumArtists = Jellyfin::Support::fromJsonValue(source["AlbumArtists"]); + m_artistProviderIds = Jellyfin::Support::fromJsonValue>(source["ArtistProviderIds"]); + m_songInfos = Jellyfin::Support::fromJsonValue>>(source["SongInfos"]); + +} + +QJsonObject AlbumInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + result["AlbumArtists"] = Jellyfin::Support::toJsonValue(m_albumArtists); + result["ArtistProviderIds"] = Jellyfin::Support::toJsonValue>(m_artistProviderIds); + result["SongInfos"] = Jellyfin::Support::toJsonValue>>(m_songInfos); + + return result; +} + +QString AlbumInfo::name() const { return m_name; } + +void AlbumInfo::setName(QString newName) { + m_name = newName; +} +bool AlbumInfo::nameNull() const { + return m_name.isNull(); +} + +void AlbumInfo::setNameNull() { + m_name.clear(); + +} +QString AlbumInfo::path() const { return m_path; } + +void AlbumInfo::setPath(QString newPath) { + m_path = newPath; +} +bool AlbumInfo::pathNull() const { + return m_path.isNull(); +} + +void AlbumInfo::setPathNull() { + m_path.clear(); + +} +QString AlbumInfo::metadataLanguage() const { return m_metadataLanguage; } + +void AlbumInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool AlbumInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void AlbumInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString AlbumInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void AlbumInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool AlbumInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void AlbumInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional AlbumInfo::providerIds() const { return m_providerIds; } + +void AlbumInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool AlbumInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void AlbumInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional AlbumInfo::year() const { return m_year; } + +void AlbumInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool AlbumInfo::yearNull() const { + return !m_year.has_value(); +} + +void AlbumInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional AlbumInfo::indexNumber() const { return m_indexNumber; } + +void AlbumInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool AlbumInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void AlbumInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional AlbumInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void AlbumInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool AlbumInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void AlbumInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime AlbumInfo::premiereDate() const { return m_premiereDate; } + +void AlbumInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool AlbumInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void AlbumInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool AlbumInfo::isAutomated() const { return m_isAutomated; } + +void AlbumInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + +QStringList AlbumInfo::albumArtists() const { return m_albumArtists; } + +void AlbumInfo::setAlbumArtists(QStringList newAlbumArtists) { + m_albumArtists = newAlbumArtists; +} +bool AlbumInfo::albumArtistsNull() const { + return m_albumArtists.size() == 0; +} + +void AlbumInfo::setAlbumArtistsNull() { + m_albumArtists.clear(); + +} +std::optional AlbumInfo::artistProviderIds() const { return m_artistProviderIds; } + +void AlbumInfo::setArtistProviderIds(std::optional newArtistProviderIds) { + m_artistProviderIds = newArtistProviderIds; +} +bool AlbumInfo::artistProviderIdsNull() const { + return !m_artistProviderIds.has_value(); +} + +void AlbumInfo::setArtistProviderIdsNull() { + m_artistProviderIds = std::nullopt; + +} +QList> AlbumInfo::songInfos() const { return m_songInfos; } + +void AlbumInfo::setSongInfos(QList> newSongInfos) { + m_songInfos = newSongInfos; +} +bool AlbumInfo::songInfosNull() const { + return m_songInfos.size() == 0; +} + +void AlbumInfo::setSongInfosNull() { + m_songInfos.clear(); + +} + +} // NS DTO + +namespace Support { + +using AlbumInfo = Jellyfin::DTO::AlbumInfo; + +template <> +AlbumInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AlbumInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/albuminforemotesearchquery.cpp b/core/src/dto/albuminforemotesearchquery.cpp new file mode 100644 index 0000000..c495f17 --- /dev/null +++ b/core/src/dto/albuminforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery() {} + +AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery(const AlbumInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void AlbumInfoRemoteSearchQuery::replaceData(AlbumInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +AlbumInfoRemoteSearchQuery AlbumInfoRemoteSearchQuery::fromJson(QJsonObject source) { + AlbumInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void AlbumInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject AlbumInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer AlbumInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void AlbumInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString AlbumInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void AlbumInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString AlbumInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void AlbumInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool AlbumInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void AlbumInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool AlbumInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void AlbumInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using AlbumInfoRemoteSearchQuery = Jellyfin::DTO::AlbumInfoRemoteSearchQuery; + +template <> +AlbumInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AlbumInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/allthememediaresult.cpp b/core/src/dto/allthememediaresult.cpp new file mode 100644 index 0000000..9f66e2b --- /dev/null +++ b/core/src/dto/allthememediaresult.cpp @@ -0,0 +1,105 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AllThemeMediaResult::AllThemeMediaResult() {} + +AllThemeMediaResult::AllThemeMediaResult(const AllThemeMediaResult &other) : + + m_themeVideosResult(other.m_themeVideosResult), + m_themeSongsResult(other.m_themeSongsResult), + m_soundtrackSongsResult(other.m_soundtrackSongsResult){} + + +void AllThemeMediaResult::replaceData(AllThemeMediaResult &other) { + m_themeVideosResult = other.m_themeVideosResult; + m_themeSongsResult = other.m_themeSongsResult; + m_soundtrackSongsResult = other.m_soundtrackSongsResult; +} + +AllThemeMediaResult AllThemeMediaResult::fromJson(QJsonObject source) { + AllThemeMediaResult instance; + instance.setFromJson(source); + return instance; +} + + +void AllThemeMediaResult::setFromJson(QJsonObject source) { + m_themeVideosResult = Jellyfin::Support::fromJsonValue>(source["ThemeVideosResult"]); + m_themeSongsResult = Jellyfin::Support::fromJsonValue>(source["ThemeSongsResult"]); + m_soundtrackSongsResult = Jellyfin::Support::fromJsonValue>(source["SoundtrackSongsResult"]); + +} + +QJsonObject AllThemeMediaResult::toJson() { + QJsonObject result; + result["ThemeVideosResult"] = Jellyfin::Support::toJsonValue>(m_themeVideosResult); + result["ThemeSongsResult"] = Jellyfin::Support::toJsonValue>(m_themeSongsResult); + result["SoundtrackSongsResult"] = Jellyfin::Support::toJsonValue>(m_soundtrackSongsResult); + + return result; +} + +QSharedPointer AllThemeMediaResult::themeVideosResult() const { return m_themeVideosResult; } + +void AllThemeMediaResult::setThemeVideosResult(QSharedPointer newThemeVideosResult) { + m_themeVideosResult = newThemeVideosResult; +} + +QSharedPointer AllThemeMediaResult::themeSongsResult() const { return m_themeSongsResult; } + +void AllThemeMediaResult::setThemeSongsResult(QSharedPointer newThemeSongsResult) { + m_themeSongsResult = newThemeSongsResult; +} + +QSharedPointer AllThemeMediaResult::soundtrackSongsResult() const { return m_soundtrackSongsResult; } + +void AllThemeMediaResult::setSoundtrackSongsResult(QSharedPointer newSoundtrackSongsResult) { + m_soundtrackSongsResult = newSoundtrackSongsResult; +} + + +} // NS DTO + +namespace Support { + +using AllThemeMediaResult = Jellyfin::DTO::AllThemeMediaResult; + +template <> +AllThemeMediaResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AllThemeMediaResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/architecture.cpp b/core/src/dto/architecture.cpp new file mode 100644 index 0000000..d36cc0b --- /dev/null +++ b/core/src/dto/architecture.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ArchitectureClass::ArchitectureClass() {} + + +} // NS DTO + +namespace Support { + +using Architecture = Jellyfin::DTO::Architecture; + +template <> +Architecture fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return Architecture::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("X86")) { + return Architecture::X86; + } + if (str == QStringLiteral("X64")) { + return Architecture::X64; + } + if (str == QStringLiteral("Arm")) { + return Architecture::Arm; + } + if (str == QStringLiteral("Arm64")) { + return Architecture::Arm64; + } + if (str == QStringLiteral("Wasm")) { + return Architecture::Wasm; + } + + return Architecture::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/artistinfo.cpp b/core/src/dto/artistinfo.cpp new file mode 100644 index 0000000..72a43e7 --- /dev/null +++ b/core/src/dto/artistinfo.cpp @@ -0,0 +1,255 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ArtistInfo::ArtistInfo() {} + +ArtistInfo::ArtistInfo(const ArtistInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_songInfos(other.m_songInfos){} + + +void ArtistInfo::replaceData(ArtistInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; + m_songInfos = other.m_songInfos; +} + +ArtistInfo ArtistInfo::fromJson(QJsonObject source) { + ArtistInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ArtistInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + m_songInfos = Jellyfin::Support::fromJsonValue>>(source["SongInfos"]); + +} + +QJsonObject ArtistInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + result["SongInfos"] = Jellyfin::Support::toJsonValue>>(m_songInfos); + + return result; +} + +QString ArtistInfo::name() const { return m_name; } + +void ArtistInfo::setName(QString newName) { + m_name = newName; +} +bool ArtistInfo::nameNull() const { + return m_name.isNull(); +} + +void ArtistInfo::setNameNull() { + m_name.clear(); + +} +QString ArtistInfo::path() const { return m_path; } + +void ArtistInfo::setPath(QString newPath) { + m_path = newPath; +} +bool ArtistInfo::pathNull() const { + return m_path.isNull(); +} + +void ArtistInfo::setPathNull() { + m_path.clear(); + +} +QString ArtistInfo::metadataLanguage() const { return m_metadataLanguage; } + +void ArtistInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool ArtistInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void ArtistInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString ArtistInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void ArtistInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool ArtistInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void ArtistInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional ArtistInfo::providerIds() const { return m_providerIds; } + +void ArtistInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool ArtistInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void ArtistInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional ArtistInfo::year() const { return m_year; } + +void ArtistInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool ArtistInfo::yearNull() const { + return !m_year.has_value(); +} + +void ArtistInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional ArtistInfo::indexNumber() const { return m_indexNumber; } + +void ArtistInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool ArtistInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void ArtistInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional ArtistInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void ArtistInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool ArtistInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void ArtistInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime ArtistInfo::premiereDate() const { return m_premiereDate; } + +void ArtistInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool ArtistInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void ArtistInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool ArtistInfo::isAutomated() const { return m_isAutomated; } + +void ArtistInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + +QList> ArtistInfo::songInfos() const { return m_songInfos; } + +void ArtistInfo::setSongInfos(QList> newSongInfos) { + m_songInfos = newSongInfos; +} +bool ArtistInfo::songInfosNull() const { + return m_songInfos.size() == 0; +} + +void ArtistInfo::setSongInfosNull() { + m_songInfos.clear(); + +} + +} // NS DTO + +namespace Support { + +using ArtistInfo = Jellyfin::DTO::ArtistInfo; + +template <> +ArtistInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ArtistInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/artistinforemotesearchquery.cpp b/core/src/dto/artistinforemotesearchquery.cpp new file mode 100644 index 0000000..34e008b --- /dev/null +++ b/core/src/dto/artistinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery() {} + +ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery(const ArtistInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void ArtistInfoRemoteSearchQuery::replaceData(ArtistInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +ArtistInfoRemoteSearchQuery ArtistInfoRemoteSearchQuery::fromJson(QJsonObject source) { + ArtistInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void ArtistInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject ArtistInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer ArtistInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void ArtistInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString ArtistInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void ArtistInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString ArtistInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void ArtistInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool ArtistInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void ArtistInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool ArtistInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void ArtistInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using ArtistInfoRemoteSearchQuery = Jellyfin::DTO::ArtistInfoRemoteSearchQuery; + +template <> +ArtistInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ArtistInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/authenticateuserbyname.cpp b/core/src/dto/authenticateuserbyname.cpp new file mode 100644 index 0000000..b1a1e70 --- /dev/null +++ b/core/src/dto/authenticateuserbyname.cpp @@ -0,0 +1,126 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticateUserByName::AuthenticateUserByName() {} + +AuthenticateUserByName::AuthenticateUserByName(const AuthenticateUserByName &other) : + + m_username(other.m_username), + m_pw(other.m_pw), + m_password(other.m_password){} + + +void AuthenticateUserByName::replaceData(AuthenticateUserByName &other) { + m_username = other.m_username; + m_pw = other.m_pw; + m_password = other.m_password; +} + +AuthenticateUserByName AuthenticateUserByName::fromJson(QJsonObject source) { + AuthenticateUserByName instance; + instance.setFromJson(source); + return instance; +} + + +void AuthenticateUserByName::setFromJson(QJsonObject source) { + m_username = Jellyfin::Support::fromJsonValue(source["Username"]); + m_pw = Jellyfin::Support::fromJsonValue(source["Pw"]); + m_password = Jellyfin::Support::fromJsonValue(source["Password"]); + +} + +QJsonObject AuthenticateUserByName::toJson() { + QJsonObject result; + result["Username"] = Jellyfin::Support::toJsonValue(m_username); + result["Pw"] = Jellyfin::Support::toJsonValue(m_pw); + result["Password"] = Jellyfin::Support::toJsonValue(m_password); + + return result; +} + +QString AuthenticateUserByName::username() const { return m_username; } + +void AuthenticateUserByName::setUsername(QString newUsername) { + m_username = newUsername; +} +bool AuthenticateUserByName::usernameNull() const { + return m_username.isNull(); +} + +void AuthenticateUserByName::setUsernameNull() { + m_username.clear(); + +} +QString AuthenticateUserByName::pw() const { return m_pw; } + +void AuthenticateUserByName::setPw(QString newPw) { + m_pw = newPw; +} +bool AuthenticateUserByName::pwNull() const { + return m_pw.isNull(); +} + +void AuthenticateUserByName::setPwNull() { + m_pw.clear(); + +} +QString AuthenticateUserByName::password() const { return m_password; } + +void AuthenticateUserByName::setPassword(QString newPassword) { + m_password = newPassword; +} +bool AuthenticateUserByName::passwordNull() const { + return m_password.isNull(); +} + +void AuthenticateUserByName::setPasswordNull() { + m_password.clear(); + +} + +} // NS DTO + +namespace Support { + +using AuthenticateUserByName = Jellyfin::DTO::AuthenticateUserByName; + +template <> +AuthenticateUserByName fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AuthenticateUserByName::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/authenticationinfo.cpp b/core/src/dto/authenticationinfo.cpp new file mode 100644 index 0000000..d36ec0b --- /dev/null +++ b/core/src/dto/authenticationinfo.cpp @@ -0,0 +1,244 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticationInfo::AuthenticationInfo() {} + +AuthenticationInfo::AuthenticationInfo(const AuthenticationInfo &other) : + + m_jellyfinId(other.m_jellyfinId), + m_accessToken(other.m_accessToken), + m_deviceId(other.m_deviceId), + m_appName(other.m_appName), + m_appVersion(other.m_appVersion), + m_deviceName(other.m_deviceName), + m_userId(other.m_userId), + m_isActive(other.m_isActive), + m_dateCreated(other.m_dateCreated), + m_dateRevoked(other.m_dateRevoked), + m_dateLastActivity(other.m_dateLastActivity), + m_userName(other.m_userName){} + + +void AuthenticationInfo::replaceData(AuthenticationInfo &other) { + m_jellyfinId = other.m_jellyfinId; + m_accessToken = other.m_accessToken; + m_deviceId = other.m_deviceId; + m_appName = other.m_appName; + m_appVersion = other.m_appVersion; + m_deviceName = other.m_deviceName; + m_userId = other.m_userId; + m_isActive = other.m_isActive; + m_dateCreated = other.m_dateCreated; + m_dateRevoked = other.m_dateRevoked; + m_dateLastActivity = other.m_dateLastActivity; + m_userName = other.m_userName; +} + +AuthenticationInfo AuthenticationInfo::fromJson(QJsonObject source) { + AuthenticationInfo instance; + instance.setFromJson(source); + return instance; +} + + +void AuthenticationInfo::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_accessToken = Jellyfin::Support::fromJsonValue(source["AccessToken"]); + m_deviceId = Jellyfin::Support::fromJsonValue(source["DeviceId"]); + m_appName = Jellyfin::Support::fromJsonValue(source["AppName"]); + m_appVersion = Jellyfin::Support::fromJsonValue(source["AppVersion"]); + m_deviceName = Jellyfin::Support::fromJsonValue(source["DeviceName"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_isActive = Jellyfin::Support::fromJsonValue(source["IsActive"]); + m_dateCreated = Jellyfin::Support::fromJsonValue(source["DateCreated"]); + m_dateRevoked = Jellyfin::Support::fromJsonValue(source["DateRevoked"]); + m_dateLastActivity = Jellyfin::Support::fromJsonValue(source["DateLastActivity"]); + m_userName = Jellyfin::Support::fromJsonValue(source["UserName"]); + +} + +QJsonObject AuthenticationInfo::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["AccessToken"] = Jellyfin::Support::toJsonValue(m_accessToken); + result["DeviceId"] = Jellyfin::Support::toJsonValue(m_deviceId); + result["AppName"] = Jellyfin::Support::toJsonValue(m_appName); + result["AppVersion"] = Jellyfin::Support::toJsonValue(m_appVersion); + result["DeviceName"] = Jellyfin::Support::toJsonValue(m_deviceName); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["IsActive"] = Jellyfin::Support::toJsonValue(m_isActive); + result["DateCreated"] = Jellyfin::Support::toJsonValue(m_dateCreated); + result["DateRevoked"] = Jellyfin::Support::toJsonValue(m_dateRevoked); + result["DateLastActivity"] = Jellyfin::Support::toJsonValue(m_dateLastActivity); + result["UserName"] = Jellyfin::Support::toJsonValue(m_userName); + + return result; +} + +qint64 AuthenticationInfo::jellyfinId() const { return m_jellyfinId; } + +void AuthenticationInfo::setJellyfinId(qint64 newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString AuthenticationInfo::accessToken() const { return m_accessToken; } + +void AuthenticationInfo::setAccessToken(QString newAccessToken) { + m_accessToken = newAccessToken; +} +bool AuthenticationInfo::accessTokenNull() const { + return m_accessToken.isNull(); +} + +void AuthenticationInfo::setAccessTokenNull() { + m_accessToken.clear(); + +} +QString AuthenticationInfo::deviceId() const { return m_deviceId; } + +void AuthenticationInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; +} +bool AuthenticationInfo::deviceIdNull() const { + return m_deviceId.isNull(); +} + +void AuthenticationInfo::setDeviceIdNull() { + m_deviceId.clear(); + +} +QString AuthenticationInfo::appName() const { return m_appName; } + +void AuthenticationInfo::setAppName(QString newAppName) { + m_appName = newAppName; +} +bool AuthenticationInfo::appNameNull() const { + return m_appName.isNull(); +} + +void AuthenticationInfo::setAppNameNull() { + m_appName.clear(); + +} +QString AuthenticationInfo::appVersion() const { return m_appVersion; } + +void AuthenticationInfo::setAppVersion(QString newAppVersion) { + m_appVersion = newAppVersion; +} +bool AuthenticationInfo::appVersionNull() const { + return m_appVersion.isNull(); +} + +void AuthenticationInfo::setAppVersionNull() { + m_appVersion.clear(); + +} +QString AuthenticationInfo::deviceName() const { return m_deviceName; } + +void AuthenticationInfo::setDeviceName(QString newDeviceName) { + m_deviceName = newDeviceName; +} +bool AuthenticationInfo::deviceNameNull() const { + return m_deviceName.isNull(); +} + +void AuthenticationInfo::setDeviceNameNull() { + m_deviceName.clear(); + +} +QString AuthenticationInfo::userId() const { return m_userId; } + +void AuthenticationInfo::setUserId(QString newUserId) { + m_userId = newUserId; +} + +bool AuthenticationInfo::isActive() const { return m_isActive; } + +void AuthenticationInfo::setIsActive(bool newIsActive) { + m_isActive = newIsActive; +} + +QDateTime AuthenticationInfo::dateCreated() const { return m_dateCreated; } + +void AuthenticationInfo::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; +} + +QDateTime AuthenticationInfo::dateRevoked() const { return m_dateRevoked; } + +void AuthenticationInfo::setDateRevoked(QDateTime newDateRevoked) { + m_dateRevoked = newDateRevoked; +} +bool AuthenticationInfo::dateRevokedNull() const { + return m_dateRevoked.isNull(); +} + +void AuthenticationInfo::setDateRevokedNull() { + m_dateRevoked= QDateTime(); + +} +QDateTime AuthenticationInfo::dateLastActivity() const { return m_dateLastActivity; } + +void AuthenticationInfo::setDateLastActivity(QDateTime newDateLastActivity) { + m_dateLastActivity = newDateLastActivity; +} + +QString AuthenticationInfo::userName() const { return m_userName; } + +void AuthenticationInfo::setUserName(QString newUserName) { + m_userName = newUserName; +} +bool AuthenticationInfo::userNameNull() const { + return m_userName.isNull(); +} + +void AuthenticationInfo::setUserNameNull() { + m_userName.clear(); + +} + +} // NS DTO + +namespace Support { + +using AuthenticationInfo = Jellyfin::DTO::AuthenticationInfo; + +template <> +AuthenticationInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AuthenticationInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/authenticationinfoqueryresult.cpp b/core/src/dto/authenticationinfoqueryresult.cpp new file mode 100644 index 0000000..62ae4f0 --- /dev/null +++ b/core/src/dto/authenticationinfoqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticationInfoQueryResult::AuthenticationInfoQueryResult() {} + +AuthenticationInfoQueryResult::AuthenticationInfoQueryResult(const AuthenticationInfoQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void AuthenticationInfoQueryResult::replaceData(AuthenticationInfoQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +AuthenticationInfoQueryResult AuthenticationInfoQueryResult::fromJson(QJsonObject source) { + AuthenticationInfoQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void AuthenticationInfoQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject AuthenticationInfoQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> AuthenticationInfoQueryResult::items() const { return m_items; } + +void AuthenticationInfoQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool AuthenticationInfoQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void AuthenticationInfoQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 AuthenticationInfoQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void AuthenticationInfoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 AuthenticationInfoQueryResult::startIndex() const { return m_startIndex; } + +void AuthenticationInfoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using AuthenticationInfoQueryResult = Jellyfin::DTO::AuthenticationInfoQueryResult; + +template <> +AuthenticationInfoQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AuthenticationInfoQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/authenticationresult.cpp b/core/src/dto/authenticationresult.cpp new file mode 100644 index 0000000..07767cf --- /dev/null +++ b/core/src/dto/authenticationresult.cpp @@ -0,0 +1,129 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticationResult::AuthenticationResult() {} + +AuthenticationResult::AuthenticationResult(const AuthenticationResult &other) : + + m_user(other.m_user), + m_sessionInfo(other.m_sessionInfo), + m_accessToken(other.m_accessToken), + m_serverId(other.m_serverId){} + + +void AuthenticationResult::replaceData(AuthenticationResult &other) { + m_user = other.m_user; + m_sessionInfo = other.m_sessionInfo; + m_accessToken = other.m_accessToken; + m_serverId = other.m_serverId; +} + +AuthenticationResult AuthenticationResult::fromJson(QJsonObject source) { + AuthenticationResult instance; + instance.setFromJson(source); + return instance; +} + + +void AuthenticationResult::setFromJson(QJsonObject source) { + m_user = Jellyfin::Support::fromJsonValue>(source["User"]); + m_sessionInfo = Jellyfin::Support::fromJsonValue>(source["SessionInfo"]); + m_accessToken = Jellyfin::Support::fromJsonValue(source["AccessToken"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + +} + +QJsonObject AuthenticationResult::toJson() { + QJsonObject result; + result["User"] = Jellyfin::Support::toJsonValue>(m_user); + result["SessionInfo"] = Jellyfin::Support::toJsonValue>(m_sessionInfo); + result["AccessToken"] = Jellyfin::Support::toJsonValue(m_accessToken); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + + return result; +} + +QSharedPointer AuthenticationResult::user() const { return m_user; } + +void AuthenticationResult::setUser(QSharedPointer newUser) { + m_user = newUser; +} + +QSharedPointer AuthenticationResult::sessionInfo() const { return m_sessionInfo; } + +void AuthenticationResult::setSessionInfo(QSharedPointer newSessionInfo) { + m_sessionInfo = newSessionInfo; +} + +QString AuthenticationResult::accessToken() const { return m_accessToken; } + +void AuthenticationResult::setAccessToken(QString newAccessToken) { + m_accessToken = newAccessToken; +} +bool AuthenticationResult::accessTokenNull() const { + return m_accessToken.isNull(); +} + +void AuthenticationResult::setAccessTokenNull() { + m_accessToken.clear(); + +} +QString AuthenticationResult::serverId() const { return m_serverId; } + +void AuthenticationResult::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool AuthenticationResult::serverIdNull() const { + return m_serverId.isNull(); +} + +void AuthenticationResult::setServerIdNull() { + m_serverId.clear(); + +} + +} // NS DTO + +namespace Support { + +using AuthenticationResult = Jellyfin::DTO::AuthenticationResult; + +template <> +AuthenticationResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return AuthenticationResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/baseitem.cpp b/core/src/dto/baseitem.cpp new file mode 100644 index 0000000..65311e2 --- /dev/null +++ b/core/src/dto/baseitem.cpp @@ -0,0 +1,220 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItem::BaseItem() {} + +BaseItem::BaseItem(const BaseItem &other) : + + m_size(other.m_size), + m_container(other.m_container), + m_dateLastSaved(other.m_dateLastSaved), + m_remoteTrailers(other.m_remoteTrailers), + m_isHD(other.m_isHD), + m_isShortcut(other.m_isShortcut), + m_shortcutPath(other.m_shortcutPath), + m_width(other.m_width), + m_height(other.m_height), + m_extraIds(other.m_extraIds), + m_supportsExternalTransfer(other.m_supportsExternalTransfer){} + + +void BaseItem::replaceData(BaseItem &other) { + m_size = other.m_size; + m_container = other.m_container; + m_dateLastSaved = other.m_dateLastSaved; + m_remoteTrailers = other.m_remoteTrailers; + m_isHD = other.m_isHD; + m_isShortcut = other.m_isShortcut; + m_shortcutPath = other.m_shortcutPath; + m_width = other.m_width; + m_height = other.m_height; + m_extraIds = other.m_extraIds; + m_supportsExternalTransfer = other.m_supportsExternalTransfer; +} + +BaseItem BaseItem::fromJson(QJsonObject source) { + BaseItem instance; + instance.setFromJson(source); + return instance; +} + + +void BaseItem::setFromJson(QJsonObject source) { + m_size = Jellyfin::Support::fromJsonValue>(source["Size"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_dateLastSaved = Jellyfin::Support::fromJsonValue(source["DateLastSaved"]); + m_remoteTrailers = Jellyfin::Support::fromJsonValue>>(source["RemoteTrailers"]); + m_isHD = Jellyfin::Support::fromJsonValue(source["IsHD"]); + m_isShortcut = Jellyfin::Support::fromJsonValue(source["IsShortcut"]); + m_shortcutPath = Jellyfin::Support::fromJsonValue(source["ShortcutPath"]); + m_width = Jellyfin::Support::fromJsonValue(source["Width"]); + m_height = Jellyfin::Support::fromJsonValue(source["Height"]); + m_extraIds = Jellyfin::Support::fromJsonValue(source["ExtraIds"]); + m_supportsExternalTransfer = Jellyfin::Support::fromJsonValue(source["SupportsExternalTransfer"]); + +} + +QJsonObject BaseItem::toJson() { + QJsonObject result; + result["Size"] = Jellyfin::Support::toJsonValue>(m_size); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["DateLastSaved"] = Jellyfin::Support::toJsonValue(m_dateLastSaved); + result["RemoteTrailers"] = Jellyfin::Support::toJsonValue>>(m_remoteTrailers); + result["IsHD"] = Jellyfin::Support::toJsonValue(m_isHD); + result["IsShortcut"] = Jellyfin::Support::toJsonValue(m_isShortcut); + result["ShortcutPath"] = Jellyfin::Support::toJsonValue(m_shortcutPath); + result["Width"] = Jellyfin::Support::toJsonValue(m_width); + result["Height"] = Jellyfin::Support::toJsonValue(m_height); + result["ExtraIds"] = Jellyfin::Support::toJsonValue(m_extraIds); + result["SupportsExternalTransfer"] = Jellyfin::Support::toJsonValue(m_supportsExternalTransfer); + + return result; +} + +std::optional BaseItem::size() const { return m_size; } + +void BaseItem::setSize(std::optional newSize) { + m_size = newSize; +} +bool BaseItem::sizeNull() const { + return !m_size.has_value(); +} + +void BaseItem::setSizeNull() { + m_size = std::nullopt; + +} +QString BaseItem::container() const { return m_container; } + +void BaseItem::setContainer(QString newContainer) { + m_container = newContainer; +} +bool BaseItem::containerNull() const { + return m_container.isNull(); +} + +void BaseItem::setContainerNull() { + m_container.clear(); + +} +QDateTime BaseItem::dateLastSaved() const { return m_dateLastSaved; } + +void BaseItem::setDateLastSaved(QDateTime newDateLastSaved) { + m_dateLastSaved = newDateLastSaved; +} + +QList> BaseItem::remoteTrailers() const { return m_remoteTrailers; } + +void BaseItem::setRemoteTrailers(QList> newRemoteTrailers) { + m_remoteTrailers = newRemoteTrailers; +} +bool BaseItem::remoteTrailersNull() const { + return m_remoteTrailers.size() == 0; +} + +void BaseItem::setRemoteTrailersNull() { + m_remoteTrailers.clear(); + +} +bool BaseItem::isHD() const { return m_isHD; } + +void BaseItem::setIsHD(bool newIsHD) { + m_isHD = newIsHD; +} + +bool BaseItem::isShortcut() const { return m_isShortcut; } + +void BaseItem::setIsShortcut(bool newIsShortcut) { + m_isShortcut = newIsShortcut; +} + +QString BaseItem::shortcutPath() const { return m_shortcutPath; } + +void BaseItem::setShortcutPath(QString newShortcutPath) { + m_shortcutPath = newShortcutPath; +} +bool BaseItem::shortcutPathNull() const { + return m_shortcutPath.isNull(); +} + +void BaseItem::setShortcutPathNull() { + m_shortcutPath.clear(); + +} +qint32 BaseItem::width() const { return m_width; } + +void BaseItem::setWidth(qint32 newWidth) { + m_width = newWidth; +} + +qint32 BaseItem::height() const { return m_height; } + +void BaseItem::setHeight(qint32 newHeight) { + m_height = newHeight; +} + +QStringList BaseItem::extraIds() const { return m_extraIds; } + +void BaseItem::setExtraIds(QStringList newExtraIds) { + m_extraIds = newExtraIds; +} +bool BaseItem::extraIdsNull() const { + return m_extraIds.size() == 0; +} + +void BaseItem::setExtraIdsNull() { + m_extraIds.clear(); + +} +bool BaseItem::supportsExternalTransfer() const { return m_supportsExternalTransfer; } + +void BaseItem::setSupportsExternalTransfer(bool newSupportsExternalTransfer) { + m_supportsExternalTransfer = newSupportsExternalTransfer; +} + + +} // NS DTO + +namespace Support { + +using BaseItem = Jellyfin::DTO::BaseItem; + +template <> +BaseItem fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BaseItem::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/baseitemdto.cpp b/core/src/dto/baseitemdto.cpp new file mode 100644 index 0000000..2c75939 --- /dev/null +++ b/core/src/dto/baseitemdto.cpp @@ -0,0 +1,2565 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemDto::BaseItemDto() {} + +BaseItemDto::BaseItemDto(const BaseItemDto &other) : + + m_name(other.m_name), + m_originalTitle(other.m_originalTitle), + m_serverId(other.m_serverId), + m_jellyfinId(other.m_jellyfinId), + m_etag(other.m_etag), + m_sourceType(other.m_sourceType), + m_playlistItemId(other.m_playlistItemId), + m_dateCreated(other.m_dateCreated), + m_dateLastMediaAdded(other.m_dateLastMediaAdded), + m_extraType(other.m_extraType), + m_airsBeforeSeasonNumber(other.m_airsBeforeSeasonNumber), + m_airsAfterSeasonNumber(other.m_airsAfterSeasonNumber), + m_airsBeforeEpisodeNumber(other.m_airsBeforeEpisodeNumber), + m_canDelete(other.m_canDelete), + m_canDownload(other.m_canDownload), + m_hasSubtitles(other.m_hasSubtitles), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_preferredMetadataCountryCode(other.m_preferredMetadataCountryCode), + m_supportsSync(other.m_supportsSync), + m_container(other.m_container), + m_sortName(other.m_sortName), + m_forcedSortName(other.m_forcedSortName), + m_video3DFormat(other.m_video3DFormat), + m_premiereDate(other.m_premiereDate), + m_externalUrls(other.m_externalUrls), + m_mediaSources(other.m_mediaSources), + m_criticRating(other.m_criticRating), + m_productionLocations(other.m_productionLocations), + m_path(other.m_path), + m_enableMediaSourceDisplay(other.m_enableMediaSourceDisplay), + m_officialRating(other.m_officialRating), + m_customRating(other.m_customRating), + m_channelId(other.m_channelId), + m_channelName(other.m_channelName), + m_overview(other.m_overview), + m_taglines(other.m_taglines), + m_genres(other.m_genres), + m_communityRating(other.m_communityRating), + m_cumulativeRunTimeTicks(other.m_cumulativeRunTimeTicks), + m_runTimeTicks(other.m_runTimeTicks), + m_playAccess(other.m_playAccess), + m_aspectRatio(other.m_aspectRatio), + m_productionYear(other.m_productionYear), + m_isPlaceHolder(other.m_isPlaceHolder), + m_number(other.m_number), + m_channelNumber(other.m_channelNumber), + m_indexNumber(other.m_indexNumber), + m_indexNumberEnd(other.m_indexNumberEnd), + m_parentIndexNumber(other.m_parentIndexNumber), + m_remoteTrailers(other.m_remoteTrailers), + m_providerIds(other.m_providerIds), + m_isHD(other.m_isHD), + m_isFolder(other.m_isFolder), + m_parentId(other.m_parentId), + m_type(other.m_type), + m_people(other.m_people), + m_studios(other.m_studios), + m_genreItems(other.m_genreItems), + m_parentLogoItemId(other.m_parentLogoItemId), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_localTrailerCount(other.m_localTrailerCount), + m_userData(other.m_userData), + m_recursiveItemCount(other.m_recursiveItemCount), + m_childCount(other.m_childCount), + m_seriesName(other.m_seriesName), + m_seriesId(other.m_seriesId), + m_seasonId(other.m_seasonId), + m_specialFeatureCount(other.m_specialFeatureCount), + m_displayPreferencesId(other.m_displayPreferencesId), + m_status(other.m_status), + m_airTime(other.m_airTime), + m_airDays(other.m_airDays), + m_tags(other.m_tags), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio), + m_artists(other.m_artists), + m_artistItems(other.m_artistItems), + m_album(other.m_album), + m_collectionType(other.m_collectionType), + m_displayOrder(other.m_displayOrder), + m_albumId(other.m_albumId), + m_albumPrimaryImageTag(other.m_albumPrimaryImageTag), + m_seriesPrimaryImageTag(other.m_seriesPrimaryImageTag), + m_albumArtist(other.m_albumArtist), + m_albumArtists(other.m_albumArtists), + m_seasonName(other.m_seasonName), + m_mediaStreams(other.m_mediaStreams), + m_videoType(other.m_videoType), + m_partCount(other.m_partCount), + m_mediaSourceCount(other.m_mediaSourceCount), + m_imageTags(other.m_imageTags), + m_backdropImageTags(other.m_backdropImageTags), + m_screenshotImageTags(other.m_screenshotImageTags), + m_parentLogoImageTag(other.m_parentLogoImageTag), + m_parentArtItemId(other.m_parentArtItemId), + m_parentArtImageTag(other.m_parentArtImageTag), + m_seriesThumbImageTag(other.m_seriesThumbImageTag), + m_imageBlurHashes(other.m_imageBlurHashes), + m_seriesStudio(other.m_seriesStudio), + m_parentThumbItemId(other.m_parentThumbItemId), + m_parentThumbImageTag(other.m_parentThumbImageTag), + m_parentPrimaryImageItemId(other.m_parentPrimaryImageItemId), + m_parentPrimaryImageTag(other.m_parentPrimaryImageTag), + m_chapters(other.m_chapters), + m_locationType(other.m_locationType), + m_isoType(other.m_isoType), + m_mediaType(other.m_mediaType), + m_endDate(other.m_endDate), + m_lockedFields(other.m_lockedFields), + m_trailerCount(other.m_trailerCount), + m_movieCount(other.m_movieCount), + m_seriesCount(other.m_seriesCount), + m_programCount(other.m_programCount), + m_episodeCount(other.m_episodeCount), + m_songCount(other.m_songCount), + m_albumCount(other.m_albumCount), + m_artistCount(other.m_artistCount), + m_musicVideoCount(other.m_musicVideoCount), + m_lockData(other.m_lockData), + m_width(other.m_width), + m_height(other.m_height), + m_cameraMake(other.m_cameraMake), + m_cameraModel(other.m_cameraModel), + m_software(other.m_software), + m_exposureTime(other.m_exposureTime), + m_focalLength(other.m_focalLength), + m_imageOrientation(other.m_imageOrientation), + m_aperture(other.m_aperture), + m_shutterSpeed(other.m_shutterSpeed), + m_latitude(other.m_latitude), + m_longitude(other.m_longitude), + m_altitude(other.m_altitude), + m_isoSpeedRating(other.m_isoSpeedRating), + m_seriesTimerId(other.m_seriesTimerId), + m_programId(other.m_programId), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_startDate(other.m_startDate), + m_completionPercentage(other.m_completionPercentage), + m_isRepeat(other.m_isRepeat), + m_episodeTitle(other.m_episodeTitle), + m_channelType(other.m_channelType), + m_audio(other.m_audio), + m_isMovie(other.m_isMovie), + m_isSports(other.m_isSports), + m_isSeries(other.m_isSeries), + m_isLive(other.m_isLive), + m_isNews(other.m_isNews), + m_isKids(other.m_isKids), + m_isPremiere(other.m_isPremiere), + m_timerId(other.m_timerId), + m_currentProgram(other.m_currentProgram){} + + +void BaseItemDto::replaceData(BaseItemDto &other) { + m_name = other.m_name; + m_originalTitle = other.m_originalTitle; + m_serverId = other.m_serverId; + m_jellyfinId = other.m_jellyfinId; + m_etag = other.m_etag; + m_sourceType = other.m_sourceType; + m_playlistItemId = other.m_playlistItemId; + m_dateCreated = other.m_dateCreated; + m_dateLastMediaAdded = other.m_dateLastMediaAdded; + m_extraType = other.m_extraType; + m_airsBeforeSeasonNumber = other.m_airsBeforeSeasonNumber; + m_airsAfterSeasonNumber = other.m_airsAfterSeasonNumber; + m_airsBeforeEpisodeNumber = other.m_airsBeforeEpisodeNumber; + m_canDelete = other.m_canDelete; + m_canDownload = other.m_canDownload; + m_hasSubtitles = other.m_hasSubtitles; + m_preferredMetadataLanguage = other.m_preferredMetadataLanguage; + m_preferredMetadataCountryCode = other.m_preferredMetadataCountryCode; + m_supportsSync = other.m_supportsSync; + m_container = other.m_container; + m_sortName = other.m_sortName; + m_forcedSortName = other.m_forcedSortName; + m_video3DFormat = other.m_video3DFormat; + m_premiereDate = other.m_premiereDate; + m_externalUrls = other.m_externalUrls; + m_mediaSources = other.m_mediaSources; + m_criticRating = other.m_criticRating; + m_productionLocations = other.m_productionLocations; + m_path = other.m_path; + m_enableMediaSourceDisplay = other.m_enableMediaSourceDisplay; + m_officialRating = other.m_officialRating; + m_customRating = other.m_customRating; + m_channelId = other.m_channelId; + m_channelName = other.m_channelName; + m_overview = other.m_overview; + m_taglines = other.m_taglines; + m_genres = other.m_genres; + m_communityRating = other.m_communityRating; + m_cumulativeRunTimeTicks = other.m_cumulativeRunTimeTicks; + m_runTimeTicks = other.m_runTimeTicks; + m_playAccess = other.m_playAccess; + m_aspectRatio = other.m_aspectRatio; + m_productionYear = other.m_productionYear; + m_isPlaceHolder = other.m_isPlaceHolder; + m_number = other.m_number; + m_channelNumber = other.m_channelNumber; + m_indexNumber = other.m_indexNumber; + m_indexNumberEnd = other.m_indexNumberEnd; + m_parentIndexNumber = other.m_parentIndexNumber; + m_remoteTrailers = other.m_remoteTrailers; + m_providerIds = other.m_providerIds; + m_isHD = other.m_isHD; + m_isFolder = other.m_isFolder; + m_parentId = other.m_parentId; + m_type = other.m_type; + m_people = other.m_people; + m_studios = other.m_studios; + m_genreItems = other.m_genreItems; + m_parentLogoItemId = other.m_parentLogoItemId; + m_parentBackdropItemId = other.m_parentBackdropItemId; + m_parentBackdropImageTags = other.m_parentBackdropImageTags; + m_localTrailerCount = other.m_localTrailerCount; + m_userData = other.m_userData; + m_recursiveItemCount = other.m_recursiveItemCount; + m_childCount = other.m_childCount; + m_seriesName = other.m_seriesName; + m_seriesId = other.m_seriesId; + m_seasonId = other.m_seasonId; + m_specialFeatureCount = other.m_specialFeatureCount; + m_displayPreferencesId = other.m_displayPreferencesId; + m_status = other.m_status; + m_airTime = other.m_airTime; + m_airDays = other.m_airDays; + m_tags = other.m_tags; + m_primaryImageAspectRatio = other.m_primaryImageAspectRatio; + m_artists = other.m_artists; + m_artistItems = other.m_artistItems; + m_album = other.m_album; + m_collectionType = other.m_collectionType; + m_displayOrder = other.m_displayOrder; + m_albumId = other.m_albumId; + m_albumPrimaryImageTag = other.m_albumPrimaryImageTag; + m_seriesPrimaryImageTag = other.m_seriesPrimaryImageTag; + m_albumArtist = other.m_albumArtist; + m_albumArtists = other.m_albumArtists; + m_seasonName = other.m_seasonName; + m_mediaStreams = other.m_mediaStreams; + m_videoType = other.m_videoType; + m_partCount = other.m_partCount; + m_mediaSourceCount = other.m_mediaSourceCount; + m_imageTags = other.m_imageTags; + m_backdropImageTags = other.m_backdropImageTags; + m_screenshotImageTags = other.m_screenshotImageTags; + m_parentLogoImageTag = other.m_parentLogoImageTag; + m_parentArtItemId = other.m_parentArtItemId; + m_parentArtImageTag = other.m_parentArtImageTag; + m_seriesThumbImageTag = other.m_seriesThumbImageTag; + m_imageBlurHashes = other.m_imageBlurHashes; + m_seriesStudio = other.m_seriesStudio; + m_parentThumbItemId = other.m_parentThumbItemId; + m_parentThumbImageTag = other.m_parentThumbImageTag; + m_parentPrimaryImageItemId = other.m_parentPrimaryImageItemId; + m_parentPrimaryImageTag = other.m_parentPrimaryImageTag; + m_chapters = other.m_chapters; + m_locationType = other.m_locationType; + m_isoType = other.m_isoType; + m_mediaType = other.m_mediaType; + m_endDate = other.m_endDate; + m_lockedFields = other.m_lockedFields; + m_trailerCount = other.m_trailerCount; + m_movieCount = other.m_movieCount; + m_seriesCount = other.m_seriesCount; + m_programCount = other.m_programCount; + m_episodeCount = other.m_episodeCount; + m_songCount = other.m_songCount; + m_albumCount = other.m_albumCount; + m_artistCount = other.m_artistCount; + m_musicVideoCount = other.m_musicVideoCount; + m_lockData = other.m_lockData; + m_width = other.m_width; + m_height = other.m_height; + m_cameraMake = other.m_cameraMake; + m_cameraModel = other.m_cameraModel; + m_software = other.m_software; + m_exposureTime = other.m_exposureTime; + m_focalLength = other.m_focalLength; + m_imageOrientation = other.m_imageOrientation; + m_aperture = other.m_aperture; + m_shutterSpeed = other.m_shutterSpeed; + m_latitude = other.m_latitude; + m_longitude = other.m_longitude; + m_altitude = other.m_altitude; + m_isoSpeedRating = other.m_isoSpeedRating; + m_seriesTimerId = other.m_seriesTimerId; + m_programId = other.m_programId; + m_channelPrimaryImageTag = other.m_channelPrimaryImageTag; + m_startDate = other.m_startDate; + m_completionPercentage = other.m_completionPercentage; + m_isRepeat = other.m_isRepeat; + m_episodeTitle = other.m_episodeTitle; + m_channelType = other.m_channelType; + m_audio = other.m_audio; + m_isMovie = other.m_isMovie; + m_isSports = other.m_isSports; + m_isSeries = other.m_isSeries; + m_isLive = other.m_isLive; + m_isNews = other.m_isNews; + m_isKids = other.m_isKids; + m_isPremiere = other.m_isPremiere; + m_timerId = other.m_timerId; + m_currentProgram = other.m_currentProgram; +} + +BaseItemDto BaseItemDto::fromJson(QJsonObject source) { + BaseItemDto instance; + instance.setFromJson(source); + return instance; +} + + +void BaseItemDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_originalTitle = Jellyfin::Support::fromJsonValue(source["OriginalTitle"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_etag = Jellyfin::Support::fromJsonValue(source["Etag"]); + m_sourceType = Jellyfin::Support::fromJsonValue(source["SourceType"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + m_dateCreated = Jellyfin::Support::fromJsonValue(source["DateCreated"]); + m_dateLastMediaAdded = Jellyfin::Support::fromJsonValue(source["DateLastMediaAdded"]); + m_extraType = Jellyfin::Support::fromJsonValue(source["ExtraType"]); + m_airsBeforeSeasonNumber = Jellyfin::Support::fromJsonValue>(source["AirsBeforeSeasonNumber"]); + m_airsAfterSeasonNumber = Jellyfin::Support::fromJsonValue>(source["AirsAfterSeasonNumber"]); + m_airsBeforeEpisodeNumber = Jellyfin::Support::fromJsonValue>(source["AirsBeforeEpisodeNumber"]); + m_canDelete = Jellyfin::Support::fromJsonValue>(source["CanDelete"]); + m_canDownload = Jellyfin::Support::fromJsonValue>(source["CanDownload"]); + m_hasSubtitles = Jellyfin::Support::fromJsonValue>(source["HasSubtitles"]); + m_preferredMetadataLanguage = Jellyfin::Support::fromJsonValue(source["PreferredMetadataLanguage"]); + m_preferredMetadataCountryCode = Jellyfin::Support::fromJsonValue(source["PreferredMetadataCountryCode"]); + m_supportsSync = Jellyfin::Support::fromJsonValue>(source["SupportsSync"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_sortName = Jellyfin::Support::fromJsonValue(source["SortName"]); + m_forcedSortName = Jellyfin::Support::fromJsonValue(source["ForcedSortName"]); + m_video3DFormat = Jellyfin::Support::fromJsonValue(source["Video3DFormat"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_externalUrls = Jellyfin::Support::fromJsonValue>>(source["ExternalUrls"]); + m_mediaSources = Jellyfin::Support::fromJsonValue>>(source["MediaSources"]); + m_criticRating = Jellyfin::Support::fromJsonValue>(source["CriticRating"]); + m_productionLocations = Jellyfin::Support::fromJsonValue(source["ProductionLocations"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_enableMediaSourceDisplay = Jellyfin::Support::fromJsonValue>(source["EnableMediaSourceDisplay"]); + m_officialRating = Jellyfin::Support::fromJsonValue(source["OfficialRating"]); + m_customRating = Jellyfin::Support::fromJsonValue(source["CustomRating"]); + m_channelId = Jellyfin::Support::fromJsonValue(source["ChannelId"]); + m_channelName = Jellyfin::Support::fromJsonValue(source["ChannelName"]); + m_overview = Jellyfin::Support::fromJsonValue(source["Overview"]); + m_taglines = Jellyfin::Support::fromJsonValue(source["Taglines"]); + m_genres = Jellyfin::Support::fromJsonValue(source["Genres"]); + m_communityRating = Jellyfin::Support::fromJsonValue>(source["CommunityRating"]); + m_cumulativeRunTimeTicks = Jellyfin::Support::fromJsonValue>(source["CumulativeRunTimeTicks"]); + m_runTimeTicks = Jellyfin::Support::fromJsonValue>(source["RunTimeTicks"]); + m_playAccess = Jellyfin::Support::fromJsonValue(source["PlayAccess"]); + m_aspectRatio = Jellyfin::Support::fromJsonValue(source["AspectRatio"]); + m_productionYear = Jellyfin::Support::fromJsonValue>(source["ProductionYear"]); + m_isPlaceHolder = Jellyfin::Support::fromJsonValue>(source["IsPlaceHolder"]); + m_number = Jellyfin::Support::fromJsonValue(source["Number"]); + m_channelNumber = Jellyfin::Support::fromJsonValue(source["ChannelNumber"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_indexNumberEnd = Jellyfin::Support::fromJsonValue>(source["IndexNumberEnd"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_remoteTrailers = Jellyfin::Support::fromJsonValue>>(source["RemoteTrailers"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_isHD = Jellyfin::Support::fromJsonValue>(source["IsHD"]); + m_isFolder = Jellyfin::Support::fromJsonValue>(source["IsFolder"]); + m_parentId = Jellyfin::Support::fromJsonValue(source["ParentId"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_people = Jellyfin::Support::fromJsonValue>>(source["People"]); + m_studios = Jellyfin::Support::fromJsonValue>>(source["Studios"]); + m_genreItems = Jellyfin::Support::fromJsonValue>>(source["GenreItems"]); + m_parentLogoItemId = Jellyfin::Support::fromJsonValue(source["ParentLogoItemId"]); + m_parentBackdropItemId = Jellyfin::Support::fromJsonValue(source["ParentBackdropItemId"]); + m_parentBackdropImageTags = Jellyfin::Support::fromJsonValue(source["ParentBackdropImageTags"]); + m_localTrailerCount = Jellyfin::Support::fromJsonValue>(source["LocalTrailerCount"]); + m_userData = Jellyfin::Support::fromJsonValue>(source["UserData"]); + m_recursiveItemCount = Jellyfin::Support::fromJsonValue>(source["RecursiveItemCount"]); + m_childCount = Jellyfin::Support::fromJsonValue>(source["ChildCount"]); + m_seriesName = Jellyfin::Support::fromJsonValue(source["SeriesName"]); + m_seriesId = Jellyfin::Support::fromJsonValue(source["SeriesId"]); + m_seasonId = Jellyfin::Support::fromJsonValue(source["SeasonId"]); + m_specialFeatureCount = Jellyfin::Support::fromJsonValue>(source["SpecialFeatureCount"]); + m_displayPreferencesId = Jellyfin::Support::fromJsonValue(source["DisplayPreferencesId"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + m_airTime = Jellyfin::Support::fromJsonValue(source["AirTime"]); + m_airDays = Jellyfin::Support::fromJsonValue>(source["AirDays"]); + m_tags = Jellyfin::Support::fromJsonValue(source["Tags"]); + m_primaryImageAspectRatio = Jellyfin::Support::fromJsonValue>(source["PrimaryImageAspectRatio"]); + m_artists = Jellyfin::Support::fromJsonValue(source["Artists"]); + m_artistItems = Jellyfin::Support::fromJsonValue>>(source["ArtistItems"]); + m_album = Jellyfin::Support::fromJsonValue(source["Album"]); + m_collectionType = Jellyfin::Support::fromJsonValue(source["CollectionType"]); + m_displayOrder = Jellyfin::Support::fromJsonValue(source["DisplayOrder"]); + m_albumId = Jellyfin::Support::fromJsonValue(source["AlbumId"]); + m_albumPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["AlbumPrimaryImageTag"]); + m_seriesPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["SeriesPrimaryImageTag"]); + m_albumArtist = Jellyfin::Support::fromJsonValue(source["AlbumArtist"]); + m_albumArtists = Jellyfin::Support::fromJsonValue>>(source["AlbumArtists"]); + m_seasonName = Jellyfin::Support::fromJsonValue(source["SeasonName"]); + m_mediaStreams = Jellyfin::Support::fromJsonValue>>(source["MediaStreams"]); + m_videoType = Jellyfin::Support::fromJsonValue(source["VideoType"]); + m_partCount = Jellyfin::Support::fromJsonValue>(source["PartCount"]); + m_mediaSourceCount = Jellyfin::Support::fromJsonValue>(source["MediaSourceCount"]); + m_imageTags = Jellyfin::Support::fromJsonValue>(source["ImageTags"]); + m_backdropImageTags = Jellyfin::Support::fromJsonValue(source["BackdropImageTags"]); + m_screenshotImageTags = Jellyfin::Support::fromJsonValue(source["ScreenshotImageTags"]); + m_parentLogoImageTag = Jellyfin::Support::fromJsonValue(source["ParentLogoImageTag"]); + m_parentArtItemId = Jellyfin::Support::fromJsonValue(source["ParentArtItemId"]); + m_parentArtImageTag = Jellyfin::Support::fromJsonValue(source["ParentArtImageTag"]); + m_seriesThumbImageTag = Jellyfin::Support::fromJsonValue(source["SeriesThumbImageTag"]); + m_imageBlurHashes = Jellyfin::Support::fromJsonValue>(source["ImageBlurHashes"]); + m_seriesStudio = Jellyfin::Support::fromJsonValue(source["SeriesStudio"]); + m_parentThumbItemId = Jellyfin::Support::fromJsonValue(source["ParentThumbItemId"]); + m_parentThumbImageTag = Jellyfin::Support::fromJsonValue(source["ParentThumbImageTag"]); + m_parentPrimaryImageItemId = Jellyfin::Support::fromJsonValue(source["ParentPrimaryImageItemId"]); + m_parentPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["ParentPrimaryImageTag"]); + m_chapters = Jellyfin::Support::fromJsonValue>>(source["Chapters"]); + m_locationType = Jellyfin::Support::fromJsonValue(source["LocationType"]); + m_isoType = Jellyfin::Support::fromJsonValue(source["IsoType"]); + m_mediaType = Jellyfin::Support::fromJsonValue(source["MediaType"]); + m_endDate = Jellyfin::Support::fromJsonValue(source["EndDate"]); + m_lockedFields = Jellyfin::Support::fromJsonValue>(source["LockedFields"]); + m_trailerCount = Jellyfin::Support::fromJsonValue>(source["TrailerCount"]); + m_movieCount = Jellyfin::Support::fromJsonValue>(source["MovieCount"]); + m_seriesCount = Jellyfin::Support::fromJsonValue>(source["SeriesCount"]); + m_programCount = Jellyfin::Support::fromJsonValue>(source["ProgramCount"]); + m_episodeCount = Jellyfin::Support::fromJsonValue>(source["EpisodeCount"]); + m_songCount = Jellyfin::Support::fromJsonValue>(source["SongCount"]); + m_albumCount = Jellyfin::Support::fromJsonValue>(source["AlbumCount"]); + m_artistCount = Jellyfin::Support::fromJsonValue>(source["ArtistCount"]); + m_musicVideoCount = Jellyfin::Support::fromJsonValue>(source["MusicVideoCount"]); + m_lockData = Jellyfin::Support::fromJsonValue>(source["LockData"]); + m_width = Jellyfin::Support::fromJsonValue>(source["Width"]); + m_height = Jellyfin::Support::fromJsonValue>(source["Height"]); + m_cameraMake = Jellyfin::Support::fromJsonValue(source["CameraMake"]); + m_cameraModel = Jellyfin::Support::fromJsonValue(source["CameraModel"]); + m_software = Jellyfin::Support::fromJsonValue(source["Software"]); + m_exposureTime = Jellyfin::Support::fromJsonValue>(source["ExposureTime"]); + m_focalLength = Jellyfin::Support::fromJsonValue>(source["FocalLength"]); + m_imageOrientation = Jellyfin::Support::fromJsonValue(source["ImageOrientation"]); + m_aperture = Jellyfin::Support::fromJsonValue>(source["Aperture"]); + m_shutterSpeed = Jellyfin::Support::fromJsonValue>(source["ShutterSpeed"]); + m_latitude = Jellyfin::Support::fromJsonValue>(source["Latitude"]); + m_longitude = Jellyfin::Support::fromJsonValue>(source["Longitude"]); + m_altitude = Jellyfin::Support::fromJsonValue>(source["Altitude"]); + m_isoSpeedRating = Jellyfin::Support::fromJsonValue>(source["IsoSpeedRating"]); + m_seriesTimerId = Jellyfin::Support::fromJsonValue(source["SeriesTimerId"]); + m_programId = Jellyfin::Support::fromJsonValue(source["ProgramId"]); + m_channelPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["ChannelPrimaryImageTag"]); + m_startDate = Jellyfin::Support::fromJsonValue(source["StartDate"]); + m_completionPercentage = Jellyfin::Support::fromJsonValue>(source["CompletionPercentage"]); + m_isRepeat = Jellyfin::Support::fromJsonValue>(source["IsRepeat"]); + m_episodeTitle = Jellyfin::Support::fromJsonValue(source["EpisodeTitle"]); + m_channelType = Jellyfin::Support::fromJsonValue(source["ChannelType"]); + m_audio = Jellyfin::Support::fromJsonValue(source["Audio"]); + m_isMovie = Jellyfin::Support::fromJsonValue>(source["IsMovie"]); + m_isSports = Jellyfin::Support::fromJsonValue>(source["IsSports"]); + m_isSeries = Jellyfin::Support::fromJsonValue>(source["IsSeries"]); + m_isLive = Jellyfin::Support::fromJsonValue>(source["IsLive"]); + m_isNews = Jellyfin::Support::fromJsonValue>(source["IsNews"]); + m_isKids = Jellyfin::Support::fromJsonValue>(source["IsKids"]); + m_isPremiere = Jellyfin::Support::fromJsonValue>(source["IsPremiere"]); + m_timerId = Jellyfin::Support::fromJsonValue(source["TimerId"]); + m_currentProgram = Jellyfin::Support::fromJsonValue>(source["CurrentProgram"]); + +} + +QJsonObject BaseItemDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["OriginalTitle"] = Jellyfin::Support::toJsonValue(m_originalTitle); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Etag"] = Jellyfin::Support::toJsonValue(m_etag); + result["SourceType"] = Jellyfin::Support::toJsonValue(m_sourceType); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + result["DateCreated"] = Jellyfin::Support::toJsonValue(m_dateCreated); + result["DateLastMediaAdded"] = Jellyfin::Support::toJsonValue(m_dateLastMediaAdded); + result["ExtraType"] = Jellyfin::Support::toJsonValue(m_extraType); + result["AirsBeforeSeasonNumber"] = Jellyfin::Support::toJsonValue>(m_airsBeforeSeasonNumber); + result["AirsAfterSeasonNumber"] = Jellyfin::Support::toJsonValue>(m_airsAfterSeasonNumber); + result["AirsBeforeEpisodeNumber"] = Jellyfin::Support::toJsonValue>(m_airsBeforeEpisodeNumber); + result["CanDelete"] = Jellyfin::Support::toJsonValue>(m_canDelete); + result["CanDownload"] = Jellyfin::Support::toJsonValue>(m_canDownload); + result["HasSubtitles"] = Jellyfin::Support::toJsonValue>(m_hasSubtitles); + result["PreferredMetadataLanguage"] = Jellyfin::Support::toJsonValue(m_preferredMetadataLanguage); + result["PreferredMetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_preferredMetadataCountryCode); + result["SupportsSync"] = Jellyfin::Support::toJsonValue>(m_supportsSync); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["SortName"] = Jellyfin::Support::toJsonValue(m_sortName); + result["ForcedSortName"] = Jellyfin::Support::toJsonValue(m_forcedSortName); + result["Video3DFormat"] = Jellyfin::Support::toJsonValue(m_video3DFormat); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["ExternalUrls"] = Jellyfin::Support::toJsonValue>>(m_externalUrls); + result["MediaSources"] = Jellyfin::Support::toJsonValue>>(m_mediaSources); + result["CriticRating"] = Jellyfin::Support::toJsonValue>(m_criticRating); + result["ProductionLocations"] = Jellyfin::Support::toJsonValue(m_productionLocations); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["EnableMediaSourceDisplay"] = Jellyfin::Support::toJsonValue>(m_enableMediaSourceDisplay); + result["OfficialRating"] = Jellyfin::Support::toJsonValue(m_officialRating); + result["CustomRating"] = Jellyfin::Support::toJsonValue(m_customRating); + result["ChannelId"] = Jellyfin::Support::toJsonValue(m_channelId); + result["ChannelName"] = Jellyfin::Support::toJsonValue(m_channelName); + result["Overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["Taglines"] = Jellyfin::Support::toJsonValue(m_taglines); + result["Genres"] = Jellyfin::Support::toJsonValue(m_genres); + result["CommunityRating"] = Jellyfin::Support::toJsonValue>(m_communityRating); + result["CumulativeRunTimeTicks"] = Jellyfin::Support::toJsonValue>(m_cumulativeRunTimeTicks); + result["RunTimeTicks"] = Jellyfin::Support::toJsonValue>(m_runTimeTicks); + result["PlayAccess"] = Jellyfin::Support::toJsonValue(m_playAccess); + result["AspectRatio"] = Jellyfin::Support::toJsonValue(m_aspectRatio); + result["ProductionYear"] = Jellyfin::Support::toJsonValue>(m_productionYear); + result["IsPlaceHolder"] = Jellyfin::Support::toJsonValue>(m_isPlaceHolder); + result["Number"] = Jellyfin::Support::toJsonValue(m_number); + result["ChannelNumber"] = Jellyfin::Support::toJsonValue(m_channelNumber); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["IndexNumberEnd"] = Jellyfin::Support::toJsonValue>(m_indexNumberEnd); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["RemoteTrailers"] = Jellyfin::Support::toJsonValue>>(m_remoteTrailers); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["IsHD"] = Jellyfin::Support::toJsonValue>(m_isHD); + result["IsFolder"] = Jellyfin::Support::toJsonValue>(m_isFolder); + result["ParentId"] = Jellyfin::Support::toJsonValue(m_parentId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["People"] = Jellyfin::Support::toJsonValue>>(m_people); + result["Studios"] = Jellyfin::Support::toJsonValue>>(m_studios); + result["GenreItems"] = Jellyfin::Support::toJsonValue>>(m_genreItems); + result["ParentLogoItemId"] = Jellyfin::Support::toJsonValue(m_parentLogoItemId); + result["ParentBackdropItemId"] = Jellyfin::Support::toJsonValue(m_parentBackdropItemId); + result["ParentBackdropImageTags"] = Jellyfin::Support::toJsonValue(m_parentBackdropImageTags); + result["LocalTrailerCount"] = Jellyfin::Support::toJsonValue>(m_localTrailerCount); + result["UserData"] = Jellyfin::Support::toJsonValue>(m_userData); + result["RecursiveItemCount"] = Jellyfin::Support::toJsonValue>(m_recursiveItemCount); + result["ChildCount"] = Jellyfin::Support::toJsonValue>(m_childCount); + result["SeriesName"] = Jellyfin::Support::toJsonValue(m_seriesName); + result["SeriesId"] = Jellyfin::Support::toJsonValue(m_seriesId); + result["SeasonId"] = Jellyfin::Support::toJsonValue(m_seasonId); + result["SpecialFeatureCount"] = Jellyfin::Support::toJsonValue>(m_specialFeatureCount); + result["DisplayPreferencesId"] = Jellyfin::Support::toJsonValue(m_displayPreferencesId); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + result["AirTime"] = Jellyfin::Support::toJsonValue(m_airTime); + result["AirDays"] = Jellyfin::Support::toJsonValue>(m_airDays); + result["Tags"] = Jellyfin::Support::toJsonValue(m_tags); + result["PrimaryImageAspectRatio"] = Jellyfin::Support::toJsonValue>(m_primaryImageAspectRatio); + result["Artists"] = Jellyfin::Support::toJsonValue(m_artists); + result["ArtistItems"] = Jellyfin::Support::toJsonValue>>(m_artistItems); + result["Album"] = Jellyfin::Support::toJsonValue(m_album); + result["CollectionType"] = Jellyfin::Support::toJsonValue(m_collectionType); + result["DisplayOrder"] = Jellyfin::Support::toJsonValue(m_displayOrder); + result["AlbumId"] = Jellyfin::Support::toJsonValue(m_albumId); + result["AlbumPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_albumPrimaryImageTag); + result["SeriesPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_seriesPrimaryImageTag); + result["AlbumArtist"] = Jellyfin::Support::toJsonValue(m_albumArtist); + result["AlbumArtists"] = Jellyfin::Support::toJsonValue>>(m_albumArtists); + result["SeasonName"] = Jellyfin::Support::toJsonValue(m_seasonName); + result["MediaStreams"] = Jellyfin::Support::toJsonValue>>(m_mediaStreams); + result["VideoType"] = Jellyfin::Support::toJsonValue(m_videoType); + result["PartCount"] = Jellyfin::Support::toJsonValue>(m_partCount); + result["MediaSourceCount"] = Jellyfin::Support::toJsonValue>(m_mediaSourceCount); + result["ImageTags"] = Jellyfin::Support::toJsonValue>(m_imageTags); + result["BackdropImageTags"] = Jellyfin::Support::toJsonValue(m_backdropImageTags); + result["ScreenshotImageTags"] = Jellyfin::Support::toJsonValue(m_screenshotImageTags); + result["ParentLogoImageTag"] = Jellyfin::Support::toJsonValue(m_parentLogoImageTag); + result["ParentArtItemId"] = Jellyfin::Support::toJsonValue(m_parentArtItemId); + result["ParentArtImageTag"] = Jellyfin::Support::toJsonValue(m_parentArtImageTag); + result["SeriesThumbImageTag"] = Jellyfin::Support::toJsonValue(m_seriesThumbImageTag); + result["ImageBlurHashes"] = Jellyfin::Support::toJsonValue>(m_imageBlurHashes); + result["SeriesStudio"] = Jellyfin::Support::toJsonValue(m_seriesStudio); + result["ParentThumbItemId"] = Jellyfin::Support::toJsonValue(m_parentThumbItemId); + result["ParentThumbImageTag"] = Jellyfin::Support::toJsonValue(m_parentThumbImageTag); + result["ParentPrimaryImageItemId"] = Jellyfin::Support::toJsonValue(m_parentPrimaryImageItemId); + result["ParentPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_parentPrimaryImageTag); + result["Chapters"] = Jellyfin::Support::toJsonValue>>(m_chapters); + result["LocationType"] = Jellyfin::Support::toJsonValue(m_locationType); + result["IsoType"] = Jellyfin::Support::toJsonValue(m_isoType); + result["MediaType"] = Jellyfin::Support::toJsonValue(m_mediaType); + result["EndDate"] = Jellyfin::Support::toJsonValue(m_endDate); + result["LockedFields"] = Jellyfin::Support::toJsonValue>(m_lockedFields); + result["TrailerCount"] = Jellyfin::Support::toJsonValue>(m_trailerCount); + result["MovieCount"] = Jellyfin::Support::toJsonValue>(m_movieCount); + result["SeriesCount"] = Jellyfin::Support::toJsonValue>(m_seriesCount); + result["ProgramCount"] = Jellyfin::Support::toJsonValue>(m_programCount); + result["EpisodeCount"] = Jellyfin::Support::toJsonValue>(m_episodeCount); + result["SongCount"] = Jellyfin::Support::toJsonValue>(m_songCount); + result["AlbumCount"] = Jellyfin::Support::toJsonValue>(m_albumCount); + result["ArtistCount"] = Jellyfin::Support::toJsonValue>(m_artistCount); + result["MusicVideoCount"] = Jellyfin::Support::toJsonValue>(m_musicVideoCount); + result["LockData"] = Jellyfin::Support::toJsonValue>(m_lockData); + result["Width"] = Jellyfin::Support::toJsonValue>(m_width); + result["Height"] = Jellyfin::Support::toJsonValue>(m_height); + result["CameraMake"] = Jellyfin::Support::toJsonValue(m_cameraMake); + result["CameraModel"] = Jellyfin::Support::toJsonValue(m_cameraModel); + result["Software"] = Jellyfin::Support::toJsonValue(m_software); + result["ExposureTime"] = Jellyfin::Support::toJsonValue>(m_exposureTime); + result["FocalLength"] = Jellyfin::Support::toJsonValue>(m_focalLength); + result["ImageOrientation"] = Jellyfin::Support::toJsonValue(m_imageOrientation); + result["Aperture"] = Jellyfin::Support::toJsonValue>(m_aperture); + result["ShutterSpeed"] = Jellyfin::Support::toJsonValue>(m_shutterSpeed); + result["Latitude"] = Jellyfin::Support::toJsonValue>(m_latitude); + result["Longitude"] = Jellyfin::Support::toJsonValue>(m_longitude); + result["Altitude"] = Jellyfin::Support::toJsonValue>(m_altitude); + result["IsoSpeedRating"] = Jellyfin::Support::toJsonValue>(m_isoSpeedRating); + result["SeriesTimerId"] = Jellyfin::Support::toJsonValue(m_seriesTimerId); + result["ProgramId"] = Jellyfin::Support::toJsonValue(m_programId); + result["ChannelPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_channelPrimaryImageTag); + result["StartDate"] = Jellyfin::Support::toJsonValue(m_startDate); + result["CompletionPercentage"] = Jellyfin::Support::toJsonValue>(m_completionPercentage); + result["IsRepeat"] = Jellyfin::Support::toJsonValue>(m_isRepeat); + result["EpisodeTitle"] = Jellyfin::Support::toJsonValue(m_episodeTitle); + result["ChannelType"] = Jellyfin::Support::toJsonValue(m_channelType); + result["Audio"] = Jellyfin::Support::toJsonValue(m_audio); + result["IsMovie"] = Jellyfin::Support::toJsonValue>(m_isMovie); + result["IsSports"] = Jellyfin::Support::toJsonValue>(m_isSports); + result["IsSeries"] = Jellyfin::Support::toJsonValue>(m_isSeries); + result["IsLive"] = Jellyfin::Support::toJsonValue>(m_isLive); + result["IsNews"] = Jellyfin::Support::toJsonValue>(m_isNews); + result["IsKids"] = Jellyfin::Support::toJsonValue>(m_isKids); + result["IsPremiere"] = Jellyfin::Support::toJsonValue>(m_isPremiere); + result["TimerId"] = Jellyfin::Support::toJsonValue(m_timerId); + result["CurrentProgram"] = Jellyfin::Support::toJsonValue>(m_currentProgram); + + return result; +} + +QString BaseItemDto::name() const { return m_name; } + +void BaseItemDto::setName(QString newName) { + m_name = newName; +} +bool BaseItemDto::nameNull() const { + return m_name.isNull(); +} + +void BaseItemDto::setNameNull() { + m_name.clear(); + +} +QString BaseItemDto::originalTitle() const { return m_originalTitle; } + +void BaseItemDto::setOriginalTitle(QString newOriginalTitle) { + m_originalTitle = newOriginalTitle; +} +bool BaseItemDto::originalTitleNull() const { + return m_originalTitle.isNull(); +} + +void BaseItemDto::setOriginalTitleNull() { + m_originalTitle.clear(); + +} +QString BaseItemDto::serverId() const { return m_serverId; } + +void BaseItemDto::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool BaseItemDto::serverIdNull() const { + return m_serverId.isNull(); +} + +void BaseItemDto::setServerIdNull() { + m_serverId.clear(); + +} +QString BaseItemDto::jellyfinId() const { return m_jellyfinId; } + +void BaseItemDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString BaseItemDto::etag() const { return m_etag; } + +void BaseItemDto::setEtag(QString newEtag) { + m_etag = newEtag; +} +bool BaseItemDto::etagNull() const { + return m_etag.isNull(); +} + +void BaseItemDto::setEtagNull() { + m_etag.clear(); + +} +QString BaseItemDto::sourceType() const { return m_sourceType; } + +void BaseItemDto::setSourceType(QString newSourceType) { + m_sourceType = newSourceType; +} +bool BaseItemDto::sourceTypeNull() const { + return m_sourceType.isNull(); +} + +void BaseItemDto::setSourceTypeNull() { + m_sourceType.clear(); + +} +QString BaseItemDto::playlistItemId() const { return m_playlistItemId; } + +void BaseItemDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool BaseItemDto::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void BaseItemDto::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} +QDateTime BaseItemDto::dateCreated() const { return m_dateCreated; } + +void BaseItemDto::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; +} +bool BaseItemDto::dateCreatedNull() const { + return m_dateCreated.isNull(); +} + +void BaseItemDto::setDateCreatedNull() { + m_dateCreated= QDateTime(); + +} +QDateTime BaseItemDto::dateLastMediaAdded() const { return m_dateLastMediaAdded; } + +void BaseItemDto::setDateLastMediaAdded(QDateTime newDateLastMediaAdded) { + m_dateLastMediaAdded = newDateLastMediaAdded; +} +bool BaseItemDto::dateLastMediaAddedNull() const { + return m_dateLastMediaAdded.isNull(); +} + +void BaseItemDto::setDateLastMediaAddedNull() { + m_dateLastMediaAdded= QDateTime(); + +} +QString BaseItemDto::extraType() const { return m_extraType; } + +void BaseItemDto::setExtraType(QString newExtraType) { + m_extraType = newExtraType; +} +bool BaseItemDto::extraTypeNull() const { + return m_extraType.isNull(); +} + +void BaseItemDto::setExtraTypeNull() { + m_extraType.clear(); + +} +std::optional BaseItemDto::airsBeforeSeasonNumber() const { return m_airsBeforeSeasonNumber; } + +void BaseItemDto::setAirsBeforeSeasonNumber(std::optional newAirsBeforeSeasonNumber) { + m_airsBeforeSeasonNumber = newAirsBeforeSeasonNumber; +} +bool BaseItemDto::airsBeforeSeasonNumberNull() const { + return !m_airsBeforeSeasonNumber.has_value(); +} + +void BaseItemDto::setAirsBeforeSeasonNumberNull() { + m_airsBeforeSeasonNumber = std::nullopt; + +} +std::optional BaseItemDto::airsAfterSeasonNumber() const { return m_airsAfterSeasonNumber; } + +void BaseItemDto::setAirsAfterSeasonNumber(std::optional newAirsAfterSeasonNumber) { + m_airsAfterSeasonNumber = newAirsAfterSeasonNumber; +} +bool BaseItemDto::airsAfterSeasonNumberNull() const { + return !m_airsAfterSeasonNumber.has_value(); +} + +void BaseItemDto::setAirsAfterSeasonNumberNull() { + m_airsAfterSeasonNumber = std::nullopt; + +} +std::optional BaseItemDto::airsBeforeEpisodeNumber() const { return m_airsBeforeEpisodeNumber; } + +void BaseItemDto::setAirsBeforeEpisodeNumber(std::optional newAirsBeforeEpisodeNumber) { + m_airsBeforeEpisodeNumber = newAirsBeforeEpisodeNumber; +} +bool BaseItemDto::airsBeforeEpisodeNumberNull() const { + return !m_airsBeforeEpisodeNumber.has_value(); +} + +void BaseItemDto::setAirsBeforeEpisodeNumberNull() { + m_airsBeforeEpisodeNumber = std::nullopt; + +} +std::optional BaseItemDto::canDelete() const { return m_canDelete; } + +void BaseItemDto::setCanDelete(std::optional newCanDelete) { + m_canDelete = newCanDelete; +} +bool BaseItemDto::canDeleteNull() const { + return !m_canDelete.has_value(); +} + +void BaseItemDto::setCanDeleteNull() { + m_canDelete = std::nullopt; + +} +std::optional BaseItemDto::canDownload() const { return m_canDownload; } + +void BaseItemDto::setCanDownload(std::optional newCanDownload) { + m_canDownload = newCanDownload; +} +bool BaseItemDto::canDownloadNull() const { + return !m_canDownload.has_value(); +} + +void BaseItemDto::setCanDownloadNull() { + m_canDownload = std::nullopt; + +} +std::optional BaseItemDto::hasSubtitles() const { return m_hasSubtitles; } + +void BaseItemDto::setHasSubtitles(std::optional newHasSubtitles) { + m_hasSubtitles = newHasSubtitles; +} +bool BaseItemDto::hasSubtitlesNull() const { + return !m_hasSubtitles.has_value(); +} + +void BaseItemDto::setHasSubtitlesNull() { + m_hasSubtitles = std::nullopt; + +} +QString BaseItemDto::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } + +void BaseItemDto::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; +} +bool BaseItemDto::preferredMetadataLanguageNull() const { + return m_preferredMetadataLanguage.isNull(); +} + +void BaseItemDto::setPreferredMetadataLanguageNull() { + m_preferredMetadataLanguage.clear(); + +} +QString BaseItemDto::preferredMetadataCountryCode() const { return m_preferredMetadataCountryCode; } + +void BaseItemDto::setPreferredMetadataCountryCode(QString newPreferredMetadataCountryCode) { + m_preferredMetadataCountryCode = newPreferredMetadataCountryCode; +} +bool BaseItemDto::preferredMetadataCountryCodeNull() const { + return m_preferredMetadataCountryCode.isNull(); +} + +void BaseItemDto::setPreferredMetadataCountryCodeNull() { + m_preferredMetadataCountryCode.clear(); + +} +std::optional BaseItemDto::supportsSync() const { return m_supportsSync; } + +void BaseItemDto::setSupportsSync(std::optional newSupportsSync) { + m_supportsSync = newSupportsSync; +} +bool BaseItemDto::supportsSyncNull() const { + return !m_supportsSync.has_value(); +} + +void BaseItemDto::setSupportsSyncNull() { + m_supportsSync = std::nullopt; + +} +QString BaseItemDto::container() const { return m_container; } + +void BaseItemDto::setContainer(QString newContainer) { + m_container = newContainer; +} +bool BaseItemDto::containerNull() const { + return m_container.isNull(); +} + +void BaseItemDto::setContainerNull() { + m_container.clear(); + +} +QString BaseItemDto::sortName() const { return m_sortName; } + +void BaseItemDto::setSortName(QString newSortName) { + m_sortName = newSortName; +} +bool BaseItemDto::sortNameNull() const { + return m_sortName.isNull(); +} + +void BaseItemDto::setSortNameNull() { + m_sortName.clear(); + +} +QString BaseItemDto::forcedSortName() const { return m_forcedSortName; } + +void BaseItemDto::setForcedSortName(QString newForcedSortName) { + m_forcedSortName = newForcedSortName; +} +bool BaseItemDto::forcedSortNameNull() const { + return m_forcedSortName.isNull(); +} + +void BaseItemDto::setForcedSortNameNull() { + m_forcedSortName.clear(); + +} +Video3DFormat BaseItemDto::video3DFormat() const { return m_video3DFormat; } + +void BaseItemDto::setVideo3DFormat(Video3DFormat newVideo3DFormat) { + m_video3DFormat = newVideo3DFormat; +} + +QDateTime BaseItemDto::premiereDate() const { return m_premiereDate; } + +void BaseItemDto::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool BaseItemDto::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void BaseItemDto::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +QList> BaseItemDto::externalUrls() const { return m_externalUrls; } + +void BaseItemDto::setExternalUrls(QList> newExternalUrls) { + m_externalUrls = newExternalUrls; +} +bool BaseItemDto::externalUrlsNull() const { + return m_externalUrls.size() == 0; +} + +void BaseItemDto::setExternalUrlsNull() { + m_externalUrls.clear(); + +} +QList> BaseItemDto::mediaSources() const { return m_mediaSources; } + +void BaseItemDto::setMediaSources(QList> newMediaSources) { + m_mediaSources = newMediaSources; +} +bool BaseItemDto::mediaSourcesNull() const { + return m_mediaSources.size() == 0; +} + +void BaseItemDto::setMediaSourcesNull() { + m_mediaSources.clear(); + +} +std::optional BaseItemDto::criticRating() const { return m_criticRating; } + +void BaseItemDto::setCriticRating(std::optional newCriticRating) { + m_criticRating = newCriticRating; +} +bool BaseItemDto::criticRatingNull() const { + return !m_criticRating.has_value(); +} + +void BaseItemDto::setCriticRatingNull() { + m_criticRating = std::nullopt; + +} +QStringList BaseItemDto::productionLocations() const { return m_productionLocations; } + +void BaseItemDto::setProductionLocations(QStringList newProductionLocations) { + m_productionLocations = newProductionLocations; +} +bool BaseItemDto::productionLocationsNull() const { + return m_productionLocations.size() == 0; +} + +void BaseItemDto::setProductionLocationsNull() { + m_productionLocations.clear(); + +} +QString BaseItemDto::path() const { return m_path; } + +void BaseItemDto::setPath(QString newPath) { + m_path = newPath; +} +bool BaseItemDto::pathNull() const { + return m_path.isNull(); +} + +void BaseItemDto::setPathNull() { + m_path.clear(); + +} +std::optional BaseItemDto::enableMediaSourceDisplay() const { return m_enableMediaSourceDisplay; } + +void BaseItemDto::setEnableMediaSourceDisplay(std::optional newEnableMediaSourceDisplay) { + m_enableMediaSourceDisplay = newEnableMediaSourceDisplay; +} +bool BaseItemDto::enableMediaSourceDisplayNull() const { + return !m_enableMediaSourceDisplay.has_value(); +} + +void BaseItemDto::setEnableMediaSourceDisplayNull() { + m_enableMediaSourceDisplay = std::nullopt; + +} +QString BaseItemDto::officialRating() const { return m_officialRating; } + +void BaseItemDto::setOfficialRating(QString newOfficialRating) { + m_officialRating = newOfficialRating; +} +bool BaseItemDto::officialRatingNull() const { + return m_officialRating.isNull(); +} + +void BaseItemDto::setOfficialRatingNull() { + m_officialRating.clear(); + +} +QString BaseItemDto::customRating() const { return m_customRating; } + +void BaseItemDto::setCustomRating(QString newCustomRating) { + m_customRating = newCustomRating; +} +bool BaseItemDto::customRatingNull() const { + return m_customRating.isNull(); +} + +void BaseItemDto::setCustomRatingNull() { + m_customRating.clear(); + +} +QString BaseItemDto::channelId() const { return m_channelId; } + +void BaseItemDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; +} +bool BaseItemDto::channelIdNull() const { + return m_channelId.isNull(); +} + +void BaseItemDto::setChannelIdNull() { + m_channelId.clear(); + +} +QString BaseItemDto::channelName() const { return m_channelName; } + +void BaseItemDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; +} +bool BaseItemDto::channelNameNull() const { + return m_channelName.isNull(); +} + +void BaseItemDto::setChannelNameNull() { + m_channelName.clear(); + +} +QString BaseItemDto::overview() const { return m_overview; } + +void BaseItemDto::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool BaseItemDto::overviewNull() const { + return m_overview.isNull(); +} + +void BaseItemDto::setOverviewNull() { + m_overview.clear(); + +} +QStringList BaseItemDto::taglines() const { return m_taglines; } + +void BaseItemDto::setTaglines(QStringList newTaglines) { + m_taglines = newTaglines; +} +bool BaseItemDto::taglinesNull() const { + return m_taglines.size() == 0; +} + +void BaseItemDto::setTaglinesNull() { + m_taglines.clear(); + +} +QStringList BaseItemDto::genres() const { return m_genres; } + +void BaseItemDto::setGenres(QStringList newGenres) { + m_genres = newGenres; +} +bool BaseItemDto::genresNull() const { + return m_genres.size() == 0; +} + +void BaseItemDto::setGenresNull() { + m_genres.clear(); + +} +std::optional BaseItemDto::communityRating() const { return m_communityRating; } + +void BaseItemDto::setCommunityRating(std::optional newCommunityRating) { + m_communityRating = newCommunityRating; +} +bool BaseItemDto::communityRatingNull() const { + return !m_communityRating.has_value(); +} + +void BaseItemDto::setCommunityRatingNull() { + m_communityRating = std::nullopt; + +} +std::optional BaseItemDto::cumulativeRunTimeTicks() const { return m_cumulativeRunTimeTicks; } + +void BaseItemDto::setCumulativeRunTimeTicks(std::optional newCumulativeRunTimeTicks) { + m_cumulativeRunTimeTicks = newCumulativeRunTimeTicks; +} +bool BaseItemDto::cumulativeRunTimeTicksNull() const { + return !m_cumulativeRunTimeTicks.has_value(); +} + +void BaseItemDto::setCumulativeRunTimeTicksNull() { + m_cumulativeRunTimeTicks = std::nullopt; + +} +std::optional BaseItemDto::runTimeTicks() const { return m_runTimeTicks; } + +void BaseItemDto::setRunTimeTicks(std::optional newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; +} +bool BaseItemDto::runTimeTicksNull() const { + return !m_runTimeTicks.has_value(); +} + +void BaseItemDto::setRunTimeTicksNull() { + m_runTimeTicks = std::nullopt; + +} +PlayAccess BaseItemDto::playAccess() const { return m_playAccess; } + +void BaseItemDto::setPlayAccess(PlayAccess newPlayAccess) { + m_playAccess = newPlayAccess; +} + +QString BaseItemDto::aspectRatio() const { return m_aspectRatio; } + +void BaseItemDto::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; +} +bool BaseItemDto::aspectRatioNull() const { + return m_aspectRatio.isNull(); +} + +void BaseItemDto::setAspectRatioNull() { + m_aspectRatio.clear(); + +} +std::optional BaseItemDto::productionYear() const { return m_productionYear; } + +void BaseItemDto::setProductionYear(std::optional newProductionYear) { + m_productionYear = newProductionYear; +} +bool BaseItemDto::productionYearNull() const { + return !m_productionYear.has_value(); +} + +void BaseItemDto::setProductionYearNull() { + m_productionYear = std::nullopt; + +} +std::optional BaseItemDto::isPlaceHolder() const { return m_isPlaceHolder; } + +void BaseItemDto::setIsPlaceHolder(std::optional newIsPlaceHolder) { + m_isPlaceHolder = newIsPlaceHolder; +} +bool BaseItemDto::isPlaceHolderNull() const { + return !m_isPlaceHolder.has_value(); +} + +void BaseItemDto::setIsPlaceHolderNull() { + m_isPlaceHolder = std::nullopt; + +} +QString BaseItemDto::number() const { return m_number; } + +void BaseItemDto::setNumber(QString newNumber) { + m_number = newNumber; +} +bool BaseItemDto::numberNull() const { + return m_number.isNull(); +} + +void BaseItemDto::setNumberNull() { + m_number.clear(); + +} +QString BaseItemDto::channelNumber() const { return m_channelNumber; } + +void BaseItemDto::setChannelNumber(QString newChannelNumber) { + m_channelNumber = newChannelNumber; +} +bool BaseItemDto::channelNumberNull() const { + return m_channelNumber.isNull(); +} + +void BaseItemDto::setChannelNumberNull() { + m_channelNumber.clear(); + +} +std::optional BaseItemDto::indexNumber() const { return m_indexNumber; } + +void BaseItemDto::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool BaseItemDto::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void BaseItemDto::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional BaseItemDto::indexNumberEnd() const { return m_indexNumberEnd; } + +void BaseItemDto::setIndexNumberEnd(std::optional newIndexNumberEnd) { + m_indexNumberEnd = newIndexNumberEnd; +} +bool BaseItemDto::indexNumberEndNull() const { + return !m_indexNumberEnd.has_value(); +} + +void BaseItemDto::setIndexNumberEndNull() { + m_indexNumberEnd = std::nullopt; + +} +std::optional BaseItemDto::parentIndexNumber() const { return m_parentIndexNumber; } + +void BaseItemDto::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool BaseItemDto::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void BaseItemDto::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QList> BaseItemDto::remoteTrailers() const { return m_remoteTrailers; } + +void BaseItemDto::setRemoteTrailers(QList> newRemoteTrailers) { + m_remoteTrailers = newRemoteTrailers; +} +bool BaseItemDto::remoteTrailersNull() const { + return m_remoteTrailers.size() == 0; +} + +void BaseItemDto::setRemoteTrailersNull() { + m_remoteTrailers.clear(); + +} +std::optional BaseItemDto::providerIds() const { return m_providerIds; } + +void BaseItemDto::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool BaseItemDto::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void BaseItemDto::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional BaseItemDto::isHD() const { return m_isHD; } + +void BaseItemDto::setIsHD(std::optional newIsHD) { + m_isHD = newIsHD; +} +bool BaseItemDto::isHDNull() const { + return !m_isHD.has_value(); +} + +void BaseItemDto::setIsHDNull() { + m_isHD = std::nullopt; + +} +std::optional BaseItemDto::isFolder() const { return m_isFolder; } + +void BaseItemDto::setIsFolder(std::optional newIsFolder) { + m_isFolder = newIsFolder; +} +bool BaseItemDto::isFolderNull() const { + return !m_isFolder.has_value(); +} + +void BaseItemDto::setIsFolderNull() { + m_isFolder = std::nullopt; + +} +QString BaseItemDto::parentId() const { return m_parentId; } + +void BaseItemDto::setParentId(QString newParentId) { + m_parentId = newParentId; +} +bool BaseItemDto::parentIdNull() const { + return m_parentId.isNull(); +} + +void BaseItemDto::setParentIdNull() { + m_parentId.clear(); + +} +QString BaseItemDto::type() const { return m_type; } + +void BaseItemDto::setType(QString newType) { + m_type = newType; +} +bool BaseItemDto::typeNull() const { + return m_type.isNull(); +} + +void BaseItemDto::setTypeNull() { + m_type.clear(); + +} +QList> BaseItemDto::people() const { return m_people; } + +void BaseItemDto::setPeople(QList> newPeople) { + m_people = newPeople; +} +bool BaseItemDto::peopleNull() const { + return m_people.size() == 0; +} + +void BaseItemDto::setPeopleNull() { + m_people.clear(); + +} +QList> BaseItemDto::studios() const { return m_studios; } + +void BaseItemDto::setStudios(QList> newStudios) { + m_studios = newStudios; +} +bool BaseItemDto::studiosNull() const { + return m_studios.size() == 0; +} + +void BaseItemDto::setStudiosNull() { + m_studios.clear(); + +} +QList> BaseItemDto::genreItems() const { return m_genreItems; } + +void BaseItemDto::setGenreItems(QList> newGenreItems) { + m_genreItems = newGenreItems; +} +bool BaseItemDto::genreItemsNull() const { + return m_genreItems.size() == 0; +} + +void BaseItemDto::setGenreItemsNull() { + m_genreItems.clear(); + +} +QString BaseItemDto::parentLogoItemId() const { return m_parentLogoItemId; } + +void BaseItemDto::setParentLogoItemId(QString newParentLogoItemId) { + m_parentLogoItemId = newParentLogoItemId; +} +bool BaseItemDto::parentLogoItemIdNull() const { + return m_parentLogoItemId.isNull(); +} + +void BaseItemDto::setParentLogoItemIdNull() { + m_parentLogoItemId.clear(); + +} +QString BaseItemDto::parentBackdropItemId() const { return m_parentBackdropItemId; } + +void BaseItemDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; +} +bool BaseItemDto::parentBackdropItemIdNull() const { + return m_parentBackdropItemId.isNull(); +} + +void BaseItemDto::setParentBackdropItemIdNull() { + m_parentBackdropItemId.clear(); + +} +QStringList BaseItemDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } + +void BaseItemDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; +} +bool BaseItemDto::parentBackdropImageTagsNull() const { + return m_parentBackdropImageTags.size() == 0; +} + +void BaseItemDto::setParentBackdropImageTagsNull() { + m_parentBackdropImageTags.clear(); + +} +std::optional BaseItemDto::localTrailerCount() const { return m_localTrailerCount; } + +void BaseItemDto::setLocalTrailerCount(std::optional newLocalTrailerCount) { + m_localTrailerCount = newLocalTrailerCount; +} +bool BaseItemDto::localTrailerCountNull() const { + return !m_localTrailerCount.has_value(); +} + +void BaseItemDto::setLocalTrailerCountNull() { + m_localTrailerCount = std::nullopt; + +} +QSharedPointer BaseItemDto::userData() const { return m_userData; } + +void BaseItemDto::setUserData(QSharedPointer newUserData) { + m_userData = newUserData; +} + +std::optional BaseItemDto::recursiveItemCount() const { return m_recursiveItemCount; } + +void BaseItemDto::setRecursiveItemCount(std::optional newRecursiveItemCount) { + m_recursiveItemCount = newRecursiveItemCount; +} +bool BaseItemDto::recursiveItemCountNull() const { + return !m_recursiveItemCount.has_value(); +} + +void BaseItemDto::setRecursiveItemCountNull() { + m_recursiveItemCount = std::nullopt; + +} +std::optional BaseItemDto::childCount() const { return m_childCount; } + +void BaseItemDto::setChildCount(std::optional newChildCount) { + m_childCount = newChildCount; +} +bool BaseItemDto::childCountNull() const { + return !m_childCount.has_value(); +} + +void BaseItemDto::setChildCountNull() { + m_childCount = std::nullopt; + +} +QString BaseItemDto::seriesName() const { return m_seriesName; } + +void BaseItemDto::setSeriesName(QString newSeriesName) { + m_seriesName = newSeriesName; +} +bool BaseItemDto::seriesNameNull() const { + return m_seriesName.isNull(); +} + +void BaseItemDto::setSeriesNameNull() { + m_seriesName.clear(); + +} +QString BaseItemDto::seriesId() const { return m_seriesId; } + +void BaseItemDto::setSeriesId(QString newSeriesId) { + m_seriesId = newSeriesId; +} +bool BaseItemDto::seriesIdNull() const { + return m_seriesId.isNull(); +} + +void BaseItemDto::setSeriesIdNull() { + m_seriesId.clear(); + +} +QString BaseItemDto::seasonId() const { return m_seasonId; } + +void BaseItemDto::setSeasonId(QString newSeasonId) { + m_seasonId = newSeasonId; +} +bool BaseItemDto::seasonIdNull() const { + return m_seasonId.isNull(); +} + +void BaseItemDto::setSeasonIdNull() { + m_seasonId.clear(); + +} +std::optional BaseItemDto::specialFeatureCount() const { return m_specialFeatureCount; } + +void BaseItemDto::setSpecialFeatureCount(std::optional newSpecialFeatureCount) { + m_specialFeatureCount = newSpecialFeatureCount; +} +bool BaseItemDto::specialFeatureCountNull() const { + return !m_specialFeatureCount.has_value(); +} + +void BaseItemDto::setSpecialFeatureCountNull() { + m_specialFeatureCount = std::nullopt; + +} +QString BaseItemDto::displayPreferencesId() const { return m_displayPreferencesId; } + +void BaseItemDto::setDisplayPreferencesId(QString newDisplayPreferencesId) { + m_displayPreferencesId = newDisplayPreferencesId; +} +bool BaseItemDto::displayPreferencesIdNull() const { + return m_displayPreferencesId.isNull(); +} + +void BaseItemDto::setDisplayPreferencesIdNull() { + m_displayPreferencesId.clear(); + +} +QString BaseItemDto::status() const { return m_status; } + +void BaseItemDto::setStatus(QString newStatus) { + m_status = newStatus; +} +bool BaseItemDto::statusNull() const { + return m_status.isNull(); +} + +void BaseItemDto::setStatusNull() { + m_status.clear(); + +} +QString BaseItemDto::airTime() const { return m_airTime; } + +void BaseItemDto::setAirTime(QString newAirTime) { + m_airTime = newAirTime; +} +bool BaseItemDto::airTimeNull() const { + return m_airTime.isNull(); +} + +void BaseItemDto::setAirTimeNull() { + m_airTime.clear(); + +} +QList BaseItemDto::airDays() const { return m_airDays; } + +void BaseItemDto::setAirDays(QList newAirDays) { + m_airDays = newAirDays; +} +bool BaseItemDto::airDaysNull() const { + return m_airDays.size() == 0; +} + +void BaseItemDto::setAirDaysNull() { + m_airDays.clear(); + +} +QStringList BaseItemDto::tags() const { return m_tags; } + +void BaseItemDto::setTags(QStringList newTags) { + m_tags = newTags; +} +bool BaseItemDto::tagsNull() const { + return m_tags.size() == 0; +} + +void BaseItemDto::setTagsNull() { + m_tags.clear(); + +} +std::optional BaseItemDto::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } + +void BaseItemDto::setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; +} +bool BaseItemDto::primaryImageAspectRatioNull() const { + return !m_primaryImageAspectRatio.has_value(); +} + +void BaseItemDto::setPrimaryImageAspectRatioNull() { + m_primaryImageAspectRatio = std::nullopt; + +} +QStringList BaseItemDto::artists() const { return m_artists; } + +void BaseItemDto::setArtists(QStringList newArtists) { + m_artists = newArtists; +} +bool BaseItemDto::artistsNull() const { + return m_artists.size() == 0; +} + +void BaseItemDto::setArtistsNull() { + m_artists.clear(); + +} +QList> BaseItemDto::artistItems() const { return m_artistItems; } + +void BaseItemDto::setArtistItems(QList> newArtistItems) { + m_artistItems = newArtistItems; +} +bool BaseItemDto::artistItemsNull() const { + return m_artistItems.size() == 0; +} + +void BaseItemDto::setArtistItemsNull() { + m_artistItems.clear(); + +} +QString BaseItemDto::album() const { return m_album; } + +void BaseItemDto::setAlbum(QString newAlbum) { + m_album = newAlbum; +} +bool BaseItemDto::albumNull() const { + return m_album.isNull(); +} + +void BaseItemDto::setAlbumNull() { + m_album.clear(); + +} +QString BaseItemDto::collectionType() const { return m_collectionType; } + +void BaseItemDto::setCollectionType(QString newCollectionType) { + m_collectionType = newCollectionType; +} +bool BaseItemDto::collectionTypeNull() const { + return m_collectionType.isNull(); +} + +void BaseItemDto::setCollectionTypeNull() { + m_collectionType.clear(); + +} +QString BaseItemDto::displayOrder() const { return m_displayOrder; } + +void BaseItemDto::setDisplayOrder(QString newDisplayOrder) { + m_displayOrder = newDisplayOrder; +} +bool BaseItemDto::displayOrderNull() const { + return m_displayOrder.isNull(); +} + +void BaseItemDto::setDisplayOrderNull() { + m_displayOrder.clear(); + +} +QString BaseItemDto::albumId() const { return m_albumId; } + +void BaseItemDto::setAlbumId(QString newAlbumId) { + m_albumId = newAlbumId; +} +bool BaseItemDto::albumIdNull() const { + return m_albumId.isNull(); +} + +void BaseItemDto::setAlbumIdNull() { + m_albumId.clear(); + +} +QString BaseItemDto::albumPrimaryImageTag() const { return m_albumPrimaryImageTag; } + +void BaseItemDto::setAlbumPrimaryImageTag(QString newAlbumPrimaryImageTag) { + m_albumPrimaryImageTag = newAlbumPrimaryImageTag; +} +bool BaseItemDto::albumPrimaryImageTagNull() const { + return m_albumPrimaryImageTag.isNull(); +} + +void BaseItemDto::setAlbumPrimaryImageTagNull() { + m_albumPrimaryImageTag.clear(); + +} +QString BaseItemDto::seriesPrimaryImageTag() const { return m_seriesPrimaryImageTag; } + +void BaseItemDto::setSeriesPrimaryImageTag(QString newSeriesPrimaryImageTag) { + m_seriesPrimaryImageTag = newSeriesPrimaryImageTag; +} +bool BaseItemDto::seriesPrimaryImageTagNull() const { + return m_seriesPrimaryImageTag.isNull(); +} + +void BaseItemDto::setSeriesPrimaryImageTagNull() { + m_seriesPrimaryImageTag.clear(); + +} +QString BaseItemDto::albumArtist() const { return m_albumArtist; } + +void BaseItemDto::setAlbumArtist(QString newAlbumArtist) { + m_albumArtist = newAlbumArtist; +} +bool BaseItemDto::albumArtistNull() const { + return m_albumArtist.isNull(); +} + +void BaseItemDto::setAlbumArtistNull() { + m_albumArtist.clear(); + +} +QList> BaseItemDto::albumArtists() const { return m_albumArtists; } + +void BaseItemDto::setAlbumArtists(QList> newAlbumArtists) { + m_albumArtists = newAlbumArtists; +} +bool BaseItemDto::albumArtistsNull() const { + return m_albumArtists.size() == 0; +} + +void BaseItemDto::setAlbumArtistsNull() { + m_albumArtists.clear(); + +} +QString BaseItemDto::seasonName() const { return m_seasonName; } + +void BaseItemDto::setSeasonName(QString newSeasonName) { + m_seasonName = newSeasonName; +} +bool BaseItemDto::seasonNameNull() const { + return m_seasonName.isNull(); +} + +void BaseItemDto::setSeasonNameNull() { + m_seasonName.clear(); + +} +QList> BaseItemDto::mediaStreams() const { return m_mediaStreams; } + +void BaseItemDto::setMediaStreams(QList> newMediaStreams) { + m_mediaStreams = newMediaStreams; +} +bool BaseItemDto::mediaStreamsNull() const { + return m_mediaStreams.size() == 0; +} + +void BaseItemDto::setMediaStreamsNull() { + m_mediaStreams.clear(); + +} +VideoType BaseItemDto::videoType() const { return m_videoType; } + +void BaseItemDto::setVideoType(VideoType newVideoType) { + m_videoType = newVideoType; +} + +std::optional BaseItemDto::partCount() const { return m_partCount; } + +void BaseItemDto::setPartCount(std::optional newPartCount) { + m_partCount = newPartCount; +} +bool BaseItemDto::partCountNull() const { + return !m_partCount.has_value(); +} + +void BaseItemDto::setPartCountNull() { + m_partCount = std::nullopt; + +} +std::optional BaseItemDto::mediaSourceCount() const { return m_mediaSourceCount; } + +void BaseItemDto::setMediaSourceCount(std::optional newMediaSourceCount) { + m_mediaSourceCount = newMediaSourceCount; +} +bool BaseItemDto::mediaSourceCountNull() const { + return !m_mediaSourceCount.has_value(); +} + +void BaseItemDto::setMediaSourceCountNull() { + m_mediaSourceCount = std::nullopt; + +} +std::optional BaseItemDto::imageTags() const { return m_imageTags; } + +void BaseItemDto::setImageTags(std::optional newImageTags) { + m_imageTags = newImageTags; +} +bool BaseItemDto::imageTagsNull() const { + return !m_imageTags.has_value(); +} + +void BaseItemDto::setImageTagsNull() { + m_imageTags = std::nullopt; + +} +QStringList BaseItemDto::backdropImageTags() const { return m_backdropImageTags; } + +void BaseItemDto::setBackdropImageTags(QStringList newBackdropImageTags) { + m_backdropImageTags = newBackdropImageTags; +} +bool BaseItemDto::backdropImageTagsNull() const { + return m_backdropImageTags.size() == 0; +} + +void BaseItemDto::setBackdropImageTagsNull() { + m_backdropImageTags.clear(); + +} +QStringList BaseItemDto::screenshotImageTags() const { return m_screenshotImageTags; } + +void BaseItemDto::setScreenshotImageTags(QStringList newScreenshotImageTags) { + m_screenshotImageTags = newScreenshotImageTags; +} +bool BaseItemDto::screenshotImageTagsNull() const { + return m_screenshotImageTags.size() == 0; +} + +void BaseItemDto::setScreenshotImageTagsNull() { + m_screenshotImageTags.clear(); + +} +QString BaseItemDto::parentLogoImageTag() const { return m_parentLogoImageTag; } + +void BaseItemDto::setParentLogoImageTag(QString newParentLogoImageTag) { + m_parentLogoImageTag = newParentLogoImageTag; +} +bool BaseItemDto::parentLogoImageTagNull() const { + return m_parentLogoImageTag.isNull(); +} + +void BaseItemDto::setParentLogoImageTagNull() { + m_parentLogoImageTag.clear(); + +} +QString BaseItemDto::parentArtItemId() const { return m_parentArtItemId; } + +void BaseItemDto::setParentArtItemId(QString newParentArtItemId) { + m_parentArtItemId = newParentArtItemId; +} +bool BaseItemDto::parentArtItemIdNull() const { + return m_parentArtItemId.isNull(); +} + +void BaseItemDto::setParentArtItemIdNull() { + m_parentArtItemId.clear(); + +} +QString BaseItemDto::parentArtImageTag() const { return m_parentArtImageTag; } + +void BaseItemDto::setParentArtImageTag(QString newParentArtImageTag) { + m_parentArtImageTag = newParentArtImageTag; +} +bool BaseItemDto::parentArtImageTagNull() const { + return m_parentArtImageTag.isNull(); +} + +void BaseItemDto::setParentArtImageTagNull() { + m_parentArtImageTag.clear(); + +} +QString BaseItemDto::seriesThumbImageTag() const { return m_seriesThumbImageTag; } + +void BaseItemDto::setSeriesThumbImageTag(QString newSeriesThumbImageTag) { + m_seriesThumbImageTag = newSeriesThumbImageTag; +} +bool BaseItemDto::seriesThumbImageTagNull() const { + return m_seriesThumbImageTag.isNull(); +} + +void BaseItemDto::setSeriesThumbImageTagNull() { + m_seriesThumbImageTag.clear(); + +} +std::optional BaseItemDto::imageBlurHashes() const { return m_imageBlurHashes; } + +void BaseItemDto::setImageBlurHashes(std::optional newImageBlurHashes) { + m_imageBlurHashes = newImageBlurHashes; +} +bool BaseItemDto::imageBlurHashesNull() const { + return !m_imageBlurHashes.has_value(); +} + +void BaseItemDto::setImageBlurHashesNull() { + m_imageBlurHashes = std::nullopt; + +} +QString BaseItemDto::seriesStudio() const { return m_seriesStudio; } + +void BaseItemDto::setSeriesStudio(QString newSeriesStudio) { + m_seriesStudio = newSeriesStudio; +} +bool BaseItemDto::seriesStudioNull() const { + return m_seriesStudio.isNull(); +} + +void BaseItemDto::setSeriesStudioNull() { + m_seriesStudio.clear(); + +} +QString BaseItemDto::parentThumbItemId() const { return m_parentThumbItemId; } + +void BaseItemDto::setParentThumbItemId(QString newParentThumbItemId) { + m_parentThumbItemId = newParentThumbItemId; +} +bool BaseItemDto::parentThumbItemIdNull() const { + return m_parentThumbItemId.isNull(); +} + +void BaseItemDto::setParentThumbItemIdNull() { + m_parentThumbItemId.clear(); + +} +QString BaseItemDto::parentThumbImageTag() const { return m_parentThumbImageTag; } + +void BaseItemDto::setParentThumbImageTag(QString newParentThumbImageTag) { + m_parentThumbImageTag = newParentThumbImageTag; +} +bool BaseItemDto::parentThumbImageTagNull() const { + return m_parentThumbImageTag.isNull(); +} + +void BaseItemDto::setParentThumbImageTagNull() { + m_parentThumbImageTag.clear(); + +} +QString BaseItemDto::parentPrimaryImageItemId() const { return m_parentPrimaryImageItemId; } + +void BaseItemDto::setParentPrimaryImageItemId(QString newParentPrimaryImageItemId) { + m_parentPrimaryImageItemId = newParentPrimaryImageItemId; +} +bool BaseItemDto::parentPrimaryImageItemIdNull() const { + return m_parentPrimaryImageItemId.isNull(); +} + +void BaseItemDto::setParentPrimaryImageItemIdNull() { + m_parentPrimaryImageItemId.clear(); + +} +QString BaseItemDto::parentPrimaryImageTag() const { return m_parentPrimaryImageTag; } + +void BaseItemDto::setParentPrimaryImageTag(QString newParentPrimaryImageTag) { + m_parentPrimaryImageTag = newParentPrimaryImageTag; +} +bool BaseItemDto::parentPrimaryImageTagNull() const { + return m_parentPrimaryImageTag.isNull(); +} + +void BaseItemDto::setParentPrimaryImageTagNull() { + m_parentPrimaryImageTag.clear(); + +} +QList> BaseItemDto::chapters() const { return m_chapters; } + +void BaseItemDto::setChapters(QList> newChapters) { + m_chapters = newChapters; +} +bool BaseItemDto::chaptersNull() const { + return m_chapters.size() == 0; +} + +void BaseItemDto::setChaptersNull() { + m_chapters.clear(); + +} +LocationType BaseItemDto::locationType() const { return m_locationType; } + +void BaseItemDto::setLocationType(LocationType newLocationType) { + m_locationType = newLocationType; +} + +IsoType BaseItemDto::isoType() const { return m_isoType; } + +void BaseItemDto::setIsoType(IsoType newIsoType) { + m_isoType = newIsoType; +} + +QString BaseItemDto::mediaType() const { return m_mediaType; } + +void BaseItemDto::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; +} +bool BaseItemDto::mediaTypeNull() const { + return m_mediaType.isNull(); +} + +void BaseItemDto::setMediaTypeNull() { + m_mediaType.clear(); + +} +QDateTime BaseItemDto::endDate() const { return m_endDate; } + +void BaseItemDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; +} +bool BaseItemDto::endDateNull() const { + return m_endDate.isNull(); +} + +void BaseItemDto::setEndDateNull() { + m_endDate= QDateTime(); + +} +QList BaseItemDto::lockedFields() const { return m_lockedFields; } + +void BaseItemDto::setLockedFields(QList newLockedFields) { + m_lockedFields = newLockedFields; +} +bool BaseItemDto::lockedFieldsNull() const { + return m_lockedFields.size() == 0; +} + +void BaseItemDto::setLockedFieldsNull() { + m_lockedFields.clear(); + +} +std::optional BaseItemDto::trailerCount() const { return m_trailerCount; } + +void BaseItemDto::setTrailerCount(std::optional newTrailerCount) { + m_trailerCount = newTrailerCount; +} +bool BaseItemDto::trailerCountNull() const { + return !m_trailerCount.has_value(); +} + +void BaseItemDto::setTrailerCountNull() { + m_trailerCount = std::nullopt; + +} +std::optional BaseItemDto::movieCount() const { return m_movieCount; } + +void BaseItemDto::setMovieCount(std::optional newMovieCount) { + m_movieCount = newMovieCount; +} +bool BaseItemDto::movieCountNull() const { + return !m_movieCount.has_value(); +} + +void BaseItemDto::setMovieCountNull() { + m_movieCount = std::nullopt; + +} +std::optional BaseItemDto::seriesCount() const { return m_seriesCount; } + +void BaseItemDto::setSeriesCount(std::optional newSeriesCount) { + m_seriesCount = newSeriesCount; +} +bool BaseItemDto::seriesCountNull() const { + return !m_seriesCount.has_value(); +} + +void BaseItemDto::setSeriesCountNull() { + m_seriesCount = std::nullopt; + +} +std::optional BaseItemDto::programCount() const { return m_programCount; } + +void BaseItemDto::setProgramCount(std::optional newProgramCount) { + m_programCount = newProgramCount; +} +bool BaseItemDto::programCountNull() const { + return !m_programCount.has_value(); +} + +void BaseItemDto::setProgramCountNull() { + m_programCount = std::nullopt; + +} +std::optional BaseItemDto::episodeCount() const { return m_episodeCount; } + +void BaseItemDto::setEpisodeCount(std::optional newEpisodeCount) { + m_episodeCount = newEpisodeCount; +} +bool BaseItemDto::episodeCountNull() const { + return !m_episodeCount.has_value(); +} + +void BaseItemDto::setEpisodeCountNull() { + m_episodeCount = std::nullopt; + +} +std::optional BaseItemDto::songCount() const { return m_songCount; } + +void BaseItemDto::setSongCount(std::optional newSongCount) { + m_songCount = newSongCount; +} +bool BaseItemDto::songCountNull() const { + return !m_songCount.has_value(); +} + +void BaseItemDto::setSongCountNull() { + m_songCount = std::nullopt; + +} +std::optional BaseItemDto::albumCount() const { return m_albumCount; } + +void BaseItemDto::setAlbumCount(std::optional newAlbumCount) { + m_albumCount = newAlbumCount; +} +bool BaseItemDto::albumCountNull() const { + return !m_albumCount.has_value(); +} + +void BaseItemDto::setAlbumCountNull() { + m_albumCount = std::nullopt; + +} +std::optional BaseItemDto::artistCount() const { return m_artistCount; } + +void BaseItemDto::setArtistCount(std::optional newArtistCount) { + m_artistCount = newArtistCount; +} +bool BaseItemDto::artistCountNull() const { + return !m_artistCount.has_value(); +} + +void BaseItemDto::setArtistCountNull() { + m_artistCount = std::nullopt; + +} +std::optional BaseItemDto::musicVideoCount() const { return m_musicVideoCount; } + +void BaseItemDto::setMusicVideoCount(std::optional newMusicVideoCount) { + m_musicVideoCount = newMusicVideoCount; +} +bool BaseItemDto::musicVideoCountNull() const { + return !m_musicVideoCount.has_value(); +} + +void BaseItemDto::setMusicVideoCountNull() { + m_musicVideoCount = std::nullopt; + +} +std::optional BaseItemDto::lockData() const { return m_lockData; } + +void BaseItemDto::setLockData(std::optional newLockData) { + m_lockData = newLockData; +} +bool BaseItemDto::lockDataNull() const { + return !m_lockData.has_value(); +} + +void BaseItemDto::setLockDataNull() { + m_lockData = std::nullopt; + +} +std::optional BaseItemDto::width() const { return m_width; } + +void BaseItemDto::setWidth(std::optional newWidth) { + m_width = newWidth; +} +bool BaseItemDto::widthNull() const { + return !m_width.has_value(); +} + +void BaseItemDto::setWidthNull() { + m_width = std::nullopt; + +} +std::optional BaseItemDto::height() const { return m_height; } + +void BaseItemDto::setHeight(std::optional newHeight) { + m_height = newHeight; +} +bool BaseItemDto::heightNull() const { + return !m_height.has_value(); +} + +void BaseItemDto::setHeightNull() { + m_height = std::nullopt; + +} +QString BaseItemDto::cameraMake() const { return m_cameraMake; } + +void BaseItemDto::setCameraMake(QString newCameraMake) { + m_cameraMake = newCameraMake; +} +bool BaseItemDto::cameraMakeNull() const { + return m_cameraMake.isNull(); +} + +void BaseItemDto::setCameraMakeNull() { + m_cameraMake.clear(); + +} +QString BaseItemDto::cameraModel() const { return m_cameraModel; } + +void BaseItemDto::setCameraModel(QString newCameraModel) { + m_cameraModel = newCameraModel; +} +bool BaseItemDto::cameraModelNull() const { + return m_cameraModel.isNull(); +} + +void BaseItemDto::setCameraModelNull() { + m_cameraModel.clear(); + +} +QString BaseItemDto::software() const { return m_software; } + +void BaseItemDto::setSoftware(QString newSoftware) { + m_software = newSoftware; +} +bool BaseItemDto::softwareNull() const { + return m_software.isNull(); +} + +void BaseItemDto::setSoftwareNull() { + m_software.clear(); + +} +std::optional BaseItemDto::exposureTime() const { return m_exposureTime; } + +void BaseItemDto::setExposureTime(std::optional newExposureTime) { + m_exposureTime = newExposureTime; +} +bool BaseItemDto::exposureTimeNull() const { + return !m_exposureTime.has_value(); +} + +void BaseItemDto::setExposureTimeNull() { + m_exposureTime = std::nullopt; + +} +std::optional BaseItemDto::focalLength() const { return m_focalLength; } + +void BaseItemDto::setFocalLength(std::optional newFocalLength) { + m_focalLength = newFocalLength; +} +bool BaseItemDto::focalLengthNull() const { + return !m_focalLength.has_value(); +} + +void BaseItemDto::setFocalLengthNull() { + m_focalLength = std::nullopt; + +} +ImageOrientation BaseItemDto::imageOrientation() const { return m_imageOrientation; } + +void BaseItemDto::setImageOrientation(ImageOrientation newImageOrientation) { + m_imageOrientation = newImageOrientation; +} + +std::optional BaseItemDto::aperture() const { return m_aperture; } + +void BaseItemDto::setAperture(std::optional newAperture) { + m_aperture = newAperture; +} +bool BaseItemDto::apertureNull() const { + return !m_aperture.has_value(); +} + +void BaseItemDto::setApertureNull() { + m_aperture = std::nullopt; + +} +std::optional BaseItemDto::shutterSpeed() const { return m_shutterSpeed; } + +void BaseItemDto::setShutterSpeed(std::optional newShutterSpeed) { + m_shutterSpeed = newShutterSpeed; +} +bool BaseItemDto::shutterSpeedNull() const { + return !m_shutterSpeed.has_value(); +} + +void BaseItemDto::setShutterSpeedNull() { + m_shutterSpeed = std::nullopt; + +} +std::optional BaseItemDto::latitude() const { return m_latitude; } + +void BaseItemDto::setLatitude(std::optional newLatitude) { + m_latitude = newLatitude; +} +bool BaseItemDto::latitudeNull() const { + return !m_latitude.has_value(); +} + +void BaseItemDto::setLatitudeNull() { + m_latitude = std::nullopt; + +} +std::optional BaseItemDto::longitude() const { return m_longitude; } + +void BaseItemDto::setLongitude(std::optional newLongitude) { + m_longitude = newLongitude; +} +bool BaseItemDto::longitudeNull() const { + return !m_longitude.has_value(); +} + +void BaseItemDto::setLongitudeNull() { + m_longitude = std::nullopt; + +} +std::optional BaseItemDto::altitude() const { return m_altitude; } + +void BaseItemDto::setAltitude(std::optional newAltitude) { + m_altitude = newAltitude; +} +bool BaseItemDto::altitudeNull() const { + return !m_altitude.has_value(); +} + +void BaseItemDto::setAltitudeNull() { + m_altitude = std::nullopt; + +} +std::optional BaseItemDto::isoSpeedRating() const { return m_isoSpeedRating; } + +void BaseItemDto::setIsoSpeedRating(std::optional newIsoSpeedRating) { + m_isoSpeedRating = newIsoSpeedRating; +} +bool BaseItemDto::isoSpeedRatingNull() const { + return !m_isoSpeedRating.has_value(); +} + +void BaseItemDto::setIsoSpeedRatingNull() { + m_isoSpeedRating = std::nullopt; + +} +QString BaseItemDto::seriesTimerId() const { return m_seriesTimerId; } + +void BaseItemDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; +} +bool BaseItemDto::seriesTimerIdNull() const { + return m_seriesTimerId.isNull(); +} + +void BaseItemDto::setSeriesTimerIdNull() { + m_seriesTimerId.clear(); + +} +QString BaseItemDto::programId() const { return m_programId; } + +void BaseItemDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; +} +bool BaseItemDto::programIdNull() const { + return m_programId.isNull(); +} + +void BaseItemDto::setProgramIdNull() { + m_programId.clear(); + +} +QString BaseItemDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } + +void BaseItemDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; +} +bool BaseItemDto::channelPrimaryImageTagNull() const { + return m_channelPrimaryImageTag.isNull(); +} + +void BaseItemDto::setChannelPrimaryImageTagNull() { + m_channelPrimaryImageTag.clear(); + +} +QDateTime BaseItemDto::startDate() const { return m_startDate; } + +void BaseItemDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; +} +bool BaseItemDto::startDateNull() const { + return m_startDate.isNull(); +} + +void BaseItemDto::setStartDateNull() { + m_startDate= QDateTime(); + +} +std::optional BaseItemDto::completionPercentage() const { return m_completionPercentage; } + +void BaseItemDto::setCompletionPercentage(std::optional newCompletionPercentage) { + m_completionPercentage = newCompletionPercentage; +} +bool BaseItemDto::completionPercentageNull() const { + return !m_completionPercentage.has_value(); +} + +void BaseItemDto::setCompletionPercentageNull() { + m_completionPercentage = std::nullopt; + +} +std::optional BaseItemDto::isRepeat() const { return m_isRepeat; } + +void BaseItemDto::setIsRepeat(std::optional newIsRepeat) { + m_isRepeat = newIsRepeat; +} +bool BaseItemDto::isRepeatNull() const { + return !m_isRepeat.has_value(); +} + +void BaseItemDto::setIsRepeatNull() { + m_isRepeat = std::nullopt; + +} +QString BaseItemDto::episodeTitle() const { return m_episodeTitle; } + +void BaseItemDto::setEpisodeTitle(QString newEpisodeTitle) { + m_episodeTitle = newEpisodeTitle; +} +bool BaseItemDto::episodeTitleNull() const { + return m_episodeTitle.isNull(); +} + +void BaseItemDto::setEpisodeTitleNull() { + m_episodeTitle.clear(); + +} +ChannelType BaseItemDto::channelType() const { return m_channelType; } + +void BaseItemDto::setChannelType(ChannelType newChannelType) { + m_channelType = newChannelType; +} + +ProgramAudio BaseItemDto::audio() const { return m_audio; } + +void BaseItemDto::setAudio(ProgramAudio newAudio) { + m_audio = newAudio; +} + +std::optional BaseItemDto::isMovie() const { return m_isMovie; } + +void BaseItemDto::setIsMovie(std::optional newIsMovie) { + m_isMovie = newIsMovie; +} +bool BaseItemDto::isMovieNull() const { + return !m_isMovie.has_value(); +} + +void BaseItemDto::setIsMovieNull() { + m_isMovie = std::nullopt; + +} +std::optional BaseItemDto::isSports() const { return m_isSports; } + +void BaseItemDto::setIsSports(std::optional newIsSports) { + m_isSports = newIsSports; +} +bool BaseItemDto::isSportsNull() const { + return !m_isSports.has_value(); +} + +void BaseItemDto::setIsSportsNull() { + m_isSports = std::nullopt; + +} +std::optional BaseItemDto::isSeries() const { return m_isSeries; } + +void BaseItemDto::setIsSeries(std::optional newIsSeries) { + m_isSeries = newIsSeries; +} +bool BaseItemDto::isSeriesNull() const { + return !m_isSeries.has_value(); +} + +void BaseItemDto::setIsSeriesNull() { + m_isSeries = std::nullopt; + +} +std::optional BaseItemDto::isLive() const { return m_isLive; } + +void BaseItemDto::setIsLive(std::optional newIsLive) { + m_isLive = newIsLive; +} +bool BaseItemDto::isLiveNull() const { + return !m_isLive.has_value(); +} + +void BaseItemDto::setIsLiveNull() { + m_isLive = std::nullopt; + +} +std::optional BaseItemDto::isNews() const { return m_isNews; } + +void BaseItemDto::setIsNews(std::optional newIsNews) { + m_isNews = newIsNews; +} +bool BaseItemDto::isNewsNull() const { + return !m_isNews.has_value(); +} + +void BaseItemDto::setIsNewsNull() { + m_isNews = std::nullopt; + +} +std::optional BaseItemDto::isKids() const { return m_isKids; } + +void BaseItemDto::setIsKids(std::optional newIsKids) { + m_isKids = newIsKids; +} +bool BaseItemDto::isKidsNull() const { + return !m_isKids.has_value(); +} + +void BaseItemDto::setIsKidsNull() { + m_isKids = std::nullopt; + +} +std::optional BaseItemDto::isPremiere() const { return m_isPremiere; } + +void BaseItemDto::setIsPremiere(std::optional newIsPremiere) { + m_isPremiere = newIsPremiere; +} +bool BaseItemDto::isPremiereNull() const { + return !m_isPremiere.has_value(); +} + +void BaseItemDto::setIsPremiereNull() { + m_isPremiere = std::nullopt; + +} +QString BaseItemDto::timerId() const { return m_timerId; } + +void BaseItemDto::setTimerId(QString newTimerId) { + m_timerId = newTimerId; +} +bool BaseItemDto::timerIdNull() const { + return m_timerId.isNull(); +} + +void BaseItemDto::setTimerIdNull() { + m_timerId.clear(); + +} +QSharedPointer BaseItemDto::currentProgram() const { return m_currentProgram; } + +void BaseItemDto::setCurrentProgram(QSharedPointer newCurrentProgram) { + m_currentProgram = newCurrentProgram; +} + + +} // NS DTO + +namespace Support { + +using BaseItemDto = Jellyfin::DTO::BaseItemDto; + +template <> +BaseItemDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BaseItemDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/baseitemdtoqueryresult.cpp b/core/src/dto/baseitemdtoqueryresult.cpp new file mode 100644 index 0000000..816c62a --- /dev/null +++ b/core/src/dto/baseitemdtoqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemDtoQueryResult::BaseItemDtoQueryResult() {} + +BaseItemDtoQueryResult::BaseItemDtoQueryResult(const BaseItemDtoQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void BaseItemDtoQueryResult::replaceData(BaseItemDtoQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +BaseItemDtoQueryResult BaseItemDtoQueryResult::fromJson(QJsonObject source) { + BaseItemDtoQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void BaseItemDtoQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject BaseItemDtoQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> BaseItemDtoQueryResult::items() const { return m_items; } + +void BaseItemDtoQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool BaseItemDtoQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void BaseItemDtoQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 BaseItemDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void BaseItemDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 BaseItemDtoQueryResult::startIndex() const { return m_startIndex; } + +void BaseItemDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using BaseItemDtoQueryResult = Jellyfin::DTO::BaseItemDtoQueryResult; + +template <> +BaseItemDtoQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BaseItemDtoQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/baseitemperson.cpp b/core/src/dto/baseitemperson.cpp new file mode 100644 index 0000000..7b5b2d3 --- /dev/null +++ b/core/src/dto/baseitemperson.cpp @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemPerson::BaseItemPerson() {} + +BaseItemPerson::BaseItemPerson(const BaseItemPerson &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_role(other.m_role), + m_type(other.m_type), + m_primaryImageTag(other.m_primaryImageTag), + m_imageBlurHashes(other.m_imageBlurHashes){} + + +void BaseItemPerson::replaceData(BaseItemPerson &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; + m_role = other.m_role; + m_type = other.m_type; + m_primaryImageTag = other.m_primaryImageTag; + m_imageBlurHashes = other.m_imageBlurHashes; +} + +BaseItemPerson BaseItemPerson::fromJson(QJsonObject source) { + BaseItemPerson instance; + instance.setFromJson(source); + return instance; +} + + +void BaseItemPerson::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_role = Jellyfin::Support::fromJsonValue(source["Role"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_primaryImageTag = Jellyfin::Support::fromJsonValue(source["PrimaryImageTag"]); + m_imageBlurHashes = Jellyfin::Support::fromJsonValue>(source["ImageBlurHashes"]); + +} + +QJsonObject BaseItemPerson::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Role"] = Jellyfin::Support::toJsonValue(m_role); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["PrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_primaryImageTag); + result["ImageBlurHashes"] = Jellyfin::Support::toJsonValue>(m_imageBlurHashes); + + return result; +} + +QString BaseItemPerson::name() const { return m_name; } + +void BaseItemPerson::setName(QString newName) { + m_name = newName; +} +bool BaseItemPerson::nameNull() const { + return m_name.isNull(); +} + +void BaseItemPerson::setNameNull() { + m_name.clear(); + +} +QString BaseItemPerson::jellyfinId() const { return m_jellyfinId; } + +void BaseItemPerson::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool BaseItemPerson::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void BaseItemPerson::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString BaseItemPerson::role() const { return m_role; } + +void BaseItemPerson::setRole(QString newRole) { + m_role = newRole; +} +bool BaseItemPerson::roleNull() const { + return m_role.isNull(); +} + +void BaseItemPerson::setRoleNull() { + m_role.clear(); + +} +QString BaseItemPerson::type() const { return m_type; } + +void BaseItemPerson::setType(QString newType) { + m_type = newType; +} +bool BaseItemPerson::typeNull() const { + return m_type.isNull(); +} + +void BaseItemPerson::setTypeNull() { + m_type.clear(); + +} +QString BaseItemPerson::primaryImageTag() const { return m_primaryImageTag; } + +void BaseItemPerson::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; +} +bool BaseItemPerson::primaryImageTagNull() const { + return m_primaryImageTag.isNull(); +} + +void BaseItemPerson::setPrimaryImageTagNull() { + m_primaryImageTag.clear(); + +} +std::optional BaseItemPerson::imageBlurHashes() const { return m_imageBlurHashes; } + +void BaseItemPerson::setImageBlurHashes(std::optional newImageBlurHashes) { + m_imageBlurHashes = newImageBlurHashes; +} +bool BaseItemPerson::imageBlurHashesNull() const { + return !m_imageBlurHashes.has_value(); +} + +void BaseItemPerson::setImageBlurHashesNull() { + m_imageBlurHashes = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using BaseItemPerson = Jellyfin::DTO::BaseItemPerson; + +template <> +BaseItemPerson fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BaseItemPerson::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/basepluginconfiguration.cpp b/core/src/dto/basepluginconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/dto/bookinfo.cpp b/core/src/dto/bookinfo.cpp new file mode 100644 index 0000000..9c48a0f --- /dev/null +++ b/core/src/dto/bookinfo.cpp @@ -0,0 +1,255 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BookInfo::BookInfo() {} + +BookInfo::BookInfo(const BookInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_seriesName(other.m_seriesName){} + + +void BookInfo::replaceData(BookInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; + m_seriesName = other.m_seriesName; +} + +BookInfo BookInfo::fromJson(QJsonObject source) { + BookInfo instance; + instance.setFromJson(source); + return instance; +} + + +void BookInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + m_seriesName = Jellyfin::Support::fromJsonValue(source["SeriesName"]); + +} + +QJsonObject BookInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + result["SeriesName"] = Jellyfin::Support::toJsonValue(m_seriesName); + + return result; +} + +QString BookInfo::name() const { return m_name; } + +void BookInfo::setName(QString newName) { + m_name = newName; +} +bool BookInfo::nameNull() const { + return m_name.isNull(); +} + +void BookInfo::setNameNull() { + m_name.clear(); + +} +QString BookInfo::path() const { return m_path; } + +void BookInfo::setPath(QString newPath) { + m_path = newPath; +} +bool BookInfo::pathNull() const { + return m_path.isNull(); +} + +void BookInfo::setPathNull() { + m_path.clear(); + +} +QString BookInfo::metadataLanguage() const { return m_metadataLanguage; } + +void BookInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool BookInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void BookInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString BookInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void BookInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool BookInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void BookInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional BookInfo::providerIds() const { return m_providerIds; } + +void BookInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool BookInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void BookInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional BookInfo::year() const { return m_year; } + +void BookInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool BookInfo::yearNull() const { + return !m_year.has_value(); +} + +void BookInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional BookInfo::indexNumber() const { return m_indexNumber; } + +void BookInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool BookInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void BookInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional BookInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void BookInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool BookInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void BookInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime BookInfo::premiereDate() const { return m_premiereDate; } + +void BookInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool BookInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void BookInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool BookInfo::isAutomated() const { return m_isAutomated; } + +void BookInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + +QString BookInfo::seriesName() const { return m_seriesName; } + +void BookInfo::setSeriesName(QString newSeriesName) { + m_seriesName = newSeriesName; +} +bool BookInfo::seriesNameNull() const { + return m_seriesName.isNull(); +} + +void BookInfo::setSeriesNameNull() { + m_seriesName.clear(); + +} + +} // NS DTO + +namespace Support { + +using BookInfo = Jellyfin::DTO::BookInfo; + +template <> +BookInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BookInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/bookinforemotesearchquery.cpp b/core/src/dto/bookinforemotesearchquery.cpp new file mode 100644 index 0000000..b08f9ff --- /dev/null +++ b/core/src/dto/bookinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery() {} + +BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery(const BookInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void BookInfoRemoteSearchQuery::replaceData(BookInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +BookInfoRemoteSearchQuery BookInfoRemoteSearchQuery::fromJson(QJsonObject source) { + BookInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void BookInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject BookInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer BookInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void BookInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString BookInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void BookInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString BookInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void BookInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool BookInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void BookInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool BookInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void BookInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using BookInfoRemoteSearchQuery = Jellyfin::DTO::BookInfoRemoteSearchQuery; + +template <> +BookInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BookInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/boxsetinfo.cpp b/core/src/dto/boxsetinfo.cpp new file mode 100644 index 0000000..3b1467a --- /dev/null +++ b/core/src/dto/boxsetinfo.cpp @@ -0,0 +1,238 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BoxSetInfo::BoxSetInfo() {} + +BoxSetInfo::BoxSetInfo(const BoxSetInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} + + +void BoxSetInfo::replaceData(BoxSetInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; +} + +BoxSetInfo BoxSetInfo::fromJson(QJsonObject source) { + BoxSetInfo instance; + instance.setFromJson(source); + return instance; +} + + +void BoxSetInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + +} + +QJsonObject BoxSetInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + + return result; +} + +QString BoxSetInfo::name() const { return m_name; } + +void BoxSetInfo::setName(QString newName) { + m_name = newName; +} +bool BoxSetInfo::nameNull() const { + return m_name.isNull(); +} + +void BoxSetInfo::setNameNull() { + m_name.clear(); + +} +QString BoxSetInfo::path() const { return m_path; } + +void BoxSetInfo::setPath(QString newPath) { + m_path = newPath; +} +bool BoxSetInfo::pathNull() const { + return m_path.isNull(); +} + +void BoxSetInfo::setPathNull() { + m_path.clear(); + +} +QString BoxSetInfo::metadataLanguage() const { return m_metadataLanguage; } + +void BoxSetInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool BoxSetInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void BoxSetInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString BoxSetInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void BoxSetInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool BoxSetInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void BoxSetInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional BoxSetInfo::providerIds() const { return m_providerIds; } + +void BoxSetInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool BoxSetInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void BoxSetInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional BoxSetInfo::year() const { return m_year; } + +void BoxSetInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool BoxSetInfo::yearNull() const { + return !m_year.has_value(); +} + +void BoxSetInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional BoxSetInfo::indexNumber() const { return m_indexNumber; } + +void BoxSetInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool BoxSetInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void BoxSetInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional BoxSetInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void BoxSetInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool BoxSetInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void BoxSetInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime BoxSetInfo::premiereDate() const { return m_premiereDate; } + +void BoxSetInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool BoxSetInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void BoxSetInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool BoxSetInfo::isAutomated() const { return m_isAutomated; } + +void BoxSetInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + + +} // NS DTO + +namespace Support { + +using BoxSetInfo = Jellyfin::DTO::BoxSetInfo; + +template <> +BoxSetInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BoxSetInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/boxsetinforemotesearchquery.cpp b/core/src/dto/boxsetinforemotesearchquery.cpp new file mode 100644 index 0000000..bab364f --- /dev/null +++ b/core/src/dto/boxsetinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery() {} + +BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery(const BoxSetInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void BoxSetInfoRemoteSearchQuery::replaceData(BoxSetInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +BoxSetInfoRemoteSearchQuery BoxSetInfoRemoteSearchQuery::fromJson(QJsonObject source) { + BoxSetInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void BoxSetInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject BoxSetInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer BoxSetInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void BoxSetInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString BoxSetInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void BoxSetInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString BoxSetInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void BoxSetInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool BoxSetInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void BoxSetInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool BoxSetInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void BoxSetInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using BoxSetInfoRemoteSearchQuery = Jellyfin::DTO::BoxSetInfoRemoteSearchQuery; + +template <> +BoxSetInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BoxSetInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/brandingoptions.cpp b/core/src/dto/brandingoptions.cpp new file mode 100644 index 0000000..3f90f19 --- /dev/null +++ b/core/src/dto/brandingoptions.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BrandingOptions::BrandingOptions() {} + +BrandingOptions::BrandingOptions(const BrandingOptions &other) : + + m_loginDisclaimer(other.m_loginDisclaimer), + m_customCss(other.m_customCss){} + + +void BrandingOptions::replaceData(BrandingOptions &other) { + m_loginDisclaimer = other.m_loginDisclaimer; + m_customCss = other.m_customCss; +} + +BrandingOptions BrandingOptions::fromJson(QJsonObject source) { + BrandingOptions instance; + instance.setFromJson(source); + return instance; +} + + +void BrandingOptions::setFromJson(QJsonObject source) { + m_loginDisclaimer = Jellyfin::Support::fromJsonValue(source["LoginDisclaimer"]); + m_customCss = Jellyfin::Support::fromJsonValue(source["CustomCss"]); + +} + +QJsonObject BrandingOptions::toJson() { + QJsonObject result; + result["LoginDisclaimer"] = Jellyfin::Support::toJsonValue(m_loginDisclaimer); + result["CustomCss"] = Jellyfin::Support::toJsonValue(m_customCss); + + return result; +} + +QString BrandingOptions::loginDisclaimer() const { return m_loginDisclaimer; } + +void BrandingOptions::setLoginDisclaimer(QString newLoginDisclaimer) { + m_loginDisclaimer = newLoginDisclaimer; +} +bool BrandingOptions::loginDisclaimerNull() const { + return m_loginDisclaimer.isNull(); +} + +void BrandingOptions::setLoginDisclaimerNull() { + m_loginDisclaimer.clear(); + +} +QString BrandingOptions::customCss() const { return m_customCss; } + +void BrandingOptions::setCustomCss(QString newCustomCss) { + m_customCss = newCustomCss; +} +bool BrandingOptions::customCssNull() const { + return m_customCss.isNull(); +} + +void BrandingOptions::setCustomCssNull() { + m_customCss.clear(); + +} + +} // NS DTO + +namespace Support { + +using BrandingOptions = Jellyfin::DTO::BrandingOptions; + +template <> +BrandingOptions fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BrandingOptions::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/bufferrequestdto.cpp b/core/src/dto/bufferrequestdto.cpp new file mode 100644 index 0000000..95d7ced --- /dev/null +++ b/core/src/dto/bufferrequestdto.cpp @@ -0,0 +1,115 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BufferRequestDto::BufferRequestDto() {} + +BufferRequestDto::BufferRequestDto(const BufferRequestDto &other) : + + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_isPlaying(other.m_isPlaying), + m_playlistItemId(other.m_playlistItemId){} + + +void BufferRequestDto::replaceData(BufferRequestDto &other) { + m_when = other.m_when; + m_positionTicks = other.m_positionTicks; + m_isPlaying = other.m_isPlaying; + m_playlistItemId = other.m_playlistItemId; +} + +BufferRequestDto BufferRequestDto::fromJson(QJsonObject source) { + BufferRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void BufferRequestDto::setFromJson(QJsonObject source) { + m_when = Jellyfin::Support::fromJsonValue(source["When"]); + m_positionTicks = Jellyfin::Support::fromJsonValue(source["PositionTicks"]); + m_isPlaying = Jellyfin::Support::fromJsonValue(source["IsPlaying"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject BufferRequestDto::toJson() { + QJsonObject result; + result["When"] = Jellyfin::Support::toJsonValue(m_when); + result["PositionTicks"] = Jellyfin::Support::toJsonValue(m_positionTicks); + result["IsPlaying"] = Jellyfin::Support::toJsonValue(m_isPlaying); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QDateTime BufferRequestDto::when() const { return m_when; } + +void BufferRequestDto::setWhen(QDateTime newWhen) { + m_when = newWhen; +} + +qint64 BufferRequestDto::positionTicks() const { return m_positionTicks; } + +void BufferRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; +} + +bool BufferRequestDto::isPlaying() const { return m_isPlaying; } + +void BufferRequestDto::setIsPlaying(bool newIsPlaying) { + m_isPlaying = newIsPlaying; +} + +QString BufferRequestDto::playlistItemId() const { return m_playlistItemId; } + +void BufferRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + + +} // NS DTO + +namespace Support { + +using BufferRequestDto = Jellyfin::DTO::BufferRequestDto; + +template <> +BufferRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return BufferRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channelfeatures.cpp b/core/src/dto/channelfeatures.cpp new file mode 100644 index 0000000..be03338 --- /dev/null +++ b/core/src/dto/channelfeatures.cpp @@ -0,0 +1,244 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelFeatures::ChannelFeatures() {} + +ChannelFeatures::ChannelFeatures(const ChannelFeatures &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_canSearch(other.m_canSearch), + m_mediaTypes(other.m_mediaTypes), + m_contentTypes(other.m_contentTypes), + m_maxPageSize(other.m_maxPageSize), + m_autoRefreshLevels(other.m_autoRefreshLevels), + m_defaultSortFields(other.m_defaultSortFields), + m_supportsSortOrderToggle(other.m_supportsSortOrderToggle), + m_supportsLatestMedia(other.m_supportsLatestMedia), + m_canFilter(other.m_canFilter), + m_supportsContentDownloading(other.m_supportsContentDownloading){} + + +void ChannelFeatures::replaceData(ChannelFeatures &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; + m_canSearch = other.m_canSearch; + m_mediaTypes = other.m_mediaTypes; + m_contentTypes = other.m_contentTypes; + m_maxPageSize = other.m_maxPageSize; + m_autoRefreshLevels = other.m_autoRefreshLevels; + m_defaultSortFields = other.m_defaultSortFields; + m_supportsSortOrderToggle = other.m_supportsSortOrderToggle; + m_supportsLatestMedia = other.m_supportsLatestMedia; + m_canFilter = other.m_canFilter; + m_supportsContentDownloading = other.m_supportsContentDownloading; +} + +ChannelFeatures ChannelFeatures::fromJson(QJsonObject source) { + ChannelFeatures instance; + instance.setFromJson(source); + return instance; +} + + +void ChannelFeatures::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_canSearch = Jellyfin::Support::fromJsonValue(source["CanSearch"]); + m_mediaTypes = Jellyfin::Support::fromJsonValue>(source["MediaTypes"]); + m_contentTypes = Jellyfin::Support::fromJsonValue>(source["ContentTypes"]); + m_maxPageSize = Jellyfin::Support::fromJsonValue>(source["MaxPageSize"]); + m_autoRefreshLevels = Jellyfin::Support::fromJsonValue>(source["AutoRefreshLevels"]); + m_defaultSortFields = Jellyfin::Support::fromJsonValue>(source["DefaultSortFields"]); + m_supportsSortOrderToggle = Jellyfin::Support::fromJsonValue(source["SupportsSortOrderToggle"]); + m_supportsLatestMedia = Jellyfin::Support::fromJsonValue(source["SupportsLatestMedia"]); + m_canFilter = Jellyfin::Support::fromJsonValue(source["CanFilter"]); + m_supportsContentDownloading = Jellyfin::Support::fromJsonValue(source["SupportsContentDownloading"]); + +} + +QJsonObject ChannelFeatures::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["CanSearch"] = Jellyfin::Support::toJsonValue(m_canSearch); + result["MediaTypes"] = Jellyfin::Support::toJsonValue>(m_mediaTypes); + result["ContentTypes"] = Jellyfin::Support::toJsonValue>(m_contentTypes); + result["MaxPageSize"] = Jellyfin::Support::toJsonValue>(m_maxPageSize); + result["AutoRefreshLevels"] = Jellyfin::Support::toJsonValue>(m_autoRefreshLevels); + result["DefaultSortFields"] = Jellyfin::Support::toJsonValue>(m_defaultSortFields); + result["SupportsSortOrderToggle"] = Jellyfin::Support::toJsonValue(m_supportsSortOrderToggle); + result["SupportsLatestMedia"] = Jellyfin::Support::toJsonValue(m_supportsLatestMedia); + result["CanFilter"] = Jellyfin::Support::toJsonValue(m_canFilter); + result["SupportsContentDownloading"] = Jellyfin::Support::toJsonValue(m_supportsContentDownloading); + + return result; +} + +QString ChannelFeatures::name() const { return m_name; } + +void ChannelFeatures::setName(QString newName) { + m_name = newName; +} +bool ChannelFeatures::nameNull() const { + return m_name.isNull(); +} + +void ChannelFeatures::setNameNull() { + m_name.clear(); + +} +QString ChannelFeatures::jellyfinId() const { return m_jellyfinId; } + +void ChannelFeatures::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool ChannelFeatures::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void ChannelFeatures::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +bool ChannelFeatures::canSearch() const { return m_canSearch; } + +void ChannelFeatures::setCanSearch(bool newCanSearch) { + m_canSearch = newCanSearch; +} + +QList ChannelFeatures::mediaTypes() const { return m_mediaTypes; } + +void ChannelFeatures::setMediaTypes(QList newMediaTypes) { + m_mediaTypes = newMediaTypes; +} +bool ChannelFeatures::mediaTypesNull() const { + return m_mediaTypes.size() == 0; +} + +void ChannelFeatures::setMediaTypesNull() { + m_mediaTypes.clear(); + +} +QList ChannelFeatures::contentTypes() const { return m_contentTypes; } + +void ChannelFeatures::setContentTypes(QList newContentTypes) { + m_contentTypes = newContentTypes; +} +bool ChannelFeatures::contentTypesNull() const { + return m_contentTypes.size() == 0; +} + +void ChannelFeatures::setContentTypesNull() { + m_contentTypes.clear(); + +} +std::optional ChannelFeatures::maxPageSize() const { return m_maxPageSize; } + +void ChannelFeatures::setMaxPageSize(std::optional newMaxPageSize) { + m_maxPageSize = newMaxPageSize; +} +bool ChannelFeatures::maxPageSizeNull() const { + return !m_maxPageSize.has_value(); +} + +void ChannelFeatures::setMaxPageSizeNull() { + m_maxPageSize = std::nullopt; + +} +std::optional ChannelFeatures::autoRefreshLevels() const { return m_autoRefreshLevels; } + +void ChannelFeatures::setAutoRefreshLevels(std::optional newAutoRefreshLevels) { + m_autoRefreshLevels = newAutoRefreshLevels; +} +bool ChannelFeatures::autoRefreshLevelsNull() const { + return !m_autoRefreshLevels.has_value(); +} + +void ChannelFeatures::setAutoRefreshLevelsNull() { + m_autoRefreshLevels = std::nullopt; + +} +QList ChannelFeatures::defaultSortFields() const { return m_defaultSortFields; } + +void ChannelFeatures::setDefaultSortFields(QList newDefaultSortFields) { + m_defaultSortFields = newDefaultSortFields; +} +bool ChannelFeatures::defaultSortFieldsNull() const { + return m_defaultSortFields.size() == 0; +} + +void ChannelFeatures::setDefaultSortFieldsNull() { + m_defaultSortFields.clear(); + +} +bool ChannelFeatures::supportsSortOrderToggle() const { return m_supportsSortOrderToggle; } + +void ChannelFeatures::setSupportsSortOrderToggle(bool newSupportsSortOrderToggle) { + m_supportsSortOrderToggle = newSupportsSortOrderToggle; +} + +bool ChannelFeatures::supportsLatestMedia() const { return m_supportsLatestMedia; } + +void ChannelFeatures::setSupportsLatestMedia(bool newSupportsLatestMedia) { + m_supportsLatestMedia = newSupportsLatestMedia; +} + +bool ChannelFeatures::canFilter() const { return m_canFilter; } + +void ChannelFeatures::setCanFilter(bool newCanFilter) { + m_canFilter = newCanFilter; +} + +bool ChannelFeatures::supportsContentDownloading() const { return m_supportsContentDownloading; } + +void ChannelFeatures::setSupportsContentDownloading(bool newSupportsContentDownloading) { + m_supportsContentDownloading = newSupportsContentDownloading; +} + + +} // NS DTO + +namespace Support { + +using ChannelFeatures = Jellyfin::DTO::ChannelFeatures; + +template <> +ChannelFeatures fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ChannelFeatures::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channelitemsortfield.cpp b/core/src/dto/channelitemsortfield.cpp new file mode 100644 index 0000000..616349c --- /dev/null +++ b/core/src/dto/channelitemsortfield.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelItemSortFieldClass::ChannelItemSortFieldClass() {} + + +} // NS DTO + +namespace Support { + +using ChannelItemSortField = Jellyfin::DTO::ChannelItemSortField; + +template <> +ChannelItemSortField fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ChannelItemSortField::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Name")) { + return ChannelItemSortField::Name; + } + if (str == QStringLiteral("CommunityRating")) { + return ChannelItemSortField::CommunityRating; + } + if (str == QStringLiteral("PremiereDate")) { + return ChannelItemSortField::PremiereDate; + } + if (str == QStringLiteral("DateCreated")) { + return ChannelItemSortField::DateCreated; + } + if (str == QStringLiteral("Runtime")) { + return ChannelItemSortField::Runtime; + } + if (str == QStringLiteral("PlayCount")) { + return ChannelItemSortField::PlayCount; + } + if (str == QStringLiteral("CommunityPlayCount")) { + return ChannelItemSortField::CommunityPlayCount; + } + + return ChannelItemSortField::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channelmappingoptionsdto.cpp b/core/src/dto/channelmappingoptionsdto.cpp new file mode 100644 index 0000000..e56e824 --- /dev/null +++ b/core/src/dto/channelmappingoptionsdto.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelMappingOptionsDto::ChannelMappingOptionsDto() {} + +ChannelMappingOptionsDto::ChannelMappingOptionsDto(const ChannelMappingOptionsDto &other) : + + m_tunerChannels(other.m_tunerChannels), + m_providerChannels(other.m_providerChannels), + m_mappings(other.m_mappings), + m_providerName(other.m_providerName){} + + +void ChannelMappingOptionsDto::replaceData(ChannelMappingOptionsDto &other) { + m_tunerChannels = other.m_tunerChannels; + m_providerChannels = other.m_providerChannels; + m_mappings = other.m_mappings; + m_providerName = other.m_providerName; +} + +ChannelMappingOptionsDto ChannelMappingOptionsDto::fromJson(QJsonObject source) { + ChannelMappingOptionsDto instance; + instance.setFromJson(source); + return instance; +} + + +void ChannelMappingOptionsDto::setFromJson(QJsonObject source) { + m_tunerChannels = Jellyfin::Support::fromJsonValue>>(source["TunerChannels"]); + m_providerChannels = Jellyfin::Support::fromJsonValue>>(source["ProviderChannels"]); + m_mappings = Jellyfin::Support::fromJsonValue>>(source["Mappings"]); + m_providerName = Jellyfin::Support::fromJsonValue(source["ProviderName"]); + +} + +QJsonObject ChannelMappingOptionsDto::toJson() { + QJsonObject result; + result["TunerChannels"] = Jellyfin::Support::toJsonValue>>(m_tunerChannels); + result["ProviderChannels"] = Jellyfin::Support::toJsonValue>>(m_providerChannels); + result["Mappings"] = Jellyfin::Support::toJsonValue>>(m_mappings); + result["ProviderName"] = Jellyfin::Support::toJsonValue(m_providerName); + + return result; +} + +QList> ChannelMappingOptionsDto::tunerChannels() const { return m_tunerChannels; } + +void ChannelMappingOptionsDto::setTunerChannels(QList> newTunerChannels) { + m_tunerChannels = newTunerChannels; +} +bool ChannelMappingOptionsDto::tunerChannelsNull() const { + return m_tunerChannels.size() == 0; +} + +void ChannelMappingOptionsDto::setTunerChannelsNull() { + m_tunerChannels.clear(); + +} +QList> ChannelMappingOptionsDto::providerChannels() const { return m_providerChannels; } + +void ChannelMappingOptionsDto::setProviderChannels(QList> newProviderChannels) { + m_providerChannels = newProviderChannels; +} +bool ChannelMappingOptionsDto::providerChannelsNull() const { + return m_providerChannels.size() == 0; +} + +void ChannelMappingOptionsDto::setProviderChannelsNull() { + m_providerChannels.clear(); + +} +QList> ChannelMappingOptionsDto::mappings() const { return m_mappings; } + +void ChannelMappingOptionsDto::setMappings(QList> newMappings) { + m_mappings = newMappings; +} +bool ChannelMappingOptionsDto::mappingsNull() const { + return m_mappings.size() == 0; +} + +void ChannelMappingOptionsDto::setMappingsNull() { + m_mappings.clear(); + +} +QString ChannelMappingOptionsDto::providerName() const { return m_providerName; } + +void ChannelMappingOptionsDto::setProviderName(QString newProviderName) { + m_providerName = newProviderName; +} +bool ChannelMappingOptionsDto::providerNameNull() const { + return m_providerName.isNull(); +} + +void ChannelMappingOptionsDto::setProviderNameNull() { + m_providerName.clear(); + +} + +} // NS DTO + +namespace Support { + +using ChannelMappingOptionsDto = Jellyfin::DTO::ChannelMappingOptionsDto; + +template <> +ChannelMappingOptionsDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ChannelMappingOptionsDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channelmediacontenttype.cpp b/core/src/dto/channelmediacontenttype.cpp new file mode 100644 index 0000000..fb977d6 --- /dev/null +++ b/core/src/dto/channelmediacontenttype.cpp @@ -0,0 +1,78 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelMediaContentTypeClass::ChannelMediaContentTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ChannelMediaContentType = Jellyfin::DTO::ChannelMediaContentType; + +template <> +ChannelMediaContentType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ChannelMediaContentType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Clip")) { + return ChannelMediaContentType::Clip; + } + if (str == QStringLiteral("Podcast")) { + return ChannelMediaContentType::Podcast; + } + if (str == QStringLiteral("Trailer")) { + return ChannelMediaContentType::Trailer; + } + if (str == QStringLiteral("Movie")) { + return ChannelMediaContentType::Movie; + } + if (str == QStringLiteral("Episode")) { + return ChannelMediaContentType::Episode; + } + if (str == QStringLiteral("Song")) { + return ChannelMediaContentType::Song; + } + if (str == QStringLiteral("MovieExtra")) { + return ChannelMediaContentType::MovieExtra; + } + if (str == QStringLiteral("TvExtra")) { + return ChannelMediaContentType::TvExtra; + } + + return ChannelMediaContentType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channelmediatype.cpp b/core/src/dto/channelmediatype.cpp new file mode 100644 index 0000000..ae71526 --- /dev/null +++ b/core/src/dto/channelmediatype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelMediaTypeClass::ChannelMediaTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ChannelMediaType = Jellyfin::DTO::ChannelMediaType; + +template <> +ChannelMediaType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ChannelMediaType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Audio")) { + return ChannelMediaType::Audio; + } + if (str == QStringLiteral("Video")) { + return ChannelMediaType::Video; + } + if (str == QStringLiteral("Photo")) { + return ChannelMediaType::Photo; + } + + return ChannelMediaType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/channeltype.cpp b/core/src/dto/channeltype.cpp new file mode 100644 index 0000000..4969e85 --- /dev/null +++ b/core/src/dto/channeltype.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelTypeClass::ChannelTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ChannelType = Jellyfin::DTO::ChannelType; + +template <> +ChannelType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ChannelType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("TV")) { + return ChannelType::TV; + } + if (str == QStringLiteral("Radio")) { + return ChannelType::Radio; + } + + return ChannelType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/chapterinfo.cpp b/core/src/dto/chapterinfo.cpp new file mode 100644 index 0000000..ebbeeeb --- /dev/null +++ b/core/src/dto/chapterinfo.cpp @@ -0,0 +1,146 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChapterInfo::ChapterInfo() {} + +ChapterInfo::ChapterInfo(const ChapterInfo &other) : + + m_startPositionTicks(other.m_startPositionTicks), + m_name(other.m_name), + m_imagePath(other.m_imagePath), + m_imageDateModified(other.m_imageDateModified), + m_imageTag(other.m_imageTag){} + + +void ChapterInfo::replaceData(ChapterInfo &other) { + m_startPositionTicks = other.m_startPositionTicks; + m_name = other.m_name; + m_imagePath = other.m_imagePath; + m_imageDateModified = other.m_imageDateModified; + m_imageTag = other.m_imageTag; +} + +ChapterInfo ChapterInfo::fromJson(QJsonObject source) { + ChapterInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ChapterInfo::setFromJson(QJsonObject source) { + m_startPositionTicks = Jellyfin::Support::fromJsonValue(source["StartPositionTicks"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_imagePath = Jellyfin::Support::fromJsonValue(source["ImagePath"]); + m_imageDateModified = Jellyfin::Support::fromJsonValue(source["ImageDateModified"]); + m_imageTag = Jellyfin::Support::fromJsonValue(source["ImageTag"]); + +} + +QJsonObject ChapterInfo::toJson() { + QJsonObject result; + result["StartPositionTicks"] = Jellyfin::Support::toJsonValue(m_startPositionTicks); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["ImagePath"] = Jellyfin::Support::toJsonValue(m_imagePath); + result["ImageDateModified"] = Jellyfin::Support::toJsonValue(m_imageDateModified); + result["ImageTag"] = Jellyfin::Support::toJsonValue(m_imageTag); + + return result; +} + +qint64 ChapterInfo::startPositionTicks() const { return m_startPositionTicks; } + +void ChapterInfo::setStartPositionTicks(qint64 newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; +} + +QString ChapterInfo::name() const { return m_name; } + +void ChapterInfo::setName(QString newName) { + m_name = newName; +} +bool ChapterInfo::nameNull() const { + return m_name.isNull(); +} + +void ChapterInfo::setNameNull() { + m_name.clear(); + +} +QString ChapterInfo::imagePath() const { return m_imagePath; } + +void ChapterInfo::setImagePath(QString newImagePath) { + m_imagePath = newImagePath; +} +bool ChapterInfo::imagePathNull() const { + return m_imagePath.isNull(); +} + +void ChapterInfo::setImagePathNull() { + m_imagePath.clear(); + +} +QDateTime ChapterInfo::imageDateModified() const { return m_imageDateModified; } + +void ChapterInfo::setImageDateModified(QDateTime newImageDateModified) { + m_imageDateModified = newImageDateModified; +} + +QString ChapterInfo::imageTag() const { return m_imageTag; } + +void ChapterInfo::setImageTag(QString newImageTag) { + m_imageTag = newImageTag; +} +bool ChapterInfo::imageTagNull() const { + return m_imageTag.isNull(); +} + +void ChapterInfo::setImageTagNull() { + m_imageTag.clear(); + +} + +} // NS DTO + +namespace Support { + +using ChapterInfo = Jellyfin::DTO::ChapterInfo; + +template <> +ChapterInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ChapterInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/clientcapabilities.cpp b/core/src/dto/clientcapabilities.cpp new file mode 100644 index 0000000..6da42e8 --- /dev/null +++ b/core/src/dto/clientcapabilities.cpp @@ -0,0 +1,210 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ClientCapabilities::ClientCapabilities() {} + +ClientCapabilities::ClientCapabilities(const ClientCapabilities &other) : + + m_playableMediaTypes(other.m_playableMediaTypes), + m_supportedCommands(other.m_supportedCommands), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsContentUploading(other.m_supportsContentUploading), + m_messageCallbackUrl(other.m_messageCallbackUrl), + m_supportsPersistentIdentifier(other.m_supportsPersistentIdentifier), + m_supportsSync(other.m_supportsSync), + m_deviceProfile(other.m_deviceProfile), + m_appStoreUrl(other.m_appStoreUrl), + m_iconUrl(other.m_iconUrl){} + + +void ClientCapabilities::replaceData(ClientCapabilities &other) { + m_playableMediaTypes = other.m_playableMediaTypes; + m_supportedCommands = other.m_supportedCommands; + m_supportsMediaControl = other.m_supportsMediaControl; + m_supportsContentUploading = other.m_supportsContentUploading; + m_messageCallbackUrl = other.m_messageCallbackUrl; + m_supportsPersistentIdentifier = other.m_supportsPersistentIdentifier; + m_supportsSync = other.m_supportsSync; + m_deviceProfile = other.m_deviceProfile; + m_appStoreUrl = other.m_appStoreUrl; + m_iconUrl = other.m_iconUrl; +} + +ClientCapabilities ClientCapabilities::fromJson(QJsonObject source) { + ClientCapabilities instance; + instance.setFromJson(source); + return instance; +} + + +void ClientCapabilities::setFromJson(QJsonObject source) { + m_playableMediaTypes = Jellyfin::Support::fromJsonValue(source["PlayableMediaTypes"]); + m_supportedCommands = Jellyfin::Support::fromJsonValue>(source["SupportedCommands"]); + m_supportsMediaControl = Jellyfin::Support::fromJsonValue(source["SupportsMediaControl"]); + m_supportsContentUploading = Jellyfin::Support::fromJsonValue(source["SupportsContentUploading"]); + m_messageCallbackUrl = Jellyfin::Support::fromJsonValue(source["MessageCallbackUrl"]); + m_supportsPersistentIdentifier = Jellyfin::Support::fromJsonValue(source["SupportsPersistentIdentifier"]); + m_supportsSync = Jellyfin::Support::fromJsonValue(source["SupportsSync"]); + m_deviceProfile = Jellyfin::Support::fromJsonValue>(source["DeviceProfile"]); + m_appStoreUrl = Jellyfin::Support::fromJsonValue(source["AppStoreUrl"]); + m_iconUrl = Jellyfin::Support::fromJsonValue(source["IconUrl"]); + +} + +QJsonObject ClientCapabilities::toJson() { + QJsonObject result; + result["PlayableMediaTypes"] = Jellyfin::Support::toJsonValue(m_playableMediaTypes); + result["SupportedCommands"] = Jellyfin::Support::toJsonValue>(m_supportedCommands); + result["SupportsMediaControl"] = Jellyfin::Support::toJsonValue(m_supportsMediaControl); + result["SupportsContentUploading"] = Jellyfin::Support::toJsonValue(m_supportsContentUploading); + result["MessageCallbackUrl"] = Jellyfin::Support::toJsonValue(m_messageCallbackUrl); + result["SupportsPersistentIdentifier"] = Jellyfin::Support::toJsonValue(m_supportsPersistentIdentifier); + result["SupportsSync"] = Jellyfin::Support::toJsonValue(m_supportsSync); + result["DeviceProfile"] = Jellyfin::Support::toJsonValue>(m_deviceProfile); + result["AppStoreUrl"] = Jellyfin::Support::toJsonValue(m_appStoreUrl); + result["IconUrl"] = Jellyfin::Support::toJsonValue(m_iconUrl); + + return result; +} + +QStringList ClientCapabilities::playableMediaTypes() const { return m_playableMediaTypes; } + +void ClientCapabilities::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; +} +bool ClientCapabilities::playableMediaTypesNull() const { + return m_playableMediaTypes.size() == 0; +} + +void ClientCapabilities::setPlayableMediaTypesNull() { + m_playableMediaTypes.clear(); + +} +QList ClientCapabilities::supportedCommands() const { return m_supportedCommands; } + +void ClientCapabilities::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; +} +bool ClientCapabilities::supportedCommandsNull() const { + return m_supportedCommands.size() == 0; +} + +void ClientCapabilities::setSupportedCommandsNull() { + m_supportedCommands.clear(); + +} +bool ClientCapabilities::supportsMediaControl() const { return m_supportsMediaControl; } + +void ClientCapabilities::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; +} + +bool ClientCapabilities::supportsContentUploading() const { return m_supportsContentUploading; } + +void ClientCapabilities::setSupportsContentUploading(bool newSupportsContentUploading) { + m_supportsContentUploading = newSupportsContentUploading; +} + +QString ClientCapabilities::messageCallbackUrl() const { return m_messageCallbackUrl; } + +void ClientCapabilities::setMessageCallbackUrl(QString newMessageCallbackUrl) { + m_messageCallbackUrl = newMessageCallbackUrl; +} +bool ClientCapabilities::messageCallbackUrlNull() const { + return m_messageCallbackUrl.isNull(); +} + +void ClientCapabilities::setMessageCallbackUrlNull() { + m_messageCallbackUrl.clear(); + +} +bool ClientCapabilities::supportsPersistentIdentifier() const { return m_supportsPersistentIdentifier; } + +void ClientCapabilities::setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier) { + m_supportsPersistentIdentifier = newSupportsPersistentIdentifier; +} + +bool ClientCapabilities::supportsSync() const { return m_supportsSync; } + +void ClientCapabilities::setSupportsSync(bool newSupportsSync) { + m_supportsSync = newSupportsSync; +} + +QSharedPointer ClientCapabilities::deviceProfile() const { return m_deviceProfile; } + +void ClientCapabilities::setDeviceProfile(QSharedPointer newDeviceProfile) { + m_deviceProfile = newDeviceProfile; +} + +QString ClientCapabilities::appStoreUrl() const { return m_appStoreUrl; } + +void ClientCapabilities::setAppStoreUrl(QString newAppStoreUrl) { + m_appStoreUrl = newAppStoreUrl; +} +bool ClientCapabilities::appStoreUrlNull() const { + return m_appStoreUrl.isNull(); +} + +void ClientCapabilities::setAppStoreUrlNull() { + m_appStoreUrl.clear(); + +} +QString ClientCapabilities::iconUrl() const { return m_iconUrl; } + +void ClientCapabilities::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; +} +bool ClientCapabilities::iconUrlNull() const { + return m_iconUrl.isNull(); +} + +void ClientCapabilities::setIconUrlNull() { + m_iconUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using ClientCapabilities = Jellyfin::DTO::ClientCapabilities; + +template <> +ClientCapabilities fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ClientCapabilities::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/clientcapabilitiesdto.cpp b/core/src/dto/clientcapabilitiesdto.cpp new file mode 100644 index 0000000..58f288e --- /dev/null +++ b/core/src/dto/clientcapabilitiesdto.cpp @@ -0,0 +1,210 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ClientCapabilitiesDto::ClientCapabilitiesDto() {} + +ClientCapabilitiesDto::ClientCapabilitiesDto(const ClientCapabilitiesDto &other) : + + m_playableMediaTypes(other.m_playableMediaTypes), + m_supportedCommands(other.m_supportedCommands), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsContentUploading(other.m_supportsContentUploading), + m_messageCallbackUrl(other.m_messageCallbackUrl), + m_supportsPersistentIdentifier(other.m_supportsPersistentIdentifier), + m_supportsSync(other.m_supportsSync), + m_deviceProfile(other.m_deviceProfile), + m_appStoreUrl(other.m_appStoreUrl), + m_iconUrl(other.m_iconUrl){} + + +void ClientCapabilitiesDto::replaceData(ClientCapabilitiesDto &other) { + m_playableMediaTypes = other.m_playableMediaTypes; + m_supportedCommands = other.m_supportedCommands; + m_supportsMediaControl = other.m_supportsMediaControl; + m_supportsContentUploading = other.m_supportsContentUploading; + m_messageCallbackUrl = other.m_messageCallbackUrl; + m_supportsPersistentIdentifier = other.m_supportsPersistentIdentifier; + m_supportsSync = other.m_supportsSync; + m_deviceProfile = other.m_deviceProfile; + m_appStoreUrl = other.m_appStoreUrl; + m_iconUrl = other.m_iconUrl; +} + +ClientCapabilitiesDto ClientCapabilitiesDto::fromJson(QJsonObject source) { + ClientCapabilitiesDto instance; + instance.setFromJson(source); + return instance; +} + + +void ClientCapabilitiesDto::setFromJson(QJsonObject source) { + m_playableMediaTypes = Jellyfin::Support::fromJsonValue(source["PlayableMediaTypes"]); + m_supportedCommands = Jellyfin::Support::fromJsonValue>(source["SupportedCommands"]); + m_supportsMediaControl = Jellyfin::Support::fromJsonValue(source["SupportsMediaControl"]); + m_supportsContentUploading = Jellyfin::Support::fromJsonValue(source["SupportsContentUploading"]); + m_messageCallbackUrl = Jellyfin::Support::fromJsonValue(source["MessageCallbackUrl"]); + m_supportsPersistentIdentifier = Jellyfin::Support::fromJsonValue(source["SupportsPersistentIdentifier"]); + m_supportsSync = Jellyfin::Support::fromJsonValue(source["SupportsSync"]); + m_deviceProfile = Jellyfin::Support::fromJsonValue>(source["DeviceProfile"]); + m_appStoreUrl = Jellyfin::Support::fromJsonValue(source["AppStoreUrl"]); + m_iconUrl = Jellyfin::Support::fromJsonValue(source["IconUrl"]); + +} + +QJsonObject ClientCapabilitiesDto::toJson() { + QJsonObject result; + result["PlayableMediaTypes"] = Jellyfin::Support::toJsonValue(m_playableMediaTypes); + result["SupportedCommands"] = Jellyfin::Support::toJsonValue>(m_supportedCommands); + result["SupportsMediaControl"] = Jellyfin::Support::toJsonValue(m_supportsMediaControl); + result["SupportsContentUploading"] = Jellyfin::Support::toJsonValue(m_supportsContentUploading); + result["MessageCallbackUrl"] = Jellyfin::Support::toJsonValue(m_messageCallbackUrl); + result["SupportsPersistentIdentifier"] = Jellyfin::Support::toJsonValue(m_supportsPersistentIdentifier); + result["SupportsSync"] = Jellyfin::Support::toJsonValue(m_supportsSync); + result["DeviceProfile"] = Jellyfin::Support::toJsonValue>(m_deviceProfile); + result["AppStoreUrl"] = Jellyfin::Support::toJsonValue(m_appStoreUrl); + result["IconUrl"] = Jellyfin::Support::toJsonValue(m_iconUrl); + + return result; +} + +QStringList ClientCapabilitiesDto::playableMediaTypes() const { return m_playableMediaTypes; } + +void ClientCapabilitiesDto::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; +} +bool ClientCapabilitiesDto::playableMediaTypesNull() const { + return m_playableMediaTypes.size() == 0; +} + +void ClientCapabilitiesDto::setPlayableMediaTypesNull() { + m_playableMediaTypes.clear(); + +} +QList ClientCapabilitiesDto::supportedCommands() const { return m_supportedCommands; } + +void ClientCapabilitiesDto::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; +} +bool ClientCapabilitiesDto::supportedCommandsNull() const { + return m_supportedCommands.size() == 0; +} + +void ClientCapabilitiesDto::setSupportedCommandsNull() { + m_supportedCommands.clear(); + +} +bool ClientCapabilitiesDto::supportsMediaControl() const { return m_supportsMediaControl; } + +void ClientCapabilitiesDto::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; +} + +bool ClientCapabilitiesDto::supportsContentUploading() const { return m_supportsContentUploading; } + +void ClientCapabilitiesDto::setSupportsContentUploading(bool newSupportsContentUploading) { + m_supportsContentUploading = newSupportsContentUploading; +} + +QString ClientCapabilitiesDto::messageCallbackUrl() const { return m_messageCallbackUrl; } + +void ClientCapabilitiesDto::setMessageCallbackUrl(QString newMessageCallbackUrl) { + m_messageCallbackUrl = newMessageCallbackUrl; +} +bool ClientCapabilitiesDto::messageCallbackUrlNull() const { + return m_messageCallbackUrl.isNull(); +} + +void ClientCapabilitiesDto::setMessageCallbackUrlNull() { + m_messageCallbackUrl.clear(); + +} +bool ClientCapabilitiesDto::supportsPersistentIdentifier() const { return m_supportsPersistentIdentifier; } + +void ClientCapabilitiesDto::setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier) { + m_supportsPersistentIdentifier = newSupportsPersistentIdentifier; +} + +bool ClientCapabilitiesDto::supportsSync() const { return m_supportsSync; } + +void ClientCapabilitiesDto::setSupportsSync(bool newSupportsSync) { + m_supportsSync = newSupportsSync; +} + +QSharedPointer ClientCapabilitiesDto::deviceProfile() const { return m_deviceProfile; } + +void ClientCapabilitiesDto::setDeviceProfile(QSharedPointer newDeviceProfile) { + m_deviceProfile = newDeviceProfile; +} + +QString ClientCapabilitiesDto::appStoreUrl() const { return m_appStoreUrl; } + +void ClientCapabilitiesDto::setAppStoreUrl(QString newAppStoreUrl) { + m_appStoreUrl = newAppStoreUrl; +} +bool ClientCapabilitiesDto::appStoreUrlNull() const { + return m_appStoreUrl.isNull(); +} + +void ClientCapabilitiesDto::setAppStoreUrlNull() { + m_appStoreUrl.clear(); + +} +QString ClientCapabilitiesDto::iconUrl() const { return m_iconUrl; } + +void ClientCapabilitiesDto::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; +} +bool ClientCapabilitiesDto::iconUrlNull() const { + return m_iconUrl.isNull(); +} + +void ClientCapabilitiesDto::setIconUrlNull() { + m_iconUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using ClientCapabilitiesDto = Jellyfin::DTO::ClientCapabilitiesDto; + +template <> +ClientCapabilitiesDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ClientCapabilitiesDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/codecprofile.cpp b/core/src/dto/codecprofile.cpp new file mode 100644 index 0000000..2a45fd1 --- /dev/null +++ b/core/src/dto/codecprofile.cpp @@ -0,0 +1,153 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CodecProfile::CodecProfile() {} + +CodecProfile::CodecProfile(const CodecProfile &other) : + + m_type(other.m_type), + m_conditions(other.m_conditions), + m_applyConditions(other.m_applyConditions), + m_codec(other.m_codec), + m_container(other.m_container){} + + +void CodecProfile::replaceData(CodecProfile &other) { + m_type = other.m_type; + m_conditions = other.m_conditions; + m_applyConditions = other.m_applyConditions; + m_codec = other.m_codec; + m_container = other.m_container; +} + +CodecProfile CodecProfile::fromJson(QJsonObject source) { + CodecProfile instance; + instance.setFromJson(source); + return instance; +} + + +void CodecProfile::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_conditions = Jellyfin::Support::fromJsonValue>>(source["Conditions"]); + m_applyConditions = Jellyfin::Support::fromJsonValue>>(source["ApplyConditions"]); + m_codec = Jellyfin::Support::fromJsonValue(source["Codec"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + +} + +QJsonObject CodecProfile::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Conditions"] = Jellyfin::Support::toJsonValue>>(m_conditions); + result["ApplyConditions"] = Jellyfin::Support::toJsonValue>>(m_applyConditions); + result["Codec"] = Jellyfin::Support::toJsonValue(m_codec); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + + return result; +} + +CodecType CodecProfile::type() const { return m_type; } + +void CodecProfile::setType(CodecType newType) { + m_type = newType; +} + +QList> CodecProfile::conditions() const { return m_conditions; } + +void CodecProfile::setConditions(QList> newConditions) { + m_conditions = newConditions; +} +bool CodecProfile::conditionsNull() const { + return m_conditions.size() == 0; +} + +void CodecProfile::setConditionsNull() { + m_conditions.clear(); + +} +QList> CodecProfile::applyConditions() const { return m_applyConditions; } + +void CodecProfile::setApplyConditions(QList> newApplyConditions) { + m_applyConditions = newApplyConditions; +} +bool CodecProfile::applyConditionsNull() const { + return m_applyConditions.size() == 0; +} + +void CodecProfile::setApplyConditionsNull() { + m_applyConditions.clear(); + +} +QString CodecProfile::codec() const { return m_codec; } + +void CodecProfile::setCodec(QString newCodec) { + m_codec = newCodec; +} +bool CodecProfile::codecNull() const { + return m_codec.isNull(); +} + +void CodecProfile::setCodecNull() { + m_codec.clear(); + +} +QString CodecProfile::container() const { return m_container; } + +void CodecProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool CodecProfile::containerNull() const { + return m_container.isNull(); +} + +void CodecProfile::setContainerNull() { + m_container.clear(); + +} + +} // NS DTO + +namespace Support { + +using CodecProfile = Jellyfin::DTO::CodecProfile; + +template <> +CodecProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CodecProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/codectype.cpp b/core/src/dto/codectype.cpp new file mode 100644 index 0000000..332cb49 --- /dev/null +++ b/core/src/dto/codectype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CodecTypeClass::CodecTypeClass() {} + + +} // NS DTO + +namespace Support { + +using CodecType = Jellyfin::DTO::CodecType; + +template <> +CodecType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return CodecType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Video")) { + return CodecType::Video; + } + if (str == QStringLiteral("VideoAudio")) { + return CodecType::VideoAudio; + } + if (str == QStringLiteral("Audio")) { + return CodecType::Audio; + } + + return CodecType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/collectioncreationresult.cpp b/core/src/dto/collectioncreationresult.cpp new file mode 100644 index 0000000..f10a52a --- /dev/null +++ b/core/src/dto/collectioncreationresult.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CollectionCreationResult::CollectionCreationResult() {} + +CollectionCreationResult::CollectionCreationResult(const CollectionCreationResult &other) : + + m_jellyfinId(other.m_jellyfinId){} + + +void CollectionCreationResult::replaceData(CollectionCreationResult &other) { + m_jellyfinId = other.m_jellyfinId; +} + +CollectionCreationResult CollectionCreationResult::fromJson(QJsonObject source) { + CollectionCreationResult instance; + instance.setFromJson(source); + return instance; +} + + +void CollectionCreationResult::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject CollectionCreationResult::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString CollectionCreationResult::jellyfinId() const { return m_jellyfinId; } + +void CollectionCreationResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + + +} // NS DTO + +namespace Support { + +using CollectionCreationResult = Jellyfin::DTO::CollectionCreationResult; + +template <> +CollectionCreationResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CollectionCreationResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/configurationpageinfo.cpp b/core/src/dto/configurationpageinfo.cpp new file mode 100644 index 0000000..333513e --- /dev/null +++ b/core/src/dto/configurationpageinfo.cpp @@ -0,0 +1,180 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ConfigurationPageInfo::ConfigurationPageInfo() {} + +ConfigurationPageInfo::ConfigurationPageInfo(const ConfigurationPageInfo &other) : + + m_name(other.m_name), + m_enableInMainMenu(other.m_enableInMainMenu), + m_menuSection(other.m_menuSection), + m_menuIcon(other.m_menuIcon), + m_displayName(other.m_displayName), + m_configurationPageType(other.m_configurationPageType), + m_pluginId(other.m_pluginId){} + + +void ConfigurationPageInfo::replaceData(ConfigurationPageInfo &other) { + m_name = other.m_name; + m_enableInMainMenu = other.m_enableInMainMenu; + m_menuSection = other.m_menuSection; + m_menuIcon = other.m_menuIcon; + m_displayName = other.m_displayName; + m_configurationPageType = other.m_configurationPageType; + m_pluginId = other.m_pluginId; +} + +ConfigurationPageInfo ConfigurationPageInfo::fromJson(QJsonObject source) { + ConfigurationPageInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ConfigurationPageInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_enableInMainMenu = Jellyfin::Support::fromJsonValue(source["EnableInMainMenu"]); + m_menuSection = Jellyfin::Support::fromJsonValue(source["MenuSection"]); + m_menuIcon = Jellyfin::Support::fromJsonValue(source["MenuIcon"]); + m_displayName = Jellyfin::Support::fromJsonValue(source["DisplayName"]); + m_configurationPageType = Jellyfin::Support::fromJsonValue(source["ConfigurationPageType"]); + m_pluginId = Jellyfin::Support::fromJsonValue(source["PluginId"]); + +} + +QJsonObject ConfigurationPageInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["EnableInMainMenu"] = Jellyfin::Support::toJsonValue(m_enableInMainMenu); + result["MenuSection"] = Jellyfin::Support::toJsonValue(m_menuSection); + result["MenuIcon"] = Jellyfin::Support::toJsonValue(m_menuIcon); + result["DisplayName"] = Jellyfin::Support::toJsonValue(m_displayName); + result["ConfigurationPageType"] = Jellyfin::Support::toJsonValue(m_configurationPageType); + result["PluginId"] = Jellyfin::Support::toJsonValue(m_pluginId); + + return result; +} + +QString ConfigurationPageInfo::name() const { return m_name; } + +void ConfigurationPageInfo::setName(QString newName) { + m_name = newName; +} +bool ConfigurationPageInfo::nameNull() const { + return m_name.isNull(); +} + +void ConfigurationPageInfo::setNameNull() { + m_name.clear(); + +} +bool ConfigurationPageInfo::enableInMainMenu() const { return m_enableInMainMenu; } + +void ConfigurationPageInfo::setEnableInMainMenu(bool newEnableInMainMenu) { + m_enableInMainMenu = newEnableInMainMenu; +} + +QString ConfigurationPageInfo::menuSection() const { return m_menuSection; } + +void ConfigurationPageInfo::setMenuSection(QString newMenuSection) { + m_menuSection = newMenuSection; +} +bool ConfigurationPageInfo::menuSectionNull() const { + return m_menuSection.isNull(); +} + +void ConfigurationPageInfo::setMenuSectionNull() { + m_menuSection.clear(); + +} +QString ConfigurationPageInfo::menuIcon() const { return m_menuIcon; } + +void ConfigurationPageInfo::setMenuIcon(QString newMenuIcon) { + m_menuIcon = newMenuIcon; +} +bool ConfigurationPageInfo::menuIconNull() const { + return m_menuIcon.isNull(); +} + +void ConfigurationPageInfo::setMenuIconNull() { + m_menuIcon.clear(); + +} +QString ConfigurationPageInfo::displayName() const { return m_displayName; } + +void ConfigurationPageInfo::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; +} +bool ConfigurationPageInfo::displayNameNull() const { + return m_displayName.isNull(); +} + +void ConfigurationPageInfo::setDisplayNameNull() { + m_displayName.clear(); + +} +ConfigurationPageType ConfigurationPageInfo::configurationPageType() const { return m_configurationPageType; } + +void ConfigurationPageInfo::setConfigurationPageType(ConfigurationPageType newConfigurationPageType) { + m_configurationPageType = newConfigurationPageType; +} + +QString ConfigurationPageInfo::pluginId() const { return m_pluginId; } + +void ConfigurationPageInfo::setPluginId(QString newPluginId) { + m_pluginId = newPluginId; +} +bool ConfigurationPageInfo::pluginIdNull() const { + return m_pluginId.isNull(); +} + +void ConfigurationPageInfo::setPluginIdNull() { + m_pluginId.clear(); + +} + +} // NS DTO + +namespace Support { + +using ConfigurationPageInfo = Jellyfin::DTO::ConfigurationPageInfo; + +template <> +ConfigurationPageInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ConfigurationPageInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/configurationpagetype.cpp b/core/src/dto/configurationpagetype.cpp new file mode 100644 index 0000000..6049722 --- /dev/null +++ b/core/src/dto/configurationpagetype.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ConfigurationPageTypeClass::ConfigurationPageTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ConfigurationPageType = Jellyfin::DTO::ConfigurationPageType; + +template <> +ConfigurationPageType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ConfigurationPageType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("PluginConfiguration")) { + return ConfigurationPageType::PluginConfiguration; + } + if (str == QStringLiteral("None")) { + return ConfigurationPageType::None; + } + + return ConfigurationPageType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/containerprofile.cpp b/core/src/dto/containerprofile.cpp new file mode 100644 index 0000000..a8eff63 --- /dev/null +++ b/core/src/dto/containerprofile.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ContainerProfile::ContainerProfile() {} + +ContainerProfile::ContainerProfile(const ContainerProfile &other) : + + m_type(other.m_type), + m_conditions(other.m_conditions), + m_container(other.m_container){} + + +void ContainerProfile::replaceData(ContainerProfile &other) { + m_type = other.m_type; + m_conditions = other.m_conditions; + m_container = other.m_container; +} + +ContainerProfile ContainerProfile::fromJson(QJsonObject source) { + ContainerProfile instance; + instance.setFromJson(source); + return instance; +} + + +void ContainerProfile::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_conditions = Jellyfin::Support::fromJsonValue>>(source["Conditions"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + +} + +QJsonObject ContainerProfile::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Conditions"] = Jellyfin::Support::toJsonValue>>(m_conditions); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + + return result; +} + +DlnaProfileType ContainerProfile::type() const { return m_type; } + +void ContainerProfile::setType(DlnaProfileType newType) { + m_type = newType; +} + +QList> ContainerProfile::conditions() const { return m_conditions; } + +void ContainerProfile::setConditions(QList> newConditions) { + m_conditions = newConditions; +} +bool ContainerProfile::conditionsNull() const { + return m_conditions.size() == 0; +} + +void ContainerProfile::setConditionsNull() { + m_conditions.clear(); + +} +QString ContainerProfile::container() const { return m_container; } + +void ContainerProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool ContainerProfile::containerNull() const { + return m_container.isNull(); +} + +void ContainerProfile::setContainerNull() { + m_container.clear(); + +} + +} // NS DTO + +namespace Support { + +using ContainerProfile = Jellyfin::DTO::ContainerProfile; + +template <> +ContainerProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ContainerProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/controlresponse.cpp b/core/src/dto/controlresponse.cpp new file mode 100644 index 0000000..6c8a9f1 --- /dev/null +++ b/core/src/dto/controlresponse.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ControlResponse::ControlResponse() {} + +ControlResponse::ControlResponse(const ControlResponse &other) : + + m_headers(other.m_headers), + m_xml(other.m_xml), + m_isSuccessful(other.m_isSuccessful){} + + +void ControlResponse::replaceData(ControlResponse &other) { + m_headers = other.m_headers; + m_xml = other.m_xml; + m_isSuccessful = other.m_isSuccessful; +} + +ControlResponse ControlResponse::fromJson(QJsonObject source) { + ControlResponse instance; + instance.setFromJson(source); + return instance; +} + + +void ControlResponse::setFromJson(QJsonObject source) { + m_headers = Jellyfin::Support::fromJsonValue>(source["Headers"]); + m_xml = Jellyfin::Support::fromJsonValue(source["Xml"]); + m_isSuccessful = Jellyfin::Support::fromJsonValue(source["IsSuccessful"]); + +} + +QJsonObject ControlResponse::toJson() { + QJsonObject result; + result["Headers"] = Jellyfin::Support::toJsonValue>(m_headers); + result["Xml"] = Jellyfin::Support::toJsonValue(m_xml); + result["IsSuccessful"] = Jellyfin::Support::toJsonValue(m_isSuccessful); + + return result; +} + +std::optional ControlResponse::headers() const { return m_headers; } + +void ControlResponse::setHeaders(std::optional newHeaders) { + m_headers = newHeaders; +} +bool ControlResponse::headersNull() const { + return !m_headers.has_value(); +} + +void ControlResponse::setHeadersNull() { + m_headers = std::nullopt; + +} +QString ControlResponse::xml() const { return m_xml; } + +void ControlResponse::setXml(QString newXml) { + m_xml = newXml; +} +bool ControlResponse::xmlNull() const { + return m_xml.isNull(); +} + +void ControlResponse::setXmlNull() { + m_xml.clear(); + +} +bool ControlResponse::isSuccessful() const { return m_isSuccessful; } + +void ControlResponse::setIsSuccessful(bool newIsSuccessful) { + m_isSuccessful = newIsSuccessful; +} + + +} // NS DTO + +namespace Support { + +using ControlResponse = Jellyfin::DTO::ControlResponse; + +template <> +ControlResponse fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ControlResponse::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/countryinfo.cpp b/core/src/dto/countryinfo.cpp new file mode 100644 index 0000000..8540fd9 --- /dev/null +++ b/core/src/dto/countryinfo.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CountryInfo::CountryInfo() {} + +CountryInfo::CountryInfo(const CountryInfo &other) : + + m_name(other.m_name), + m_displayName(other.m_displayName), + m_twoLetterISORegionName(other.m_twoLetterISORegionName), + m_threeLetterISORegionName(other.m_threeLetterISORegionName){} + + +void CountryInfo::replaceData(CountryInfo &other) { + m_name = other.m_name; + m_displayName = other.m_displayName; + m_twoLetterISORegionName = other.m_twoLetterISORegionName; + m_threeLetterISORegionName = other.m_threeLetterISORegionName; +} + +CountryInfo CountryInfo::fromJson(QJsonObject source) { + CountryInfo instance; + instance.setFromJson(source); + return instance; +} + + +void CountryInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_displayName = Jellyfin::Support::fromJsonValue(source["DisplayName"]); + m_twoLetterISORegionName = Jellyfin::Support::fromJsonValue(source["TwoLetterISORegionName"]); + m_threeLetterISORegionName = Jellyfin::Support::fromJsonValue(source["ThreeLetterISORegionName"]); + +} + +QJsonObject CountryInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["DisplayName"] = Jellyfin::Support::toJsonValue(m_displayName); + result["TwoLetterISORegionName"] = Jellyfin::Support::toJsonValue(m_twoLetterISORegionName); + result["ThreeLetterISORegionName"] = Jellyfin::Support::toJsonValue(m_threeLetterISORegionName); + + return result; +} + +QString CountryInfo::name() const { return m_name; } + +void CountryInfo::setName(QString newName) { + m_name = newName; +} +bool CountryInfo::nameNull() const { + return m_name.isNull(); +} + +void CountryInfo::setNameNull() { + m_name.clear(); + +} +QString CountryInfo::displayName() const { return m_displayName; } + +void CountryInfo::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; +} +bool CountryInfo::displayNameNull() const { + return m_displayName.isNull(); +} + +void CountryInfo::setDisplayNameNull() { + m_displayName.clear(); + +} +QString CountryInfo::twoLetterISORegionName() const { return m_twoLetterISORegionName; } + +void CountryInfo::setTwoLetterISORegionName(QString newTwoLetterISORegionName) { + m_twoLetterISORegionName = newTwoLetterISORegionName; +} +bool CountryInfo::twoLetterISORegionNameNull() const { + return m_twoLetterISORegionName.isNull(); +} + +void CountryInfo::setTwoLetterISORegionNameNull() { + m_twoLetterISORegionName.clear(); + +} +QString CountryInfo::threeLetterISORegionName() const { return m_threeLetterISORegionName; } + +void CountryInfo::setThreeLetterISORegionName(QString newThreeLetterISORegionName) { + m_threeLetterISORegionName = newThreeLetterISORegionName; +} +bool CountryInfo::threeLetterISORegionNameNull() const { + return m_threeLetterISORegionName.isNull(); +} + +void CountryInfo::setThreeLetterISORegionNameNull() { + m_threeLetterISORegionName.clear(); + +} + +} // NS DTO + +namespace Support { + +using CountryInfo = Jellyfin::DTO::CountryInfo; + +template <> +CountryInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CountryInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/createplaylistdto.cpp b/core/src/dto/createplaylistdto.cpp new file mode 100644 index 0000000..3914912 --- /dev/null +++ b/core/src/dto/createplaylistdto.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CreatePlaylistDto::CreatePlaylistDto() {} + +CreatePlaylistDto::CreatePlaylistDto(const CreatePlaylistDto &other) : + + m_name(other.m_name), + m_ids(other.m_ids), + m_userId(other.m_userId), + m_mediaType(other.m_mediaType){} + + +void CreatePlaylistDto::replaceData(CreatePlaylistDto &other) { + m_name = other.m_name; + m_ids = other.m_ids; + m_userId = other.m_userId; + m_mediaType = other.m_mediaType; +} + +CreatePlaylistDto CreatePlaylistDto::fromJson(QJsonObject source) { + CreatePlaylistDto instance; + instance.setFromJson(source); + return instance; +} + + +void CreatePlaylistDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_ids = Jellyfin::Support::fromJsonValue(source["Ids"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_mediaType = Jellyfin::Support::fromJsonValue(source["MediaType"]); + +} + +QJsonObject CreatePlaylistDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Ids"] = Jellyfin::Support::toJsonValue(m_ids); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["MediaType"] = Jellyfin::Support::toJsonValue(m_mediaType); + + return result; +} + +QString CreatePlaylistDto::name() const { return m_name; } + +void CreatePlaylistDto::setName(QString newName) { + m_name = newName; +} +bool CreatePlaylistDto::nameNull() const { + return m_name.isNull(); +} + +void CreatePlaylistDto::setNameNull() { + m_name.clear(); + +} +QStringList CreatePlaylistDto::ids() const { return m_ids; } + +void CreatePlaylistDto::setIds(QStringList newIds) { + m_ids = newIds; +} +bool CreatePlaylistDto::idsNull() const { + return m_ids.size() == 0; +} + +void CreatePlaylistDto::setIdsNull() { + m_ids.clear(); + +} +QString CreatePlaylistDto::userId() const { return m_userId; } + +void CreatePlaylistDto::setUserId(QString newUserId) { + m_userId = newUserId; +} +bool CreatePlaylistDto::userIdNull() const { + return m_userId.isNull(); +} + +void CreatePlaylistDto::setUserIdNull() { + m_userId.clear(); + +} +QString CreatePlaylistDto::mediaType() const { return m_mediaType; } + +void CreatePlaylistDto::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; +} +bool CreatePlaylistDto::mediaTypeNull() const { + return m_mediaType.isNull(); +} + +void CreatePlaylistDto::setMediaTypeNull() { + m_mediaType.clear(); + +} + +} // NS DTO + +namespace Support { + +using CreatePlaylistDto = Jellyfin::DTO::CreatePlaylistDto; + +template <> +CreatePlaylistDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CreatePlaylistDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/createuserbyname.cpp b/core/src/dto/createuserbyname.cpp new file mode 100644 index 0000000..0f1fc7a --- /dev/null +++ b/core/src/dto/createuserbyname.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CreateUserByName::CreateUserByName() {} + +CreateUserByName::CreateUserByName(const CreateUserByName &other) : + + m_name(other.m_name), + m_password(other.m_password){} + + +void CreateUserByName::replaceData(CreateUserByName &other) { + m_name = other.m_name; + m_password = other.m_password; +} + +CreateUserByName CreateUserByName::fromJson(QJsonObject source) { + CreateUserByName instance; + instance.setFromJson(source); + return instance; +} + + +void CreateUserByName::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_password = Jellyfin::Support::fromJsonValue(source["Password"]); + +} + +QJsonObject CreateUserByName::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Password"] = Jellyfin::Support::toJsonValue(m_password); + + return result; +} + +QString CreateUserByName::name() const { return m_name; } + +void CreateUserByName::setName(QString newName) { + m_name = newName; +} +bool CreateUserByName::nameNull() const { + return m_name.isNull(); +} + +void CreateUserByName::setNameNull() { + m_name.clear(); + +} +QString CreateUserByName::password() const { return m_password; } + +void CreateUserByName::setPassword(QString newPassword) { + m_password = newPassword; +} +bool CreateUserByName::passwordNull() const { + return m_password.isNull(); +} + +void CreateUserByName::setPasswordNull() { + m_password.clear(); + +} + +} // NS DTO + +namespace Support { + +using CreateUserByName = Jellyfin::DTO::CreateUserByName; + +template <> +CreateUserByName fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CreateUserByName::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/culturedto.cpp b/core/src/dto/culturedto.cpp new file mode 100644 index 0000000..2479928 --- /dev/null +++ b/core/src/dto/culturedto.cpp @@ -0,0 +1,160 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CultureDto::CultureDto() {} + +CultureDto::CultureDto(const CultureDto &other) : + + m_name(other.m_name), + m_displayName(other.m_displayName), + m_twoLetterISOLanguageName(other.m_twoLetterISOLanguageName), + m_threeLetterISOLanguageName(other.m_threeLetterISOLanguageName), + m_threeLetterISOLanguageNames(other.m_threeLetterISOLanguageNames){} + + +void CultureDto::replaceData(CultureDto &other) { + m_name = other.m_name; + m_displayName = other.m_displayName; + m_twoLetterISOLanguageName = other.m_twoLetterISOLanguageName; + m_threeLetterISOLanguageName = other.m_threeLetterISOLanguageName; + m_threeLetterISOLanguageNames = other.m_threeLetterISOLanguageNames; +} + +CultureDto CultureDto::fromJson(QJsonObject source) { + CultureDto instance; + instance.setFromJson(source); + return instance; +} + + +void CultureDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_displayName = Jellyfin::Support::fromJsonValue(source["DisplayName"]); + m_twoLetterISOLanguageName = Jellyfin::Support::fromJsonValue(source["TwoLetterISOLanguageName"]); + m_threeLetterISOLanguageName = Jellyfin::Support::fromJsonValue(source["ThreeLetterISOLanguageName"]); + m_threeLetterISOLanguageNames = Jellyfin::Support::fromJsonValue(source["ThreeLetterISOLanguageNames"]); + +} + +QJsonObject CultureDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["DisplayName"] = Jellyfin::Support::toJsonValue(m_displayName); + result["TwoLetterISOLanguageName"] = Jellyfin::Support::toJsonValue(m_twoLetterISOLanguageName); + result["ThreeLetterISOLanguageName"] = Jellyfin::Support::toJsonValue(m_threeLetterISOLanguageName); + result["ThreeLetterISOLanguageNames"] = Jellyfin::Support::toJsonValue(m_threeLetterISOLanguageNames); + + return result; +} + +QString CultureDto::name() const { return m_name; } + +void CultureDto::setName(QString newName) { + m_name = newName; +} +bool CultureDto::nameNull() const { + return m_name.isNull(); +} + +void CultureDto::setNameNull() { + m_name.clear(); + +} +QString CultureDto::displayName() const { return m_displayName; } + +void CultureDto::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; +} +bool CultureDto::displayNameNull() const { + return m_displayName.isNull(); +} + +void CultureDto::setDisplayNameNull() { + m_displayName.clear(); + +} +QString CultureDto::twoLetterISOLanguageName() const { return m_twoLetterISOLanguageName; } + +void CultureDto::setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName) { + m_twoLetterISOLanguageName = newTwoLetterISOLanguageName; +} +bool CultureDto::twoLetterISOLanguageNameNull() const { + return m_twoLetterISOLanguageName.isNull(); +} + +void CultureDto::setTwoLetterISOLanguageNameNull() { + m_twoLetterISOLanguageName.clear(); + +} +QString CultureDto::threeLetterISOLanguageName() const { return m_threeLetterISOLanguageName; } + +void CultureDto::setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName) { + m_threeLetterISOLanguageName = newThreeLetterISOLanguageName; +} +bool CultureDto::threeLetterISOLanguageNameNull() const { + return m_threeLetterISOLanguageName.isNull(); +} + +void CultureDto::setThreeLetterISOLanguageNameNull() { + m_threeLetterISOLanguageName.clear(); + +} +QStringList CultureDto::threeLetterISOLanguageNames() const { return m_threeLetterISOLanguageNames; } + +void CultureDto::setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames) { + m_threeLetterISOLanguageNames = newThreeLetterISOLanguageNames; +} +bool CultureDto::threeLetterISOLanguageNamesNull() const { + return m_threeLetterISOLanguageNames.size() == 0; +} + +void CultureDto::setThreeLetterISOLanguageNamesNull() { + m_threeLetterISOLanguageNames.clear(); + +} + +} // NS DTO + +namespace Support { + +using CultureDto = Jellyfin::DTO::CultureDto; + +template <> +CultureDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return CultureDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/dayofweek.cpp b/core/src/dto/dayofweek.cpp new file mode 100644 index 0000000..b5b3f1c --- /dev/null +++ b/core/src/dto/dayofweek.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DayOfWeekClass::DayOfWeekClass() {} + + +} // NS DTO + +namespace Support { + +using DayOfWeek = Jellyfin::DTO::DayOfWeek; + +template <> +DayOfWeek fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return DayOfWeek::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Sunday")) { + return DayOfWeek::Sunday; + } + if (str == QStringLiteral("Monday")) { + return DayOfWeek::Monday; + } + if (str == QStringLiteral("Tuesday")) { + return DayOfWeek::Tuesday; + } + if (str == QStringLiteral("Wednesday")) { + return DayOfWeek::Wednesday; + } + if (str == QStringLiteral("Thursday")) { + return DayOfWeek::Thursday; + } + if (str == QStringLiteral("Friday")) { + return DayOfWeek::Friday; + } + if (str == QStringLiteral("Saturday")) { + return DayOfWeek::Saturday; + } + + return DayOfWeek::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/daypattern.cpp b/core/src/dto/daypattern.cpp new file mode 100644 index 0000000..a1d0265 --- /dev/null +++ b/core/src/dto/daypattern.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DayPatternClass::DayPatternClass() {} + + +} // NS DTO + +namespace Support { + +using DayPattern = Jellyfin::DTO::DayPattern; + +template <> +DayPattern fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return DayPattern::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Daily")) { + return DayPattern::Daily; + } + if (str == QStringLiteral("Weekdays")) { + return DayPattern::Weekdays; + } + if (str == QStringLiteral("Weekends")) { + return DayPattern::Weekends; + } + + return DayPattern::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/defaultdirectorybrowserinfodto.cpp b/core/src/dto/defaultdirectorybrowserinfodto.cpp new file mode 100644 index 0000000..259f2af --- /dev/null +++ b/core/src/dto/defaultdirectorybrowserinfodto.cpp @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DefaultDirectoryBrowserInfoDto::DefaultDirectoryBrowserInfoDto() {} + +DefaultDirectoryBrowserInfoDto::DefaultDirectoryBrowserInfoDto(const DefaultDirectoryBrowserInfoDto &other) : + + m_path(other.m_path){} + + +void DefaultDirectoryBrowserInfoDto::replaceData(DefaultDirectoryBrowserInfoDto &other) { + m_path = other.m_path; +} + +DefaultDirectoryBrowserInfoDto DefaultDirectoryBrowserInfoDto::fromJson(QJsonObject source) { + DefaultDirectoryBrowserInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void DefaultDirectoryBrowserInfoDto::setFromJson(QJsonObject source) { + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + +} + +QJsonObject DefaultDirectoryBrowserInfoDto::toJson() { + QJsonObject result; + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + + return result; +} + +QString DefaultDirectoryBrowserInfoDto::path() const { return m_path; } + +void DefaultDirectoryBrowserInfoDto::setPath(QString newPath) { + m_path = newPath; +} +bool DefaultDirectoryBrowserInfoDto::pathNull() const { + return m_path.isNull(); +} + +void DefaultDirectoryBrowserInfoDto::setPathNull() { + m_path.clear(); + +} + +} // NS DTO + +namespace Support { + +using DefaultDirectoryBrowserInfoDto = Jellyfin::DTO::DefaultDirectoryBrowserInfoDto; + +template <> +DefaultDirectoryBrowserInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DefaultDirectoryBrowserInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceidentification.cpp b/core/src/dto/deviceidentification.cpp new file mode 100644 index 0000000..8976aef --- /dev/null +++ b/core/src/dto/deviceidentification.cpp @@ -0,0 +1,228 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceIdentification::DeviceIdentification() {} + +DeviceIdentification::DeviceIdentification(const DeviceIdentification &other) : + + m_friendlyName(other.m_friendlyName), + m_modelNumber(other.m_modelNumber), + m_serialNumber(other.m_serialNumber), + m_modelName(other.m_modelName), + m_modelDescription(other.m_modelDescription), + m_modelUrl(other.m_modelUrl), + m_manufacturer(other.m_manufacturer), + m_manufacturerUrl(other.m_manufacturerUrl), + m_headers(other.m_headers){} + + +void DeviceIdentification::replaceData(DeviceIdentification &other) { + m_friendlyName = other.m_friendlyName; + m_modelNumber = other.m_modelNumber; + m_serialNumber = other.m_serialNumber; + m_modelName = other.m_modelName; + m_modelDescription = other.m_modelDescription; + m_modelUrl = other.m_modelUrl; + m_manufacturer = other.m_manufacturer; + m_manufacturerUrl = other.m_manufacturerUrl; + m_headers = other.m_headers; +} + +DeviceIdentification DeviceIdentification::fromJson(QJsonObject source) { + DeviceIdentification instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceIdentification::setFromJson(QJsonObject source) { + m_friendlyName = Jellyfin::Support::fromJsonValue(source["FriendlyName"]); + m_modelNumber = Jellyfin::Support::fromJsonValue(source["ModelNumber"]); + m_serialNumber = Jellyfin::Support::fromJsonValue(source["SerialNumber"]); + m_modelName = Jellyfin::Support::fromJsonValue(source["ModelName"]); + m_modelDescription = Jellyfin::Support::fromJsonValue(source["ModelDescription"]); + m_modelUrl = Jellyfin::Support::fromJsonValue(source["ModelUrl"]); + m_manufacturer = Jellyfin::Support::fromJsonValue(source["Manufacturer"]); + m_manufacturerUrl = Jellyfin::Support::fromJsonValue(source["ManufacturerUrl"]); + m_headers = Jellyfin::Support::fromJsonValue>>(source["Headers"]); + +} + +QJsonObject DeviceIdentification::toJson() { + QJsonObject result; + result["FriendlyName"] = Jellyfin::Support::toJsonValue(m_friendlyName); + result["ModelNumber"] = Jellyfin::Support::toJsonValue(m_modelNumber); + result["SerialNumber"] = Jellyfin::Support::toJsonValue(m_serialNumber); + result["ModelName"] = Jellyfin::Support::toJsonValue(m_modelName); + result["ModelDescription"] = Jellyfin::Support::toJsonValue(m_modelDescription); + result["ModelUrl"] = Jellyfin::Support::toJsonValue(m_modelUrl); + result["Manufacturer"] = Jellyfin::Support::toJsonValue(m_manufacturer); + result["ManufacturerUrl"] = Jellyfin::Support::toJsonValue(m_manufacturerUrl); + result["Headers"] = Jellyfin::Support::toJsonValue>>(m_headers); + + return result; +} + +QString DeviceIdentification::friendlyName() const { return m_friendlyName; } + +void DeviceIdentification::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; +} +bool DeviceIdentification::friendlyNameNull() const { + return m_friendlyName.isNull(); +} + +void DeviceIdentification::setFriendlyNameNull() { + m_friendlyName.clear(); + +} +QString DeviceIdentification::modelNumber() const { return m_modelNumber; } + +void DeviceIdentification::setModelNumber(QString newModelNumber) { + m_modelNumber = newModelNumber; +} +bool DeviceIdentification::modelNumberNull() const { + return m_modelNumber.isNull(); +} + +void DeviceIdentification::setModelNumberNull() { + m_modelNumber.clear(); + +} +QString DeviceIdentification::serialNumber() const { return m_serialNumber; } + +void DeviceIdentification::setSerialNumber(QString newSerialNumber) { + m_serialNumber = newSerialNumber; +} +bool DeviceIdentification::serialNumberNull() const { + return m_serialNumber.isNull(); +} + +void DeviceIdentification::setSerialNumberNull() { + m_serialNumber.clear(); + +} +QString DeviceIdentification::modelName() const { return m_modelName; } + +void DeviceIdentification::setModelName(QString newModelName) { + m_modelName = newModelName; +} +bool DeviceIdentification::modelNameNull() const { + return m_modelName.isNull(); +} + +void DeviceIdentification::setModelNameNull() { + m_modelName.clear(); + +} +QString DeviceIdentification::modelDescription() const { return m_modelDescription; } + +void DeviceIdentification::setModelDescription(QString newModelDescription) { + m_modelDescription = newModelDescription; +} +bool DeviceIdentification::modelDescriptionNull() const { + return m_modelDescription.isNull(); +} + +void DeviceIdentification::setModelDescriptionNull() { + m_modelDescription.clear(); + +} +QString DeviceIdentification::modelUrl() const { return m_modelUrl; } + +void DeviceIdentification::setModelUrl(QString newModelUrl) { + m_modelUrl = newModelUrl; +} +bool DeviceIdentification::modelUrlNull() const { + return m_modelUrl.isNull(); +} + +void DeviceIdentification::setModelUrlNull() { + m_modelUrl.clear(); + +} +QString DeviceIdentification::manufacturer() const { return m_manufacturer; } + +void DeviceIdentification::setManufacturer(QString newManufacturer) { + m_manufacturer = newManufacturer; +} +bool DeviceIdentification::manufacturerNull() const { + return m_manufacturer.isNull(); +} + +void DeviceIdentification::setManufacturerNull() { + m_manufacturer.clear(); + +} +QString DeviceIdentification::manufacturerUrl() const { return m_manufacturerUrl; } + +void DeviceIdentification::setManufacturerUrl(QString newManufacturerUrl) { + m_manufacturerUrl = newManufacturerUrl; +} +bool DeviceIdentification::manufacturerUrlNull() const { + return m_manufacturerUrl.isNull(); +} + +void DeviceIdentification::setManufacturerUrlNull() { + m_manufacturerUrl.clear(); + +} +QList> DeviceIdentification::headers() const { return m_headers; } + +void DeviceIdentification::setHeaders(QList> newHeaders) { + m_headers = newHeaders; +} +bool DeviceIdentification::headersNull() const { + return m_headers.size() == 0; +} + +void DeviceIdentification::setHeadersNull() { + m_headers.clear(); + +} + +} // NS DTO + +namespace Support { + +using DeviceIdentification = Jellyfin::DTO::DeviceIdentification; + +template <> +DeviceIdentification fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceIdentification::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceinfo.cpp b/core/src/dto/deviceinfo.cpp new file mode 100644 index 0000000..83644ce --- /dev/null +++ b/core/src/dto/deviceinfo.cpp @@ -0,0 +1,207 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceInfo::DeviceInfo() {} + +DeviceInfo::DeviceInfo(const DeviceInfo &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_lastUserName(other.m_lastUserName), + m_appName(other.m_appName), + m_appVersion(other.m_appVersion), + m_lastUserId(other.m_lastUserId), + m_dateLastActivity(other.m_dateLastActivity), + m_capabilities(other.m_capabilities), + m_iconUrl(other.m_iconUrl){} + + +void DeviceInfo::replaceData(DeviceInfo &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; + m_lastUserName = other.m_lastUserName; + m_appName = other.m_appName; + m_appVersion = other.m_appVersion; + m_lastUserId = other.m_lastUserId; + m_dateLastActivity = other.m_dateLastActivity; + m_capabilities = other.m_capabilities; + m_iconUrl = other.m_iconUrl; +} + +DeviceInfo DeviceInfo::fromJson(QJsonObject source) { + DeviceInfo instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_lastUserName = Jellyfin::Support::fromJsonValue(source["LastUserName"]); + m_appName = Jellyfin::Support::fromJsonValue(source["AppName"]); + m_appVersion = Jellyfin::Support::fromJsonValue(source["AppVersion"]); + m_lastUserId = Jellyfin::Support::fromJsonValue(source["LastUserId"]); + m_dateLastActivity = Jellyfin::Support::fromJsonValue(source["DateLastActivity"]); + m_capabilities = Jellyfin::Support::fromJsonValue>(source["Capabilities"]); + m_iconUrl = Jellyfin::Support::fromJsonValue(source["IconUrl"]); + +} + +QJsonObject DeviceInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["LastUserName"] = Jellyfin::Support::toJsonValue(m_lastUserName); + result["AppName"] = Jellyfin::Support::toJsonValue(m_appName); + result["AppVersion"] = Jellyfin::Support::toJsonValue(m_appVersion); + result["LastUserId"] = Jellyfin::Support::toJsonValue(m_lastUserId); + result["DateLastActivity"] = Jellyfin::Support::toJsonValue(m_dateLastActivity); + result["Capabilities"] = Jellyfin::Support::toJsonValue>(m_capabilities); + result["IconUrl"] = Jellyfin::Support::toJsonValue(m_iconUrl); + + return result; +} + +QString DeviceInfo::name() const { return m_name; } + +void DeviceInfo::setName(QString newName) { + m_name = newName; +} +bool DeviceInfo::nameNull() const { + return m_name.isNull(); +} + +void DeviceInfo::setNameNull() { + m_name.clear(); + +} +QString DeviceInfo::jellyfinId() const { return m_jellyfinId; } + +void DeviceInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool DeviceInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void DeviceInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString DeviceInfo::lastUserName() const { return m_lastUserName; } + +void DeviceInfo::setLastUserName(QString newLastUserName) { + m_lastUserName = newLastUserName; +} +bool DeviceInfo::lastUserNameNull() const { + return m_lastUserName.isNull(); +} + +void DeviceInfo::setLastUserNameNull() { + m_lastUserName.clear(); + +} +QString DeviceInfo::appName() const { return m_appName; } + +void DeviceInfo::setAppName(QString newAppName) { + m_appName = newAppName; +} +bool DeviceInfo::appNameNull() const { + return m_appName.isNull(); +} + +void DeviceInfo::setAppNameNull() { + m_appName.clear(); + +} +QString DeviceInfo::appVersion() const { return m_appVersion; } + +void DeviceInfo::setAppVersion(QString newAppVersion) { + m_appVersion = newAppVersion; +} +bool DeviceInfo::appVersionNull() const { + return m_appVersion.isNull(); +} + +void DeviceInfo::setAppVersionNull() { + m_appVersion.clear(); + +} +QString DeviceInfo::lastUserId() const { return m_lastUserId; } + +void DeviceInfo::setLastUserId(QString newLastUserId) { + m_lastUserId = newLastUserId; +} + +QDateTime DeviceInfo::dateLastActivity() const { return m_dateLastActivity; } + +void DeviceInfo::setDateLastActivity(QDateTime newDateLastActivity) { + m_dateLastActivity = newDateLastActivity; +} + +QSharedPointer DeviceInfo::capabilities() const { return m_capabilities; } + +void DeviceInfo::setCapabilities(QSharedPointer newCapabilities) { + m_capabilities = newCapabilities; +} + +QString DeviceInfo::iconUrl() const { return m_iconUrl; } + +void DeviceInfo::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; +} +bool DeviceInfo::iconUrlNull() const { + return m_iconUrl.isNull(); +} + +void DeviceInfo::setIconUrlNull() { + m_iconUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using DeviceInfo = Jellyfin::DTO::DeviceInfo; + +template <> +DeviceInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceinfoqueryresult.cpp b/core/src/dto/deviceinfoqueryresult.cpp new file mode 100644 index 0000000..d34687e --- /dev/null +++ b/core/src/dto/deviceinfoqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceInfoQueryResult::DeviceInfoQueryResult() {} + +DeviceInfoQueryResult::DeviceInfoQueryResult(const DeviceInfoQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void DeviceInfoQueryResult::replaceData(DeviceInfoQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +DeviceInfoQueryResult DeviceInfoQueryResult::fromJson(QJsonObject source) { + DeviceInfoQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceInfoQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject DeviceInfoQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> DeviceInfoQueryResult::items() const { return m_items; } + +void DeviceInfoQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool DeviceInfoQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void DeviceInfoQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 DeviceInfoQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void DeviceInfoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 DeviceInfoQueryResult::startIndex() const { return m_startIndex; } + +void DeviceInfoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using DeviceInfoQueryResult = Jellyfin::DTO::DeviceInfoQueryResult; + +template <> +DeviceInfoQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceInfoQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceoptions.cpp b/core/src/dto/deviceoptions.cpp new file mode 100644 index 0000000..02b60dc --- /dev/null +++ b/core/src/dto/deviceoptions.cpp @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceOptions::DeviceOptions() {} + +DeviceOptions::DeviceOptions(const DeviceOptions &other) : + + m_customName(other.m_customName){} + + +void DeviceOptions::replaceData(DeviceOptions &other) { + m_customName = other.m_customName; +} + +DeviceOptions DeviceOptions::fromJson(QJsonObject source) { + DeviceOptions instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceOptions::setFromJson(QJsonObject source) { + m_customName = Jellyfin::Support::fromJsonValue(source["CustomName"]); + +} + +QJsonObject DeviceOptions::toJson() { + QJsonObject result; + result["CustomName"] = Jellyfin::Support::toJsonValue(m_customName); + + return result; +} + +QString DeviceOptions::customName() const { return m_customName; } + +void DeviceOptions::setCustomName(QString newCustomName) { + m_customName = newCustomName; +} +bool DeviceOptions::customNameNull() const { + return m_customName.isNull(); +} + +void DeviceOptions::setCustomNameNull() { + m_customName.clear(); + +} + +} // NS DTO + +namespace Support { + +using DeviceOptions = Jellyfin::DTO::DeviceOptions; + +template <> +DeviceOptions fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceOptions::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceprofile.cpp b/core/src/dto/deviceprofile.cpp new file mode 100644 index 0000000..34ddb3e --- /dev/null +++ b/core/src/dto/deviceprofile.cpp @@ -0,0 +1,661 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceProfile::DeviceProfile() {} + +DeviceProfile::DeviceProfile(const DeviceProfile &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId), + m_identification(other.m_identification), + m_friendlyName(other.m_friendlyName), + m_manufacturer(other.m_manufacturer), + m_manufacturerUrl(other.m_manufacturerUrl), + m_modelName(other.m_modelName), + m_modelDescription(other.m_modelDescription), + m_modelNumber(other.m_modelNumber), + m_modelUrl(other.m_modelUrl), + m_serialNumber(other.m_serialNumber), + m_enableAlbumArtInDidl(other.m_enableAlbumArtInDidl), + m_enableSingleAlbumArtLimit(other.m_enableSingleAlbumArtLimit), + m_enableSingleSubtitleLimit(other.m_enableSingleSubtitleLimit), + m_supportedMediaTypes(other.m_supportedMediaTypes), + m_userId(other.m_userId), + m_albumArtPn(other.m_albumArtPn), + m_maxAlbumArtWidth(other.m_maxAlbumArtWidth), + m_maxAlbumArtHeight(other.m_maxAlbumArtHeight), + m_maxIconWidth(other.m_maxIconWidth), + m_maxIconHeight(other.m_maxIconHeight), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_maxStaticBitrate(other.m_maxStaticBitrate), + m_musicStreamingTranscodingBitrate(other.m_musicStreamingTranscodingBitrate), + m_maxStaticMusicBitrate(other.m_maxStaticMusicBitrate), + m_sonyAggregationFlags(other.m_sonyAggregationFlags), + m_protocolInfo(other.m_protocolInfo), + m_timelineOffsetSeconds(other.m_timelineOffsetSeconds), + m_requiresPlainVideoItems(other.m_requiresPlainVideoItems), + m_requiresPlainFolders(other.m_requiresPlainFolders), + m_enableMSMediaReceiverRegistrar(other.m_enableMSMediaReceiverRegistrar), + m_ignoreTranscodeByteRangeRequests(other.m_ignoreTranscodeByteRangeRequests), + m_xmlRootAttributes(other.m_xmlRootAttributes), + m_directPlayProfiles(other.m_directPlayProfiles), + m_transcodingProfiles(other.m_transcodingProfiles), + m_containerProfiles(other.m_containerProfiles), + m_codecProfiles(other.m_codecProfiles), + m_responseProfiles(other.m_responseProfiles), + m_subtitleProfiles(other.m_subtitleProfiles){} + + +void DeviceProfile::replaceData(DeviceProfile &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; + m_identification = other.m_identification; + m_friendlyName = other.m_friendlyName; + m_manufacturer = other.m_manufacturer; + m_manufacturerUrl = other.m_manufacturerUrl; + m_modelName = other.m_modelName; + m_modelDescription = other.m_modelDescription; + m_modelNumber = other.m_modelNumber; + m_modelUrl = other.m_modelUrl; + m_serialNumber = other.m_serialNumber; + m_enableAlbumArtInDidl = other.m_enableAlbumArtInDidl; + m_enableSingleAlbumArtLimit = other.m_enableSingleAlbumArtLimit; + m_enableSingleSubtitleLimit = other.m_enableSingleSubtitleLimit; + m_supportedMediaTypes = other.m_supportedMediaTypes; + m_userId = other.m_userId; + m_albumArtPn = other.m_albumArtPn; + m_maxAlbumArtWidth = other.m_maxAlbumArtWidth; + m_maxAlbumArtHeight = other.m_maxAlbumArtHeight; + m_maxIconWidth = other.m_maxIconWidth; + m_maxIconHeight = other.m_maxIconHeight; + m_maxStreamingBitrate = other.m_maxStreamingBitrate; + m_maxStaticBitrate = other.m_maxStaticBitrate; + m_musicStreamingTranscodingBitrate = other.m_musicStreamingTranscodingBitrate; + m_maxStaticMusicBitrate = other.m_maxStaticMusicBitrate; + m_sonyAggregationFlags = other.m_sonyAggregationFlags; + m_protocolInfo = other.m_protocolInfo; + m_timelineOffsetSeconds = other.m_timelineOffsetSeconds; + m_requiresPlainVideoItems = other.m_requiresPlainVideoItems; + m_requiresPlainFolders = other.m_requiresPlainFolders; + m_enableMSMediaReceiverRegistrar = other.m_enableMSMediaReceiverRegistrar; + m_ignoreTranscodeByteRangeRequests = other.m_ignoreTranscodeByteRangeRequests; + m_xmlRootAttributes = other.m_xmlRootAttributes; + m_directPlayProfiles = other.m_directPlayProfiles; + m_transcodingProfiles = other.m_transcodingProfiles; + m_containerProfiles = other.m_containerProfiles; + m_codecProfiles = other.m_codecProfiles; + m_responseProfiles = other.m_responseProfiles; + m_subtitleProfiles = other.m_subtitleProfiles; +} + +DeviceProfile DeviceProfile::fromJson(QJsonObject source) { + DeviceProfile instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceProfile::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_identification = Jellyfin::Support::fromJsonValue>(source["Identification"]); + m_friendlyName = Jellyfin::Support::fromJsonValue(source["FriendlyName"]); + m_manufacturer = Jellyfin::Support::fromJsonValue(source["Manufacturer"]); + m_manufacturerUrl = Jellyfin::Support::fromJsonValue(source["ManufacturerUrl"]); + m_modelName = Jellyfin::Support::fromJsonValue(source["ModelName"]); + m_modelDescription = Jellyfin::Support::fromJsonValue(source["ModelDescription"]); + m_modelNumber = Jellyfin::Support::fromJsonValue(source["ModelNumber"]); + m_modelUrl = Jellyfin::Support::fromJsonValue(source["ModelUrl"]); + m_serialNumber = Jellyfin::Support::fromJsonValue(source["SerialNumber"]); + m_enableAlbumArtInDidl = Jellyfin::Support::fromJsonValue(source["EnableAlbumArtInDidl"]); + m_enableSingleAlbumArtLimit = Jellyfin::Support::fromJsonValue(source["EnableSingleAlbumArtLimit"]); + m_enableSingleSubtitleLimit = Jellyfin::Support::fromJsonValue(source["EnableSingleSubtitleLimit"]); + m_supportedMediaTypes = Jellyfin::Support::fromJsonValue(source["SupportedMediaTypes"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_albumArtPn = Jellyfin::Support::fromJsonValue(source["AlbumArtPn"]); + m_maxAlbumArtWidth = Jellyfin::Support::fromJsonValue(source["MaxAlbumArtWidth"]); + m_maxAlbumArtHeight = Jellyfin::Support::fromJsonValue(source["MaxAlbumArtHeight"]); + m_maxIconWidth = Jellyfin::Support::fromJsonValue>(source["MaxIconWidth"]); + m_maxIconHeight = Jellyfin::Support::fromJsonValue>(source["MaxIconHeight"]); + m_maxStreamingBitrate = Jellyfin::Support::fromJsonValue>(source["MaxStreamingBitrate"]); + m_maxStaticBitrate = Jellyfin::Support::fromJsonValue>(source["MaxStaticBitrate"]); + m_musicStreamingTranscodingBitrate = Jellyfin::Support::fromJsonValue>(source["MusicStreamingTranscodingBitrate"]); + m_maxStaticMusicBitrate = Jellyfin::Support::fromJsonValue>(source["MaxStaticMusicBitrate"]); + m_sonyAggregationFlags = Jellyfin::Support::fromJsonValue(source["SonyAggregationFlags"]); + m_protocolInfo = Jellyfin::Support::fromJsonValue(source["ProtocolInfo"]); + m_timelineOffsetSeconds = Jellyfin::Support::fromJsonValue(source["TimelineOffsetSeconds"]); + m_requiresPlainVideoItems = Jellyfin::Support::fromJsonValue(source["RequiresPlainVideoItems"]); + m_requiresPlainFolders = Jellyfin::Support::fromJsonValue(source["RequiresPlainFolders"]); + m_enableMSMediaReceiverRegistrar = Jellyfin::Support::fromJsonValue(source["EnableMSMediaReceiverRegistrar"]); + m_ignoreTranscodeByteRangeRequests = Jellyfin::Support::fromJsonValue(source["IgnoreTranscodeByteRangeRequests"]); + m_xmlRootAttributes = Jellyfin::Support::fromJsonValue>>(source["XmlRootAttributes"]); + m_directPlayProfiles = Jellyfin::Support::fromJsonValue>>(source["DirectPlayProfiles"]); + m_transcodingProfiles = Jellyfin::Support::fromJsonValue>>(source["TranscodingProfiles"]); + m_containerProfiles = Jellyfin::Support::fromJsonValue>>(source["ContainerProfiles"]); + m_codecProfiles = Jellyfin::Support::fromJsonValue>>(source["CodecProfiles"]); + m_responseProfiles = Jellyfin::Support::fromJsonValue>>(source["ResponseProfiles"]); + m_subtitleProfiles = Jellyfin::Support::fromJsonValue>>(source["SubtitleProfiles"]); + +} + +QJsonObject DeviceProfile::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Identification"] = Jellyfin::Support::toJsonValue>(m_identification); + result["FriendlyName"] = Jellyfin::Support::toJsonValue(m_friendlyName); + result["Manufacturer"] = Jellyfin::Support::toJsonValue(m_manufacturer); + result["ManufacturerUrl"] = Jellyfin::Support::toJsonValue(m_manufacturerUrl); + result["ModelName"] = Jellyfin::Support::toJsonValue(m_modelName); + result["ModelDescription"] = Jellyfin::Support::toJsonValue(m_modelDescription); + result["ModelNumber"] = Jellyfin::Support::toJsonValue(m_modelNumber); + result["ModelUrl"] = Jellyfin::Support::toJsonValue(m_modelUrl); + result["SerialNumber"] = Jellyfin::Support::toJsonValue(m_serialNumber); + result["EnableAlbumArtInDidl"] = Jellyfin::Support::toJsonValue(m_enableAlbumArtInDidl); + result["EnableSingleAlbumArtLimit"] = Jellyfin::Support::toJsonValue(m_enableSingleAlbumArtLimit); + result["EnableSingleSubtitleLimit"] = Jellyfin::Support::toJsonValue(m_enableSingleSubtitleLimit); + result["SupportedMediaTypes"] = Jellyfin::Support::toJsonValue(m_supportedMediaTypes); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["AlbumArtPn"] = Jellyfin::Support::toJsonValue(m_albumArtPn); + result["MaxAlbumArtWidth"] = Jellyfin::Support::toJsonValue(m_maxAlbumArtWidth); + result["MaxAlbumArtHeight"] = Jellyfin::Support::toJsonValue(m_maxAlbumArtHeight); + result["MaxIconWidth"] = Jellyfin::Support::toJsonValue>(m_maxIconWidth); + result["MaxIconHeight"] = Jellyfin::Support::toJsonValue>(m_maxIconHeight); + result["MaxStreamingBitrate"] = Jellyfin::Support::toJsonValue>(m_maxStreamingBitrate); + result["MaxStaticBitrate"] = Jellyfin::Support::toJsonValue>(m_maxStaticBitrate); + result["MusicStreamingTranscodingBitrate"] = Jellyfin::Support::toJsonValue>(m_musicStreamingTranscodingBitrate); + result["MaxStaticMusicBitrate"] = Jellyfin::Support::toJsonValue>(m_maxStaticMusicBitrate); + result["SonyAggregationFlags"] = Jellyfin::Support::toJsonValue(m_sonyAggregationFlags); + result["ProtocolInfo"] = Jellyfin::Support::toJsonValue(m_protocolInfo); + result["TimelineOffsetSeconds"] = Jellyfin::Support::toJsonValue(m_timelineOffsetSeconds); + result["RequiresPlainVideoItems"] = Jellyfin::Support::toJsonValue(m_requiresPlainVideoItems); + result["RequiresPlainFolders"] = Jellyfin::Support::toJsonValue(m_requiresPlainFolders); + result["EnableMSMediaReceiverRegistrar"] = Jellyfin::Support::toJsonValue(m_enableMSMediaReceiverRegistrar); + result["IgnoreTranscodeByteRangeRequests"] = Jellyfin::Support::toJsonValue(m_ignoreTranscodeByteRangeRequests); + result["XmlRootAttributes"] = Jellyfin::Support::toJsonValue>>(m_xmlRootAttributes); + result["DirectPlayProfiles"] = Jellyfin::Support::toJsonValue>>(m_directPlayProfiles); + result["TranscodingProfiles"] = Jellyfin::Support::toJsonValue>>(m_transcodingProfiles); + result["ContainerProfiles"] = Jellyfin::Support::toJsonValue>>(m_containerProfiles); + result["CodecProfiles"] = Jellyfin::Support::toJsonValue>>(m_codecProfiles); + result["ResponseProfiles"] = Jellyfin::Support::toJsonValue>>(m_responseProfiles); + result["SubtitleProfiles"] = Jellyfin::Support::toJsonValue>>(m_subtitleProfiles); + + return result; +} + +QString DeviceProfile::name() const { return m_name; } + +void DeviceProfile::setName(QString newName) { + m_name = newName; +} +bool DeviceProfile::nameNull() const { + return m_name.isNull(); +} + +void DeviceProfile::setNameNull() { + m_name.clear(); + +} +QString DeviceProfile::jellyfinId() const { return m_jellyfinId; } + +void DeviceProfile::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool DeviceProfile::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void DeviceProfile::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QSharedPointer DeviceProfile::identification() const { return m_identification; } + +void DeviceProfile::setIdentification(QSharedPointer newIdentification) { + m_identification = newIdentification; +} + +QString DeviceProfile::friendlyName() const { return m_friendlyName; } + +void DeviceProfile::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; +} +bool DeviceProfile::friendlyNameNull() const { + return m_friendlyName.isNull(); +} + +void DeviceProfile::setFriendlyNameNull() { + m_friendlyName.clear(); + +} +QString DeviceProfile::manufacturer() const { return m_manufacturer; } + +void DeviceProfile::setManufacturer(QString newManufacturer) { + m_manufacturer = newManufacturer; +} +bool DeviceProfile::manufacturerNull() const { + return m_manufacturer.isNull(); +} + +void DeviceProfile::setManufacturerNull() { + m_manufacturer.clear(); + +} +QString DeviceProfile::manufacturerUrl() const { return m_manufacturerUrl; } + +void DeviceProfile::setManufacturerUrl(QString newManufacturerUrl) { + m_manufacturerUrl = newManufacturerUrl; +} +bool DeviceProfile::manufacturerUrlNull() const { + return m_manufacturerUrl.isNull(); +} + +void DeviceProfile::setManufacturerUrlNull() { + m_manufacturerUrl.clear(); + +} +QString DeviceProfile::modelName() const { return m_modelName; } + +void DeviceProfile::setModelName(QString newModelName) { + m_modelName = newModelName; +} +bool DeviceProfile::modelNameNull() const { + return m_modelName.isNull(); +} + +void DeviceProfile::setModelNameNull() { + m_modelName.clear(); + +} +QString DeviceProfile::modelDescription() const { return m_modelDescription; } + +void DeviceProfile::setModelDescription(QString newModelDescription) { + m_modelDescription = newModelDescription; +} +bool DeviceProfile::modelDescriptionNull() const { + return m_modelDescription.isNull(); +} + +void DeviceProfile::setModelDescriptionNull() { + m_modelDescription.clear(); + +} +QString DeviceProfile::modelNumber() const { return m_modelNumber; } + +void DeviceProfile::setModelNumber(QString newModelNumber) { + m_modelNumber = newModelNumber; +} +bool DeviceProfile::modelNumberNull() const { + return m_modelNumber.isNull(); +} + +void DeviceProfile::setModelNumberNull() { + m_modelNumber.clear(); + +} +QString DeviceProfile::modelUrl() const { return m_modelUrl; } + +void DeviceProfile::setModelUrl(QString newModelUrl) { + m_modelUrl = newModelUrl; +} +bool DeviceProfile::modelUrlNull() const { + return m_modelUrl.isNull(); +} + +void DeviceProfile::setModelUrlNull() { + m_modelUrl.clear(); + +} +QString DeviceProfile::serialNumber() const { return m_serialNumber; } + +void DeviceProfile::setSerialNumber(QString newSerialNumber) { + m_serialNumber = newSerialNumber; +} +bool DeviceProfile::serialNumberNull() const { + return m_serialNumber.isNull(); +} + +void DeviceProfile::setSerialNumberNull() { + m_serialNumber.clear(); + +} +bool DeviceProfile::enableAlbumArtInDidl() const { return m_enableAlbumArtInDidl; } + +void DeviceProfile::setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl) { + m_enableAlbumArtInDidl = newEnableAlbumArtInDidl; +} + +bool DeviceProfile::enableSingleAlbumArtLimit() const { return m_enableSingleAlbumArtLimit; } + +void DeviceProfile::setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit) { + m_enableSingleAlbumArtLimit = newEnableSingleAlbumArtLimit; +} + +bool DeviceProfile::enableSingleSubtitleLimit() const { return m_enableSingleSubtitleLimit; } + +void DeviceProfile::setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit) { + m_enableSingleSubtitleLimit = newEnableSingleSubtitleLimit; +} + +QString DeviceProfile::supportedMediaTypes() const { return m_supportedMediaTypes; } + +void DeviceProfile::setSupportedMediaTypes(QString newSupportedMediaTypes) { + m_supportedMediaTypes = newSupportedMediaTypes; +} +bool DeviceProfile::supportedMediaTypesNull() const { + return m_supportedMediaTypes.isNull(); +} + +void DeviceProfile::setSupportedMediaTypesNull() { + m_supportedMediaTypes.clear(); + +} +QString DeviceProfile::userId() const { return m_userId; } + +void DeviceProfile::setUserId(QString newUserId) { + m_userId = newUserId; +} +bool DeviceProfile::userIdNull() const { + return m_userId.isNull(); +} + +void DeviceProfile::setUserIdNull() { + m_userId.clear(); + +} +QString DeviceProfile::albumArtPn() const { return m_albumArtPn; } + +void DeviceProfile::setAlbumArtPn(QString newAlbumArtPn) { + m_albumArtPn = newAlbumArtPn; +} +bool DeviceProfile::albumArtPnNull() const { + return m_albumArtPn.isNull(); +} + +void DeviceProfile::setAlbumArtPnNull() { + m_albumArtPn.clear(); + +} +qint32 DeviceProfile::maxAlbumArtWidth() const { return m_maxAlbumArtWidth; } + +void DeviceProfile::setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth) { + m_maxAlbumArtWidth = newMaxAlbumArtWidth; +} + +qint32 DeviceProfile::maxAlbumArtHeight() const { return m_maxAlbumArtHeight; } + +void DeviceProfile::setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight) { + m_maxAlbumArtHeight = newMaxAlbumArtHeight; +} + +std::optional DeviceProfile::maxIconWidth() const { return m_maxIconWidth; } + +void DeviceProfile::setMaxIconWidth(std::optional newMaxIconWidth) { + m_maxIconWidth = newMaxIconWidth; +} +bool DeviceProfile::maxIconWidthNull() const { + return !m_maxIconWidth.has_value(); +} + +void DeviceProfile::setMaxIconWidthNull() { + m_maxIconWidth = std::nullopt; + +} +std::optional DeviceProfile::maxIconHeight() const { return m_maxIconHeight; } + +void DeviceProfile::setMaxIconHeight(std::optional newMaxIconHeight) { + m_maxIconHeight = newMaxIconHeight; +} +bool DeviceProfile::maxIconHeightNull() const { + return !m_maxIconHeight.has_value(); +} + +void DeviceProfile::setMaxIconHeightNull() { + m_maxIconHeight = std::nullopt; + +} +std::optional DeviceProfile::maxStreamingBitrate() const { return m_maxStreamingBitrate; } + +void DeviceProfile::setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; +} +bool DeviceProfile::maxStreamingBitrateNull() const { + return !m_maxStreamingBitrate.has_value(); +} + +void DeviceProfile::setMaxStreamingBitrateNull() { + m_maxStreamingBitrate = std::nullopt; + +} +std::optional DeviceProfile::maxStaticBitrate() const { return m_maxStaticBitrate; } + +void DeviceProfile::setMaxStaticBitrate(std::optional newMaxStaticBitrate) { + m_maxStaticBitrate = newMaxStaticBitrate; +} +bool DeviceProfile::maxStaticBitrateNull() const { + return !m_maxStaticBitrate.has_value(); +} + +void DeviceProfile::setMaxStaticBitrateNull() { + m_maxStaticBitrate = std::nullopt; + +} +std::optional DeviceProfile::musicStreamingTranscodingBitrate() const { return m_musicStreamingTranscodingBitrate; } + +void DeviceProfile::setMusicStreamingTranscodingBitrate(std::optional newMusicStreamingTranscodingBitrate) { + m_musicStreamingTranscodingBitrate = newMusicStreamingTranscodingBitrate; +} +bool DeviceProfile::musicStreamingTranscodingBitrateNull() const { + return !m_musicStreamingTranscodingBitrate.has_value(); +} + +void DeviceProfile::setMusicStreamingTranscodingBitrateNull() { + m_musicStreamingTranscodingBitrate = std::nullopt; + +} +std::optional DeviceProfile::maxStaticMusicBitrate() const { return m_maxStaticMusicBitrate; } + +void DeviceProfile::setMaxStaticMusicBitrate(std::optional newMaxStaticMusicBitrate) { + m_maxStaticMusicBitrate = newMaxStaticMusicBitrate; +} +bool DeviceProfile::maxStaticMusicBitrateNull() const { + return !m_maxStaticMusicBitrate.has_value(); +} + +void DeviceProfile::setMaxStaticMusicBitrateNull() { + m_maxStaticMusicBitrate = std::nullopt; + +} +QString DeviceProfile::sonyAggregationFlags() const { return m_sonyAggregationFlags; } + +void DeviceProfile::setSonyAggregationFlags(QString newSonyAggregationFlags) { + m_sonyAggregationFlags = newSonyAggregationFlags; +} +bool DeviceProfile::sonyAggregationFlagsNull() const { + return m_sonyAggregationFlags.isNull(); +} + +void DeviceProfile::setSonyAggregationFlagsNull() { + m_sonyAggregationFlags.clear(); + +} +QString DeviceProfile::protocolInfo() const { return m_protocolInfo; } + +void DeviceProfile::setProtocolInfo(QString newProtocolInfo) { + m_protocolInfo = newProtocolInfo; +} +bool DeviceProfile::protocolInfoNull() const { + return m_protocolInfo.isNull(); +} + +void DeviceProfile::setProtocolInfoNull() { + m_protocolInfo.clear(); + +} +qint32 DeviceProfile::timelineOffsetSeconds() const { return m_timelineOffsetSeconds; } + +void DeviceProfile::setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds) { + m_timelineOffsetSeconds = newTimelineOffsetSeconds; +} + +bool DeviceProfile::requiresPlainVideoItems() const { return m_requiresPlainVideoItems; } + +void DeviceProfile::setRequiresPlainVideoItems(bool newRequiresPlainVideoItems) { + m_requiresPlainVideoItems = newRequiresPlainVideoItems; +} + +bool DeviceProfile::requiresPlainFolders() const { return m_requiresPlainFolders; } + +void DeviceProfile::setRequiresPlainFolders(bool newRequiresPlainFolders) { + m_requiresPlainFolders = newRequiresPlainFolders; +} + +bool DeviceProfile::enableMSMediaReceiverRegistrar() const { return m_enableMSMediaReceiverRegistrar; } + +void DeviceProfile::setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar) { + m_enableMSMediaReceiverRegistrar = newEnableMSMediaReceiverRegistrar; +} + +bool DeviceProfile::ignoreTranscodeByteRangeRequests() const { return m_ignoreTranscodeByteRangeRequests; } + +void DeviceProfile::setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests) { + m_ignoreTranscodeByteRangeRequests = newIgnoreTranscodeByteRangeRequests; +} + +QList> DeviceProfile::xmlRootAttributes() const { return m_xmlRootAttributes; } + +void DeviceProfile::setXmlRootAttributes(QList> newXmlRootAttributes) { + m_xmlRootAttributes = newXmlRootAttributes; +} +bool DeviceProfile::xmlRootAttributesNull() const { + return m_xmlRootAttributes.size() == 0; +} + +void DeviceProfile::setXmlRootAttributesNull() { + m_xmlRootAttributes.clear(); + +} +QList> DeviceProfile::directPlayProfiles() const { return m_directPlayProfiles; } + +void DeviceProfile::setDirectPlayProfiles(QList> newDirectPlayProfiles) { + m_directPlayProfiles = newDirectPlayProfiles; +} +bool DeviceProfile::directPlayProfilesNull() const { + return m_directPlayProfiles.size() == 0; +} + +void DeviceProfile::setDirectPlayProfilesNull() { + m_directPlayProfiles.clear(); + +} +QList> DeviceProfile::transcodingProfiles() const { return m_transcodingProfiles; } + +void DeviceProfile::setTranscodingProfiles(QList> newTranscodingProfiles) { + m_transcodingProfiles = newTranscodingProfiles; +} +bool DeviceProfile::transcodingProfilesNull() const { + return m_transcodingProfiles.size() == 0; +} + +void DeviceProfile::setTranscodingProfilesNull() { + m_transcodingProfiles.clear(); + +} +QList> DeviceProfile::containerProfiles() const { return m_containerProfiles; } + +void DeviceProfile::setContainerProfiles(QList> newContainerProfiles) { + m_containerProfiles = newContainerProfiles; +} +bool DeviceProfile::containerProfilesNull() const { + return m_containerProfiles.size() == 0; +} + +void DeviceProfile::setContainerProfilesNull() { + m_containerProfiles.clear(); + +} +QList> DeviceProfile::codecProfiles() const { return m_codecProfiles; } + +void DeviceProfile::setCodecProfiles(QList> newCodecProfiles) { + m_codecProfiles = newCodecProfiles; +} +bool DeviceProfile::codecProfilesNull() const { + return m_codecProfiles.size() == 0; +} + +void DeviceProfile::setCodecProfilesNull() { + m_codecProfiles.clear(); + +} +QList> DeviceProfile::responseProfiles() const { return m_responseProfiles; } + +void DeviceProfile::setResponseProfiles(QList> newResponseProfiles) { + m_responseProfiles = newResponseProfiles; +} +bool DeviceProfile::responseProfilesNull() const { + return m_responseProfiles.size() == 0; +} + +void DeviceProfile::setResponseProfilesNull() { + m_responseProfiles.clear(); + +} +QList> DeviceProfile::subtitleProfiles() const { return m_subtitleProfiles; } + +void DeviceProfile::setSubtitleProfiles(QList> newSubtitleProfiles) { + m_subtitleProfiles = newSubtitleProfiles; +} +bool DeviceProfile::subtitleProfilesNull() const { + return m_subtitleProfiles.size() == 0; +} + +void DeviceProfile::setSubtitleProfilesNull() { + m_subtitleProfiles.clear(); + +} + +} // NS DTO + +namespace Support { + +using DeviceProfile = Jellyfin::DTO::DeviceProfile; + +template <> +DeviceProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceprofileinfo.cpp b/core/src/dto/deviceprofileinfo.cpp new file mode 100644 index 0000000..c5a88d9 --- /dev/null +++ b/core/src/dto/deviceprofileinfo.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceProfileInfo::DeviceProfileInfo() {} + +DeviceProfileInfo::DeviceProfileInfo(const DeviceProfileInfo &other) : + + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_type(other.m_type){} + + +void DeviceProfileInfo::replaceData(DeviceProfileInfo &other) { + m_jellyfinId = other.m_jellyfinId; + m_name = other.m_name; + m_type = other.m_type; +} + +DeviceProfileInfo DeviceProfileInfo::fromJson(QJsonObject source) { + DeviceProfileInfo instance; + instance.setFromJson(source); + return instance; +} + + +void DeviceProfileInfo::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + +} + +QJsonObject DeviceProfileInfo::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + + return result; +} + +QString DeviceProfileInfo::jellyfinId() const { return m_jellyfinId; } + +void DeviceProfileInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool DeviceProfileInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void DeviceProfileInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString DeviceProfileInfo::name() const { return m_name; } + +void DeviceProfileInfo::setName(QString newName) { + m_name = newName; +} +bool DeviceProfileInfo::nameNull() const { + return m_name.isNull(); +} + +void DeviceProfileInfo::setNameNull() { + m_name.clear(); + +} +DeviceProfileType DeviceProfileInfo::type() const { return m_type; } + +void DeviceProfileInfo::setType(DeviceProfileType newType) { + m_type = newType; +} + + +} // NS DTO + +namespace Support { + +using DeviceProfileInfo = Jellyfin::DTO::DeviceProfileInfo; + +template <> +DeviceProfileInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DeviceProfileInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/deviceprofiletype.cpp b/core/src/dto/deviceprofiletype.cpp new file mode 100644 index 0000000..cc4152f --- /dev/null +++ b/core/src/dto/deviceprofiletype.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceProfileTypeClass::DeviceProfileTypeClass() {} + + +} // NS DTO + +namespace Support { + +using DeviceProfileType = Jellyfin::DTO::DeviceProfileType; + +template <> +DeviceProfileType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return DeviceProfileType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("System")) { + return DeviceProfileType::System; + } + if (str == QStringLiteral("User")) { + return DeviceProfileType::User; + } + + return DeviceProfileType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/directplayprofile.cpp b/core/src/dto/directplayprofile.cpp new file mode 100644 index 0000000..5d2838a --- /dev/null +++ b/core/src/dto/directplayprofile.cpp @@ -0,0 +1,136 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DirectPlayProfile::DirectPlayProfile() {} + +DirectPlayProfile::DirectPlayProfile(const DirectPlayProfile &other) : + + m_container(other.m_container), + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_type(other.m_type){} + + +void DirectPlayProfile::replaceData(DirectPlayProfile &other) { + m_container = other.m_container; + m_audioCodec = other.m_audioCodec; + m_videoCodec = other.m_videoCodec; + m_type = other.m_type; +} + +DirectPlayProfile DirectPlayProfile::fromJson(QJsonObject source) { + DirectPlayProfile instance; + instance.setFromJson(source); + return instance; +} + + +void DirectPlayProfile::setFromJson(QJsonObject source) { + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_audioCodec = Jellyfin::Support::fromJsonValue(source["AudioCodec"]); + m_videoCodec = Jellyfin::Support::fromJsonValue(source["VideoCodec"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + +} + +QJsonObject DirectPlayProfile::toJson() { + QJsonObject result; + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["AudioCodec"] = Jellyfin::Support::toJsonValue(m_audioCodec); + result["VideoCodec"] = Jellyfin::Support::toJsonValue(m_videoCodec); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + + return result; +} + +QString DirectPlayProfile::container() const { return m_container; } + +void DirectPlayProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool DirectPlayProfile::containerNull() const { + return m_container.isNull(); +} + +void DirectPlayProfile::setContainerNull() { + m_container.clear(); + +} +QString DirectPlayProfile::audioCodec() const { return m_audioCodec; } + +void DirectPlayProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; +} +bool DirectPlayProfile::audioCodecNull() const { + return m_audioCodec.isNull(); +} + +void DirectPlayProfile::setAudioCodecNull() { + m_audioCodec.clear(); + +} +QString DirectPlayProfile::videoCodec() const { return m_videoCodec; } + +void DirectPlayProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; +} +bool DirectPlayProfile::videoCodecNull() const { + return m_videoCodec.isNull(); +} + +void DirectPlayProfile::setVideoCodecNull() { + m_videoCodec.clear(); + +} +DlnaProfileType DirectPlayProfile::type() const { return m_type; } + +void DirectPlayProfile::setType(DlnaProfileType newType) { + m_type = newType; +} + + +} // NS DTO + +namespace Support { + +using DirectPlayProfile = Jellyfin::DTO::DirectPlayProfile; + +template <> +DirectPlayProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DirectPlayProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/displaypreferencesdto.cpp b/core/src/dto/displaypreferencesdto.cpp new file mode 100644 index 0000000..dd6ee97 --- /dev/null +++ b/core/src/dto/displaypreferencesdto.cpp @@ -0,0 +1,257 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DisplayPreferencesDto::DisplayPreferencesDto() {} + +DisplayPreferencesDto::DisplayPreferencesDto(const DisplayPreferencesDto &other) : + + m_jellyfinId(other.m_jellyfinId), + m_viewType(other.m_viewType), + m_sortBy(other.m_sortBy), + m_indexBy(other.m_indexBy), + m_rememberIndexing(other.m_rememberIndexing), + m_primaryImageHeight(other.m_primaryImageHeight), + m_primaryImageWidth(other.m_primaryImageWidth), + m_customPrefs(other.m_customPrefs), + m_scrollDirection(other.m_scrollDirection), + m_showBackdrop(other.m_showBackdrop), + m_rememberSorting(other.m_rememberSorting), + m_sortOrder(other.m_sortOrder), + m_showSidebar(other.m_showSidebar), + m_client(other.m_client){} + + +void DisplayPreferencesDto::replaceData(DisplayPreferencesDto &other) { + m_jellyfinId = other.m_jellyfinId; + m_viewType = other.m_viewType; + m_sortBy = other.m_sortBy; + m_indexBy = other.m_indexBy; + m_rememberIndexing = other.m_rememberIndexing; + m_primaryImageHeight = other.m_primaryImageHeight; + m_primaryImageWidth = other.m_primaryImageWidth; + m_customPrefs = other.m_customPrefs; + m_scrollDirection = other.m_scrollDirection; + m_showBackdrop = other.m_showBackdrop; + m_rememberSorting = other.m_rememberSorting; + m_sortOrder = other.m_sortOrder; + m_showSidebar = other.m_showSidebar; + m_client = other.m_client; +} + +DisplayPreferencesDto DisplayPreferencesDto::fromJson(QJsonObject source) { + DisplayPreferencesDto instance; + instance.setFromJson(source); + return instance; +} + + +void DisplayPreferencesDto::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_viewType = Jellyfin::Support::fromJsonValue(source["ViewType"]); + m_sortBy = Jellyfin::Support::fromJsonValue(source["SortBy"]); + m_indexBy = Jellyfin::Support::fromJsonValue(source["IndexBy"]); + m_rememberIndexing = Jellyfin::Support::fromJsonValue(source["RememberIndexing"]); + m_primaryImageHeight = Jellyfin::Support::fromJsonValue(source["PrimaryImageHeight"]); + m_primaryImageWidth = Jellyfin::Support::fromJsonValue(source["PrimaryImageWidth"]); + m_customPrefs = Jellyfin::Support::fromJsonValue>(source["CustomPrefs"]); + m_scrollDirection = Jellyfin::Support::fromJsonValue(source["ScrollDirection"]); + m_showBackdrop = Jellyfin::Support::fromJsonValue(source["ShowBackdrop"]); + m_rememberSorting = Jellyfin::Support::fromJsonValue(source["RememberSorting"]); + m_sortOrder = Jellyfin::Support::fromJsonValue(source["SortOrder"]); + m_showSidebar = Jellyfin::Support::fromJsonValue(source["ShowSidebar"]); + m_client = Jellyfin::Support::fromJsonValue(source["Client"]); + +} + +QJsonObject DisplayPreferencesDto::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["ViewType"] = Jellyfin::Support::toJsonValue(m_viewType); + result["SortBy"] = Jellyfin::Support::toJsonValue(m_sortBy); + result["IndexBy"] = Jellyfin::Support::toJsonValue(m_indexBy); + result["RememberIndexing"] = Jellyfin::Support::toJsonValue(m_rememberIndexing); + result["PrimaryImageHeight"] = Jellyfin::Support::toJsonValue(m_primaryImageHeight); + result["PrimaryImageWidth"] = Jellyfin::Support::toJsonValue(m_primaryImageWidth); + result["CustomPrefs"] = Jellyfin::Support::toJsonValue>(m_customPrefs); + result["ScrollDirection"] = Jellyfin::Support::toJsonValue(m_scrollDirection); + result["ShowBackdrop"] = Jellyfin::Support::toJsonValue(m_showBackdrop); + result["RememberSorting"] = Jellyfin::Support::toJsonValue(m_rememberSorting); + result["SortOrder"] = Jellyfin::Support::toJsonValue(m_sortOrder); + result["ShowSidebar"] = Jellyfin::Support::toJsonValue(m_showSidebar); + result["Client"] = Jellyfin::Support::toJsonValue(m_client); + + return result; +} + +QString DisplayPreferencesDto::jellyfinId() const { return m_jellyfinId; } + +void DisplayPreferencesDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool DisplayPreferencesDto::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void DisplayPreferencesDto::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString DisplayPreferencesDto::viewType() const { return m_viewType; } + +void DisplayPreferencesDto::setViewType(QString newViewType) { + m_viewType = newViewType; +} +bool DisplayPreferencesDto::viewTypeNull() const { + return m_viewType.isNull(); +} + +void DisplayPreferencesDto::setViewTypeNull() { + m_viewType.clear(); + +} +QString DisplayPreferencesDto::sortBy() const { return m_sortBy; } + +void DisplayPreferencesDto::setSortBy(QString newSortBy) { + m_sortBy = newSortBy; +} +bool DisplayPreferencesDto::sortByNull() const { + return m_sortBy.isNull(); +} + +void DisplayPreferencesDto::setSortByNull() { + m_sortBy.clear(); + +} +QString DisplayPreferencesDto::indexBy() const { return m_indexBy; } + +void DisplayPreferencesDto::setIndexBy(QString newIndexBy) { + m_indexBy = newIndexBy; +} +bool DisplayPreferencesDto::indexByNull() const { + return m_indexBy.isNull(); +} + +void DisplayPreferencesDto::setIndexByNull() { + m_indexBy.clear(); + +} +bool DisplayPreferencesDto::rememberIndexing() const { return m_rememberIndexing; } + +void DisplayPreferencesDto::setRememberIndexing(bool newRememberIndexing) { + m_rememberIndexing = newRememberIndexing; +} + +qint32 DisplayPreferencesDto::primaryImageHeight() const { return m_primaryImageHeight; } + +void DisplayPreferencesDto::setPrimaryImageHeight(qint32 newPrimaryImageHeight) { + m_primaryImageHeight = newPrimaryImageHeight; +} + +qint32 DisplayPreferencesDto::primaryImageWidth() const { return m_primaryImageWidth; } + +void DisplayPreferencesDto::setPrimaryImageWidth(qint32 newPrimaryImageWidth) { + m_primaryImageWidth = newPrimaryImageWidth; +} + +std::optional DisplayPreferencesDto::customPrefs() const { return m_customPrefs; } + +void DisplayPreferencesDto::setCustomPrefs(std::optional newCustomPrefs) { + m_customPrefs = newCustomPrefs; +} +bool DisplayPreferencesDto::customPrefsNull() const { + return !m_customPrefs.has_value(); +} + +void DisplayPreferencesDto::setCustomPrefsNull() { + m_customPrefs = std::nullopt; + +} +ScrollDirection DisplayPreferencesDto::scrollDirection() const { return m_scrollDirection; } + +void DisplayPreferencesDto::setScrollDirection(ScrollDirection newScrollDirection) { + m_scrollDirection = newScrollDirection; +} + +bool DisplayPreferencesDto::showBackdrop() const { return m_showBackdrop; } + +void DisplayPreferencesDto::setShowBackdrop(bool newShowBackdrop) { + m_showBackdrop = newShowBackdrop; +} + +bool DisplayPreferencesDto::rememberSorting() const { return m_rememberSorting; } + +void DisplayPreferencesDto::setRememberSorting(bool newRememberSorting) { + m_rememberSorting = newRememberSorting; +} + +SortOrder DisplayPreferencesDto::sortOrder() const { return m_sortOrder; } + +void DisplayPreferencesDto::setSortOrder(SortOrder newSortOrder) { + m_sortOrder = newSortOrder; +} + +bool DisplayPreferencesDto::showSidebar() const { return m_showSidebar; } + +void DisplayPreferencesDto::setShowSidebar(bool newShowSidebar) { + m_showSidebar = newShowSidebar; +} + +QString DisplayPreferencesDto::client() const { return m_client; } + +void DisplayPreferencesDto::setClient(QString newClient) { + m_client = newClient; +} +bool DisplayPreferencesDto::clientNull() const { + return m_client.isNull(); +} + +void DisplayPreferencesDto::setClientNull() { + m_client.clear(); + +} + +} // NS DTO + +namespace Support { + +using DisplayPreferencesDto = Jellyfin::DTO::DisplayPreferencesDto; + +template <> +DisplayPreferencesDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return DisplayPreferencesDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/dlnaprofiletype.cpp b/core/src/dto/dlnaprofiletype.cpp new file mode 100644 index 0000000..419dd72 --- /dev/null +++ b/core/src/dto/dlnaprofiletype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DlnaProfileTypeClass::DlnaProfileTypeClass() {} + + +} // NS DTO + +namespace Support { + +using DlnaProfileType = Jellyfin::DTO::DlnaProfileType; + +template <> +DlnaProfileType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return DlnaProfileType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Audio")) { + return DlnaProfileType::Audio; + } + if (str == QStringLiteral("Video")) { + return DlnaProfileType::Video; + } + if (str == QStringLiteral("Photo")) { + return DlnaProfileType::Photo; + } + + return DlnaProfileType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/dynamicdayofweek.cpp b/core/src/dto/dynamicdayofweek.cpp new file mode 100644 index 0000000..bdada4c --- /dev/null +++ b/core/src/dto/dynamicdayofweek.cpp @@ -0,0 +1,84 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DynamicDayOfWeekClass::DynamicDayOfWeekClass() {} + + +} // NS DTO + +namespace Support { + +using DynamicDayOfWeek = Jellyfin::DTO::DynamicDayOfWeek; + +template <> +DynamicDayOfWeek fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return DynamicDayOfWeek::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Sunday")) { + return DynamicDayOfWeek::Sunday; + } + if (str == QStringLiteral("Monday")) { + return DynamicDayOfWeek::Monday; + } + if (str == QStringLiteral("Tuesday")) { + return DynamicDayOfWeek::Tuesday; + } + if (str == QStringLiteral("Wednesday")) { + return DynamicDayOfWeek::Wednesday; + } + if (str == QStringLiteral("Thursday")) { + return DynamicDayOfWeek::Thursday; + } + if (str == QStringLiteral("Friday")) { + return DynamicDayOfWeek::Friday; + } + if (str == QStringLiteral("Saturday")) { + return DynamicDayOfWeek::Saturday; + } + if (str == QStringLiteral("Everyday")) { + return DynamicDayOfWeek::Everyday; + } + if (str == QStringLiteral("Weekday")) { + return DynamicDayOfWeek::Weekday; + } + if (str == QStringLiteral("Weekend")) { + return DynamicDayOfWeek::Weekend; + } + + return DynamicDayOfWeek::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/encodingcontext.cpp b/core/src/dto/encodingcontext.cpp new file mode 100644 index 0000000..acf1f4b --- /dev/null +++ b/core/src/dto/encodingcontext.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +EncodingContextClass::EncodingContextClass() {} + + +} // NS DTO + +namespace Support { + +using EncodingContext = Jellyfin::DTO::EncodingContext; + +template <> +EncodingContext fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return EncodingContext::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Streaming")) { + return EncodingContext::Streaming; + } + if (str == QStringLiteral("Static")) { + return EncodingContext::Static; + } + + return EncodingContext::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/endpointinfo.cpp b/core/src/dto/endpointinfo.cpp new file mode 100644 index 0000000..81e6f7e --- /dev/null +++ b/core/src/dto/endpointinfo.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +EndPointInfo::EndPointInfo() {} + +EndPointInfo::EndPointInfo(const EndPointInfo &other) : + + m_isLocal(other.m_isLocal), + m_isInNetwork(other.m_isInNetwork){} + + +void EndPointInfo::replaceData(EndPointInfo &other) { + m_isLocal = other.m_isLocal; + m_isInNetwork = other.m_isInNetwork; +} + +EndPointInfo EndPointInfo::fromJson(QJsonObject source) { + EndPointInfo instance; + instance.setFromJson(source); + return instance; +} + + +void EndPointInfo::setFromJson(QJsonObject source) { + m_isLocal = Jellyfin::Support::fromJsonValue(source["IsLocal"]); + m_isInNetwork = Jellyfin::Support::fromJsonValue(source["IsInNetwork"]); + +} + +QJsonObject EndPointInfo::toJson() { + QJsonObject result; + result["IsLocal"] = Jellyfin::Support::toJsonValue(m_isLocal); + result["IsInNetwork"] = Jellyfin::Support::toJsonValue(m_isInNetwork); + + return result; +} + +bool EndPointInfo::isLocal() const { return m_isLocal; } + +void EndPointInfo::setIsLocal(bool newIsLocal) { + m_isLocal = newIsLocal; +} + +bool EndPointInfo::isInNetwork() const { return m_isInNetwork; } + +void EndPointInfo::setIsInNetwork(bool newIsInNetwork) { + m_isInNetwork = newIsInNetwork; +} + + +} // NS DTO + +namespace Support { + +using EndPointInfo = Jellyfin::DTO::EndPointInfo; + +template <> +EndPointInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return EndPointInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/externalidinfo.cpp b/core/src/dto/externalidinfo.cpp new file mode 100644 index 0000000..f379782 --- /dev/null +++ b/core/src/dto/externalidinfo.cpp @@ -0,0 +1,136 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ExternalIdInfo::ExternalIdInfo() {} + +ExternalIdInfo::ExternalIdInfo(const ExternalIdInfo &other) : + + m_name(other.m_name), + m_key(other.m_key), + m_type(other.m_type), + m_urlFormatString(other.m_urlFormatString){} + + +void ExternalIdInfo::replaceData(ExternalIdInfo &other) { + m_name = other.m_name; + m_key = other.m_key; + m_type = other.m_type; + m_urlFormatString = other.m_urlFormatString; +} + +ExternalIdInfo ExternalIdInfo::fromJson(QJsonObject source) { + ExternalIdInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ExternalIdInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_key = Jellyfin::Support::fromJsonValue(source["Key"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_urlFormatString = Jellyfin::Support::fromJsonValue(source["UrlFormatString"]); + +} + +QJsonObject ExternalIdInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Key"] = Jellyfin::Support::toJsonValue(m_key); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["UrlFormatString"] = Jellyfin::Support::toJsonValue(m_urlFormatString); + + return result; +} + +QString ExternalIdInfo::name() const { return m_name; } + +void ExternalIdInfo::setName(QString newName) { + m_name = newName; +} +bool ExternalIdInfo::nameNull() const { + return m_name.isNull(); +} + +void ExternalIdInfo::setNameNull() { + m_name.clear(); + +} +QString ExternalIdInfo::key() const { return m_key; } + +void ExternalIdInfo::setKey(QString newKey) { + m_key = newKey; +} +bool ExternalIdInfo::keyNull() const { + return m_key.isNull(); +} + +void ExternalIdInfo::setKeyNull() { + m_key.clear(); + +} +ExternalIdMediaType ExternalIdInfo::type() const { return m_type; } + +void ExternalIdInfo::setType(ExternalIdMediaType newType) { + m_type = newType; +} + +QString ExternalIdInfo::urlFormatString() const { return m_urlFormatString; } + +void ExternalIdInfo::setUrlFormatString(QString newUrlFormatString) { + m_urlFormatString = newUrlFormatString; +} +bool ExternalIdInfo::urlFormatStringNull() const { + return m_urlFormatString.isNull(); +} + +void ExternalIdInfo::setUrlFormatStringNull() { + m_urlFormatString.clear(); + +} + +} // NS DTO + +namespace Support { + +using ExternalIdInfo = Jellyfin::DTO::ExternalIdInfo; + +template <> +ExternalIdInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ExternalIdInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/externalidmediatype.cpp b/core/src/dto/externalidmediatype.cpp new file mode 100644 index 0000000..bc4e234 --- /dev/null +++ b/core/src/dto/externalidmediatype.cpp @@ -0,0 +1,90 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ExternalIdMediaTypeClass::ExternalIdMediaTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ExternalIdMediaType = Jellyfin::DTO::ExternalIdMediaType; + +template <> +ExternalIdMediaType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ExternalIdMediaType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Album")) { + return ExternalIdMediaType::Album; + } + if (str == QStringLiteral("AlbumArtist")) { + return ExternalIdMediaType::AlbumArtist; + } + if (str == QStringLiteral("Artist")) { + return ExternalIdMediaType::Artist; + } + if (str == QStringLiteral("BoxSet")) { + return ExternalIdMediaType::BoxSet; + } + if (str == QStringLiteral("Episode")) { + return ExternalIdMediaType::Episode; + } + if (str == QStringLiteral("Movie")) { + return ExternalIdMediaType::Movie; + } + if (str == QStringLiteral("OtherArtist")) { + return ExternalIdMediaType::OtherArtist; + } + if (str == QStringLiteral("Person")) { + return ExternalIdMediaType::Person; + } + if (str == QStringLiteral("ReleaseGroup")) { + return ExternalIdMediaType::ReleaseGroup; + } + if (str == QStringLiteral("Season")) { + return ExternalIdMediaType::Season; + } + if (str == QStringLiteral("Series")) { + return ExternalIdMediaType::Series; + } + if (str == QStringLiteral("Track")) { + return ExternalIdMediaType::Track; + } + + return ExternalIdMediaType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/externalurl.cpp b/core/src/dto/externalurl.cpp new file mode 100644 index 0000000..530104c --- /dev/null +++ b/core/src/dto/externalurl.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ExternalUrl::ExternalUrl() {} + +ExternalUrl::ExternalUrl(const ExternalUrl &other) : + + m_name(other.m_name), + m_url(other.m_url){} + + +void ExternalUrl::replaceData(ExternalUrl &other) { + m_name = other.m_name; + m_url = other.m_url; +} + +ExternalUrl ExternalUrl::fromJson(QJsonObject source) { + ExternalUrl instance; + instance.setFromJson(source); + return instance; +} + + +void ExternalUrl::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + +} + +QJsonObject ExternalUrl::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + + return result; +} + +QString ExternalUrl::name() const { return m_name; } + +void ExternalUrl::setName(QString newName) { + m_name = newName; +} +bool ExternalUrl::nameNull() const { + return m_name.isNull(); +} + +void ExternalUrl::setNameNull() { + m_name.clear(); + +} +QString ExternalUrl::url() const { return m_url; } + +void ExternalUrl::setUrl(QString newUrl) { + m_url = newUrl; +} +bool ExternalUrl::urlNull() const { + return m_url.isNull(); +} + +void ExternalUrl::setUrlNull() { + m_url.clear(); + +} + +} // NS DTO + +namespace Support { + +using ExternalUrl = Jellyfin::DTO::ExternalUrl; + +template <> +ExternalUrl fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ExternalUrl::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/ffmpeglocation.cpp b/core/src/dto/ffmpeglocation.cpp new file mode 100644 index 0000000..a0a1ad7 --- /dev/null +++ b/core/src/dto/ffmpeglocation.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +FFmpegLocationClass::FFmpegLocationClass() {} + + +} // NS DTO + +namespace Support { + +using FFmpegLocation = Jellyfin::DTO::FFmpegLocation; + +template <> +FFmpegLocation fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return FFmpegLocation::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("NotFound")) { + return FFmpegLocation::NotFound; + } + if (str == QStringLiteral("SetByArgument")) { + return FFmpegLocation::SetByArgument; + } + if (str == QStringLiteral("Custom")) { + return FFmpegLocation::Custom; + } + if (str == QStringLiteral("System")) { + return FFmpegLocation::System; + } + + return FFmpegLocation::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/filesystementryinfo.cpp b/core/src/dto/filesystementryinfo.cpp new file mode 100644 index 0000000..3cc5f00 --- /dev/null +++ b/core/src/dto/filesystementryinfo.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +FileSystemEntryInfo::FileSystemEntryInfo() {} + +FileSystemEntryInfo::FileSystemEntryInfo(const FileSystemEntryInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_type(other.m_type){} + + +void FileSystemEntryInfo::replaceData(FileSystemEntryInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_type = other.m_type; +} + +FileSystemEntryInfo FileSystemEntryInfo::fromJson(QJsonObject source) { + FileSystemEntryInfo instance; + instance.setFromJson(source); + return instance; +} + + +void FileSystemEntryInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + +} + +QJsonObject FileSystemEntryInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + + return result; +} + +QString FileSystemEntryInfo::name() const { return m_name; } + +void FileSystemEntryInfo::setName(QString newName) { + m_name = newName; +} +bool FileSystemEntryInfo::nameNull() const { + return m_name.isNull(); +} + +void FileSystemEntryInfo::setNameNull() { + m_name.clear(); + +} +QString FileSystemEntryInfo::path() const { return m_path; } + +void FileSystemEntryInfo::setPath(QString newPath) { + m_path = newPath; +} +bool FileSystemEntryInfo::pathNull() const { + return m_path.isNull(); +} + +void FileSystemEntryInfo::setPathNull() { + m_path.clear(); + +} +FileSystemEntryType FileSystemEntryInfo::type() const { return m_type; } + +void FileSystemEntryInfo::setType(FileSystemEntryType newType) { + m_type = newType; +} + + +} // NS DTO + +namespace Support { + +using FileSystemEntryInfo = Jellyfin::DTO::FileSystemEntryInfo; + +template <> +FileSystemEntryInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return FileSystemEntryInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/filesystementrytype.cpp b/core/src/dto/filesystementrytype.cpp new file mode 100644 index 0000000..dd95b9a --- /dev/null +++ b/core/src/dto/filesystementrytype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +FileSystemEntryTypeClass::FileSystemEntryTypeClass() {} + + +} // NS DTO + +namespace Support { + +using FileSystemEntryType = Jellyfin::DTO::FileSystemEntryType; + +template <> +FileSystemEntryType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return FileSystemEntryType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("File")) { + return FileSystemEntryType::File; + } + if (str == QStringLiteral("Directory")) { + return FileSystemEntryType::Directory; + } + if (str == QStringLiteral("NetworkComputer")) { + return FileSystemEntryType::NetworkComputer; + } + if (str == QStringLiteral("NetworkShare")) { + return FileSystemEntryType::NetworkShare; + } + + return FileSystemEntryType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/fontfile.cpp b/core/src/dto/fontfile.cpp new file mode 100644 index 0000000..249ec43 --- /dev/null +++ b/core/src/dto/fontfile.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +FontFile::FontFile() {} + +FontFile::FontFile(const FontFile &other) : + + m_name(other.m_name), + m_size(other.m_size), + m_dateCreated(other.m_dateCreated), + m_dateModified(other.m_dateModified){} + + +void FontFile::replaceData(FontFile &other) { + m_name = other.m_name; + m_size = other.m_size; + m_dateCreated = other.m_dateCreated; + m_dateModified = other.m_dateModified; +} + +FontFile FontFile::fromJson(QJsonObject source) { + FontFile instance; + instance.setFromJson(source); + return instance; +} + + +void FontFile::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_size = Jellyfin::Support::fromJsonValue(source["Size"]); + m_dateCreated = Jellyfin::Support::fromJsonValue(source["DateCreated"]); + m_dateModified = Jellyfin::Support::fromJsonValue(source["DateModified"]); + +} + +QJsonObject FontFile::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Size"] = Jellyfin::Support::toJsonValue(m_size); + result["DateCreated"] = Jellyfin::Support::toJsonValue(m_dateCreated); + result["DateModified"] = Jellyfin::Support::toJsonValue(m_dateModified); + + return result; +} + +QString FontFile::name() const { return m_name; } + +void FontFile::setName(QString newName) { + m_name = newName; +} +bool FontFile::nameNull() const { + return m_name.isNull(); +} + +void FontFile::setNameNull() { + m_name.clear(); + +} +qint64 FontFile::size() const { return m_size; } + +void FontFile::setSize(qint64 newSize) { + m_size = newSize; +} + +QDateTime FontFile::dateCreated() const { return m_dateCreated; } + +void FontFile::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; +} + +QDateTime FontFile::dateModified() const { return m_dateModified; } + +void FontFile::setDateModified(QDateTime newDateModified) { + m_dateModified = newDateModified; +} + + +} // NS DTO + +namespace Support { + +using FontFile = Jellyfin::DTO::FontFile; + +template <> +FontFile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return FontFile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/forgotpasswordaction.cpp b/core/src/dto/forgotpasswordaction.cpp new file mode 100644 index 0000000..0b96a3f --- /dev/null +++ b/core/src/dto/forgotpasswordaction.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ForgotPasswordActionClass::ForgotPasswordActionClass() {} + + +} // NS DTO + +namespace Support { + +using ForgotPasswordAction = Jellyfin::DTO::ForgotPasswordAction; + +template <> +ForgotPasswordAction fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ForgotPasswordAction::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("ContactAdmin")) { + return ForgotPasswordAction::ContactAdmin; + } + if (str == QStringLiteral("PinCode")) { + return ForgotPasswordAction::PinCode; + } + if (str == QStringLiteral("InNetworkRequired")) { + return ForgotPasswordAction::InNetworkRequired; + } + + return ForgotPasswordAction::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/forgotpassworddto.cpp b/core/src/dto/forgotpassworddto.cpp new file mode 100644 index 0000000..a8860f4 --- /dev/null +++ b/core/src/dto/forgotpassworddto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ForgotPasswordDto::ForgotPasswordDto() {} + +ForgotPasswordDto::ForgotPasswordDto(const ForgotPasswordDto &other) : + + m_enteredUsername(other.m_enteredUsername){} + + +void ForgotPasswordDto::replaceData(ForgotPasswordDto &other) { + m_enteredUsername = other.m_enteredUsername; +} + +ForgotPasswordDto ForgotPasswordDto::fromJson(QJsonObject source) { + ForgotPasswordDto instance; + instance.setFromJson(source); + return instance; +} + + +void ForgotPasswordDto::setFromJson(QJsonObject source) { + m_enteredUsername = Jellyfin::Support::fromJsonValue(source["EnteredUsername"]); + +} + +QJsonObject ForgotPasswordDto::toJson() { + QJsonObject result; + result["EnteredUsername"] = Jellyfin::Support::toJsonValue(m_enteredUsername); + + return result; +} + +QString ForgotPasswordDto::enteredUsername() const { return m_enteredUsername; } + +void ForgotPasswordDto::setEnteredUsername(QString newEnteredUsername) { + m_enteredUsername = newEnteredUsername; +} + + +} // NS DTO + +namespace Support { + +using ForgotPasswordDto = Jellyfin::DTO::ForgotPasswordDto; + +template <> +ForgotPasswordDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ForgotPasswordDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/forgotpasswordresult.cpp b/core/src/dto/forgotpasswordresult.cpp new file mode 100644 index 0000000..15c2a00 --- /dev/null +++ b/core/src/dto/forgotpasswordresult.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ForgotPasswordResult::ForgotPasswordResult() {} + +ForgotPasswordResult::ForgotPasswordResult(const ForgotPasswordResult &other) : + + m_action(other.m_action), + m_pinFile(other.m_pinFile), + m_pinExpirationDate(other.m_pinExpirationDate){} + + +void ForgotPasswordResult::replaceData(ForgotPasswordResult &other) { + m_action = other.m_action; + m_pinFile = other.m_pinFile; + m_pinExpirationDate = other.m_pinExpirationDate; +} + +ForgotPasswordResult ForgotPasswordResult::fromJson(QJsonObject source) { + ForgotPasswordResult instance; + instance.setFromJson(source); + return instance; +} + + +void ForgotPasswordResult::setFromJson(QJsonObject source) { + m_action = Jellyfin::Support::fromJsonValue(source["Action"]); + m_pinFile = Jellyfin::Support::fromJsonValue(source["PinFile"]); + m_pinExpirationDate = Jellyfin::Support::fromJsonValue(source["PinExpirationDate"]); + +} + +QJsonObject ForgotPasswordResult::toJson() { + QJsonObject result; + result["Action"] = Jellyfin::Support::toJsonValue(m_action); + result["PinFile"] = Jellyfin::Support::toJsonValue(m_pinFile); + result["PinExpirationDate"] = Jellyfin::Support::toJsonValue(m_pinExpirationDate); + + return result; +} + +ForgotPasswordAction ForgotPasswordResult::action() const { return m_action; } + +void ForgotPasswordResult::setAction(ForgotPasswordAction newAction) { + m_action = newAction; +} + +QString ForgotPasswordResult::pinFile() const { return m_pinFile; } + +void ForgotPasswordResult::setPinFile(QString newPinFile) { + m_pinFile = newPinFile; +} +bool ForgotPasswordResult::pinFileNull() const { + return m_pinFile.isNull(); +} + +void ForgotPasswordResult::setPinFileNull() { + m_pinFile.clear(); + +} +QDateTime ForgotPasswordResult::pinExpirationDate() const { return m_pinExpirationDate; } + +void ForgotPasswordResult::setPinExpirationDate(QDateTime newPinExpirationDate) { + m_pinExpirationDate = newPinExpirationDate; +} +bool ForgotPasswordResult::pinExpirationDateNull() const { + return m_pinExpirationDate.isNull(); +} + +void ForgotPasswordResult::setPinExpirationDateNull() { + m_pinExpirationDate= QDateTime(); + +} + +} // NS DTO + +namespace Support { + +using ForgotPasswordResult = Jellyfin::DTO::ForgotPasswordResult; + +template <> +ForgotPasswordResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ForgotPasswordResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/generalcommand.cpp b/core/src/dto/generalcommand.cpp new file mode 100644 index 0000000..8fb1b2c --- /dev/null +++ b/core/src/dto/generalcommand.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GeneralCommand::GeneralCommand() {} + +GeneralCommand::GeneralCommand(const GeneralCommand &other) : + + m_name(other.m_name), + m_controllingUserId(other.m_controllingUserId), + m_arguments(other.m_arguments){} + + +void GeneralCommand::replaceData(GeneralCommand &other) { + m_name = other.m_name; + m_controllingUserId = other.m_controllingUserId; + m_arguments = other.m_arguments; +} + +GeneralCommand GeneralCommand::fromJson(QJsonObject source) { + GeneralCommand instance; + instance.setFromJson(source); + return instance; +} + + +void GeneralCommand::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_controllingUserId = Jellyfin::Support::fromJsonValue(source["ControllingUserId"]); + m_arguments = Jellyfin::Support::fromJsonValue>(source["Arguments"]); + +} + +QJsonObject GeneralCommand::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["ControllingUserId"] = Jellyfin::Support::toJsonValue(m_controllingUserId); + result["Arguments"] = Jellyfin::Support::toJsonValue>(m_arguments); + + return result; +} + +GeneralCommandType GeneralCommand::name() const { return m_name; } + +void GeneralCommand::setName(GeneralCommandType newName) { + m_name = newName; +} + +QString GeneralCommand::controllingUserId() const { return m_controllingUserId; } + +void GeneralCommand::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; +} + +std::optional GeneralCommand::arguments() const { return m_arguments; } + +void GeneralCommand::setArguments(std::optional newArguments) { + m_arguments = newArguments; +} +bool GeneralCommand::argumentsNull() const { + return !m_arguments.has_value(); +} + +void GeneralCommand::setArgumentsNull() { + m_arguments = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using GeneralCommand = Jellyfin::DTO::GeneralCommand; + +template <> +GeneralCommand fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return GeneralCommand::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/generalcommandtype.cpp b/core/src/dto/generalcommandtype.cpp new file mode 100644 index 0000000..7bdad50 --- /dev/null +++ b/core/src/dto/generalcommandtype.cpp @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GeneralCommandTypeClass::GeneralCommandTypeClass() {} + + +} // NS DTO + +namespace Support { + +using GeneralCommandType = Jellyfin::DTO::GeneralCommandType; + +template <> +GeneralCommandType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GeneralCommandType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("MoveUp")) { + return GeneralCommandType::MoveUp; + } + if (str == QStringLiteral("MoveDown")) { + return GeneralCommandType::MoveDown; + } + if (str == QStringLiteral("MoveLeft")) { + return GeneralCommandType::MoveLeft; + } + if (str == QStringLiteral("MoveRight")) { + return GeneralCommandType::MoveRight; + } + if (str == QStringLiteral("PageUp")) { + return GeneralCommandType::PageUp; + } + if (str == QStringLiteral("PageDown")) { + return GeneralCommandType::PageDown; + } + if (str == QStringLiteral("PreviousLetter")) { + return GeneralCommandType::PreviousLetter; + } + if (str == QStringLiteral("NextLetter")) { + return GeneralCommandType::NextLetter; + } + if (str == QStringLiteral("ToggleOsd")) { + return GeneralCommandType::ToggleOsd; + } + if (str == QStringLiteral("ToggleContextMenu")) { + return GeneralCommandType::ToggleContextMenu; + } + if (str == QStringLiteral("Select")) { + return GeneralCommandType::Select; + } + if (str == QStringLiteral("Back")) { + return GeneralCommandType::Back; + } + if (str == QStringLiteral("TakeScreenshot")) { + return GeneralCommandType::TakeScreenshot; + } + if (str == QStringLiteral("SendKey")) { + return GeneralCommandType::SendKey; + } + if (str == QStringLiteral("SendString")) { + return GeneralCommandType::SendString; + } + if (str == QStringLiteral("GoHome")) { + return GeneralCommandType::GoHome; + } + if (str == QStringLiteral("GoToSettings")) { + return GeneralCommandType::GoToSettings; + } + if (str == QStringLiteral("VolumeUp")) { + return GeneralCommandType::VolumeUp; + } + if (str == QStringLiteral("VolumeDown")) { + return GeneralCommandType::VolumeDown; + } + if (str == QStringLiteral("Mute")) { + return GeneralCommandType::Mute; + } + if (str == QStringLiteral("Unmute")) { + return GeneralCommandType::Unmute; + } + if (str == QStringLiteral("ToggleMute")) { + return GeneralCommandType::ToggleMute; + } + if (str == QStringLiteral("SetVolume")) { + return GeneralCommandType::SetVolume; + } + if (str == QStringLiteral("SetAudioStreamIndex")) { + return GeneralCommandType::SetAudioStreamIndex; + } + if (str == QStringLiteral("SetSubtitleStreamIndex")) { + return GeneralCommandType::SetSubtitleStreamIndex; + } + if (str == QStringLiteral("ToggleFullscreen")) { + return GeneralCommandType::ToggleFullscreen; + } + if (str == QStringLiteral("DisplayContent")) { + return GeneralCommandType::DisplayContent; + } + if (str == QStringLiteral("GoToSearch")) { + return GeneralCommandType::GoToSearch; + } + if (str == QStringLiteral("DisplayMessage")) { + return GeneralCommandType::DisplayMessage; + } + if (str == QStringLiteral("SetRepeatMode")) { + return GeneralCommandType::SetRepeatMode; + } + if (str == QStringLiteral("ChannelUp")) { + return GeneralCommandType::ChannelUp; + } + if (str == QStringLiteral("ChannelDown")) { + return GeneralCommandType::ChannelDown; + } + if (str == QStringLiteral("Guide")) { + return GeneralCommandType::Guide; + } + if (str == QStringLiteral("ToggleStats")) { + return GeneralCommandType::ToggleStats; + } + if (str == QStringLiteral("PlayMediaSource")) { + return GeneralCommandType::PlayMediaSource; + } + if (str == QStringLiteral("PlayTrailers")) { + return GeneralCommandType::PlayTrailers; + } + if (str == QStringLiteral("SetShuffleQueue")) { + return GeneralCommandType::SetShuffleQueue; + } + if (str == QStringLiteral("PlayState")) { + return GeneralCommandType::PlayState; + } + if (str == QStringLiteral("PlayNext")) { + return GeneralCommandType::PlayNext; + } + if (str == QStringLiteral("ToggleOsdMenu")) { + return GeneralCommandType::ToggleOsdMenu; + } + if (str == QStringLiteral("Play")) { + return GeneralCommandType::Play; + } + + return GeneralCommandType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/getprogramsdto.cpp b/core/src/dto/getprogramsdto.cpp new file mode 100644 index 0000000..7e82087 --- /dev/null +++ b/core/src/dto/getprogramsdto.cpp @@ -0,0 +1,513 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GetProgramsDto::GetProgramsDto() {} + +GetProgramsDto::GetProgramsDto(const GetProgramsDto &other) : + + m_channelIds(other.m_channelIds), + m_userId(other.m_userId), + m_minStartDate(other.m_minStartDate), + m_hasAired(other.m_hasAired), + m_isAiring(other.m_isAiring), + m_maxStartDate(other.m_maxStartDate), + m_minEndDate(other.m_minEndDate), + m_maxEndDate(other.m_maxEndDate), + m_isMovie(other.m_isMovie), + m_isSeries(other.m_isSeries), + m_isNews(other.m_isNews), + m_isKids(other.m_isKids), + m_isSports(other.m_isSports), + m_startIndex(other.m_startIndex), + m_limit(other.m_limit), + m_sortBy(other.m_sortBy), + m_sortOrder(other.m_sortOrder), + m_genres(other.m_genres), + m_genreIds(other.m_genreIds), + m_enableImages(other.m_enableImages), + m_enableTotalRecordCount(other.m_enableTotalRecordCount), + m_imageTypeLimit(other.m_imageTypeLimit), + m_enableImageTypes(other.m_enableImageTypes), + m_enableUserData(other.m_enableUserData), + m_seriesTimerId(other.m_seriesTimerId), + m_librarySeriesId(other.m_librarySeriesId), + m_fields(other.m_fields){} + + +void GetProgramsDto::replaceData(GetProgramsDto &other) { + m_channelIds = other.m_channelIds; + m_userId = other.m_userId; + m_minStartDate = other.m_minStartDate; + m_hasAired = other.m_hasAired; + m_isAiring = other.m_isAiring; + m_maxStartDate = other.m_maxStartDate; + m_minEndDate = other.m_minEndDate; + m_maxEndDate = other.m_maxEndDate; + m_isMovie = other.m_isMovie; + m_isSeries = other.m_isSeries; + m_isNews = other.m_isNews; + m_isKids = other.m_isKids; + m_isSports = other.m_isSports; + m_startIndex = other.m_startIndex; + m_limit = other.m_limit; + m_sortBy = other.m_sortBy; + m_sortOrder = other.m_sortOrder; + m_genres = other.m_genres; + m_genreIds = other.m_genreIds; + m_enableImages = other.m_enableImages; + m_enableTotalRecordCount = other.m_enableTotalRecordCount; + m_imageTypeLimit = other.m_imageTypeLimit; + m_enableImageTypes = other.m_enableImageTypes; + m_enableUserData = other.m_enableUserData; + m_seriesTimerId = other.m_seriesTimerId; + m_librarySeriesId = other.m_librarySeriesId; + m_fields = other.m_fields; +} + +GetProgramsDto GetProgramsDto::fromJson(QJsonObject source) { + GetProgramsDto instance; + instance.setFromJson(source); + return instance; +} + + +void GetProgramsDto::setFromJson(QJsonObject source) { + m_channelIds = Jellyfin::Support::fromJsonValue(source["ChannelIds"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_minStartDate = Jellyfin::Support::fromJsonValue(source["MinStartDate"]); + m_hasAired = Jellyfin::Support::fromJsonValue>(source["HasAired"]); + m_isAiring = Jellyfin::Support::fromJsonValue>(source["IsAiring"]); + m_maxStartDate = Jellyfin::Support::fromJsonValue(source["MaxStartDate"]); + m_minEndDate = Jellyfin::Support::fromJsonValue(source["MinEndDate"]); + m_maxEndDate = Jellyfin::Support::fromJsonValue(source["MaxEndDate"]); + m_isMovie = Jellyfin::Support::fromJsonValue>(source["IsMovie"]); + m_isSeries = Jellyfin::Support::fromJsonValue>(source["IsSeries"]); + m_isNews = Jellyfin::Support::fromJsonValue>(source["IsNews"]); + m_isKids = Jellyfin::Support::fromJsonValue>(source["IsKids"]); + m_isSports = Jellyfin::Support::fromJsonValue>(source["IsSports"]); + m_startIndex = Jellyfin::Support::fromJsonValue>(source["StartIndex"]); + m_limit = Jellyfin::Support::fromJsonValue>(source["Limit"]); + m_sortBy = Jellyfin::Support::fromJsonValue(source["SortBy"]); + m_sortOrder = Jellyfin::Support::fromJsonValue(source["SortOrder"]); + m_genres = Jellyfin::Support::fromJsonValue(source["Genres"]); + m_genreIds = Jellyfin::Support::fromJsonValue(source["GenreIds"]); + m_enableImages = Jellyfin::Support::fromJsonValue>(source["EnableImages"]); + m_enableTotalRecordCount = Jellyfin::Support::fromJsonValue(source["EnableTotalRecordCount"]); + m_imageTypeLimit = Jellyfin::Support::fromJsonValue>(source["ImageTypeLimit"]); + m_enableImageTypes = Jellyfin::Support::fromJsonValue>(source["EnableImageTypes"]); + m_enableUserData = Jellyfin::Support::fromJsonValue>(source["EnableUserData"]); + m_seriesTimerId = Jellyfin::Support::fromJsonValue(source["SeriesTimerId"]); + m_librarySeriesId = Jellyfin::Support::fromJsonValue(source["LibrarySeriesId"]); + m_fields = Jellyfin::Support::fromJsonValue>(source["Fields"]); + +} + +QJsonObject GetProgramsDto::toJson() { + QJsonObject result; + result["ChannelIds"] = Jellyfin::Support::toJsonValue(m_channelIds); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["MinStartDate"] = Jellyfin::Support::toJsonValue(m_minStartDate); + result["HasAired"] = Jellyfin::Support::toJsonValue>(m_hasAired); + result["IsAiring"] = Jellyfin::Support::toJsonValue>(m_isAiring); + result["MaxStartDate"] = Jellyfin::Support::toJsonValue(m_maxStartDate); + result["MinEndDate"] = Jellyfin::Support::toJsonValue(m_minEndDate); + result["MaxEndDate"] = Jellyfin::Support::toJsonValue(m_maxEndDate); + result["IsMovie"] = Jellyfin::Support::toJsonValue>(m_isMovie); + result["IsSeries"] = Jellyfin::Support::toJsonValue>(m_isSeries); + result["IsNews"] = Jellyfin::Support::toJsonValue>(m_isNews); + result["IsKids"] = Jellyfin::Support::toJsonValue>(m_isKids); + result["IsSports"] = Jellyfin::Support::toJsonValue>(m_isSports); + result["StartIndex"] = Jellyfin::Support::toJsonValue>(m_startIndex); + result["Limit"] = Jellyfin::Support::toJsonValue>(m_limit); + result["SortBy"] = Jellyfin::Support::toJsonValue(m_sortBy); + result["SortOrder"] = Jellyfin::Support::toJsonValue(m_sortOrder); + result["Genres"] = Jellyfin::Support::toJsonValue(m_genres); + result["GenreIds"] = Jellyfin::Support::toJsonValue(m_genreIds); + result["EnableImages"] = Jellyfin::Support::toJsonValue>(m_enableImages); + result["EnableTotalRecordCount"] = Jellyfin::Support::toJsonValue(m_enableTotalRecordCount); + result["ImageTypeLimit"] = Jellyfin::Support::toJsonValue>(m_imageTypeLimit); + result["EnableImageTypes"] = Jellyfin::Support::toJsonValue>(m_enableImageTypes); + result["EnableUserData"] = Jellyfin::Support::toJsonValue>(m_enableUserData); + result["SeriesTimerId"] = Jellyfin::Support::toJsonValue(m_seriesTimerId); + result["LibrarySeriesId"] = Jellyfin::Support::toJsonValue(m_librarySeriesId); + result["Fields"] = Jellyfin::Support::toJsonValue>(m_fields); + + return result; +} + +QStringList GetProgramsDto::channelIds() const { return m_channelIds; } + +void GetProgramsDto::setChannelIds(QStringList newChannelIds) { + m_channelIds = newChannelIds; +} +bool GetProgramsDto::channelIdsNull() const { + return m_channelIds.size() == 0; +} + +void GetProgramsDto::setChannelIdsNull() { + m_channelIds.clear(); + +} +QString GetProgramsDto::userId() const { return m_userId; } + +void GetProgramsDto::setUserId(QString newUserId) { + m_userId = newUserId; +} + +QDateTime GetProgramsDto::minStartDate() const { return m_minStartDate; } + +void GetProgramsDto::setMinStartDate(QDateTime newMinStartDate) { + m_minStartDate = newMinStartDate; +} +bool GetProgramsDto::minStartDateNull() const { + return m_minStartDate.isNull(); +} + +void GetProgramsDto::setMinStartDateNull() { + m_minStartDate= QDateTime(); + +} +std::optional GetProgramsDto::hasAired() const { return m_hasAired; } + +void GetProgramsDto::setHasAired(std::optional newHasAired) { + m_hasAired = newHasAired; +} +bool GetProgramsDto::hasAiredNull() const { + return !m_hasAired.has_value(); +} + +void GetProgramsDto::setHasAiredNull() { + m_hasAired = std::nullopt; + +} +std::optional GetProgramsDto::isAiring() const { return m_isAiring; } + +void GetProgramsDto::setIsAiring(std::optional newIsAiring) { + m_isAiring = newIsAiring; +} +bool GetProgramsDto::isAiringNull() const { + return !m_isAiring.has_value(); +} + +void GetProgramsDto::setIsAiringNull() { + m_isAiring = std::nullopt; + +} +QDateTime GetProgramsDto::maxStartDate() const { return m_maxStartDate; } + +void GetProgramsDto::setMaxStartDate(QDateTime newMaxStartDate) { + m_maxStartDate = newMaxStartDate; +} +bool GetProgramsDto::maxStartDateNull() const { + return m_maxStartDate.isNull(); +} + +void GetProgramsDto::setMaxStartDateNull() { + m_maxStartDate= QDateTime(); + +} +QDateTime GetProgramsDto::minEndDate() const { return m_minEndDate; } + +void GetProgramsDto::setMinEndDate(QDateTime newMinEndDate) { + m_minEndDate = newMinEndDate; +} +bool GetProgramsDto::minEndDateNull() const { + return m_minEndDate.isNull(); +} + +void GetProgramsDto::setMinEndDateNull() { + m_minEndDate= QDateTime(); + +} +QDateTime GetProgramsDto::maxEndDate() const { return m_maxEndDate; } + +void GetProgramsDto::setMaxEndDate(QDateTime newMaxEndDate) { + m_maxEndDate = newMaxEndDate; +} +bool GetProgramsDto::maxEndDateNull() const { + return m_maxEndDate.isNull(); +} + +void GetProgramsDto::setMaxEndDateNull() { + m_maxEndDate= QDateTime(); + +} +std::optional GetProgramsDto::isMovie() const { return m_isMovie; } + +void GetProgramsDto::setIsMovie(std::optional newIsMovie) { + m_isMovie = newIsMovie; +} +bool GetProgramsDto::isMovieNull() const { + return !m_isMovie.has_value(); +} + +void GetProgramsDto::setIsMovieNull() { + m_isMovie = std::nullopt; + +} +std::optional GetProgramsDto::isSeries() const { return m_isSeries; } + +void GetProgramsDto::setIsSeries(std::optional newIsSeries) { + m_isSeries = newIsSeries; +} +bool GetProgramsDto::isSeriesNull() const { + return !m_isSeries.has_value(); +} + +void GetProgramsDto::setIsSeriesNull() { + m_isSeries = std::nullopt; + +} +std::optional GetProgramsDto::isNews() const { return m_isNews; } + +void GetProgramsDto::setIsNews(std::optional newIsNews) { + m_isNews = newIsNews; +} +bool GetProgramsDto::isNewsNull() const { + return !m_isNews.has_value(); +} + +void GetProgramsDto::setIsNewsNull() { + m_isNews = std::nullopt; + +} +std::optional GetProgramsDto::isKids() const { return m_isKids; } + +void GetProgramsDto::setIsKids(std::optional newIsKids) { + m_isKids = newIsKids; +} +bool GetProgramsDto::isKidsNull() const { + return !m_isKids.has_value(); +} + +void GetProgramsDto::setIsKidsNull() { + m_isKids = std::nullopt; + +} +std::optional GetProgramsDto::isSports() const { return m_isSports; } + +void GetProgramsDto::setIsSports(std::optional newIsSports) { + m_isSports = newIsSports; +} +bool GetProgramsDto::isSportsNull() const { + return !m_isSports.has_value(); +} + +void GetProgramsDto::setIsSportsNull() { + m_isSports = std::nullopt; + +} +std::optional GetProgramsDto::startIndex() const { return m_startIndex; } + +void GetProgramsDto::setStartIndex(std::optional newStartIndex) { + m_startIndex = newStartIndex; +} +bool GetProgramsDto::startIndexNull() const { + return !m_startIndex.has_value(); +} + +void GetProgramsDto::setStartIndexNull() { + m_startIndex = std::nullopt; + +} +std::optional GetProgramsDto::limit() const { return m_limit; } + +void GetProgramsDto::setLimit(std::optional newLimit) { + m_limit = newLimit; +} +bool GetProgramsDto::limitNull() const { + return !m_limit.has_value(); +} + +void GetProgramsDto::setLimitNull() { + m_limit = std::nullopt; + +} +QString GetProgramsDto::sortBy() const { return m_sortBy; } + +void GetProgramsDto::setSortBy(QString newSortBy) { + m_sortBy = newSortBy; +} +bool GetProgramsDto::sortByNull() const { + return m_sortBy.isNull(); +} + +void GetProgramsDto::setSortByNull() { + m_sortBy.clear(); + +} +QString GetProgramsDto::sortOrder() const { return m_sortOrder; } + +void GetProgramsDto::setSortOrder(QString newSortOrder) { + m_sortOrder = newSortOrder; +} +bool GetProgramsDto::sortOrderNull() const { + return m_sortOrder.isNull(); +} + +void GetProgramsDto::setSortOrderNull() { + m_sortOrder.clear(); + +} +QStringList GetProgramsDto::genres() const { return m_genres; } + +void GetProgramsDto::setGenres(QStringList newGenres) { + m_genres = newGenres; +} +bool GetProgramsDto::genresNull() const { + return m_genres.size() == 0; +} + +void GetProgramsDto::setGenresNull() { + m_genres.clear(); + +} +QStringList GetProgramsDto::genreIds() const { return m_genreIds; } + +void GetProgramsDto::setGenreIds(QStringList newGenreIds) { + m_genreIds = newGenreIds; +} +bool GetProgramsDto::genreIdsNull() const { + return m_genreIds.size() == 0; +} + +void GetProgramsDto::setGenreIdsNull() { + m_genreIds.clear(); + +} +std::optional GetProgramsDto::enableImages() const { return m_enableImages; } + +void GetProgramsDto::setEnableImages(std::optional newEnableImages) { + m_enableImages = newEnableImages; +} +bool GetProgramsDto::enableImagesNull() const { + return !m_enableImages.has_value(); +} + +void GetProgramsDto::setEnableImagesNull() { + m_enableImages = std::nullopt; + +} +bool GetProgramsDto::enableTotalRecordCount() const { return m_enableTotalRecordCount; } + +void GetProgramsDto::setEnableTotalRecordCount(bool newEnableTotalRecordCount) { + m_enableTotalRecordCount = newEnableTotalRecordCount; +} + +std::optional GetProgramsDto::imageTypeLimit() const { return m_imageTypeLimit; } + +void GetProgramsDto::setImageTypeLimit(std::optional newImageTypeLimit) { + m_imageTypeLimit = newImageTypeLimit; +} +bool GetProgramsDto::imageTypeLimitNull() const { + return !m_imageTypeLimit.has_value(); +} + +void GetProgramsDto::setImageTypeLimitNull() { + m_imageTypeLimit = std::nullopt; + +} +QList GetProgramsDto::enableImageTypes() const { return m_enableImageTypes; } + +void GetProgramsDto::setEnableImageTypes(QList newEnableImageTypes) { + m_enableImageTypes = newEnableImageTypes; +} +bool GetProgramsDto::enableImageTypesNull() const { + return m_enableImageTypes.size() == 0; +} + +void GetProgramsDto::setEnableImageTypesNull() { + m_enableImageTypes.clear(); + +} +std::optional GetProgramsDto::enableUserData() const { return m_enableUserData; } + +void GetProgramsDto::setEnableUserData(std::optional newEnableUserData) { + m_enableUserData = newEnableUserData; +} +bool GetProgramsDto::enableUserDataNull() const { + return !m_enableUserData.has_value(); +} + +void GetProgramsDto::setEnableUserDataNull() { + m_enableUserData = std::nullopt; + +} +QString GetProgramsDto::seriesTimerId() const { return m_seriesTimerId; } + +void GetProgramsDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; +} +bool GetProgramsDto::seriesTimerIdNull() const { + return m_seriesTimerId.isNull(); +} + +void GetProgramsDto::setSeriesTimerIdNull() { + m_seriesTimerId.clear(); + +} +QString GetProgramsDto::librarySeriesId() const { return m_librarySeriesId; } + +void GetProgramsDto::setLibrarySeriesId(QString newLibrarySeriesId) { + m_librarySeriesId = newLibrarySeriesId; +} + +QList GetProgramsDto::fields() const { return m_fields; } + +void GetProgramsDto::setFields(QList newFields) { + m_fields = newFields; +} +bool GetProgramsDto::fieldsNull() const { + return m_fields.size() == 0; +} + +void GetProgramsDto::setFieldsNull() { + m_fields.clear(); + +} + +} // NS DTO + +namespace Support { + +using GetProgramsDto = Jellyfin::DTO::GetProgramsDto; + +template <> +GetProgramsDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return GetProgramsDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/groupinfodto.cpp b/core/src/dto/groupinfodto.cpp new file mode 100644 index 0000000..798b443 --- /dev/null +++ b/core/src/dto/groupinfodto.cpp @@ -0,0 +1,139 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupInfoDto::GroupInfoDto() {} + +GroupInfoDto::GroupInfoDto(const GroupInfoDto &other) : + + m_groupId(other.m_groupId), + m_groupName(other.m_groupName), + m_state(other.m_state), + m_participants(other.m_participants), + m_lastUpdatedAt(other.m_lastUpdatedAt){} + + +void GroupInfoDto::replaceData(GroupInfoDto &other) { + m_groupId = other.m_groupId; + m_groupName = other.m_groupName; + m_state = other.m_state; + m_participants = other.m_participants; + m_lastUpdatedAt = other.m_lastUpdatedAt; +} + +GroupInfoDto GroupInfoDto::fromJson(QJsonObject source) { + GroupInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void GroupInfoDto::setFromJson(QJsonObject source) { + m_groupId = Jellyfin::Support::fromJsonValue(source["GroupId"]); + m_groupName = Jellyfin::Support::fromJsonValue(source["GroupName"]); + m_state = Jellyfin::Support::fromJsonValue(source["State"]); + m_participants = Jellyfin::Support::fromJsonValue(source["Participants"]); + m_lastUpdatedAt = Jellyfin::Support::fromJsonValue(source["LastUpdatedAt"]); + +} + +QJsonObject GroupInfoDto::toJson() { + QJsonObject result; + result["GroupId"] = Jellyfin::Support::toJsonValue(m_groupId); + result["GroupName"] = Jellyfin::Support::toJsonValue(m_groupName); + result["State"] = Jellyfin::Support::toJsonValue(m_state); + result["Participants"] = Jellyfin::Support::toJsonValue(m_participants); + result["LastUpdatedAt"] = Jellyfin::Support::toJsonValue(m_lastUpdatedAt); + + return result; +} + +QString GroupInfoDto::groupId() const { return m_groupId; } + +void GroupInfoDto::setGroupId(QString newGroupId) { + m_groupId = newGroupId; +} + +QString GroupInfoDto::groupName() const { return m_groupName; } + +void GroupInfoDto::setGroupName(QString newGroupName) { + m_groupName = newGroupName; +} +bool GroupInfoDto::groupNameNull() const { + return m_groupName.isNull(); +} + +void GroupInfoDto::setGroupNameNull() { + m_groupName.clear(); + +} +GroupStateType GroupInfoDto::state() const { return m_state; } + +void GroupInfoDto::setState(GroupStateType newState) { + m_state = newState; +} + +QStringList GroupInfoDto::participants() const { return m_participants; } + +void GroupInfoDto::setParticipants(QStringList newParticipants) { + m_participants = newParticipants; +} +bool GroupInfoDto::participantsNull() const { + return m_participants.size() == 0; +} + +void GroupInfoDto::setParticipantsNull() { + m_participants.clear(); + +} +QDateTime GroupInfoDto::lastUpdatedAt() const { return m_lastUpdatedAt; } + +void GroupInfoDto::setLastUpdatedAt(QDateTime newLastUpdatedAt) { + m_lastUpdatedAt = newLastUpdatedAt; +} + + +} // NS DTO + +namespace Support { + +using GroupInfoDto = Jellyfin::DTO::GroupInfoDto; + +template <> +GroupInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return GroupInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/groupqueuemode.cpp b/core/src/dto/groupqueuemode.cpp new file mode 100644 index 0000000..8b07529 --- /dev/null +++ b/core/src/dto/groupqueuemode.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupQueueModeClass::GroupQueueModeClass() {} + + +} // NS DTO + +namespace Support { + +using GroupQueueMode = Jellyfin::DTO::GroupQueueMode; + +template <> +GroupQueueMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GroupQueueMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Queue")) { + return GroupQueueMode::Queue; + } + if (str == QStringLiteral("QueueNext")) { + return GroupQueueMode::QueueNext; + } + + return GroupQueueMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/grouprepeatmode.cpp b/core/src/dto/grouprepeatmode.cpp new file mode 100644 index 0000000..b776ce7 --- /dev/null +++ b/core/src/dto/grouprepeatmode.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupRepeatModeClass::GroupRepeatModeClass() {} + + +} // NS DTO + +namespace Support { + +using GroupRepeatMode = Jellyfin::DTO::GroupRepeatMode; + +template <> +GroupRepeatMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GroupRepeatMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("RepeatOne")) { + return GroupRepeatMode::RepeatOne; + } + if (str == QStringLiteral("RepeatAll")) { + return GroupRepeatMode::RepeatAll; + } + if (str == QStringLiteral("RepeatNone")) { + return GroupRepeatMode::RepeatNone; + } + + return GroupRepeatMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/groupshufflemode.cpp b/core/src/dto/groupshufflemode.cpp new file mode 100644 index 0000000..6902905 --- /dev/null +++ b/core/src/dto/groupshufflemode.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupShuffleModeClass::GroupShuffleModeClass() {} + + +} // NS DTO + +namespace Support { + +using GroupShuffleMode = Jellyfin::DTO::GroupShuffleMode; + +template <> +GroupShuffleMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GroupShuffleMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Sorted")) { + return GroupShuffleMode::Sorted; + } + if (str == QStringLiteral("Shuffle")) { + return GroupShuffleMode::Shuffle; + } + + return GroupShuffleMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/groupstatetype.cpp b/core/src/dto/groupstatetype.cpp new file mode 100644 index 0000000..c22bf78 --- /dev/null +++ b/core/src/dto/groupstatetype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupStateTypeClass::GroupStateTypeClass() {} + + +} // NS DTO + +namespace Support { + +using GroupStateType = Jellyfin::DTO::GroupStateType; + +template <> +GroupStateType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GroupStateType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Idle")) { + return GroupStateType::Idle; + } + if (str == QStringLiteral("Waiting")) { + return GroupStateType::Waiting; + } + if (str == QStringLiteral("Paused")) { + return GroupStateType::Paused; + } + if (str == QStringLiteral("Playing")) { + return GroupStateType::Playing; + } + + return GroupStateType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/groupupdatetype.cpp b/core/src/dto/groupupdatetype.cpp new file mode 100644 index 0000000..76bb6de --- /dev/null +++ b/core/src/dto/groupupdatetype.cpp @@ -0,0 +1,87 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GroupUpdateTypeClass::GroupUpdateTypeClass() {} + + +} // NS DTO + +namespace Support { + +using GroupUpdateType = Jellyfin::DTO::GroupUpdateType; + +template <> +GroupUpdateType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return GroupUpdateType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("UserJoined")) { + return GroupUpdateType::UserJoined; + } + if (str == QStringLiteral("UserLeft")) { + return GroupUpdateType::UserLeft; + } + if (str == QStringLiteral("GroupJoined")) { + return GroupUpdateType::GroupJoined; + } + if (str == QStringLiteral("GroupLeft")) { + return GroupUpdateType::GroupLeft; + } + if (str == QStringLiteral("StateUpdate")) { + return GroupUpdateType::StateUpdate; + } + if (str == QStringLiteral("PlayQueue")) { + return GroupUpdateType::PlayQueue; + } + if (str == QStringLiteral("NotInGroup")) { + return GroupUpdateType::NotInGroup; + } + if (str == QStringLiteral("GroupDoesNotExist")) { + return GroupUpdateType::GroupDoesNotExist; + } + if (str == QStringLiteral("CreateGroupDenied")) { + return GroupUpdateType::CreateGroupDenied; + } + if (str == QStringLiteral("JoinGroupDenied")) { + return GroupUpdateType::JoinGroupDenied; + } + if (str == QStringLiteral("LibraryAccessDenied")) { + return GroupUpdateType::LibraryAccessDenied; + } + + return GroupUpdateType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/guideinfo.cpp b/core/src/dto/guideinfo.cpp new file mode 100644 index 0000000..5cf60e7 --- /dev/null +++ b/core/src/dto/guideinfo.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GuideInfo::GuideInfo() {} + +GuideInfo::GuideInfo(const GuideInfo &other) : + + m_startDate(other.m_startDate), + m_endDate(other.m_endDate){} + + +void GuideInfo::replaceData(GuideInfo &other) { + m_startDate = other.m_startDate; + m_endDate = other.m_endDate; +} + +GuideInfo GuideInfo::fromJson(QJsonObject source) { + GuideInfo instance; + instance.setFromJson(source); + return instance; +} + + +void GuideInfo::setFromJson(QJsonObject source) { + m_startDate = Jellyfin::Support::fromJsonValue(source["StartDate"]); + m_endDate = Jellyfin::Support::fromJsonValue(source["EndDate"]); + +} + +QJsonObject GuideInfo::toJson() { + QJsonObject result; + result["StartDate"] = Jellyfin::Support::toJsonValue(m_startDate); + result["EndDate"] = Jellyfin::Support::toJsonValue(m_endDate); + + return result; +} + +QDateTime GuideInfo::startDate() const { return m_startDate; } + +void GuideInfo::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; +} + +QDateTime GuideInfo::endDate() const { return m_endDate; } + +void GuideInfo::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; +} + + +} // NS DTO + +namespace Support { + +using GuideInfo = Jellyfin::DTO::GuideInfo; + +template <> +GuideInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return GuideInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/headermatchtype.cpp b/core/src/dto/headermatchtype.cpp new file mode 100644 index 0000000..4ddc25c --- /dev/null +++ b/core/src/dto/headermatchtype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +HeaderMatchTypeClass::HeaderMatchTypeClass() {} + + +} // NS DTO + +namespace Support { + +using HeaderMatchType = Jellyfin::DTO::HeaderMatchType; + +template <> +HeaderMatchType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return HeaderMatchType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Equals")) { + return HeaderMatchType::Equals; + } + if (str == QStringLiteral("Regex")) { + return HeaderMatchType::Regex; + } + if (str == QStringLiteral("Substring")) { + return HeaderMatchType::Substring; + } + + return HeaderMatchType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/httpheaderinfo.cpp b/core/src/dto/httpheaderinfo.cpp new file mode 100644 index 0000000..42c24ca --- /dev/null +++ b/core/src/dto/httpheaderinfo.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +HttpHeaderInfo::HttpHeaderInfo() {} + +HttpHeaderInfo::HttpHeaderInfo(const HttpHeaderInfo &other) : + + m_name(other.m_name), + m_value(other.m_value), + m_match(other.m_match){} + + +void HttpHeaderInfo::replaceData(HttpHeaderInfo &other) { + m_name = other.m_name; + m_value = other.m_value; + m_match = other.m_match; +} + +HttpHeaderInfo HttpHeaderInfo::fromJson(QJsonObject source) { + HttpHeaderInfo instance; + instance.setFromJson(source); + return instance; +} + + +void HttpHeaderInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + m_match = Jellyfin::Support::fromJsonValue(source["Match"]); + +} + +QJsonObject HttpHeaderInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + result["Match"] = Jellyfin::Support::toJsonValue(m_match); + + return result; +} + +QString HttpHeaderInfo::name() const { return m_name; } + +void HttpHeaderInfo::setName(QString newName) { + m_name = newName; +} +bool HttpHeaderInfo::nameNull() const { + return m_name.isNull(); +} + +void HttpHeaderInfo::setNameNull() { + m_name.clear(); + +} +QString HttpHeaderInfo::value() const { return m_value; } + +void HttpHeaderInfo::setValue(QString newValue) { + m_value = newValue; +} +bool HttpHeaderInfo::valueNull() const { + return m_value.isNull(); +} + +void HttpHeaderInfo::setValueNull() { + m_value.clear(); + +} +HeaderMatchType HttpHeaderInfo::match() const { return m_match; } + +void HttpHeaderInfo::setMatch(HeaderMatchType newMatch) { + m_match = newMatch; +} + + +} // NS DTO + +namespace Support { + +using HttpHeaderInfo = Jellyfin::DTO::HttpHeaderInfo; + +template <> +HttpHeaderInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return HttpHeaderInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/ignorewaitrequestdto.cpp b/core/src/dto/ignorewaitrequestdto.cpp new file mode 100644 index 0000000..95f4949 --- /dev/null +++ b/core/src/dto/ignorewaitrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +IgnoreWaitRequestDto::IgnoreWaitRequestDto() {} + +IgnoreWaitRequestDto::IgnoreWaitRequestDto(const IgnoreWaitRequestDto &other) : + + m_ignoreWait(other.m_ignoreWait){} + + +void IgnoreWaitRequestDto::replaceData(IgnoreWaitRequestDto &other) { + m_ignoreWait = other.m_ignoreWait; +} + +IgnoreWaitRequestDto IgnoreWaitRequestDto::fromJson(QJsonObject source) { + IgnoreWaitRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void IgnoreWaitRequestDto::setFromJson(QJsonObject source) { + m_ignoreWait = Jellyfin::Support::fromJsonValue(source["IgnoreWait"]); + +} + +QJsonObject IgnoreWaitRequestDto::toJson() { + QJsonObject result; + result["IgnoreWait"] = Jellyfin::Support::toJsonValue(m_ignoreWait); + + return result; +} + +bool IgnoreWaitRequestDto::ignoreWait() const { return m_ignoreWait; } + +void IgnoreWaitRequestDto::setIgnoreWait(bool newIgnoreWait) { + m_ignoreWait = newIgnoreWait; +} + + +} // NS DTO + +namespace Support { + +using IgnoreWaitRequestDto = Jellyfin::DTO::IgnoreWaitRequestDto; + +template <> +IgnoreWaitRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return IgnoreWaitRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imagebynameinfo.cpp b/core/src/dto/imagebynameinfo.cpp new file mode 100644 index 0000000..922598d --- /dev/null +++ b/core/src/dto/imagebynameinfo.cpp @@ -0,0 +1,153 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageByNameInfo::ImageByNameInfo() {} + +ImageByNameInfo::ImageByNameInfo(const ImageByNameInfo &other) : + + m_name(other.m_name), + m_theme(other.m_theme), + m_context(other.m_context), + m_fileLength(other.m_fileLength), + m_format(other.m_format){} + + +void ImageByNameInfo::replaceData(ImageByNameInfo &other) { + m_name = other.m_name; + m_theme = other.m_theme; + m_context = other.m_context; + m_fileLength = other.m_fileLength; + m_format = other.m_format; +} + +ImageByNameInfo ImageByNameInfo::fromJson(QJsonObject source) { + ImageByNameInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ImageByNameInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_theme = Jellyfin::Support::fromJsonValue(source["Theme"]); + m_context = Jellyfin::Support::fromJsonValue(source["Context"]); + m_fileLength = Jellyfin::Support::fromJsonValue(source["FileLength"]); + m_format = Jellyfin::Support::fromJsonValue(source["Format"]); + +} + +QJsonObject ImageByNameInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Theme"] = Jellyfin::Support::toJsonValue(m_theme); + result["Context"] = Jellyfin::Support::toJsonValue(m_context); + result["FileLength"] = Jellyfin::Support::toJsonValue(m_fileLength); + result["Format"] = Jellyfin::Support::toJsonValue(m_format); + + return result; +} + +QString ImageByNameInfo::name() const { return m_name; } + +void ImageByNameInfo::setName(QString newName) { + m_name = newName; +} +bool ImageByNameInfo::nameNull() const { + return m_name.isNull(); +} + +void ImageByNameInfo::setNameNull() { + m_name.clear(); + +} +QString ImageByNameInfo::theme() const { return m_theme; } + +void ImageByNameInfo::setTheme(QString newTheme) { + m_theme = newTheme; +} +bool ImageByNameInfo::themeNull() const { + return m_theme.isNull(); +} + +void ImageByNameInfo::setThemeNull() { + m_theme.clear(); + +} +QString ImageByNameInfo::context() const { return m_context; } + +void ImageByNameInfo::setContext(QString newContext) { + m_context = newContext; +} +bool ImageByNameInfo::contextNull() const { + return m_context.isNull(); +} + +void ImageByNameInfo::setContextNull() { + m_context.clear(); + +} +qint64 ImageByNameInfo::fileLength() const { return m_fileLength; } + +void ImageByNameInfo::setFileLength(qint64 newFileLength) { + m_fileLength = newFileLength; +} + +QString ImageByNameInfo::format() const { return m_format; } + +void ImageByNameInfo::setFormat(QString newFormat) { + m_format = newFormat; +} +bool ImageByNameInfo::formatNull() const { + return m_format.isNull(); +} + +void ImageByNameInfo::setFormatNull() { + m_format.clear(); + +} + +} // NS DTO + +namespace Support { + +using ImageByNameInfo = Jellyfin::DTO::ImageByNameInfo; + +template <> +ImageByNameInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ImageByNameInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imageformat.cpp b/core/src/dto/imageformat.cpp new file mode 100644 index 0000000..b4f4708 --- /dev/null +++ b/core/src/dto/imageformat.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageFormatClass::ImageFormatClass() {} + + +} // NS DTO + +namespace Support { + +using ImageFormat = Jellyfin::DTO::ImageFormat; + +template <> +ImageFormat fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ImageFormat::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Bmp")) { + return ImageFormat::Bmp; + } + if (str == QStringLiteral("Gif")) { + return ImageFormat::Gif; + } + if (str == QStringLiteral("Jpg")) { + return ImageFormat::Jpg; + } + if (str == QStringLiteral("Png")) { + return ImageFormat::Png; + } + if (str == QStringLiteral("Webp")) { + return ImageFormat::Webp; + } + + return ImageFormat::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imageinfo.cpp b/core/src/dto/imageinfo.cpp new file mode 100644 index 0000000..badd82b --- /dev/null +++ b/core/src/dto/imageinfo.cpp @@ -0,0 +1,197 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageInfo::ImageInfo() {} + +ImageInfo::ImageInfo(const ImageInfo &other) : + + m_imageType(other.m_imageType), + m_imageIndex(other.m_imageIndex), + m_imageTag(other.m_imageTag), + m_path(other.m_path), + m_blurHash(other.m_blurHash), + m_height(other.m_height), + m_width(other.m_width), + m_size(other.m_size){} + + +void ImageInfo::replaceData(ImageInfo &other) { + m_imageType = other.m_imageType; + m_imageIndex = other.m_imageIndex; + m_imageTag = other.m_imageTag; + m_path = other.m_path; + m_blurHash = other.m_blurHash; + m_height = other.m_height; + m_width = other.m_width; + m_size = other.m_size; +} + +ImageInfo ImageInfo::fromJson(QJsonObject source) { + ImageInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ImageInfo::setFromJson(QJsonObject source) { + m_imageType = Jellyfin::Support::fromJsonValue(source["ImageType"]); + m_imageIndex = Jellyfin::Support::fromJsonValue>(source["ImageIndex"]); + m_imageTag = Jellyfin::Support::fromJsonValue(source["ImageTag"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_blurHash = Jellyfin::Support::fromJsonValue(source["BlurHash"]); + m_height = Jellyfin::Support::fromJsonValue>(source["Height"]); + m_width = Jellyfin::Support::fromJsonValue>(source["Width"]); + m_size = Jellyfin::Support::fromJsonValue(source["Size"]); + +} + +QJsonObject ImageInfo::toJson() { + QJsonObject result; + result["ImageType"] = Jellyfin::Support::toJsonValue(m_imageType); + result["ImageIndex"] = Jellyfin::Support::toJsonValue>(m_imageIndex); + result["ImageTag"] = Jellyfin::Support::toJsonValue(m_imageTag); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["BlurHash"] = Jellyfin::Support::toJsonValue(m_blurHash); + result["Height"] = Jellyfin::Support::toJsonValue>(m_height); + result["Width"] = Jellyfin::Support::toJsonValue>(m_width); + result["Size"] = Jellyfin::Support::toJsonValue(m_size); + + return result; +} + +ImageType ImageInfo::imageType() const { return m_imageType; } + +void ImageInfo::setImageType(ImageType newImageType) { + m_imageType = newImageType; +} + +std::optional ImageInfo::imageIndex() const { return m_imageIndex; } + +void ImageInfo::setImageIndex(std::optional newImageIndex) { + m_imageIndex = newImageIndex; +} +bool ImageInfo::imageIndexNull() const { + return !m_imageIndex.has_value(); +} + +void ImageInfo::setImageIndexNull() { + m_imageIndex = std::nullopt; + +} +QString ImageInfo::imageTag() const { return m_imageTag; } + +void ImageInfo::setImageTag(QString newImageTag) { + m_imageTag = newImageTag; +} +bool ImageInfo::imageTagNull() const { + return m_imageTag.isNull(); +} + +void ImageInfo::setImageTagNull() { + m_imageTag.clear(); + +} +QString ImageInfo::path() const { return m_path; } + +void ImageInfo::setPath(QString newPath) { + m_path = newPath; +} +bool ImageInfo::pathNull() const { + return m_path.isNull(); +} + +void ImageInfo::setPathNull() { + m_path.clear(); + +} +QString ImageInfo::blurHash() const { return m_blurHash; } + +void ImageInfo::setBlurHash(QString newBlurHash) { + m_blurHash = newBlurHash; +} +bool ImageInfo::blurHashNull() const { + return m_blurHash.isNull(); +} + +void ImageInfo::setBlurHashNull() { + m_blurHash.clear(); + +} +std::optional ImageInfo::height() const { return m_height; } + +void ImageInfo::setHeight(std::optional newHeight) { + m_height = newHeight; +} +bool ImageInfo::heightNull() const { + return !m_height.has_value(); +} + +void ImageInfo::setHeightNull() { + m_height = std::nullopt; + +} +std::optional ImageInfo::width() const { return m_width; } + +void ImageInfo::setWidth(std::optional newWidth) { + m_width = newWidth; +} +bool ImageInfo::widthNull() const { + return !m_width.has_value(); +} + +void ImageInfo::setWidthNull() { + m_width = std::nullopt; + +} +qint64 ImageInfo::size() const { return m_size; } + +void ImageInfo::setSize(qint64 newSize) { + m_size = newSize; +} + + +} // NS DTO + +namespace Support { + +using ImageInfo = Jellyfin::DTO::ImageInfo; + +template <> +ImageInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ImageInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imageoption.cpp b/core/src/dto/imageoption.cpp new file mode 100644 index 0000000..38f30da --- /dev/null +++ b/core/src/dto/imageoption.cpp @@ -0,0 +1,105 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageOption::ImageOption() {} + +ImageOption::ImageOption(const ImageOption &other) : + + m_type(other.m_type), + m_limit(other.m_limit), + m_minWidth(other.m_minWidth){} + + +void ImageOption::replaceData(ImageOption &other) { + m_type = other.m_type; + m_limit = other.m_limit; + m_minWidth = other.m_minWidth; +} + +ImageOption ImageOption::fromJson(QJsonObject source) { + ImageOption instance; + instance.setFromJson(source); + return instance; +} + + +void ImageOption::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_limit = Jellyfin::Support::fromJsonValue(source["Limit"]); + m_minWidth = Jellyfin::Support::fromJsonValue(source["MinWidth"]); + +} + +QJsonObject ImageOption::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Limit"] = Jellyfin::Support::toJsonValue(m_limit); + result["MinWidth"] = Jellyfin::Support::toJsonValue(m_minWidth); + + return result; +} + +ImageType ImageOption::type() const { return m_type; } + +void ImageOption::setType(ImageType newType) { + m_type = newType; +} + +qint32 ImageOption::limit() const { return m_limit; } + +void ImageOption::setLimit(qint32 newLimit) { + m_limit = newLimit; +} + +qint32 ImageOption::minWidth() const { return m_minWidth; } + +void ImageOption::setMinWidth(qint32 newMinWidth) { + m_minWidth = newMinWidth; +} + + +} // NS DTO + +namespace Support { + +using ImageOption = Jellyfin::DTO::ImageOption; + +template <> +ImageOption fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ImageOption::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imageorientation.cpp b/core/src/dto/imageorientation.cpp new file mode 100644 index 0000000..a2c1b17 --- /dev/null +++ b/core/src/dto/imageorientation.cpp @@ -0,0 +1,78 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageOrientationClass::ImageOrientationClass() {} + + +} // NS DTO + +namespace Support { + +using ImageOrientation = Jellyfin::DTO::ImageOrientation; + +template <> +ImageOrientation fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ImageOrientation::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("TopLeft")) { + return ImageOrientation::TopLeft; + } + if (str == QStringLiteral("TopRight")) { + return ImageOrientation::TopRight; + } + if (str == QStringLiteral("BottomRight")) { + return ImageOrientation::BottomRight; + } + if (str == QStringLiteral("BottomLeft")) { + return ImageOrientation::BottomLeft; + } + if (str == QStringLiteral("LeftTop")) { + return ImageOrientation::LeftTop; + } + if (str == QStringLiteral("RightTop")) { + return ImageOrientation::RightTop; + } + if (str == QStringLiteral("RightBottom")) { + return ImageOrientation::RightBottom; + } + if (str == QStringLiteral("LeftBottom")) { + return ImageOrientation::LeftBottom; + } + + return ImageOrientation::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imageproviderinfo.cpp b/core/src/dto/imageproviderinfo.cpp new file mode 100644 index 0000000..4ee0726 --- /dev/null +++ b/core/src/dto/imageproviderinfo.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageProviderInfo::ImageProviderInfo() {} + +ImageProviderInfo::ImageProviderInfo(const ImageProviderInfo &other) : + + m_name(other.m_name), + m_supportedImages(other.m_supportedImages){} + + +void ImageProviderInfo::replaceData(ImageProviderInfo &other) { + m_name = other.m_name; + m_supportedImages = other.m_supportedImages; +} + +ImageProviderInfo ImageProviderInfo::fromJson(QJsonObject source) { + ImageProviderInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ImageProviderInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_supportedImages = Jellyfin::Support::fromJsonValue>(source["SupportedImages"]); + +} + +QJsonObject ImageProviderInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["SupportedImages"] = Jellyfin::Support::toJsonValue>(m_supportedImages); + + return result; +} + +QString ImageProviderInfo::name() const { return m_name; } + +void ImageProviderInfo::setName(QString newName) { + m_name = newName; +} +bool ImageProviderInfo::nameNull() const { + return m_name.isNull(); +} + +void ImageProviderInfo::setNameNull() { + m_name.clear(); + +} +QList ImageProviderInfo::supportedImages() const { return m_supportedImages; } + +void ImageProviderInfo::setSupportedImages(QList newSupportedImages) { + m_supportedImages = newSupportedImages; +} +bool ImageProviderInfo::supportedImagesNull() const { + return m_supportedImages.size() == 0; +} + +void ImageProviderInfo::setSupportedImagesNull() { + m_supportedImages.clear(); + +} + +} // NS DTO + +namespace Support { + +using ImageProviderInfo = Jellyfin::DTO::ImageProviderInfo; + +template <> +ImageProviderInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ImageProviderInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imagesavingconvention.cpp b/core/src/dto/imagesavingconvention.cpp new file mode 100644 index 0000000..f3f08be --- /dev/null +++ b/core/src/dto/imagesavingconvention.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageSavingConventionClass::ImageSavingConventionClass() {} + + +} // NS DTO + +namespace Support { + +using ImageSavingConvention = Jellyfin::DTO::ImageSavingConvention; + +template <> +ImageSavingConvention fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ImageSavingConvention::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Legacy")) { + return ImageSavingConvention::Legacy; + } + if (str == QStringLiteral("Compatible")) { + return ImageSavingConvention::Compatible; + } + + return ImageSavingConvention::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/imagetype.cpp b/core/src/dto/imagetype.cpp new file mode 100644 index 0000000..d826b3d --- /dev/null +++ b/core/src/dto/imagetype.cpp @@ -0,0 +1,93 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageTypeClass::ImageTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ImageType = Jellyfin::DTO::ImageType; + +template <> +ImageType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ImageType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Primary")) { + return ImageType::Primary; + } + if (str == QStringLiteral("Art")) { + return ImageType::Art; + } + if (str == QStringLiteral("Backdrop")) { + return ImageType::Backdrop; + } + if (str == QStringLiteral("Banner")) { + return ImageType::Banner; + } + if (str == QStringLiteral("Logo")) { + return ImageType::Logo; + } + if (str == QStringLiteral("Thumb")) { + return ImageType::Thumb; + } + if (str == QStringLiteral("Disc")) { + return ImageType::Disc; + } + if (str == QStringLiteral("Box")) { + return ImageType::Box; + } + if (str == QStringLiteral("Screenshot")) { + return ImageType::Screenshot; + } + if (str == QStringLiteral("Menu")) { + return ImageType::Menu; + } + if (str == QStringLiteral("Chapter")) { + return ImageType::Chapter; + } + if (str == QStringLiteral("BoxRear")) { + return ImageType::BoxRear; + } + if (str == QStringLiteral("Profile")) { + return ImageType::Profile; + } + + return ImageType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/installationinfo.cpp b/core/src/dto/installationinfo.cpp new file mode 100644 index 0000000..0c39770 --- /dev/null +++ b/core/src/dto/installationinfo.cpp @@ -0,0 +1,163 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +InstallationInfo::InstallationInfo() {} + +InstallationInfo::InstallationInfo(const InstallationInfo &other) : + + m_guid(other.m_guid), + m_name(other.m_name), + m_version(other.m_version), + m_changelog(other.m_changelog), + m_sourceUrl(other.m_sourceUrl), + m_checksum(other.m_checksum){} + + +void InstallationInfo::replaceData(InstallationInfo &other) { + m_guid = other.m_guid; + m_name = other.m_name; + m_version = other.m_version; + m_changelog = other.m_changelog; + m_sourceUrl = other.m_sourceUrl; + m_checksum = other.m_checksum; +} + +InstallationInfo InstallationInfo::fromJson(QJsonObject source) { + InstallationInfo instance; + instance.setFromJson(source); + return instance; +} + + +void InstallationInfo::setFromJson(QJsonObject source) { + m_guid = Jellyfin::Support::fromJsonValue(source["Guid"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_version = Jellyfin::Support::fromJsonValue>(source["Version"]); + m_changelog = Jellyfin::Support::fromJsonValue(source["Changelog"]); + m_sourceUrl = Jellyfin::Support::fromJsonValue(source["SourceUrl"]); + m_checksum = Jellyfin::Support::fromJsonValue(source["Checksum"]); + +} + +QJsonObject InstallationInfo::toJson() { + QJsonObject result; + result["Guid"] = Jellyfin::Support::toJsonValue(m_guid); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Version"] = Jellyfin::Support::toJsonValue>(m_version); + result["Changelog"] = Jellyfin::Support::toJsonValue(m_changelog); + result["SourceUrl"] = Jellyfin::Support::toJsonValue(m_sourceUrl); + result["Checksum"] = Jellyfin::Support::toJsonValue(m_checksum); + + return result; +} + +QString InstallationInfo::guid() const { return m_guid; } + +void InstallationInfo::setGuid(QString newGuid) { + m_guid = newGuid; +} + +QString InstallationInfo::name() const { return m_name; } + +void InstallationInfo::setName(QString newName) { + m_name = newName; +} +bool InstallationInfo::nameNull() const { + return m_name.isNull(); +} + +void InstallationInfo::setNameNull() { + m_name.clear(); + +} +QSharedPointer InstallationInfo::version() const { return m_version; } + +void InstallationInfo::setVersion(QSharedPointer newVersion) { + m_version = newVersion; +} + +QString InstallationInfo::changelog() const { return m_changelog; } + +void InstallationInfo::setChangelog(QString newChangelog) { + m_changelog = newChangelog; +} +bool InstallationInfo::changelogNull() const { + return m_changelog.isNull(); +} + +void InstallationInfo::setChangelogNull() { + m_changelog.clear(); + +} +QString InstallationInfo::sourceUrl() const { return m_sourceUrl; } + +void InstallationInfo::setSourceUrl(QString newSourceUrl) { + m_sourceUrl = newSourceUrl; +} +bool InstallationInfo::sourceUrlNull() const { + return m_sourceUrl.isNull(); +} + +void InstallationInfo::setSourceUrlNull() { + m_sourceUrl.clear(); + +} +QString InstallationInfo::checksum() const { return m_checksum; } + +void InstallationInfo::setChecksum(QString newChecksum) { + m_checksum = newChecksum; +} +bool InstallationInfo::checksumNull() const { + return m_checksum.isNull(); +} + +void InstallationInfo::setChecksumNull() { + m_checksum.clear(); + +} + +} // NS DTO + +namespace Support { + +using InstallationInfo = Jellyfin::DTO::InstallationInfo; + +template <> +InstallationInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return InstallationInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/iplugin.cpp b/core/src/dto/iplugin.cpp new file mode 100644 index 0000000..265d6e0 --- /dev/null +++ b/core/src/dto/iplugin.cpp @@ -0,0 +1,173 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +IPlugin::IPlugin() {} + +IPlugin::IPlugin(const IPlugin &other) : + + m_name(other.m_name), + m_description(other.m_description), + m_jellyfinId(other.m_jellyfinId), + m_version(other.m_version), + m_assemblyFilePath(other.m_assemblyFilePath), + m_canUninstall(other.m_canUninstall), + m_dataFolderPath(other.m_dataFolderPath){} + + +void IPlugin::replaceData(IPlugin &other) { + m_name = other.m_name; + m_description = other.m_description; + m_jellyfinId = other.m_jellyfinId; + m_version = other.m_version; + m_assemblyFilePath = other.m_assemblyFilePath; + m_canUninstall = other.m_canUninstall; + m_dataFolderPath = other.m_dataFolderPath; +} + +IPlugin IPlugin::fromJson(QJsonObject source) { + IPlugin instance; + instance.setFromJson(source); + return instance; +} + + +void IPlugin::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_description = Jellyfin::Support::fromJsonValue(source["Description"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_version = Jellyfin::Support::fromJsonValue>(source["Version"]); + m_assemblyFilePath = Jellyfin::Support::fromJsonValue(source["AssemblyFilePath"]); + m_canUninstall = Jellyfin::Support::fromJsonValue(source["CanUninstall"]); + m_dataFolderPath = Jellyfin::Support::fromJsonValue(source["DataFolderPath"]); + +} + +QJsonObject IPlugin::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Description"] = Jellyfin::Support::toJsonValue(m_description); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Version"] = Jellyfin::Support::toJsonValue>(m_version); + result["AssemblyFilePath"] = Jellyfin::Support::toJsonValue(m_assemblyFilePath); + result["CanUninstall"] = Jellyfin::Support::toJsonValue(m_canUninstall); + result["DataFolderPath"] = Jellyfin::Support::toJsonValue(m_dataFolderPath); + + return result; +} + +QString IPlugin::name() const { return m_name; } + +void IPlugin::setName(QString newName) { + m_name = newName; +} +bool IPlugin::nameNull() const { + return m_name.isNull(); +} + +void IPlugin::setNameNull() { + m_name.clear(); + +} +QString IPlugin::description() const { return m_description; } + +void IPlugin::setDescription(QString newDescription) { + m_description = newDescription; +} +bool IPlugin::descriptionNull() const { + return m_description.isNull(); +} + +void IPlugin::setDescriptionNull() { + m_description.clear(); + +} +QString IPlugin::jellyfinId() const { return m_jellyfinId; } + +void IPlugin::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QSharedPointer IPlugin::version() const { return m_version; } + +void IPlugin::setVersion(QSharedPointer newVersion) { + m_version = newVersion; +} + +QString IPlugin::assemblyFilePath() const { return m_assemblyFilePath; } + +void IPlugin::setAssemblyFilePath(QString newAssemblyFilePath) { + m_assemblyFilePath = newAssemblyFilePath; +} +bool IPlugin::assemblyFilePathNull() const { + return m_assemblyFilePath.isNull(); +} + +void IPlugin::setAssemblyFilePathNull() { + m_assemblyFilePath.clear(); + +} +bool IPlugin::canUninstall() const { return m_canUninstall; } + +void IPlugin::setCanUninstall(bool newCanUninstall) { + m_canUninstall = newCanUninstall; +} + +QString IPlugin::dataFolderPath() const { return m_dataFolderPath; } + +void IPlugin::setDataFolderPath(QString newDataFolderPath) { + m_dataFolderPath = newDataFolderPath; +} +bool IPlugin::dataFolderPathNull() const { + return m_dataFolderPath.isNull(); +} + +void IPlugin::setDataFolderPathNull() { + m_dataFolderPath.clear(); + +} + +} // NS DTO + +namespace Support { + +using IPlugin = Jellyfin::DTO::IPlugin; + +template <> +IPlugin fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return IPlugin::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/isotype.cpp b/core/src/dto/isotype.cpp new file mode 100644 index 0000000..2dc858e --- /dev/null +++ b/core/src/dto/isotype.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +IsoTypeClass::IsoTypeClass() {} + + +} // NS DTO + +namespace Support { + +using IsoType = Jellyfin::DTO::IsoType; + +template <> +IsoType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return IsoType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Dvd")) { + return IsoType::Dvd; + } + if (str == QStringLiteral("BluRay")) { + return IsoType::BluRay; + } + + return IsoType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/itemcounts.cpp b/core/src/dto/itemcounts.cpp new file mode 100644 index 0000000..4e905a8 --- /dev/null +++ b/core/src/dto/itemcounts.cpp @@ -0,0 +1,195 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ItemCounts::ItemCounts() {} + +ItemCounts::ItemCounts(const ItemCounts &other) : + + m_movieCount(other.m_movieCount), + m_seriesCount(other.m_seriesCount), + m_episodeCount(other.m_episodeCount), + m_artistCount(other.m_artistCount), + m_programCount(other.m_programCount), + m_trailerCount(other.m_trailerCount), + m_songCount(other.m_songCount), + m_albumCount(other.m_albumCount), + m_musicVideoCount(other.m_musicVideoCount), + m_boxSetCount(other.m_boxSetCount), + m_bookCount(other.m_bookCount), + m_itemCount(other.m_itemCount){} + + +void ItemCounts::replaceData(ItemCounts &other) { + m_movieCount = other.m_movieCount; + m_seriesCount = other.m_seriesCount; + m_episodeCount = other.m_episodeCount; + m_artistCount = other.m_artistCount; + m_programCount = other.m_programCount; + m_trailerCount = other.m_trailerCount; + m_songCount = other.m_songCount; + m_albumCount = other.m_albumCount; + m_musicVideoCount = other.m_musicVideoCount; + m_boxSetCount = other.m_boxSetCount; + m_bookCount = other.m_bookCount; + m_itemCount = other.m_itemCount; +} + +ItemCounts ItemCounts::fromJson(QJsonObject source) { + ItemCounts instance; + instance.setFromJson(source); + return instance; +} + + +void ItemCounts::setFromJson(QJsonObject source) { + m_movieCount = Jellyfin::Support::fromJsonValue(source["MovieCount"]); + m_seriesCount = Jellyfin::Support::fromJsonValue(source["SeriesCount"]); + m_episodeCount = Jellyfin::Support::fromJsonValue(source["EpisodeCount"]); + m_artistCount = Jellyfin::Support::fromJsonValue(source["ArtistCount"]); + m_programCount = Jellyfin::Support::fromJsonValue(source["ProgramCount"]); + m_trailerCount = Jellyfin::Support::fromJsonValue(source["TrailerCount"]); + m_songCount = Jellyfin::Support::fromJsonValue(source["SongCount"]); + m_albumCount = Jellyfin::Support::fromJsonValue(source["AlbumCount"]); + m_musicVideoCount = Jellyfin::Support::fromJsonValue(source["MusicVideoCount"]); + m_boxSetCount = Jellyfin::Support::fromJsonValue(source["BoxSetCount"]); + m_bookCount = Jellyfin::Support::fromJsonValue(source["BookCount"]); + m_itemCount = Jellyfin::Support::fromJsonValue(source["ItemCount"]); + +} + +QJsonObject ItemCounts::toJson() { + QJsonObject result; + result["MovieCount"] = Jellyfin::Support::toJsonValue(m_movieCount); + result["SeriesCount"] = Jellyfin::Support::toJsonValue(m_seriesCount); + result["EpisodeCount"] = Jellyfin::Support::toJsonValue(m_episodeCount); + result["ArtistCount"] = Jellyfin::Support::toJsonValue(m_artistCount); + result["ProgramCount"] = Jellyfin::Support::toJsonValue(m_programCount); + result["TrailerCount"] = Jellyfin::Support::toJsonValue(m_trailerCount); + result["SongCount"] = Jellyfin::Support::toJsonValue(m_songCount); + result["AlbumCount"] = Jellyfin::Support::toJsonValue(m_albumCount); + result["MusicVideoCount"] = Jellyfin::Support::toJsonValue(m_musicVideoCount); + result["BoxSetCount"] = Jellyfin::Support::toJsonValue(m_boxSetCount); + result["BookCount"] = Jellyfin::Support::toJsonValue(m_bookCount); + result["ItemCount"] = Jellyfin::Support::toJsonValue(m_itemCount); + + return result; +} + +qint32 ItemCounts::movieCount() const { return m_movieCount; } + +void ItemCounts::setMovieCount(qint32 newMovieCount) { + m_movieCount = newMovieCount; +} + +qint32 ItemCounts::seriesCount() const { return m_seriesCount; } + +void ItemCounts::setSeriesCount(qint32 newSeriesCount) { + m_seriesCount = newSeriesCount; +} + +qint32 ItemCounts::episodeCount() const { return m_episodeCount; } + +void ItemCounts::setEpisodeCount(qint32 newEpisodeCount) { + m_episodeCount = newEpisodeCount; +} + +qint32 ItemCounts::artistCount() const { return m_artistCount; } + +void ItemCounts::setArtistCount(qint32 newArtistCount) { + m_artistCount = newArtistCount; +} + +qint32 ItemCounts::programCount() const { return m_programCount; } + +void ItemCounts::setProgramCount(qint32 newProgramCount) { + m_programCount = newProgramCount; +} + +qint32 ItemCounts::trailerCount() const { return m_trailerCount; } + +void ItemCounts::setTrailerCount(qint32 newTrailerCount) { + m_trailerCount = newTrailerCount; +} + +qint32 ItemCounts::songCount() const { return m_songCount; } + +void ItemCounts::setSongCount(qint32 newSongCount) { + m_songCount = newSongCount; +} + +qint32 ItemCounts::albumCount() const { return m_albumCount; } + +void ItemCounts::setAlbumCount(qint32 newAlbumCount) { + m_albumCount = newAlbumCount; +} + +qint32 ItemCounts::musicVideoCount() const { return m_musicVideoCount; } + +void ItemCounts::setMusicVideoCount(qint32 newMusicVideoCount) { + m_musicVideoCount = newMusicVideoCount; +} + +qint32 ItemCounts::boxSetCount() const { return m_boxSetCount; } + +void ItemCounts::setBoxSetCount(qint32 newBoxSetCount) { + m_boxSetCount = newBoxSetCount; +} + +qint32 ItemCounts::bookCount() const { return m_bookCount; } + +void ItemCounts::setBookCount(qint32 newBookCount) { + m_bookCount = newBookCount; +} + +qint32 ItemCounts::itemCount() const { return m_itemCount; } + +void ItemCounts::setItemCount(qint32 newItemCount) { + m_itemCount = newItemCount; +} + + +} // NS DTO + +namespace Support { + +using ItemCounts = Jellyfin::DTO::ItemCounts; + +template <> +ItemCounts fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ItemCounts::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/itemfields.cpp b/core/src/dto/itemfields.cpp new file mode 100644 index 0000000..eee745a --- /dev/null +++ b/core/src/dto/itemfields.cpp @@ -0,0 +1,237 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ItemFieldsClass::ItemFieldsClass() {} + + +} // NS DTO + +namespace Support { + +using ItemFields = Jellyfin::DTO::ItemFields; + +template <> +ItemFields fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ItemFields::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("AirTime")) { + return ItemFields::AirTime; + } + if (str == QStringLiteral("CanDelete")) { + return ItemFields::CanDelete; + } + if (str == QStringLiteral("CanDownload")) { + return ItemFields::CanDownload; + } + if (str == QStringLiteral("ChannelInfo")) { + return ItemFields::ChannelInfo; + } + if (str == QStringLiteral("Chapters")) { + return ItemFields::Chapters; + } + if (str == QStringLiteral("ChildCount")) { + return ItemFields::ChildCount; + } + if (str == QStringLiteral("CumulativeRunTimeTicks")) { + return ItemFields::CumulativeRunTimeTicks; + } + if (str == QStringLiteral("CustomRating")) { + return ItemFields::CustomRating; + } + if (str == QStringLiteral("DateCreated")) { + return ItemFields::DateCreated; + } + if (str == QStringLiteral("DateLastMediaAdded")) { + return ItemFields::DateLastMediaAdded; + } + if (str == QStringLiteral("DisplayPreferencesId")) { + return ItemFields::DisplayPreferencesId; + } + if (str == QStringLiteral("Etag")) { + return ItemFields::Etag; + } + if (str == QStringLiteral("ExternalUrls")) { + return ItemFields::ExternalUrls; + } + if (str == QStringLiteral("Genres")) { + return ItemFields::Genres; + } + if (str == QStringLiteral("HomePageUrl")) { + return ItemFields::HomePageUrl; + } + if (str == QStringLiteral("ItemCounts")) { + return ItemFields::ItemCounts; + } + if (str == QStringLiteral("MediaSourceCount")) { + return ItemFields::MediaSourceCount; + } + if (str == QStringLiteral("MediaSources")) { + return ItemFields::MediaSources; + } + if (str == QStringLiteral("OriginalTitle")) { + return ItemFields::OriginalTitle; + } + if (str == QStringLiteral("Overview")) { + return ItemFields::Overview; + } + if (str == QStringLiteral("ParentId")) { + return ItemFields::ParentId; + } + if (str == QStringLiteral("Path")) { + return ItemFields::Path; + } + if (str == QStringLiteral("People")) { + return ItemFields::People; + } + if (str == QStringLiteral("PlayAccess")) { + return ItemFields::PlayAccess; + } + if (str == QStringLiteral("ProductionLocations")) { + return ItemFields::ProductionLocations; + } + if (str == QStringLiteral("ProviderIds")) { + return ItemFields::ProviderIds; + } + if (str == QStringLiteral("PrimaryImageAspectRatio")) { + return ItemFields::PrimaryImageAspectRatio; + } + if (str == QStringLiteral("RecursiveItemCount")) { + return ItemFields::RecursiveItemCount; + } + if (str == QStringLiteral("Settings")) { + return ItemFields::Settings; + } + if (str == QStringLiteral("ScreenshotImageTags")) { + return ItemFields::ScreenshotImageTags; + } + if (str == QStringLiteral("SeriesPrimaryImage")) { + return ItemFields::SeriesPrimaryImage; + } + if (str == QStringLiteral("SeriesStudio")) { + return ItemFields::SeriesStudio; + } + if (str == QStringLiteral("SortName")) { + return ItemFields::SortName; + } + if (str == QStringLiteral("SpecialEpisodeNumbers")) { + return ItemFields::SpecialEpisodeNumbers; + } + if (str == QStringLiteral("Studios")) { + return ItemFields::Studios; + } + if (str == QStringLiteral("BasicSyncInfo")) { + return ItemFields::BasicSyncInfo; + } + if (str == QStringLiteral("SyncInfo")) { + return ItemFields::SyncInfo; + } + if (str == QStringLiteral("Taglines")) { + return ItemFields::Taglines; + } + if (str == QStringLiteral("Tags")) { + return ItemFields::Tags; + } + if (str == QStringLiteral("RemoteTrailers")) { + return ItemFields::RemoteTrailers; + } + if (str == QStringLiteral("MediaStreams")) { + return ItemFields::MediaStreams; + } + if (str == QStringLiteral("SeasonUserData")) { + return ItemFields::SeasonUserData; + } + if (str == QStringLiteral("ServiceName")) { + return ItemFields::ServiceName; + } + if (str == QStringLiteral("ThemeSongIds")) { + return ItemFields::ThemeSongIds; + } + if (str == QStringLiteral("ThemeVideoIds")) { + return ItemFields::ThemeVideoIds; + } + if (str == QStringLiteral("ExternalEtag")) { + return ItemFields::ExternalEtag; + } + if (str == QStringLiteral("PresentationUniqueKey")) { + return ItemFields::PresentationUniqueKey; + } + if (str == QStringLiteral("InheritedParentalRatingValue")) { + return ItemFields::InheritedParentalRatingValue; + } + if (str == QStringLiteral("ExternalSeriesId")) { + return ItemFields::ExternalSeriesId; + } + if (str == QStringLiteral("SeriesPresentationUniqueKey")) { + return ItemFields::SeriesPresentationUniqueKey; + } + if (str == QStringLiteral("DateLastRefreshed")) { + return ItemFields::DateLastRefreshed; + } + if (str == QStringLiteral("DateLastSaved")) { + return ItemFields::DateLastSaved; + } + if (str == QStringLiteral("RefreshState")) { + return ItemFields::RefreshState; + } + if (str == QStringLiteral("ChannelImage")) { + return ItemFields::ChannelImage; + } + if (str == QStringLiteral("EnableMediaSourceDisplay")) { + return ItemFields::EnableMediaSourceDisplay; + } + if (str == QStringLiteral("Width")) { + return ItemFields::Width; + } + if (str == QStringLiteral("Height")) { + return ItemFields::Height; + } + if (str == QStringLiteral("ExtraIds")) { + return ItemFields::ExtraIds; + } + if (str == QStringLiteral("LocalTrailerCount")) { + return ItemFields::LocalTrailerCount; + } + if (str == QStringLiteral("IsHD")) { + return ItemFields::IsHD; + } + if (str == QStringLiteral("SpecialFeatureCount")) { + return ItemFields::SpecialFeatureCount; + } + + return ItemFields::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/itemfilter.cpp b/core/src/dto/itemfilter.cpp new file mode 100644 index 0000000..67ec33e --- /dev/null +++ b/core/src/dto/itemfilter.cpp @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ItemFilterClass::ItemFilterClass() {} + + +} // NS DTO + +namespace Support { + +using ItemFilter = Jellyfin::DTO::ItemFilter; + +template <> +ItemFilter fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ItemFilter::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("IsFolder")) { + return ItemFilter::IsFolder; + } + if (str == QStringLiteral("IsNotFolder")) { + return ItemFilter::IsNotFolder; + } + if (str == QStringLiteral("IsUnplayed")) { + return ItemFilter::IsUnplayed; + } + if (str == QStringLiteral("IsPlayed")) { + return ItemFilter::IsPlayed; + } + if (str == QStringLiteral("IsFavorite")) { + return ItemFilter::IsFavorite; + } + if (str == QStringLiteral("IsResumable")) { + return ItemFilter::IsResumable; + } + if (str == QStringLiteral("Likes")) { + return ItemFilter::Likes; + } + if (str == QStringLiteral("Dislikes")) { + return ItemFilter::Dislikes; + } + if (str == QStringLiteral("IsFavoriteOrLikes")) { + return ItemFilter::IsFavoriteOrLikes; + } + + return ItemFilter::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/joingrouprequestdto.cpp b/core/src/dto/joingrouprequestdto.cpp new file mode 100644 index 0000000..49c84e2 --- /dev/null +++ b/core/src/dto/joingrouprequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +JoinGroupRequestDto::JoinGroupRequestDto() {} + +JoinGroupRequestDto::JoinGroupRequestDto(const JoinGroupRequestDto &other) : + + m_groupId(other.m_groupId){} + + +void JoinGroupRequestDto::replaceData(JoinGroupRequestDto &other) { + m_groupId = other.m_groupId; +} + +JoinGroupRequestDto JoinGroupRequestDto::fromJson(QJsonObject source) { + JoinGroupRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void JoinGroupRequestDto::setFromJson(QJsonObject source) { + m_groupId = Jellyfin::Support::fromJsonValue(source["GroupId"]); + +} + +QJsonObject JoinGroupRequestDto::toJson() { + QJsonObject result; + result["GroupId"] = Jellyfin::Support::toJsonValue(m_groupId); + + return result; +} + +QString JoinGroupRequestDto::groupId() const { return m_groupId; } + +void JoinGroupRequestDto::setGroupId(QString newGroupId) { + m_groupId = newGroupId; +} + + +} // NS DTO + +namespace Support { + +using JoinGroupRequestDto = Jellyfin::DTO::JoinGroupRequestDto; + +template <> +JoinGroupRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return JoinGroupRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/keepuntil.cpp b/core/src/dto/keepuntil.cpp new file mode 100644 index 0000000..61765bf --- /dev/null +++ b/core/src/dto/keepuntil.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +KeepUntilClass::KeepUntilClass() {} + + +} // NS DTO + +namespace Support { + +using KeepUntil = Jellyfin::DTO::KeepUntil; + +template <> +KeepUntil fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return KeepUntil::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("UntilDeleted")) { + return KeepUntil::UntilDeleted; + } + if (str == QStringLiteral("UntilSpaceNeeded")) { + return KeepUntil::UntilSpaceNeeded; + } + if (str == QStringLiteral("UntilWatched")) { + return KeepUntil::UntilWatched; + } + if (str == QStringLiteral("UntilDate")) { + return KeepUntil::UntilDate; + } + + return KeepUntil::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/libraryoptioninfodto.cpp b/core/src/dto/libraryoptioninfodto.cpp new file mode 100644 index 0000000..5d90810 --- /dev/null +++ b/core/src/dto/libraryoptioninfodto.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryOptionInfoDto::LibraryOptionInfoDto() {} + +LibraryOptionInfoDto::LibraryOptionInfoDto(const LibraryOptionInfoDto &other) : + + m_name(other.m_name), + m_defaultEnabled(other.m_defaultEnabled){} + + +void LibraryOptionInfoDto::replaceData(LibraryOptionInfoDto &other) { + m_name = other.m_name; + m_defaultEnabled = other.m_defaultEnabled; +} + +LibraryOptionInfoDto LibraryOptionInfoDto::fromJson(QJsonObject source) { + LibraryOptionInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void LibraryOptionInfoDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_defaultEnabled = Jellyfin::Support::fromJsonValue(source["DefaultEnabled"]); + +} + +QJsonObject LibraryOptionInfoDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["DefaultEnabled"] = Jellyfin::Support::toJsonValue(m_defaultEnabled); + + return result; +} + +QString LibraryOptionInfoDto::name() const { return m_name; } + +void LibraryOptionInfoDto::setName(QString newName) { + m_name = newName; +} +bool LibraryOptionInfoDto::nameNull() const { + return m_name.isNull(); +} + +void LibraryOptionInfoDto::setNameNull() { + m_name.clear(); + +} +bool LibraryOptionInfoDto::defaultEnabled() const { return m_defaultEnabled; } + +void LibraryOptionInfoDto::setDefaultEnabled(bool newDefaultEnabled) { + m_defaultEnabled = newDefaultEnabled; +} + + +} // NS DTO + +namespace Support { + +using LibraryOptionInfoDto = Jellyfin::DTO::LibraryOptionInfoDto; + +template <> +LibraryOptionInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LibraryOptionInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/libraryoptions.cpp b/core/src/dto/libraryoptions.cpp new file mode 100644 index 0000000..7af7dd4 --- /dev/null +++ b/core/src/dto/libraryoptions.cpp @@ -0,0 +1,402 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryOptions::LibraryOptions() {} + +LibraryOptions::LibraryOptions(const LibraryOptions &other) : + + m_enablePhotos(other.m_enablePhotos), + m_enableRealtimeMonitor(other.m_enableRealtimeMonitor), + m_enableChapterImageExtraction(other.m_enableChapterImageExtraction), + m_extractChapterImagesDuringLibraryScan(other.m_extractChapterImagesDuringLibraryScan), + m_pathInfos(other.m_pathInfos), + m_saveLocalMetadata(other.m_saveLocalMetadata), + m_enableInternetProviders(other.m_enableInternetProviders), + m_enableAutomaticSeriesGrouping(other.m_enableAutomaticSeriesGrouping), + m_enableEmbeddedTitles(other.m_enableEmbeddedTitles), + m_enableEmbeddedEpisodeInfos(other.m_enableEmbeddedEpisodeInfos), + m_automaticRefreshIntervalDays(other.m_automaticRefreshIntervalDays), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_seasonZeroDisplayName(other.m_seasonZeroDisplayName), + m_metadataSavers(other.m_metadataSavers), + m_disabledLocalMetadataReaders(other.m_disabledLocalMetadataReaders), + m_localMetadataReaderOrder(other.m_localMetadataReaderOrder), + m_disabledSubtitleFetchers(other.m_disabledSubtitleFetchers), + m_subtitleFetcherOrder(other.m_subtitleFetcherOrder), + m_skipSubtitlesIfEmbeddedSubtitlesPresent(other.m_skipSubtitlesIfEmbeddedSubtitlesPresent), + m_skipSubtitlesIfAudioTrackMatches(other.m_skipSubtitlesIfAudioTrackMatches), + m_subtitleDownloadLanguages(other.m_subtitleDownloadLanguages), + m_requirePerfectSubtitleMatch(other.m_requirePerfectSubtitleMatch), + m_saveSubtitlesWithMedia(other.m_saveSubtitlesWithMedia), + m_typeOptions(other.m_typeOptions){} + + +void LibraryOptions::replaceData(LibraryOptions &other) { + m_enablePhotos = other.m_enablePhotos; + m_enableRealtimeMonitor = other.m_enableRealtimeMonitor; + m_enableChapterImageExtraction = other.m_enableChapterImageExtraction; + m_extractChapterImagesDuringLibraryScan = other.m_extractChapterImagesDuringLibraryScan; + m_pathInfos = other.m_pathInfos; + m_saveLocalMetadata = other.m_saveLocalMetadata; + m_enableInternetProviders = other.m_enableInternetProviders; + m_enableAutomaticSeriesGrouping = other.m_enableAutomaticSeriesGrouping; + m_enableEmbeddedTitles = other.m_enableEmbeddedTitles; + m_enableEmbeddedEpisodeInfos = other.m_enableEmbeddedEpisodeInfos; + m_automaticRefreshIntervalDays = other.m_automaticRefreshIntervalDays; + m_preferredMetadataLanguage = other.m_preferredMetadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_seasonZeroDisplayName = other.m_seasonZeroDisplayName; + m_metadataSavers = other.m_metadataSavers; + m_disabledLocalMetadataReaders = other.m_disabledLocalMetadataReaders; + m_localMetadataReaderOrder = other.m_localMetadataReaderOrder; + m_disabledSubtitleFetchers = other.m_disabledSubtitleFetchers; + m_subtitleFetcherOrder = other.m_subtitleFetcherOrder; + m_skipSubtitlesIfEmbeddedSubtitlesPresent = other.m_skipSubtitlesIfEmbeddedSubtitlesPresent; + m_skipSubtitlesIfAudioTrackMatches = other.m_skipSubtitlesIfAudioTrackMatches; + m_subtitleDownloadLanguages = other.m_subtitleDownloadLanguages; + m_requirePerfectSubtitleMatch = other.m_requirePerfectSubtitleMatch; + m_saveSubtitlesWithMedia = other.m_saveSubtitlesWithMedia; + m_typeOptions = other.m_typeOptions; +} + +LibraryOptions LibraryOptions::fromJson(QJsonObject source) { + LibraryOptions instance; + instance.setFromJson(source); + return instance; +} + + +void LibraryOptions::setFromJson(QJsonObject source) { + m_enablePhotos = Jellyfin::Support::fromJsonValue(source["EnablePhotos"]); + m_enableRealtimeMonitor = Jellyfin::Support::fromJsonValue(source["EnableRealtimeMonitor"]); + m_enableChapterImageExtraction = Jellyfin::Support::fromJsonValue(source["EnableChapterImageExtraction"]); + m_extractChapterImagesDuringLibraryScan = Jellyfin::Support::fromJsonValue(source["ExtractChapterImagesDuringLibraryScan"]); + m_pathInfos = Jellyfin::Support::fromJsonValue>>(source["PathInfos"]); + m_saveLocalMetadata = Jellyfin::Support::fromJsonValue(source["SaveLocalMetadata"]); + m_enableInternetProviders = Jellyfin::Support::fromJsonValue(source["EnableInternetProviders"]); + m_enableAutomaticSeriesGrouping = Jellyfin::Support::fromJsonValue(source["EnableAutomaticSeriesGrouping"]); + m_enableEmbeddedTitles = Jellyfin::Support::fromJsonValue(source["EnableEmbeddedTitles"]); + m_enableEmbeddedEpisodeInfos = Jellyfin::Support::fromJsonValue(source["EnableEmbeddedEpisodeInfos"]); + m_automaticRefreshIntervalDays = Jellyfin::Support::fromJsonValue(source["AutomaticRefreshIntervalDays"]); + m_preferredMetadataLanguage = Jellyfin::Support::fromJsonValue(source["PreferredMetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_seasonZeroDisplayName = Jellyfin::Support::fromJsonValue(source["SeasonZeroDisplayName"]); + m_metadataSavers = Jellyfin::Support::fromJsonValue(source["MetadataSavers"]); + m_disabledLocalMetadataReaders = Jellyfin::Support::fromJsonValue(source["DisabledLocalMetadataReaders"]); + m_localMetadataReaderOrder = Jellyfin::Support::fromJsonValue(source["LocalMetadataReaderOrder"]); + m_disabledSubtitleFetchers = Jellyfin::Support::fromJsonValue(source["DisabledSubtitleFetchers"]); + m_subtitleFetcherOrder = Jellyfin::Support::fromJsonValue(source["SubtitleFetcherOrder"]); + m_skipSubtitlesIfEmbeddedSubtitlesPresent = Jellyfin::Support::fromJsonValue(source["SkipSubtitlesIfEmbeddedSubtitlesPresent"]); + m_skipSubtitlesIfAudioTrackMatches = Jellyfin::Support::fromJsonValue(source["SkipSubtitlesIfAudioTrackMatches"]); + m_subtitleDownloadLanguages = Jellyfin::Support::fromJsonValue(source["SubtitleDownloadLanguages"]); + m_requirePerfectSubtitleMatch = Jellyfin::Support::fromJsonValue(source["RequirePerfectSubtitleMatch"]); + m_saveSubtitlesWithMedia = Jellyfin::Support::fromJsonValue(source["SaveSubtitlesWithMedia"]); + m_typeOptions = Jellyfin::Support::fromJsonValue>>(source["TypeOptions"]); + +} + +QJsonObject LibraryOptions::toJson() { + QJsonObject result; + result["EnablePhotos"] = Jellyfin::Support::toJsonValue(m_enablePhotos); + result["EnableRealtimeMonitor"] = Jellyfin::Support::toJsonValue(m_enableRealtimeMonitor); + result["EnableChapterImageExtraction"] = Jellyfin::Support::toJsonValue(m_enableChapterImageExtraction); + result["ExtractChapterImagesDuringLibraryScan"] = Jellyfin::Support::toJsonValue(m_extractChapterImagesDuringLibraryScan); + result["PathInfos"] = Jellyfin::Support::toJsonValue>>(m_pathInfos); + result["SaveLocalMetadata"] = Jellyfin::Support::toJsonValue(m_saveLocalMetadata); + result["EnableInternetProviders"] = Jellyfin::Support::toJsonValue(m_enableInternetProviders); + result["EnableAutomaticSeriesGrouping"] = Jellyfin::Support::toJsonValue(m_enableAutomaticSeriesGrouping); + result["EnableEmbeddedTitles"] = Jellyfin::Support::toJsonValue(m_enableEmbeddedTitles); + result["EnableEmbeddedEpisodeInfos"] = Jellyfin::Support::toJsonValue(m_enableEmbeddedEpisodeInfos); + result["AutomaticRefreshIntervalDays"] = Jellyfin::Support::toJsonValue(m_automaticRefreshIntervalDays); + result["PreferredMetadataLanguage"] = Jellyfin::Support::toJsonValue(m_preferredMetadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["SeasonZeroDisplayName"] = Jellyfin::Support::toJsonValue(m_seasonZeroDisplayName); + result["MetadataSavers"] = Jellyfin::Support::toJsonValue(m_metadataSavers); + result["DisabledLocalMetadataReaders"] = Jellyfin::Support::toJsonValue(m_disabledLocalMetadataReaders); + result["LocalMetadataReaderOrder"] = Jellyfin::Support::toJsonValue(m_localMetadataReaderOrder); + result["DisabledSubtitleFetchers"] = Jellyfin::Support::toJsonValue(m_disabledSubtitleFetchers); + result["SubtitleFetcherOrder"] = Jellyfin::Support::toJsonValue(m_subtitleFetcherOrder); + result["SkipSubtitlesIfEmbeddedSubtitlesPresent"] = Jellyfin::Support::toJsonValue(m_skipSubtitlesIfEmbeddedSubtitlesPresent); + result["SkipSubtitlesIfAudioTrackMatches"] = Jellyfin::Support::toJsonValue(m_skipSubtitlesIfAudioTrackMatches); + result["SubtitleDownloadLanguages"] = Jellyfin::Support::toJsonValue(m_subtitleDownloadLanguages); + result["RequirePerfectSubtitleMatch"] = Jellyfin::Support::toJsonValue(m_requirePerfectSubtitleMatch); + result["SaveSubtitlesWithMedia"] = Jellyfin::Support::toJsonValue(m_saveSubtitlesWithMedia); + result["TypeOptions"] = Jellyfin::Support::toJsonValue>>(m_typeOptions); + + return result; +} + +bool LibraryOptions::enablePhotos() const { return m_enablePhotos; } + +void LibraryOptions::setEnablePhotos(bool newEnablePhotos) { + m_enablePhotos = newEnablePhotos; +} + +bool LibraryOptions::enableRealtimeMonitor() const { return m_enableRealtimeMonitor; } + +void LibraryOptions::setEnableRealtimeMonitor(bool newEnableRealtimeMonitor) { + m_enableRealtimeMonitor = newEnableRealtimeMonitor; +} + +bool LibraryOptions::enableChapterImageExtraction() const { return m_enableChapterImageExtraction; } + +void LibraryOptions::setEnableChapterImageExtraction(bool newEnableChapterImageExtraction) { + m_enableChapterImageExtraction = newEnableChapterImageExtraction; +} + +bool LibraryOptions::extractChapterImagesDuringLibraryScan() const { return m_extractChapterImagesDuringLibraryScan; } + +void LibraryOptions::setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan) { + m_extractChapterImagesDuringLibraryScan = newExtractChapterImagesDuringLibraryScan; +} + +QList> LibraryOptions::pathInfos() const { return m_pathInfos; } + +void LibraryOptions::setPathInfos(QList> newPathInfos) { + m_pathInfos = newPathInfos; +} +bool LibraryOptions::pathInfosNull() const { + return m_pathInfos.size() == 0; +} + +void LibraryOptions::setPathInfosNull() { + m_pathInfos.clear(); + +} +bool LibraryOptions::saveLocalMetadata() const { return m_saveLocalMetadata; } + +void LibraryOptions::setSaveLocalMetadata(bool newSaveLocalMetadata) { + m_saveLocalMetadata = newSaveLocalMetadata; +} + +bool LibraryOptions::enableInternetProviders() const { return m_enableInternetProviders; } + +void LibraryOptions::setEnableInternetProviders(bool newEnableInternetProviders) { + m_enableInternetProviders = newEnableInternetProviders; +} + +bool LibraryOptions::enableAutomaticSeriesGrouping() const { return m_enableAutomaticSeriesGrouping; } + +void LibraryOptions::setEnableAutomaticSeriesGrouping(bool newEnableAutomaticSeriesGrouping) { + m_enableAutomaticSeriesGrouping = newEnableAutomaticSeriesGrouping; +} + +bool LibraryOptions::enableEmbeddedTitles() const { return m_enableEmbeddedTitles; } + +void LibraryOptions::setEnableEmbeddedTitles(bool newEnableEmbeddedTitles) { + m_enableEmbeddedTitles = newEnableEmbeddedTitles; +} + +bool LibraryOptions::enableEmbeddedEpisodeInfos() const { return m_enableEmbeddedEpisodeInfos; } + +void LibraryOptions::setEnableEmbeddedEpisodeInfos(bool newEnableEmbeddedEpisodeInfos) { + m_enableEmbeddedEpisodeInfos = newEnableEmbeddedEpisodeInfos; +} + +qint32 LibraryOptions::automaticRefreshIntervalDays() const { return m_automaticRefreshIntervalDays; } + +void LibraryOptions::setAutomaticRefreshIntervalDays(qint32 newAutomaticRefreshIntervalDays) { + m_automaticRefreshIntervalDays = newAutomaticRefreshIntervalDays; +} + +QString LibraryOptions::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } + +void LibraryOptions::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; +} +bool LibraryOptions::preferredMetadataLanguageNull() const { + return m_preferredMetadataLanguage.isNull(); +} + +void LibraryOptions::setPreferredMetadataLanguageNull() { + m_preferredMetadataLanguage.clear(); + +} +QString LibraryOptions::metadataCountryCode() const { return m_metadataCountryCode; } + +void LibraryOptions::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool LibraryOptions::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void LibraryOptions::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +QString LibraryOptions::seasonZeroDisplayName() const { return m_seasonZeroDisplayName; } + +void LibraryOptions::setSeasonZeroDisplayName(QString newSeasonZeroDisplayName) { + m_seasonZeroDisplayName = newSeasonZeroDisplayName; +} +bool LibraryOptions::seasonZeroDisplayNameNull() const { + return m_seasonZeroDisplayName.isNull(); +} + +void LibraryOptions::setSeasonZeroDisplayNameNull() { + m_seasonZeroDisplayName.clear(); + +} +QStringList LibraryOptions::metadataSavers() const { return m_metadataSavers; } + +void LibraryOptions::setMetadataSavers(QStringList newMetadataSavers) { + m_metadataSavers = newMetadataSavers; +} +bool LibraryOptions::metadataSaversNull() const { + return m_metadataSavers.size() == 0; +} + +void LibraryOptions::setMetadataSaversNull() { + m_metadataSavers.clear(); + +} +QStringList LibraryOptions::disabledLocalMetadataReaders() const { return m_disabledLocalMetadataReaders; } + +void LibraryOptions::setDisabledLocalMetadataReaders(QStringList newDisabledLocalMetadataReaders) { + m_disabledLocalMetadataReaders = newDisabledLocalMetadataReaders; +} +bool LibraryOptions::disabledLocalMetadataReadersNull() const { + return m_disabledLocalMetadataReaders.size() == 0; +} + +void LibraryOptions::setDisabledLocalMetadataReadersNull() { + m_disabledLocalMetadataReaders.clear(); + +} +QStringList LibraryOptions::localMetadataReaderOrder() const { return m_localMetadataReaderOrder; } + +void LibraryOptions::setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder) { + m_localMetadataReaderOrder = newLocalMetadataReaderOrder; +} +bool LibraryOptions::localMetadataReaderOrderNull() const { + return m_localMetadataReaderOrder.size() == 0; +} + +void LibraryOptions::setLocalMetadataReaderOrderNull() { + m_localMetadataReaderOrder.clear(); + +} +QStringList LibraryOptions::disabledSubtitleFetchers() const { return m_disabledSubtitleFetchers; } + +void LibraryOptions::setDisabledSubtitleFetchers(QStringList newDisabledSubtitleFetchers) { + m_disabledSubtitleFetchers = newDisabledSubtitleFetchers; +} +bool LibraryOptions::disabledSubtitleFetchersNull() const { + return m_disabledSubtitleFetchers.size() == 0; +} + +void LibraryOptions::setDisabledSubtitleFetchersNull() { + m_disabledSubtitleFetchers.clear(); + +} +QStringList LibraryOptions::subtitleFetcherOrder() const { return m_subtitleFetcherOrder; } + +void LibraryOptions::setSubtitleFetcherOrder(QStringList newSubtitleFetcherOrder) { + m_subtitleFetcherOrder = newSubtitleFetcherOrder; +} +bool LibraryOptions::subtitleFetcherOrderNull() const { + return m_subtitleFetcherOrder.size() == 0; +} + +void LibraryOptions::setSubtitleFetcherOrderNull() { + m_subtitleFetcherOrder.clear(); + +} +bool LibraryOptions::skipSubtitlesIfEmbeddedSubtitlesPresent() const { return m_skipSubtitlesIfEmbeddedSubtitlesPresent; } + +void LibraryOptions::setSkipSubtitlesIfEmbeddedSubtitlesPresent(bool newSkipSubtitlesIfEmbeddedSubtitlesPresent) { + m_skipSubtitlesIfEmbeddedSubtitlesPresent = newSkipSubtitlesIfEmbeddedSubtitlesPresent; +} + +bool LibraryOptions::skipSubtitlesIfAudioTrackMatches() const { return m_skipSubtitlesIfAudioTrackMatches; } + +void LibraryOptions::setSkipSubtitlesIfAudioTrackMatches(bool newSkipSubtitlesIfAudioTrackMatches) { + m_skipSubtitlesIfAudioTrackMatches = newSkipSubtitlesIfAudioTrackMatches; +} + +QStringList LibraryOptions::subtitleDownloadLanguages() const { return m_subtitleDownloadLanguages; } + +void LibraryOptions::setSubtitleDownloadLanguages(QStringList newSubtitleDownloadLanguages) { + m_subtitleDownloadLanguages = newSubtitleDownloadLanguages; +} +bool LibraryOptions::subtitleDownloadLanguagesNull() const { + return m_subtitleDownloadLanguages.size() == 0; +} + +void LibraryOptions::setSubtitleDownloadLanguagesNull() { + m_subtitleDownloadLanguages.clear(); + +} +bool LibraryOptions::requirePerfectSubtitleMatch() const { return m_requirePerfectSubtitleMatch; } + +void LibraryOptions::setRequirePerfectSubtitleMatch(bool newRequirePerfectSubtitleMatch) { + m_requirePerfectSubtitleMatch = newRequirePerfectSubtitleMatch; +} + +bool LibraryOptions::saveSubtitlesWithMedia() const { return m_saveSubtitlesWithMedia; } + +void LibraryOptions::setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia) { + m_saveSubtitlesWithMedia = newSaveSubtitlesWithMedia; +} + +QList> LibraryOptions::typeOptions() const { return m_typeOptions; } + +void LibraryOptions::setTypeOptions(QList> newTypeOptions) { + m_typeOptions = newTypeOptions; +} +bool LibraryOptions::typeOptionsNull() const { + return m_typeOptions.size() == 0; +} + +void LibraryOptions::setTypeOptionsNull() { + m_typeOptions.clear(); + +} + +} // NS DTO + +namespace Support { + +using LibraryOptions = Jellyfin::DTO::LibraryOptions; + +template <> +LibraryOptions fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LibraryOptions::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/libraryoptionsresultdto.cpp b/core/src/dto/libraryoptionsresultdto.cpp new file mode 100644 index 0000000..ee7a53d --- /dev/null +++ b/core/src/dto/libraryoptionsresultdto.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryOptionsResultDto::LibraryOptionsResultDto() {} + +LibraryOptionsResultDto::LibraryOptionsResultDto(const LibraryOptionsResultDto &other) : + + m_metadataSavers(other.m_metadataSavers), + m_metadataReaders(other.m_metadataReaders), + m_subtitleFetchers(other.m_subtitleFetchers), + m_typeOptions(other.m_typeOptions){} + + +void LibraryOptionsResultDto::replaceData(LibraryOptionsResultDto &other) { + m_metadataSavers = other.m_metadataSavers; + m_metadataReaders = other.m_metadataReaders; + m_subtitleFetchers = other.m_subtitleFetchers; + m_typeOptions = other.m_typeOptions; +} + +LibraryOptionsResultDto LibraryOptionsResultDto::fromJson(QJsonObject source) { + LibraryOptionsResultDto instance; + instance.setFromJson(source); + return instance; +} + + +void LibraryOptionsResultDto::setFromJson(QJsonObject source) { + m_metadataSavers = Jellyfin::Support::fromJsonValue>>(source["MetadataSavers"]); + m_metadataReaders = Jellyfin::Support::fromJsonValue>>(source["MetadataReaders"]); + m_subtitleFetchers = Jellyfin::Support::fromJsonValue>>(source["SubtitleFetchers"]); + m_typeOptions = Jellyfin::Support::fromJsonValue>>(source["TypeOptions"]); + +} + +QJsonObject LibraryOptionsResultDto::toJson() { + QJsonObject result; + result["MetadataSavers"] = Jellyfin::Support::toJsonValue>>(m_metadataSavers); + result["MetadataReaders"] = Jellyfin::Support::toJsonValue>>(m_metadataReaders); + result["SubtitleFetchers"] = Jellyfin::Support::toJsonValue>>(m_subtitleFetchers); + result["TypeOptions"] = Jellyfin::Support::toJsonValue>>(m_typeOptions); + + return result; +} + +QList> LibraryOptionsResultDto::metadataSavers() const { return m_metadataSavers; } + +void LibraryOptionsResultDto::setMetadataSavers(QList> newMetadataSavers) { + m_metadataSavers = newMetadataSavers; +} +bool LibraryOptionsResultDto::metadataSaversNull() const { + return m_metadataSavers.size() == 0; +} + +void LibraryOptionsResultDto::setMetadataSaversNull() { + m_metadataSavers.clear(); + +} +QList> LibraryOptionsResultDto::metadataReaders() const { return m_metadataReaders; } + +void LibraryOptionsResultDto::setMetadataReaders(QList> newMetadataReaders) { + m_metadataReaders = newMetadataReaders; +} +bool LibraryOptionsResultDto::metadataReadersNull() const { + return m_metadataReaders.size() == 0; +} + +void LibraryOptionsResultDto::setMetadataReadersNull() { + m_metadataReaders.clear(); + +} +QList> LibraryOptionsResultDto::subtitleFetchers() const { return m_subtitleFetchers; } + +void LibraryOptionsResultDto::setSubtitleFetchers(QList> newSubtitleFetchers) { + m_subtitleFetchers = newSubtitleFetchers; +} +bool LibraryOptionsResultDto::subtitleFetchersNull() const { + return m_subtitleFetchers.size() == 0; +} + +void LibraryOptionsResultDto::setSubtitleFetchersNull() { + m_subtitleFetchers.clear(); + +} +QList> LibraryOptionsResultDto::typeOptions() const { return m_typeOptions; } + +void LibraryOptionsResultDto::setTypeOptions(QList> newTypeOptions) { + m_typeOptions = newTypeOptions; +} +bool LibraryOptionsResultDto::typeOptionsNull() const { + return m_typeOptions.size() == 0; +} + +void LibraryOptionsResultDto::setTypeOptionsNull() { + m_typeOptions.clear(); + +} + +} // NS DTO + +namespace Support { + +using LibraryOptionsResultDto = Jellyfin::DTO::LibraryOptionsResultDto; + +template <> +LibraryOptionsResultDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LibraryOptionsResultDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/librarytypeoptionsdto.cpp b/core/src/dto/librarytypeoptionsdto.cpp new file mode 100644 index 0000000..7f72ce8 --- /dev/null +++ b/core/src/dto/librarytypeoptionsdto.cpp @@ -0,0 +1,160 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryTypeOptionsDto::LibraryTypeOptionsDto() {} + +LibraryTypeOptionsDto::LibraryTypeOptionsDto(const LibraryTypeOptionsDto &other) : + + m_type(other.m_type), + m_metadataFetchers(other.m_metadataFetchers), + m_imageFetchers(other.m_imageFetchers), + m_supportedImageTypes(other.m_supportedImageTypes), + m_defaultImageOptions(other.m_defaultImageOptions){} + + +void LibraryTypeOptionsDto::replaceData(LibraryTypeOptionsDto &other) { + m_type = other.m_type; + m_metadataFetchers = other.m_metadataFetchers; + m_imageFetchers = other.m_imageFetchers; + m_supportedImageTypes = other.m_supportedImageTypes; + m_defaultImageOptions = other.m_defaultImageOptions; +} + +LibraryTypeOptionsDto LibraryTypeOptionsDto::fromJson(QJsonObject source) { + LibraryTypeOptionsDto instance; + instance.setFromJson(source); + return instance; +} + + +void LibraryTypeOptionsDto::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_metadataFetchers = Jellyfin::Support::fromJsonValue>>(source["MetadataFetchers"]); + m_imageFetchers = Jellyfin::Support::fromJsonValue>>(source["ImageFetchers"]); + m_supportedImageTypes = Jellyfin::Support::fromJsonValue>(source["SupportedImageTypes"]); + m_defaultImageOptions = Jellyfin::Support::fromJsonValue>>(source["DefaultImageOptions"]); + +} + +QJsonObject LibraryTypeOptionsDto::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["MetadataFetchers"] = Jellyfin::Support::toJsonValue>>(m_metadataFetchers); + result["ImageFetchers"] = Jellyfin::Support::toJsonValue>>(m_imageFetchers); + result["SupportedImageTypes"] = Jellyfin::Support::toJsonValue>(m_supportedImageTypes); + result["DefaultImageOptions"] = Jellyfin::Support::toJsonValue>>(m_defaultImageOptions); + + return result; +} + +QString LibraryTypeOptionsDto::type() const { return m_type; } + +void LibraryTypeOptionsDto::setType(QString newType) { + m_type = newType; +} +bool LibraryTypeOptionsDto::typeNull() const { + return m_type.isNull(); +} + +void LibraryTypeOptionsDto::setTypeNull() { + m_type.clear(); + +} +QList> LibraryTypeOptionsDto::metadataFetchers() const { return m_metadataFetchers; } + +void LibraryTypeOptionsDto::setMetadataFetchers(QList> newMetadataFetchers) { + m_metadataFetchers = newMetadataFetchers; +} +bool LibraryTypeOptionsDto::metadataFetchersNull() const { + return m_metadataFetchers.size() == 0; +} + +void LibraryTypeOptionsDto::setMetadataFetchersNull() { + m_metadataFetchers.clear(); + +} +QList> LibraryTypeOptionsDto::imageFetchers() const { return m_imageFetchers; } + +void LibraryTypeOptionsDto::setImageFetchers(QList> newImageFetchers) { + m_imageFetchers = newImageFetchers; +} +bool LibraryTypeOptionsDto::imageFetchersNull() const { + return m_imageFetchers.size() == 0; +} + +void LibraryTypeOptionsDto::setImageFetchersNull() { + m_imageFetchers.clear(); + +} +QList LibraryTypeOptionsDto::supportedImageTypes() const { return m_supportedImageTypes; } + +void LibraryTypeOptionsDto::setSupportedImageTypes(QList newSupportedImageTypes) { + m_supportedImageTypes = newSupportedImageTypes; +} +bool LibraryTypeOptionsDto::supportedImageTypesNull() const { + return m_supportedImageTypes.size() == 0; +} + +void LibraryTypeOptionsDto::setSupportedImageTypesNull() { + m_supportedImageTypes.clear(); + +} +QList> LibraryTypeOptionsDto::defaultImageOptions() const { return m_defaultImageOptions; } + +void LibraryTypeOptionsDto::setDefaultImageOptions(QList> newDefaultImageOptions) { + m_defaultImageOptions = newDefaultImageOptions; +} +bool LibraryTypeOptionsDto::defaultImageOptionsNull() const { + return m_defaultImageOptions.size() == 0; +} + +void LibraryTypeOptionsDto::setDefaultImageOptionsNull() { + m_defaultImageOptions.clear(); + +} + +} // NS DTO + +namespace Support { + +using LibraryTypeOptionsDto = Jellyfin::DTO::LibraryTypeOptionsDto; + +template <> +LibraryTypeOptionsDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LibraryTypeOptionsDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/libraryupdateinfo.cpp b/core/src/dto/libraryupdateinfo.cpp new file mode 100644 index 0000000..04440bd --- /dev/null +++ b/core/src/dto/libraryupdateinfo.cpp @@ -0,0 +1,187 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryUpdateInfo::LibraryUpdateInfo() {} + +LibraryUpdateInfo::LibraryUpdateInfo(const LibraryUpdateInfo &other) : + + m_foldersAddedTo(other.m_foldersAddedTo), + m_foldersRemovedFrom(other.m_foldersRemovedFrom), + m_itemsAdded(other.m_itemsAdded), + m_itemsRemoved(other.m_itemsRemoved), + m_itemsUpdated(other.m_itemsUpdated), + m_collectionFolders(other.m_collectionFolders), + m_isEmpty(other.m_isEmpty){} + + +void LibraryUpdateInfo::replaceData(LibraryUpdateInfo &other) { + m_foldersAddedTo = other.m_foldersAddedTo; + m_foldersRemovedFrom = other.m_foldersRemovedFrom; + m_itemsAdded = other.m_itemsAdded; + m_itemsRemoved = other.m_itemsRemoved; + m_itemsUpdated = other.m_itemsUpdated; + m_collectionFolders = other.m_collectionFolders; + m_isEmpty = other.m_isEmpty; +} + +LibraryUpdateInfo LibraryUpdateInfo::fromJson(QJsonObject source) { + LibraryUpdateInfo instance; + instance.setFromJson(source); + return instance; +} + + +void LibraryUpdateInfo::setFromJson(QJsonObject source) { + m_foldersAddedTo = Jellyfin::Support::fromJsonValue(source["FoldersAddedTo"]); + m_foldersRemovedFrom = Jellyfin::Support::fromJsonValue(source["FoldersRemovedFrom"]); + m_itemsAdded = Jellyfin::Support::fromJsonValue(source["ItemsAdded"]); + m_itemsRemoved = Jellyfin::Support::fromJsonValue(source["ItemsRemoved"]); + m_itemsUpdated = Jellyfin::Support::fromJsonValue(source["ItemsUpdated"]); + m_collectionFolders = Jellyfin::Support::fromJsonValue(source["CollectionFolders"]); + m_isEmpty = Jellyfin::Support::fromJsonValue(source["IsEmpty"]); + +} + +QJsonObject LibraryUpdateInfo::toJson() { + QJsonObject result; + result["FoldersAddedTo"] = Jellyfin::Support::toJsonValue(m_foldersAddedTo); + result["FoldersRemovedFrom"] = Jellyfin::Support::toJsonValue(m_foldersRemovedFrom); + result["ItemsAdded"] = Jellyfin::Support::toJsonValue(m_itemsAdded); + result["ItemsRemoved"] = Jellyfin::Support::toJsonValue(m_itemsRemoved); + result["ItemsUpdated"] = Jellyfin::Support::toJsonValue(m_itemsUpdated); + result["CollectionFolders"] = Jellyfin::Support::toJsonValue(m_collectionFolders); + result["IsEmpty"] = Jellyfin::Support::toJsonValue(m_isEmpty); + + return result; +} + +QStringList LibraryUpdateInfo::foldersAddedTo() const { return m_foldersAddedTo; } + +void LibraryUpdateInfo::setFoldersAddedTo(QStringList newFoldersAddedTo) { + m_foldersAddedTo = newFoldersAddedTo; +} +bool LibraryUpdateInfo::foldersAddedToNull() const { + return m_foldersAddedTo.size() == 0; +} + +void LibraryUpdateInfo::setFoldersAddedToNull() { + m_foldersAddedTo.clear(); + +} +QStringList LibraryUpdateInfo::foldersRemovedFrom() const { return m_foldersRemovedFrom; } + +void LibraryUpdateInfo::setFoldersRemovedFrom(QStringList newFoldersRemovedFrom) { + m_foldersRemovedFrom = newFoldersRemovedFrom; +} +bool LibraryUpdateInfo::foldersRemovedFromNull() const { + return m_foldersRemovedFrom.size() == 0; +} + +void LibraryUpdateInfo::setFoldersRemovedFromNull() { + m_foldersRemovedFrom.clear(); + +} +QStringList LibraryUpdateInfo::itemsAdded() const { return m_itemsAdded; } + +void LibraryUpdateInfo::setItemsAdded(QStringList newItemsAdded) { + m_itemsAdded = newItemsAdded; +} +bool LibraryUpdateInfo::itemsAddedNull() const { + return m_itemsAdded.size() == 0; +} + +void LibraryUpdateInfo::setItemsAddedNull() { + m_itemsAdded.clear(); + +} +QStringList LibraryUpdateInfo::itemsRemoved() const { return m_itemsRemoved; } + +void LibraryUpdateInfo::setItemsRemoved(QStringList newItemsRemoved) { + m_itemsRemoved = newItemsRemoved; +} +bool LibraryUpdateInfo::itemsRemovedNull() const { + return m_itemsRemoved.size() == 0; +} + +void LibraryUpdateInfo::setItemsRemovedNull() { + m_itemsRemoved.clear(); + +} +QStringList LibraryUpdateInfo::itemsUpdated() const { return m_itemsUpdated; } + +void LibraryUpdateInfo::setItemsUpdated(QStringList newItemsUpdated) { + m_itemsUpdated = newItemsUpdated; +} +bool LibraryUpdateInfo::itemsUpdatedNull() const { + return m_itemsUpdated.size() == 0; +} + +void LibraryUpdateInfo::setItemsUpdatedNull() { + m_itemsUpdated.clear(); + +} +QStringList LibraryUpdateInfo::collectionFolders() const { return m_collectionFolders; } + +void LibraryUpdateInfo::setCollectionFolders(QStringList newCollectionFolders) { + m_collectionFolders = newCollectionFolders; +} +bool LibraryUpdateInfo::collectionFoldersNull() const { + return m_collectionFolders.size() == 0; +} + +void LibraryUpdateInfo::setCollectionFoldersNull() { + m_collectionFolders.clear(); + +} +bool LibraryUpdateInfo::isEmpty() const { return m_isEmpty; } + +void LibraryUpdateInfo::setIsEmpty(bool newIsEmpty) { + m_isEmpty = newIsEmpty; +} + + +} // NS DTO + +namespace Support { + +using LibraryUpdateInfo = Jellyfin::DTO::LibraryUpdateInfo; + +template <> +LibraryUpdateInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LibraryUpdateInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/listingsproviderinfo.cpp b/core/src/dto/listingsproviderinfo.cpp new file mode 100644 index 0000000..17b8656 --- /dev/null +++ b/core/src/dto/listingsproviderinfo.cpp @@ -0,0 +1,374 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ListingsProviderInfo::ListingsProviderInfo() {} + +ListingsProviderInfo::ListingsProviderInfo(const ListingsProviderInfo &other) : + + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_username(other.m_username), + m_password(other.m_password), + m_listingsId(other.m_listingsId), + m_zipCode(other.m_zipCode), + m_country(other.m_country), + m_path(other.m_path), + m_enabledTuners(other.m_enabledTuners), + m_enableAllTuners(other.m_enableAllTuners), + m_newsCategories(other.m_newsCategories), + m_sportsCategories(other.m_sportsCategories), + m_kidsCategories(other.m_kidsCategories), + m_movieCategories(other.m_movieCategories), + m_channelMappings(other.m_channelMappings), + m_moviePrefix(other.m_moviePrefix), + m_preferredLanguage(other.m_preferredLanguage), + m_userAgent(other.m_userAgent){} + + +void ListingsProviderInfo::replaceData(ListingsProviderInfo &other) { + m_jellyfinId = other.m_jellyfinId; + m_type = other.m_type; + m_username = other.m_username; + m_password = other.m_password; + m_listingsId = other.m_listingsId; + m_zipCode = other.m_zipCode; + m_country = other.m_country; + m_path = other.m_path; + m_enabledTuners = other.m_enabledTuners; + m_enableAllTuners = other.m_enableAllTuners; + m_newsCategories = other.m_newsCategories; + m_sportsCategories = other.m_sportsCategories; + m_kidsCategories = other.m_kidsCategories; + m_movieCategories = other.m_movieCategories; + m_channelMappings = other.m_channelMappings; + m_moviePrefix = other.m_moviePrefix; + m_preferredLanguage = other.m_preferredLanguage; + m_userAgent = other.m_userAgent; +} + +ListingsProviderInfo ListingsProviderInfo::fromJson(QJsonObject source) { + ListingsProviderInfo instance; + instance.setFromJson(source); + return instance; +} + + +void ListingsProviderInfo::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_username = Jellyfin::Support::fromJsonValue(source["Username"]); + m_password = Jellyfin::Support::fromJsonValue(source["Password"]); + m_listingsId = Jellyfin::Support::fromJsonValue(source["ListingsId"]); + m_zipCode = Jellyfin::Support::fromJsonValue(source["ZipCode"]); + m_country = Jellyfin::Support::fromJsonValue(source["Country"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_enabledTuners = Jellyfin::Support::fromJsonValue(source["EnabledTuners"]); + m_enableAllTuners = Jellyfin::Support::fromJsonValue(source["EnableAllTuners"]); + m_newsCategories = Jellyfin::Support::fromJsonValue(source["NewsCategories"]); + m_sportsCategories = Jellyfin::Support::fromJsonValue(source["SportsCategories"]); + m_kidsCategories = Jellyfin::Support::fromJsonValue(source["KidsCategories"]); + m_movieCategories = Jellyfin::Support::fromJsonValue(source["MovieCategories"]); + m_channelMappings = Jellyfin::Support::fromJsonValue>>(source["ChannelMappings"]); + m_moviePrefix = Jellyfin::Support::fromJsonValue(source["MoviePrefix"]); + m_preferredLanguage = Jellyfin::Support::fromJsonValue(source["PreferredLanguage"]); + m_userAgent = Jellyfin::Support::fromJsonValue(source["UserAgent"]); + +} + +QJsonObject ListingsProviderInfo::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Username"] = Jellyfin::Support::toJsonValue(m_username); + result["Password"] = Jellyfin::Support::toJsonValue(m_password); + result["ListingsId"] = Jellyfin::Support::toJsonValue(m_listingsId); + result["ZipCode"] = Jellyfin::Support::toJsonValue(m_zipCode); + result["Country"] = Jellyfin::Support::toJsonValue(m_country); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["EnabledTuners"] = Jellyfin::Support::toJsonValue(m_enabledTuners); + result["EnableAllTuners"] = Jellyfin::Support::toJsonValue(m_enableAllTuners); + result["NewsCategories"] = Jellyfin::Support::toJsonValue(m_newsCategories); + result["SportsCategories"] = Jellyfin::Support::toJsonValue(m_sportsCategories); + result["KidsCategories"] = Jellyfin::Support::toJsonValue(m_kidsCategories); + result["MovieCategories"] = Jellyfin::Support::toJsonValue(m_movieCategories); + result["ChannelMappings"] = Jellyfin::Support::toJsonValue>>(m_channelMappings); + result["MoviePrefix"] = Jellyfin::Support::toJsonValue(m_moviePrefix); + result["PreferredLanguage"] = Jellyfin::Support::toJsonValue(m_preferredLanguage); + result["UserAgent"] = Jellyfin::Support::toJsonValue(m_userAgent); + + return result; +} + +QString ListingsProviderInfo::jellyfinId() const { return m_jellyfinId; } + +void ListingsProviderInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool ListingsProviderInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void ListingsProviderInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString ListingsProviderInfo::type() const { return m_type; } + +void ListingsProviderInfo::setType(QString newType) { + m_type = newType; +} +bool ListingsProviderInfo::typeNull() const { + return m_type.isNull(); +} + +void ListingsProviderInfo::setTypeNull() { + m_type.clear(); + +} +QString ListingsProviderInfo::username() const { return m_username; } + +void ListingsProviderInfo::setUsername(QString newUsername) { + m_username = newUsername; +} +bool ListingsProviderInfo::usernameNull() const { + return m_username.isNull(); +} + +void ListingsProviderInfo::setUsernameNull() { + m_username.clear(); + +} +QString ListingsProviderInfo::password() const { return m_password; } + +void ListingsProviderInfo::setPassword(QString newPassword) { + m_password = newPassword; +} +bool ListingsProviderInfo::passwordNull() const { + return m_password.isNull(); +} + +void ListingsProviderInfo::setPasswordNull() { + m_password.clear(); + +} +QString ListingsProviderInfo::listingsId() const { return m_listingsId; } + +void ListingsProviderInfo::setListingsId(QString newListingsId) { + m_listingsId = newListingsId; +} +bool ListingsProviderInfo::listingsIdNull() const { + return m_listingsId.isNull(); +} + +void ListingsProviderInfo::setListingsIdNull() { + m_listingsId.clear(); + +} +QString ListingsProviderInfo::zipCode() const { return m_zipCode; } + +void ListingsProviderInfo::setZipCode(QString newZipCode) { + m_zipCode = newZipCode; +} +bool ListingsProviderInfo::zipCodeNull() const { + return m_zipCode.isNull(); +} + +void ListingsProviderInfo::setZipCodeNull() { + m_zipCode.clear(); + +} +QString ListingsProviderInfo::country() const { return m_country; } + +void ListingsProviderInfo::setCountry(QString newCountry) { + m_country = newCountry; +} +bool ListingsProviderInfo::countryNull() const { + return m_country.isNull(); +} + +void ListingsProviderInfo::setCountryNull() { + m_country.clear(); + +} +QString ListingsProviderInfo::path() const { return m_path; } + +void ListingsProviderInfo::setPath(QString newPath) { + m_path = newPath; +} +bool ListingsProviderInfo::pathNull() const { + return m_path.isNull(); +} + +void ListingsProviderInfo::setPathNull() { + m_path.clear(); + +} +QStringList ListingsProviderInfo::enabledTuners() const { return m_enabledTuners; } + +void ListingsProviderInfo::setEnabledTuners(QStringList newEnabledTuners) { + m_enabledTuners = newEnabledTuners; +} +bool ListingsProviderInfo::enabledTunersNull() const { + return m_enabledTuners.size() == 0; +} + +void ListingsProviderInfo::setEnabledTunersNull() { + m_enabledTuners.clear(); + +} +bool ListingsProviderInfo::enableAllTuners() const { return m_enableAllTuners; } + +void ListingsProviderInfo::setEnableAllTuners(bool newEnableAllTuners) { + m_enableAllTuners = newEnableAllTuners; +} + +QStringList ListingsProviderInfo::newsCategories() const { return m_newsCategories; } + +void ListingsProviderInfo::setNewsCategories(QStringList newNewsCategories) { + m_newsCategories = newNewsCategories; +} +bool ListingsProviderInfo::newsCategoriesNull() const { + return m_newsCategories.size() == 0; +} + +void ListingsProviderInfo::setNewsCategoriesNull() { + m_newsCategories.clear(); + +} +QStringList ListingsProviderInfo::sportsCategories() const { return m_sportsCategories; } + +void ListingsProviderInfo::setSportsCategories(QStringList newSportsCategories) { + m_sportsCategories = newSportsCategories; +} +bool ListingsProviderInfo::sportsCategoriesNull() const { + return m_sportsCategories.size() == 0; +} + +void ListingsProviderInfo::setSportsCategoriesNull() { + m_sportsCategories.clear(); + +} +QStringList ListingsProviderInfo::kidsCategories() const { return m_kidsCategories; } + +void ListingsProviderInfo::setKidsCategories(QStringList newKidsCategories) { + m_kidsCategories = newKidsCategories; +} +bool ListingsProviderInfo::kidsCategoriesNull() const { + return m_kidsCategories.size() == 0; +} + +void ListingsProviderInfo::setKidsCategoriesNull() { + m_kidsCategories.clear(); + +} +QStringList ListingsProviderInfo::movieCategories() const { return m_movieCategories; } + +void ListingsProviderInfo::setMovieCategories(QStringList newMovieCategories) { + m_movieCategories = newMovieCategories; +} +bool ListingsProviderInfo::movieCategoriesNull() const { + return m_movieCategories.size() == 0; +} + +void ListingsProviderInfo::setMovieCategoriesNull() { + m_movieCategories.clear(); + +} +QList> ListingsProviderInfo::channelMappings() const { return m_channelMappings; } + +void ListingsProviderInfo::setChannelMappings(QList> newChannelMappings) { + m_channelMappings = newChannelMappings; +} +bool ListingsProviderInfo::channelMappingsNull() const { + return m_channelMappings.size() == 0; +} + +void ListingsProviderInfo::setChannelMappingsNull() { + m_channelMappings.clear(); + +} +QString ListingsProviderInfo::moviePrefix() const { return m_moviePrefix; } + +void ListingsProviderInfo::setMoviePrefix(QString newMoviePrefix) { + m_moviePrefix = newMoviePrefix; +} +bool ListingsProviderInfo::moviePrefixNull() const { + return m_moviePrefix.isNull(); +} + +void ListingsProviderInfo::setMoviePrefixNull() { + m_moviePrefix.clear(); + +} +QString ListingsProviderInfo::preferredLanguage() const { return m_preferredLanguage; } + +void ListingsProviderInfo::setPreferredLanguage(QString newPreferredLanguage) { + m_preferredLanguage = newPreferredLanguage; +} +bool ListingsProviderInfo::preferredLanguageNull() const { + return m_preferredLanguage.isNull(); +} + +void ListingsProviderInfo::setPreferredLanguageNull() { + m_preferredLanguage.clear(); + +} +QString ListingsProviderInfo::userAgent() const { return m_userAgent; } + +void ListingsProviderInfo::setUserAgent(QString newUserAgent) { + m_userAgent = newUserAgent; +} +bool ListingsProviderInfo::userAgentNull() const { + return m_userAgent.isNull(); +} + +void ListingsProviderInfo::setUserAgentNull() { + m_userAgent.clear(); + +} + +} // NS DTO + +namespace Support { + +using ListingsProviderInfo = Jellyfin::DTO::ListingsProviderInfo; + +template <> +ListingsProviderInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ListingsProviderInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/livestreamresponse.cpp b/core/src/dto/livestreamresponse.cpp new file mode 100644 index 0000000..a04c179 --- /dev/null +++ b/core/src/dto/livestreamresponse.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveStreamResponse::LiveStreamResponse() {} + +LiveStreamResponse::LiveStreamResponse(const LiveStreamResponse &other) : + + m_mediaSource(other.m_mediaSource){} + + +void LiveStreamResponse::replaceData(LiveStreamResponse &other) { + m_mediaSource = other.m_mediaSource; +} + +LiveStreamResponse LiveStreamResponse::fromJson(QJsonObject source) { + LiveStreamResponse instance; + instance.setFromJson(source); + return instance; +} + + +void LiveStreamResponse::setFromJson(QJsonObject source) { + m_mediaSource = Jellyfin::Support::fromJsonValue>(source["MediaSource"]); + +} + +QJsonObject LiveStreamResponse::toJson() { + QJsonObject result; + result["MediaSource"] = Jellyfin::Support::toJsonValue>(m_mediaSource); + + return result; +} + +QSharedPointer LiveStreamResponse::mediaSource() const { return m_mediaSource; } + +void LiveStreamResponse::setMediaSource(QSharedPointer newMediaSource) { + m_mediaSource = newMediaSource; +} + + +} // NS DTO + +namespace Support { + +using LiveStreamResponse = Jellyfin::DTO::LiveStreamResponse; + +template <> +LiveStreamResponse fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LiveStreamResponse::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/livetvinfo.cpp b/core/src/dto/livetvinfo.cpp new file mode 100644 index 0000000..69902dd --- /dev/null +++ b/core/src/dto/livetvinfo.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveTvInfo::LiveTvInfo() {} + +LiveTvInfo::LiveTvInfo(const LiveTvInfo &other) : + + m_services(other.m_services), + m_isEnabled(other.m_isEnabled), + m_enabledUsers(other.m_enabledUsers){} + + +void LiveTvInfo::replaceData(LiveTvInfo &other) { + m_services = other.m_services; + m_isEnabled = other.m_isEnabled; + m_enabledUsers = other.m_enabledUsers; +} + +LiveTvInfo LiveTvInfo::fromJson(QJsonObject source) { + LiveTvInfo instance; + instance.setFromJson(source); + return instance; +} + + +void LiveTvInfo::setFromJson(QJsonObject source) { + m_services = Jellyfin::Support::fromJsonValue>>(source["Services"]); + m_isEnabled = Jellyfin::Support::fromJsonValue(source["IsEnabled"]); + m_enabledUsers = Jellyfin::Support::fromJsonValue(source["EnabledUsers"]); + +} + +QJsonObject LiveTvInfo::toJson() { + QJsonObject result; + result["Services"] = Jellyfin::Support::toJsonValue>>(m_services); + result["IsEnabled"] = Jellyfin::Support::toJsonValue(m_isEnabled); + result["EnabledUsers"] = Jellyfin::Support::toJsonValue(m_enabledUsers); + + return result; +} + +QList> LiveTvInfo::services() const { return m_services; } + +void LiveTvInfo::setServices(QList> newServices) { + m_services = newServices; +} +bool LiveTvInfo::servicesNull() const { + return m_services.size() == 0; +} + +void LiveTvInfo::setServicesNull() { + m_services.clear(); + +} +bool LiveTvInfo::isEnabled() const { return m_isEnabled; } + +void LiveTvInfo::setIsEnabled(bool newIsEnabled) { + m_isEnabled = newIsEnabled; +} + +QStringList LiveTvInfo::enabledUsers() const { return m_enabledUsers; } + +void LiveTvInfo::setEnabledUsers(QStringList newEnabledUsers) { + m_enabledUsers = newEnabledUsers; +} +bool LiveTvInfo::enabledUsersNull() const { + return m_enabledUsers.size() == 0; +} + +void LiveTvInfo::setEnabledUsersNull() { + m_enabledUsers.clear(); + +} + +} // NS DTO + +namespace Support { + +using LiveTvInfo = Jellyfin::DTO::LiveTvInfo; + +template <> +LiveTvInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LiveTvInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/livetvserviceinfo.cpp b/core/src/dto/livetvserviceinfo.cpp new file mode 100644 index 0000000..b305c9d --- /dev/null +++ b/core/src/dto/livetvserviceinfo.cpp @@ -0,0 +1,190 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveTvServiceInfo::LiveTvServiceInfo() {} + +LiveTvServiceInfo::LiveTvServiceInfo(const LiveTvServiceInfo &other) : + + m_name(other.m_name), + m_homePageUrl(other.m_homePageUrl), + m_status(other.m_status), + m_statusMessage(other.m_statusMessage), + m_version(other.m_version), + m_hasUpdateAvailable(other.m_hasUpdateAvailable), + m_isVisible(other.m_isVisible), + m_tuners(other.m_tuners){} + + +void LiveTvServiceInfo::replaceData(LiveTvServiceInfo &other) { + m_name = other.m_name; + m_homePageUrl = other.m_homePageUrl; + m_status = other.m_status; + m_statusMessage = other.m_statusMessage; + m_version = other.m_version; + m_hasUpdateAvailable = other.m_hasUpdateAvailable; + m_isVisible = other.m_isVisible; + m_tuners = other.m_tuners; +} + +LiveTvServiceInfo LiveTvServiceInfo::fromJson(QJsonObject source) { + LiveTvServiceInfo instance; + instance.setFromJson(source); + return instance; +} + + +void LiveTvServiceInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_homePageUrl = Jellyfin::Support::fromJsonValue(source["HomePageUrl"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + m_statusMessage = Jellyfin::Support::fromJsonValue(source["StatusMessage"]); + m_version = Jellyfin::Support::fromJsonValue(source["Version"]); + m_hasUpdateAvailable = Jellyfin::Support::fromJsonValue(source["HasUpdateAvailable"]); + m_isVisible = Jellyfin::Support::fromJsonValue(source["IsVisible"]); + m_tuners = Jellyfin::Support::fromJsonValue(source["Tuners"]); + +} + +QJsonObject LiveTvServiceInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["HomePageUrl"] = Jellyfin::Support::toJsonValue(m_homePageUrl); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + result["StatusMessage"] = Jellyfin::Support::toJsonValue(m_statusMessage); + result["Version"] = Jellyfin::Support::toJsonValue(m_version); + result["HasUpdateAvailable"] = Jellyfin::Support::toJsonValue(m_hasUpdateAvailable); + result["IsVisible"] = Jellyfin::Support::toJsonValue(m_isVisible); + result["Tuners"] = Jellyfin::Support::toJsonValue(m_tuners); + + return result; +} + +QString LiveTvServiceInfo::name() const { return m_name; } + +void LiveTvServiceInfo::setName(QString newName) { + m_name = newName; +} +bool LiveTvServiceInfo::nameNull() const { + return m_name.isNull(); +} + +void LiveTvServiceInfo::setNameNull() { + m_name.clear(); + +} +QString LiveTvServiceInfo::homePageUrl() const { return m_homePageUrl; } + +void LiveTvServiceInfo::setHomePageUrl(QString newHomePageUrl) { + m_homePageUrl = newHomePageUrl; +} +bool LiveTvServiceInfo::homePageUrlNull() const { + return m_homePageUrl.isNull(); +} + +void LiveTvServiceInfo::setHomePageUrlNull() { + m_homePageUrl.clear(); + +} +LiveTvServiceStatus LiveTvServiceInfo::status() const { return m_status; } + +void LiveTvServiceInfo::setStatus(LiveTvServiceStatus newStatus) { + m_status = newStatus; +} + +QString LiveTvServiceInfo::statusMessage() const { return m_statusMessage; } + +void LiveTvServiceInfo::setStatusMessage(QString newStatusMessage) { + m_statusMessage = newStatusMessage; +} +bool LiveTvServiceInfo::statusMessageNull() const { + return m_statusMessage.isNull(); +} + +void LiveTvServiceInfo::setStatusMessageNull() { + m_statusMessage.clear(); + +} +QString LiveTvServiceInfo::version() const { return m_version; } + +void LiveTvServiceInfo::setVersion(QString newVersion) { + m_version = newVersion; +} +bool LiveTvServiceInfo::versionNull() const { + return m_version.isNull(); +} + +void LiveTvServiceInfo::setVersionNull() { + m_version.clear(); + +} +bool LiveTvServiceInfo::hasUpdateAvailable() const { return m_hasUpdateAvailable; } + +void LiveTvServiceInfo::setHasUpdateAvailable(bool newHasUpdateAvailable) { + m_hasUpdateAvailable = newHasUpdateAvailable; +} + +bool LiveTvServiceInfo::isVisible() const { return m_isVisible; } + +void LiveTvServiceInfo::setIsVisible(bool newIsVisible) { + m_isVisible = newIsVisible; +} + +QStringList LiveTvServiceInfo::tuners() const { return m_tuners; } + +void LiveTvServiceInfo::setTuners(QStringList newTuners) { + m_tuners = newTuners; +} +bool LiveTvServiceInfo::tunersNull() const { + return m_tuners.size() == 0; +} + +void LiveTvServiceInfo::setTunersNull() { + m_tuners.clear(); + +} + +} // NS DTO + +namespace Support { + +using LiveTvServiceInfo = Jellyfin::DTO::LiveTvServiceInfo; + +template <> +LiveTvServiceInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LiveTvServiceInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/livetvservicestatus.cpp b/core/src/dto/livetvservicestatus.cpp new file mode 100644 index 0000000..cfce462 --- /dev/null +++ b/core/src/dto/livetvservicestatus.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveTvServiceStatusClass::LiveTvServiceStatusClass() {} + + +} // NS DTO + +namespace Support { + +using LiveTvServiceStatus = Jellyfin::DTO::LiveTvServiceStatus; + +template <> +LiveTvServiceStatus fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return LiveTvServiceStatus::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Ok")) { + return LiveTvServiceStatus::Ok; + } + if (str == QStringLiteral("Unavailable")) { + return LiveTvServiceStatus::Unavailable; + } + + return LiveTvServiceStatus::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/localizationoption.cpp b/core/src/dto/localizationoption.cpp new file mode 100644 index 0000000..ad18008 --- /dev/null +++ b/core/src/dto/localizationoption.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LocalizationOption::LocalizationOption() {} + +LocalizationOption::LocalizationOption(const LocalizationOption &other) : + + m_name(other.m_name), + m_value(other.m_value){} + + +void LocalizationOption::replaceData(LocalizationOption &other) { + m_name = other.m_name; + m_value = other.m_value; +} + +LocalizationOption LocalizationOption::fromJson(QJsonObject source) { + LocalizationOption instance; + instance.setFromJson(source); + return instance; +} + + +void LocalizationOption::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + +} + +QJsonObject LocalizationOption::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + + return result; +} + +QString LocalizationOption::name() const { return m_name; } + +void LocalizationOption::setName(QString newName) { + m_name = newName; +} +bool LocalizationOption::nameNull() const { + return m_name.isNull(); +} + +void LocalizationOption::setNameNull() { + m_name.clear(); + +} +QString LocalizationOption::value() const { return m_value; } + +void LocalizationOption::setValue(QString newValue) { + m_value = newValue; +} +bool LocalizationOption::valueNull() const { + return m_value.isNull(); +} + +void LocalizationOption::setValueNull() { + m_value.clear(); + +} + +} // NS DTO + +namespace Support { + +using LocalizationOption = Jellyfin::DTO::LocalizationOption; + +template <> +LocalizationOption fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LocalizationOption::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/locationtype.cpp b/core/src/dto/locationtype.cpp new file mode 100644 index 0000000..abab8f1 --- /dev/null +++ b/core/src/dto/locationtype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LocationTypeClass::LocationTypeClass() {} + + +} // NS DTO + +namespace Support { + +using LocationType = Jellyfin::DTO::LocationType; + +template <> +LocationType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return LocationType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("FileSystem")) { + return LocationType::FileSystem; + } + if (str == QStringLiteral("Remote")) { + return LocationType::Remote; + } + if (str == QStringLiteral("Virtual")) { + return LocationType::Virtual; + } + if (str == QStringLiteral("Offline")) { + return LocationType::Offline; + } + + return LocationType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/logfile.cpp b/core/src/dto/logfile.cpp new file mode 100644 index 0000000..66bb00c --- /dev/null +++ b/core/src/dto/logfile.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LogFile::LogFile() {} + +LogFile::LogFile(const LogFile &other) : + + m_dateCreated(other.m_dateCreated), + m_dateModified(other.m_dateModified), + m_size(other.m_size), + m_name(other.m_name){} + + +void LogFile::replaceData(LogFile &other) { + m_dateCreated = other.m_dateCreated; + m_dateModified = other.m_dateModified; + m_size = other.m_size; + m_name = other.m_name; +} + +LogFile LogFile::fromJson(QJsonObject source) { + LogFile instance; + instance.setFromJson(source); + return instance; +} + + +void LogFile::setFromJson(QJsonObject source) { + m_dateCreated = Jellyfin::Support::fromJsonValue(source["DateCreated"]); + m_dateModified = Jellyfin::Support::fromJsonValue(source["DateModified"]); + m_size = Jellyfin::Support::fromJsonValue(source["Size"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + +} + +QJsonObject LogFile::toJson() { + QJsonObject result; + result["DateCreated"] = Jellyfin::Support::toJsonValue(m_dateCreated); + result["DateModified"] = Jellyfin::Support::toJsonValue(m_dateModified); + result["Size"] = Jellyfin::Support::toJsonValue(m_size); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + + return result; +} + +QDateTime LogFile::dateCreated() const { return m_dateCreated; } + +void LogFile::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; +} + +QDateTime LogFile::dateModified() const { return m_dateModified; } + +void LogFile::setDateModified(QDateTime newDateModified) { + m_dateModified = newDateModified; +} + +qint64 LogFile::size() const { return m_size; } + +void LogFile::setSize(qint64 newSize) { + m_size = newSize; +} + +QString LogFile::name() const { return m_name; } + +void LogFile::setName(QString newName) { + m_name = newName; +} +bool LogFile::nameNull() const { + return m_name.isNull(); +} + +void LogFile::setNameNull() { + m_name.clear(); + +} + +} // NS DTO + +namespace Support { + +using LogFile = Jellyfin::DTO::LogFile; + +template <> +LogFile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return LogFile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/loglevel.cpp b/core/src/dto/loglevel.cpp new file mode 100644 index 0000000..c1bcdb9 --- /dev/null +++ b/core/src/dto/loglevel.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LogLevelClass::LogLevelClass() {} + + +} // NS DTO + +namespace Support { + +using LogLevel = Jellyfin::DTO::LogLevel; + +template <> +LogLevel fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return LogLevel::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Trace")) { + return LogLevel::Trace; + } + if (str == QStringLiteral("Debug")) { + return LogLevel::Debug; + } + if (str == QStringLiteral("Information")) { + return LogLevel::Information; + } + if (str == QStringLiteral("Warning")) { + return LogLevel::Warning; + } + if (str == QStringLiteral("Error")) { + return LogLevel::Error; + } + if (str == QStringLiteral("Critical")) { + return LogLevel::Critical; + } + if (str == QStringLiteral("None")) { + return LogLevel::None; + } + + return LogLevel::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediaattachment.cpp b/core/src/dto/mediaattachment.cpp new file mode 100644 index 0000000..89854c6 --- /dev/null +++ b/core/src/dto/mediaattachment.cpp @@ -0,0 +1,187 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaAttachment::MediaAttachment() {} + +MediaAttachment::MediaAttachment(const MediaAttachment &other) : + + m_codec(other.m_codec), + m_codecTag(other.m_codecTag), + m_comment(other.m_comment), + m_index(other.m_index), + m_fileName(other.m_fileName), + m_mimeType(other.m_mimeType), + m_deliveryUrl(other.m_deliveryUrl){} + + +void MediaAttachment::replaceData(MediaAttachment &other) { + m_codec = other.m_codec; + m_codecTag = other.m_codecTag; + m_comment = other.m_comment; + m_index = other.m_index; + m_fileName = other.m_fileName; + m_mimeType = other.m_mimeType; + m_deliveryUrl = other.m_deliveryUrl; +} + +MediaAttachment MediaAttachment::fromJson(QJsonObject source) { + MediaAttachment instance; + instance.setFromJson(source); + return instance; +} + + +void MediaAttachment::setFromJson(QJsonObject source) { + m_codec = Jellyfin::Support::fromJsonValue(source["Codec"]); + m_codecTag = Jellyfin::Support::fromJsonValue(source["CodecTag"]); + m_comment = Jellyfin::Support::fromJsonValue(source["Comment"]); + m_index = Jellyfin::Support::fromJsonValue(source["Index"]); + m_fileName = Jellyfin::Support::fromJsonValue(source["FileName"]); + m_mimeType = Jellyfin::Support::fromJsonValue(source["MimeType"]); + m_deliveryUrl = Jellyfin::Support::fromJsonValue(source["DeliveryUrl"]); + +} + +QJsonObject MediaAttachment::toJson() { + QJsonObject result; + result["Codec"] = Jellyfin::Support::toJsonValue(m_codec); + result["CodecTag"] = Jellyfin::Support::toJsonValue(m_codecTag); + result["Comment"] = Jellyfin::Support::toJsonValue(m_comment); + result["Index"] = Jellyfin::Support::toJsonValue(m_index); + result["FileName"] = Jellyfin::Support::toJsonValue(m_fileName); + result["MimeType"] = Jellyfin::Support::toJsonValue(m_mimeType); + result["DeliveryUrl"] = Jellyfin::Support::toJsonValue(m_deliveryUrl); + + return result; +} + +QString MediaAttachment::codec() const { return m_codec; } + +void MediaAttachment::setCodec(QString newCodec) { + m_codec = newCodec; +} +bool MediaAttachment::codecNull() const { + return m_codec.isNull(); +} + +void MediaAttachment::setCodecNull() { + m_codec.clear(); + +} +QString MediaAttachment::codecTag() const { return m_codecTag; } + +void MediaAttachment::setCodecTag(QString newCodecTag) { + m_codecTag = newCodecTag; +} +bool MediaAttachment::codecTagNull() const { + return m_codecTag.isNull(); +} + +void MediaAttachment::setCodecTagNull() { + m_codecTag.clear(); + +} +QString MediaAttachment::comment() const { return m_comment; } + +void MediaAttachment::setComment(QString newComment) { + m_comment = newComment; +} +bool MediaAttachment::commentNull() const { + return m_comment.isNull(); +} + +void MediaAttachment::setCommentNull() { + m_comment.clear(); + +} +qint32 MediaAttachment::index() const { return m_index; } + +void MediaAttachment::setIndex(qint32 newIndex) { + m_index = newIndex; +} + +QString MediaAttachment::fileName() const { return m_fileName; } + +void MediaAttachment::setFileName(QString newFileName) { + m_fileName = newFileName; +} +bool MediaAttachment::fileNameNull() const { + return m_fileName.isNull(); +} + +void MediaAttachment::setFileNameNull() { + m_fileName.clear(); + +} +QString MediaAttachment::mimeType() const { return m_mimeType; } + +void MediaAttachment::setMimeType(QString newMimeType) { + m_mimeType = newMimeType; +} +bool MediaAttachment::mimeTypeNull() const { + return m_mimeType.isNull(); +} + +void MediaAttachment::setMimeTypeNull() { + m_mimeType.clear(); + +} +QString MediaAttachment::deliveryUrl() const { return m_deliveryUrl; } + +void MediaAttachment::setDeliveryUrl(QString newDeliveryUrl) { + m_deliveryUrl = newDeliveryUrl; +} +bool MediaAttachment::deliveryUrlNull() const { + return m_deliveryUrl.isNull(); +} + +void MediaAttachment::setDeliveryUrlNull() { + m_deliveryUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using MediaAttachment = Jellyfin::DTO::MediaAttachment; + +template <> +MediaAttachment fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaAttachment::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediaencoderpathdto.cpp b/core/src/dto/mediaencoderpathdto.cpp new file mode 100644 index 0000000..fcc2ae1 --- /dev/null +++ b/core/src/dto/mediaencoderpathdto.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaEncoderPathDto::MediaEncoderPathDto() {} + +MediaEncoderPathDto::MediaEncoderPathDto(const MediaEncoderPathDto &other) : + + m_path(other.m_path), + m_pathType(other.m_pathType){} + + +void MediaEncoderPathDto::replaceData(MediaEncoderPathDto &other) { + m_path = other.m_path; + m_pathType = other.m_pathType; +} + +MediaEncoderPathDto MediaEncoderPathDto::fromJson(QJsonObject source) { + MediaEncoderPathDto instance; + instance.setFromJson(source); + return instance; +} + + +void MediaEncoderPathDto::setFromJson(QJsonObject source) { + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_pathType = Jellyfin::Support::fromJsonValue(source["PathType"]); + +} + +QJsonObject MediaEncoderPathDto::toJson() { + QJsonObject result; + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["PathType"] = Jellyfin::Support::toJsonValue(m_pathType); + + return result; +} + +QString MediaEncoderPathDto::path() const { return m_path; } + +void MediaEncoderPathDto::setPath(QString newPath) { + m_path = newPath; +} +bool MediaEncoderPathDto::pathNull() const { + return m_path.isNull(); +} + +void MediaEncoderPathDto::setPathNull() { + m_path.clear(); + +} +QString MediaEncoderPathDto::pathType() const { return m_pathType; } + +void MediaEncoderPathDto::setPathType(QString newPathType) { + m_pathType = newPathType; +} +bool MediaEncoderPathDto::pathTypeNull() const { + return m_pathType.isNull(); +} + +void MediaEncoderPathDto::setPathTypeNull() { + m_pathType.clear(); + +} + +} // NS DTO + +namespace Support { + +using MediaEncoderPathDto = Jellyfin::DTO::MediaEncoderPathDto; + +template <> +MediaEncoderPathDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaEncoderPathDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediapathdto.cpp b/core/src/dto/mediapathdto.cpp new file mode 100644 index 0000000..85e5c41 --- /dev/null +++ b/core/src/dto/mediapathdto.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaPathDto::MediaPathDto() {} + +MediaPathDto::MediaPathDto(const MediaPathDto &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_pathInfo(other.m_pathInfo){} + + +void MediaPathDto::replaceData(MediaPathDto &other) { + m_name = other.m_name; + m_path = other.m_path; + m_pathInfo = other.m_pathInfo; +} + +MediaPathDto MediaPathDto::fromJson(QJsonObject source) { + MediaPathDto instance; + instance.setFromJson(source); + return instance; +} + + +void MediaPathDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_pathInfo = Jellyfin::Support::fromJsonValue>(source["PathInfo"]); + +} + +QJsonObject MediaPathDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["PathInfo"] = Jellyfin::Support::toJsonValue>(m_pathInfo); + + return result; +} + +QString MediaPathDto::name() const { return m_name; } + +void MediaPathDto::setName(QString newName) { + m_name = newName; +} + +QString MediaPathDto::path() const { return m_path; } + +void MediaPathDto::setPath(QString newPath) { + m_path = newPath; +} +bool MediaPathDto::pathNull() const { + return m_path.isNull(); +} + +void MediaPathDto::setPathNull() { + m_path.clear(); + +} +QSharedPointer MediaPathDto::pathInfo() const { return m_pathInfo; } + +void MediaPathDto::setPathInfo(QSharedPointer newPathInfo) { + m_pathInfo = newPathInfo; +} + + +} // NS DTO + +namespace Support { + +using MediaPathDto = Jellyfin::DTO::MediaPathDto; + +template <> +MediaPathDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaPathDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediapathinfo.cpp b/core/src/dto/mediapathinfo.cpp new file mode 100644 index 0000000..3e1cb9c --- /dev/null +++ b/core/src/dto/mediapathinfo.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaPathInfo::MediaPathInfo() {} + +MediaPathInfo::MediaPathInfo(const MediaPathInfo &other) : + + m_path(other.m_path), + m_networkPath(other.m_networkPath){} + + +void MediaPathInfo::replaceData(MediaPathInfo &other) { + m_path = other.m_path; + m_networkPath = other.m_networkPath; +} + +MediaPathInfo MediaPathInfo::fromJson(QJsonObject source) { + MediaPathInfo instance; + instance.setFromJson(source); + return instance; +} + + +void MediaPathInfo::setFromJson(QJsonObject source) { + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_networkPath = Jellyfin::Support::fromJsonValue(source["NetworkPath"]); + +} + +QJsonObject MediaPathInfo::toJson() { + QJsonObject result; + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["NetworkPath"] = Jellyfin::Support::toJsonValue(m_networkPath); + + return result; +} + +QString MediaPathInfo::path() const { return m_path; } + +void MediaPathInfo::setPath(QString newPath) { + m_path = newPath; +} +bool MediaPathInfo::pathNull() const { + return m_path.isNull(); +} + +void MediaPathInfo::setPathNull() { + m_path.clear(); + +} +QString MediaPathInfo::networkPath() const { return m_networkPath; } + +void MediaPathInfo::setNetworkPath(QString newNetworkPath) { + m_networkPath = newNetworkPath; +} +bool MediaPathInfo::networkPathNull() const { + return m_networkPath.isNull(); +} + +void MediaPathInfo::setNetworkPathNull() { + m_networkPath.clear(); + +} + +} // NS DTO + +namespace Support { + +using MediaPathInfo = Jellyfin::DTO::MediaPathInfo; + +template <> +MediaPathInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaPathInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediaprotocol.cpp b/core/src/dto/mediaprotocol.cpp new file mode 100644 index 0000000..8ca141d --- /dev/null +++ b/core/src/dto/mediaprotocol.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaProtocolClass::MediaProtocolClass() {} + + +} // NS DTO + +namespace Support { + +using MediaProtocol = Jellyfin::DTO::MediaProtocol; + +template <> +MediaProtocol fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return MediaProtocol::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("File")) { + return MediaProtocol::File; + } + if (str == QStringLiteral("Http")) { + return MediaProtocol::Http; + } + if (str == QStringLiteral("Rtmp")) { + return MediaProtocol::Rtmp; + } + if (str == QStringLiteral("Rtsp")) { + return MediaProtocol::Rtsp; + } + if (str == QStringLiteral("Udp")) { + return MediaProtocol::Udp; + } + if (str == QStringLiteral("Rtp")) { + return MediaProtocol::Rtp; + } + if (str == QStringLiteral("Ftp")) { + return MediaProtocol::Ftp; + } + + return MediaProtocol::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediasourceinfo.cpp b/core/src/dto/mediasourceinfo.cpp new file mode 100644 index 0000000..17ffd14 --- /dev/null +++ b/core/src/dto/mediasourceinfo.cpp @@ -0,0 +1,649 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaSourceInfo::MediaSourceInfo() {} + +MediaSourceInfo::MediaSourceInfo(const MediaSourceInfo &other) : + + m_protocol(other.m_protocol), + m_jellyfinId(other.m_jellyfinId), + m_path(other.m_path), + m_encoderPath(other.m_encoderPath), + m_encoderProtocol(other.m_encoderProtocol), + m_type(other.m_type), + m_container(other.m_container), + m_size(other.m_size), + m_name(other.m_name), + m_isRemote(other.m_isRemote), + m_eTag(other.m_eTag), + m_runTimeTicks(other.m_runTimeTicks), + m_readAtNativeFramerate(other.m_readAtNativeFramerate), + m_ignoreDts(other.m_ignoreDts), + m_ignoreIndex(other.m_ignoreIndex), + m_genPtsInput(other.m_genPtsInput), + m_supportsTranscoding(other.m_supportsTranscoding), + m_supportsDirectStream(other.m_supportsDirectStream), + m_supportsDirectPlay(other.m_supportsDirectPlay), + m_isInfiniteStream(other.m_isInfiniteStream), + m_requiresOpening(other.m_requiresOpening), + m_openToken(other.m_openToken), + m_requiresClosing(other.m_requiresClosing), + m_liveStreamId(other.m_liveStreamId), + m_bufferMs(other.m_bufferMs), + m_requiresLooping(other.m_requiresLooping), + m_supportsProbing(other.m_supportsProbing), + m_videoType(other.m_videoType), + m_isoType(other.m_isoType), + m_video3DFormat(other.m_video3DFormat), + m_mediaStreams(other.m_mediaStreams), + m_mediaAttachments(other.m_mediaAttachments), + m_formats(other.m_formats), + m_bitrate(other.m_bitrate), + m_timestamp(other.m_timestamp), + m_requiredHttpHeaders(other.m_requiredHttpHeaders), + m_transcodingUrl(other.m_transcodingUrl), + m_transcodingSubProtocol(other.m_transcodingSubProtocol), + m_transcodingContainer(other.m_transcodingContainer), + m_analyzeDurationMs(other.m_analyzeDurationMs), + m_defaultAudioStreamIndex(other.m_defaultAudioStreamIndex), + m_defaultSubtitleStreamIndex(other.m_defaultSubtitleStreamIndex){} + + +void MediaSourceInfo::replaceData(MediaSourceInfo &other) { + m_protocol = other.m_protocol; + m_jellyfinId = other.m_jellyfinId; + m_path = other.m_path; + m_encoderPath = other.m_encoderPath; + m_encoderProtocol = other.m_encoderProtocol; + m_type = other.m_type; + m_container = other.m_container; + m_size = other.m_size; + m_name = other.m_name; + m_isRemote = other.m_isRemote; + m_eTag = other.m_eTag; + m_runTimeTicks = other.m_runTimeTicks; + m_readAtNativeFramerate = other.m_readAtNativeFramerate; + m_ignoreDts = other.m_ignoreDts; + m_ignoreIndex = other.m_ignoreIndex; + m_genPtsInput = other.m_genPtsInput; + m_supportsTranscoding = other.m_supportsTranscoding; + m_supportsDirectStream = other.m_supportsDirectStream; + m_supportsDirectPlay = other.m_supportsDirectPlay; + m_isInfiniteStream = other.m_isInfiniteStream; + m_requiresOpening = other.m_requiresOpening; + m_openToken = other.m_openToken; + m_requiresClosing = other.m_requiresClosing; + m_liveStreamId = other.m_liveStreamId; + m_bufferMs = other.m_bufferMs; + m_requiresLooping = other.m_requiresLooping; + m_supportsProbing = other.m_supportsProbing; + m_videoType = other.m_videoType; + m_isoType = other.m_isoType; + m_video3DFormat = other.m_video3DFormat; + m_mediaStreams = other.m_mediaStreams; + m_mediaAttachments = other.m_mediaAttachments; + m_formats = other.m_formats; + m_bitrate = other.m_bitrate; + m_timestamp = other.m_timestamp; + m_requiredHttpHeaders = other.m_requiredHttpHeaders; + m_transcodingUrl = other.m_transcodingUrl; + m_transcodingSubProtocol = other.m_transcodingSubProtocol; + m_transcodingContainer = other.m_transcodingContainer; + m_analyzeDurationMs = other.m_analyzeDurationMs; + m_defaultAudioStreamIndex = other.m_defaultAudioStreamIndex; + m_defaultSubtitleStreamIndex = other.m_defaultSubtitleStreamIndex; +} + +MediaSourceInfo MediaSourceInfo::fromJson(QJsonObject source) { + MediaSourceInfo instance; + instance.setFromJson(source); + return instance; +} + + +void MediaSourceInfo::setFromJson(QJsonObject source) { + m_protocol = Jellyfin::Support::fromJsonValue(source["Protocol"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_encoderPath = Jellyfin::Support::fromJsonValue(source["EncoderPath"]); + m_encoderProtocol = Jellyfin::Support::fromJsonValue(source["EncoderProtocol"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_size = Jellyfin::Support::fromJsonValue>(source["Size"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_isRemote = Jellyfin::Support::fromJsonValue(source["IsRemote"]); + m_eTag = Jellyfin::Support::fromJsonValue(source["ETag"]); + m_runTimeTicks = Jellyfin::Support::fromJsonValue>(source["RunTimeTicks"]); + m_readAtNativeFramerate = Jellyfin::Support::fromJsonValue(source["ReadAtNativeFramerate"]); + m_ignoreDts = Jellyfin::Support::fromJsonValue(source["IgnoreDts"]); + m_ignoreIndex = Jellyfin::Support::fromJsonValue(source["IgnoreIndex"]); + m_genPtsInput = Jellyfin::Support::fromJsonValue(source["GenPtsInput"]); + m_supportsTranscoding = Jellyfin::Support::fromJsonValue(source["SupportsTranscoding"]); + m_supportsDirectStream = Jellyfin::Support::fromJsonValue(source["SupportsDirectStream"]); + m_supportsDirectPlay = Jellyfin::Support::fromJsonValue(source["SupportsDirectPlay"]); + m_isInfiniteStream = Jellyfin::Support::fromJsonValue(source["IsInfiniteStream"]); + m_requiresOpening = Jellyfin::Support::fromJsonValue(source["RequiresOpening"]); + m_openToken = Jellyfin::Support::fromJsonValue(source["OpenToken"]); + m_requiresClosing = Jellyfin::Support::fromJsonValue(source["RequiresClosing"]); + m_liveStreamId = Jellyfin::Support::fromJsonValue(source["LiveStreamId"]); + m_bufferMs = Jellyfin::Support::fromJsonValue>(source["BufferMs"]); + m_requiresLooping = Jellyfin::Support::fromJsonValue(source["RequiresLooping"]); + m_supportsProbing = Jellyfin::Support::fromJsonValue(source["SupportsProbing"]); + m_videoType = Jellyfin::Support::fromJsonValue(source["VideoType"]); + m_isoType = Jellyfin::Support::fromJsonValue(source["IsoType"]); + m_video3DFormat = Jellyfin::Support::fromJsonValue(source["Video3DFormat"]); + m_mediaStreams = Jellyfin::Support::fromJsonValue>>(source["MediaStreams"]); + m_mediaAttachments = Jellyfin::Support::fromJsonValue>>(source["MediaAttachments"]); + m_formats = Jellyfin::Support::fromJsonValue(source["Formats"]); + m_bitrate = Jellyfin::Support::fromJsonValue>(source["Bitrate"]); + m_timestamp = Jellyfin::Support::fromJsonValue(source["Timestamp"]); + m_requiredHttpHeaders = Jellyfin::Support::fromJsonValue>(source["RequiredHttpHeaders"]); + m_transcodingUrl = Jellyfin::Support::fromJsonValue(source["TranscodingUrl"]); + m_transcodingSubProtocol = Jellyfin::Support::fromJsonValue(source["TranscodingSubProtocol"]); + m_transcodingContainer = Jellyfin::Support::fromJsonValue(source["TranscodingContainer"]); + m_analyzeDurationMs = Jellyfin::Support::fromJsonValue>(source["AnalyzeDurationMs"]); + m_defaultAudioStreamIndex = Jellyfin::Support::fromJsonValue>(source["DefaultAudioStreamIndex"]); + m_defaultSubtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["DefaultSubtitleStreamIndex"]); + +} + +QJsonObject MediaSourceInfo::toJson() { + QJsonObject result; + result["Protocol"] = Jellyfin::Support::toJsonValue(m_protocol); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["EncoderPath"] = Jellyfin::Support::toJsonValue(m_encoderPath); + result["EncoderProtocol"] = Jellyfin::Support::toJsonValue(m_encoderProtocol); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["Size"] = Jellyfin::Support::toJsonValue>(m_size); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["IsRemote"] = Jellyfin::Support::toJsonValue(m_isRemote); + result["ETag"] = Jellyfin::Support::toJsonValue(m_eTag); + result["RunTimeTicks"] = Jellyfin::Support::toJsonValue>(m_runTimeTicks); + result["ReadAtNativeFramerate"] = Jellyfin::Support::toJsonValue(m_readAtNativeFramerate); + result["IgnoreDts"] = Jellyfin::Support::toJsonValue(m_ignoreDts); + result["IgnoreIndex"] = Jellyfin::Support::toJsonValue(m_ignoreIndex); + result["GenPtsInput"] = Jellyfin::Support::toJsonValue(m_genPtsInput); + result["SupportsTranscoding"] = Jellyfin::Support::toJsonValue(m_supportsTranscoding); + result["SupportsDirectStream"] = Jellyfin::Support::toJsonValue(m_supportsDirectStream); + result["SupportsDirectPlay"] = Jellyfin::Support::toJsonValue(m_supportsDirectPlay); + result["IsInfiniteStream"] = Jellyfin::Support::toJsonValue(m_isInfiniteStream); + result["RequiresOpening"] = Jellyfin::Support::toJsonValue(m_requiresOpening); + result["OpenToken"] = Jellyfin::Support::toJsonValue(m_openToken); + result["RequiresClosing"] = Jellyfin::Support::toJsonValue(m_requiresClosing); + result["LiveStreamId"] = Jellyfin::Support::toJsonValue(m_liveStreamId); + result["BufferMs"] = Jellyfin::Support::toJsonValue>(m_bufferMs); + result["RequiresLooping"] = Jellyfin::Support::toJsonValue(m_requiresLooping); + result["SupportsProbing"] = Jellyfin::Support::toJsonValue(m_supportsProbing); + result["VideoType"] = Jellyfin::Support::toJsonValue(m_videoType); + result["IsoType"] = Jellyfin::Support::toJsonValue(m_isoType); + result["Video3DFormat"] = Jellyfin::Support::toJsonValue(m_video3DFormat); + result["MediaStreams"] = Jellyfin::Support::toJsonValue>>(m_mediaStreams); + result["MediaAttachments"] = Jellyfin::Support::toJsonValue>>(m_mediaAttachments); + result["Formats"] = Jellyfin::Support::toJsonValue(m_formats); + result["Bitrate"] = Jellyfin::Support::toJsonValue>(m_bitrate); + result["Timestamp"] = Jellyfin::Support::toJsonValue(m_timestamp); + result["RequiredHttpHeaders"] = Jellyfin::Support::toJsonValue>(m_requiredHttpHeaders); + result["TranscodingUrl"] = Jellyfin::Support::toJsonValue(m_transcodingUrl); + result["TranscodingSubProtocol"] = Jellyfin::Support::toJsonValue(m_transcodingSubProtocol); + result["TranscodingContainer"] = Jellyfin::Support::toJsonValue(m_transcodingContainer); + result["AnalyzeDurationMs"] = Jellyfin::Support::toJsonValue>(m_analyzeDurationMs); + result["DefaultAudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_defaultAudioStreamIndex); + result["DefaultSubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_defaultSubtitleStreamIndex); + + return result; +} + +MediaProtocol MediaSourceInfo::protocol() const { return m_protocol; } + +void MediaSourceInfo::setProtocol(MediaProtocol newProtocol) { + m_protocol = newProtocol; +} + +QString MediaSourceInfo::jellyfinId() const { return m_jellyfinId; } + +void MediaSourceInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool MediaSourceInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void MediaSourceInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString MediaSourceInfo::path() const { return m_path; } + +void MediaSourceInfo::setPath(QString newPath) { + m_path = newPath; +} +bool MediaSourceInfo::pathNull() const { + return m_path.isNull(); +} + +void MediaSourceInfo::setPathNull() { + m_path.clear(); + +} +QString MediaSourceInfo::encoderPath() const { return m_encoderPath; } + +void MediaSourceInfo::setEncoderPath(QString newEncoderPath) { + m_encoderPath = newEncoderPath; +} +bool MediaSourceInfo::encoderPathNull() const { + return m_encoderPath.isNull(); +} + +void MediaSourceInfo::setEncoderPathNull() { + m_encoderPath.clear(); + +} +MediaProtocol MediaSourceInfo::encoderProtocol() const { return m_encoderProtocol; } + +void MediaSourceInfo::setEncoderProtocol(MediaProtocol newEncoderProtocol) { + m_encoderProtocol = newEncoderProtocol; +} + +MediaSourceType MediaSourceInfo::type() const { return m_type; } + +void MediaSourceInfo::setType(MediaSourceType newType) { + m_type = newType; +} + +QString MediaSourceInfo::container() const { return m_container; } + +void MediaSourceInfo::setContainer(QString newContainer) { + m_container = newContainer; +} +bool MediaSourceInfo::containerNull() const { + return m_container.isNull(); +} + +void MediaSourceInfo::setContainerNull() { + m_container.clear(); + +} +std::optional MediaSourceInfo::size() const { return m_size; } + +void MediaSourceInfo::setSize(std::optional newSize) { + m_size = newSize; +} +bool MediaSourceInfo::sizeNull() const { + return !m_size.has_value(); +} + +void MediaSourceInfo::setSizeNull() { + m_size = std::nullopt; + +} +QString MediaSourceInfo::name() const { return m_name; } + +void MediaSourceInfo::setName(QString newName) { + m_name = newName; +} +bool MediaSourceInfo::nameNull() const { + return m_name.isNull(); +} + +void MediaSourceInfo::setNameNull() { + m_name.clear(); + +} +bool MediaSourceInfo::isRemote() const { return m_isRemote; } + +void MediaSourceInfo::setIsRemote(bool newIsRemote) { + m_isRemote = newIsRemote; +} + +QString MediaSourceInfo::eTag() const { return m_eTag; } + +void MediaSourceInfo::setETag(QString newETag) { + m_eTag = newETag; +} +bool MediaSourceInfo::eTagNull() const { + return m_eTag.isNull(); +} + +void MediaSourceInfo::setETagNull() { + m_eTag.clear(); + +} +std::optional MediaSourceInfo::runTimeTicks() const { return m_runTimeTicks; } + +void MediaSourceInfo::setRunTimeTicks(std::optional newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; +} +bool MediaSourceInfo::runTimeTicksNull() const { + return !m_runTimeTicks.has_value(); +} + +void MediaSourceInfo::setRunTimeTicksNull() { + m_runTimeTicks = std::nullopt; + +} +bool MediaSourceInfo::readAtNativeFramerate() const { return m_readAtNativeFramerate; } + +void MediaSourceInfo::setReadAtNativeFramerate(bool newReadAtNativeFramerate) { + m_readAtNativeFramerate = newReadAtNativeFramerate; +} + +bool MediaSourceInfo::ignoreDts() const { return m_ignoreDts; } + +void MediaSourceInfo::setIgnoreDts(bool newIgnoreDts) { + m_ignoreDts = newIgnoreDts; +} + +bool MediaSourceInfo::ignoreIndex() const { return m_ignoreIndex; } + +void MediaSourceInfo::setIgnoreIndex(bool newIgnoreIndex) { + m_ignoreIndex = newIgnoreIndex; +} + +bool MediaSourceInfo::genPtsInput() const { return m_genPtsInput; } + +void MediaSourceInfo::setGenPtsInput(bool newGenPtsInput) { + m_genPtsInput = newGenPtsInput; +} + +bool MediaSourceInfo::supportsTranscoding() const { return m_supportsTranscoding; } + +void MediaSourceInfo::setSupportsTranscoding(bool newSupportsTranscoding) { + m_supportsTranscoding = newSupportsTranscoding; +} + +bool MediaSourceInfo::supportsDirectStream() const { return m_supportsDirectStream; } + +void MediaSourceInfo::setSupportsDirectStream(bool newSupportsDirectStream) { + m_supportsDirectStream = newSupportsDirectStream; +} + +bool MediaSourceInfo::supportsDirectPlay() const { return m_supportsDirectPlay; } + +void MediaSourceInfo::setSupportsDirectPlay(bool newSupportsDirectPlay) { + m_supportsDirectPlay = newSupportsDirectPlay; +} + +bool MediaSourceInfo::isInfiniteStream() const { return m_isInfiniteStream; } + +void MediaSourceInfo::setIsInfiniteStream(bool newIsInfiniteStream) { + m_isInfiniteStream = newIsInfiniteStream; +} + +bool MediaSourceInfo::requiresOpening() const { return m_requiresOpening; } + +void MediaSourceInfo::setRequiresOpening(bool newRequiresOpening) { + m_requiresOpening = newRequiresOpening; +} + +QString MediaSourceInfo::openToken() const { return m_openToken; } + +void MediaSourceInfo::setOpenToken(QString newOpenToken) { + m_openToken = newOpenToken; +} +bool MediaSourceInfo::openTokenNull() const { + return m_openToken.isNull(); +} + +void MediaSourceInfo::setOpenTokenNull() { + m_openToken.clear(); + +} +bool MediaSourceInfo::requiresClosing() const { return m_requiresClosing; } + +void MediaSourceInfo::setRequiresClosing(bool newRequiresClosing) { + m_requiresClosing = newRequiresClosing; +} + +QString MediaSourceInfo::liveStreamId() const { return m_liveStreamId; } + +void MediaSourceInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; +} +bool MediaSourceInfo::liveStreamIdNull() const { + return m_liveStreamId.isNull(); +} + +void MediaSourceInfo::setLiveStreamIdNull() { + m_liveStreamId.clear(); + +} +std::optional MediaSourceInfo::bufferMs() const { return m_bufferMs; } + +void MediaSourceInfo::setBufferMs(std::optional newBufferMs) { + m_bufferMs = newBufferMs; +} +bool MediaSourceInfo::bufferMsNull() const { + return !m_bufferMs.has_value(); +} + +void MediaSourceInfo::setBufferMsNull() { + m_bufferMs = std::nullopt; + +} +bool MediaSourceInfo::requiresLooping() const { return m_requiresLooping; } + +void MediaSourceInfo::setRequiresLooping(bool newRequiresLooping) { + m_requiresLooping = newRequiresLooping; +} + +bool MediaSourceInfo::supportsProbing() const { return m_supportsProbing; } + +void MediaSourceInfo::setSupportsProbing(bool newSupportsProbing) { + m_supportsProbing = newSupportsProbing; +} + +VideoType MediaSourceInfo::videoType() const { return m_videoType; } + +void MediaSourceInfo::setVideoType(VideoType newVideoType) { + m_videoType = newVideoType; +} + +IsoType MediaSourceInfo::isoType() const { return m_isoType; } + +void MediaSourceInfo::setIsoType(IsoType newIsoType) { + m_isoType = newIsoType; +} + +Video3DFormat MediaSourceInfo::video3DFormat() const { return m_video3DFormat; } + +void MediaSourceInfo::setVideo3DFormat(Video3DFormat newVideo3DFormat) { + m_video3DFormat = newVideo3DFormat; +} + +QList> MediaSourceInfo::mediaStreams() const { return m_mediaStreams; } + +void MediaSourceInfo::setMediaStreams(QList> newMediaStreams) { + m_mediaStreams = newMediaStreams; +} +bool MediaSourceInfo::mediaStreamsNull() const { + return m_mediaStreams.size() == 0; +} + +void MediaSourceInfo::setMediaStreamsNull() { + m_mediaStreams.clear(); + +} +QList> MediaSourceInfo::mediaAttachments() const { return m_mediaAttachments; } + +void MediaSourceInfo::setMediaAttachments(QList> newMediaAttachments) { + m_mediaAttachments = newMediaAttachments; +} +bool MediaSourceInfo::mediaAttachmentsNull() const { + return m_mediaAttachments.size() == 0; +} + +void MediaSourceInfo::setMediaAttachmentsNull() { + m_mediaAttachments.clear(); + +} +QStringList MediaSourceInfo::formats() const { return m_formats; } + +void MediaSourceInfo::setFormats(QStringList newFormats) { + m_formats = newFormats; +} +bool MediaSourceInfo::formatsNull() const { + return m_formats.size() == 0; +} + +void MediaSourceInfo::setFormatsNull() { + m_formats.clear(); + +} +std::optional MediaSourceInfo::bitrate() const { return m_bitrate; } + +void MediaSourceInfo::setBitrate(std::optional newBitrate) { + m_bitrate = newBitrate; +} +bool MediaSourceInfo::bitrateNull() const { + return !m_bitrate.has_value(); +} + +void MediaSourceInfo::setBitrateNull() { + m_bitrate = std::nullopt; + +} +TransportStreamTimestamp MediaSourceInfo::timestamp() const { return m_timestamp; } + +void MediaSourceInfo::setTimestamp(TransportStreamTimestamp newTimestamp) { + m_timestamp = newTimestamp; +} + +std::optional MediaSourceInfo::requiredHttpHeaders() const { return m_requiredHttpHeaders; } + +void MediaSourceInfo::setRequiredHttpHeaders(std::optional newRequiredHttpHeaders) { + m_requiredHttpHeaders = newRequiredHttpHeaders; +} +bool MediaSourceInfo::requiredHttpHeadersNull() const { + return !m_requiredHttpHeaders.has_value(); +} + +void MediaSourceInfo::setRequiredHttpHeadersNull() { + m_requiredHttpHeaders = std::nullopt; + +} +QString MediaSourceInfo::transcodingUrl() const { return m_transcodingUrl; } + +void MediaSourceInfo::setTranscodingUrl(QString newTranscodingUrl) { + m_transcodingUrl = newTranscodingUrl; +} +bool MediaSourceInfo::transcodingUrlNull() const { + return m_transcodingUrl.isNull(); +} + +void MediaSourceInfo::setTranscodingUrlNull() { + m_transcodingUrl.clear(); + +} +QString MediaSourceInfo::transcodingSubProtocol() const { return m_transcodingSubProtocol; } + +void MediaSourceInfo::setTranscodingSubProtocol(QString newTranscodingSubProtocol) { + m_transcodingSubProtocol = newTranscodingSubProtocol; +} +bool MediaSourceInfo::transcodingSubProtocolNull() const { + return m_transcodingSubProtocol.isNull(); +} + +void MediaSourceInfo::setTranscodingSubProtocolNull() { + m_transcodingSubProtocol.clear(); + +} +QString MediaSourceInfo::transcodingContainer() const { return m_transcodingContainer; } + +void MediaSourceInfo::setTranscodingContainer(QString newTranscodingContainer) { + m_transcodingContainer = newTranscodingContainer; +} +bool MediaSourceInfo::transcodingContainerNull() const { + return m_transcodingContainer.isNull(); +} + +void MediaSourceInfo::setTranscodingContainerNull() { + m_transcodingContainer.clear(); + +} +std::optional MediaSourceInfo::analyzeDurationMs() const { return m_analyzeDurationMs; } + +void MediaSourceInfo::setAnalyzeDurationMs(std::optional newAnalyzeDurationMs) { + m_analyzeDurationMs = newAnalyzeDurationMs; +} +bool MediaSourceInfo::analyzeDurationMsNull() const { + return !m_analyzeDurationMs.has_value(); +} + +void MediaSourceInfo::setAnalyzeDurationMsNull() { + m_analyzeDurationMs = std::nullopt; + +} +std::optional MediaSourceInfo::defaultAudioStreamIndex() const { return m_defaultAudioStreamIndex; } + +void MediaSourceInfo::setDefaultAudioStreamIndex(std::optional newDefaultAudioStreamIndex) { + m_defaultAudioStreamIndex = newDefaultAudioStreamIndex; +} +bool MediaSourceInfo::defaultAudioStreamIndexNull() const { + return !m_defaultAudioStreamIndex.has_value(); +} + +void MediaSourceInfo::setDefaultAudioStreamIndexNull() { + m_defaultAudioStreamIndex = std::nullopt; + +} +std::optional MediaSourceInfo::defaultSubtitleStreamIndex() const { return m_defaultSubtitleStreamIndex; } + +void MediaSourceInfo::setDefaultSubtitleStreamIndex(std::optional newDefaultSubtitleStreamIndex) { + m_defaultSubtitleStreamIndex = newDefaultSubtitleStreamIndex; +} +bool MediaSourceInfo::defaultSubtitleStreamIndexNull() const { + return !m_defaultSubtitleStreamIndex.has_value(); +} + +void MediaSourceInfo::setDefaultSubtitleStreamIndexNull() { + m_defaultSubtitleStreamIndex = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using MediaSourceInfo = Jellyfin::DTO::MediaSourceInfo; + +template <> +MediaSourceInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaSourceInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediasourcetype.cpp b/core/src/dto/mediasourcetype.cpp new file mode 100644 index 0000000..c164cc3 --- /dev/null +++ b/core/src/dto/mediasourcetype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaSourceTypeClass::MediaSourceTypeClass() {} + + +} // NS DTO + +namespace Support { + +using MediaSourceType = Jellyfin::DTO::MediaSourceType; + +template <> +MediaSourceType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return MediaSourceType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Default")) { + return MediaSourceType::Default; + } + if (str == QStringLiteral("Grouping")) { + return MediaSourceType::Grouping; + } + if (str == QStringLiteral("Placeholder")) { + return MediaSourceType::Placeholder; + } + + return MediaSourceType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediastream.cpp b/core/src/dto/mediastream.cpp new file mode 100644 index 0000000..25db4ef --- /dev/null +++ b/core/src/dto/mediastream.cpp @@ -0,0 +1,811 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaStream::MediaStream() {} + +MediaStream::MediaStream(const MediaStream &other) : + + m_codec(other.m_codec), + m_codecTag(other.m_codecTag), + m_language(other.m_language), + m_colorRange(other.m_colorRange), + m_colorSpace(other.m_colorSpace), + m_colorTransfer(other.m_colorTransfer), + m_colorPrimaries(other.m_colorPrimaries), + m_comment(other.m_comment), + m_timeBase(other.m_timeBase), + m_codecTimeBase(other.m_codecTimeBase), + m_title(other.m_title), + m_videoRange(other.m_videoRange), + m_localizedUndefined(other.m_localizedUndefined), + m_localizedDefault(other.m_localizedDefault), + m_localizedForced(other.m_localizedForced), + m_displayTitle(other.m_displayTitle), + m_nalLengthSize(other.m_nalLengthSize), + m_isInterlaced(other.m_isInterlaced), + m_isAVC(other.m_isAVC), + m_channelLayout(other.m_channelLayout), + m_bitRate(other.m_bitRate), + m_bitDepth(other.m_bitDepth), + m_refFrames(other.m_refFrames), + m_packetLength(other.m_packetLength), + m_channels(other.m_channels), + m_sampleRate(other.m_sampleRate), + m_isDefault(other.m_isDefault), + m_isForced(other.m_isForced), + m_height(other.m_height), + m_width(other.m_width), + m_averageFrameRate(other.m_averageFrameRate), + m_realFrameRate(other.m_realFrameRate), + m_profile(other.m_profile), + m_type(other.m_type), + m_aspectRatio(other.m_aspectRatio), + m_index(other.m_index), + m_score(other.m_score), + m_isExternal(other.m_isExternal), + m_deliveryMethod(other.m_deliveryMethod), + m_deliveryUrl(other.m_deliveryUrl), + m_isExternalUrl(other.m_isExternalUrl), + m_isTextSubtitleStream(other.m_isTextSubtitleStream), + m_supportsExternalStream(other.m_supportsExternalStream), + m_path(other.m_path), + m_pixelFormat(other.m_pixelFormat), + m_level(other.m_level), + m_isAnamorphic(other.m_isAnamorphic){} + + +void MediaStream::replaceData(MediaStream &other) { + m_codec = other.m_codec; + m_codecTag = other.m_codecTag; + m_language = other.m_language; + m_colorRange = other.m_colorRange; + m_colorSpace = other.m_colorSpace; + m_colorTransfer = other.m_colorTransfer; + m_colorPrimaries = other.m_colorPrimaries; + m_comment = other.m_comment; + m_timeBase = other.m_timeBase; + m_codecTimeBase = other.m_codecTimeBase; + m_title = other.m_title; + m_videoRange = other.m_videoRange; + m_localizedUndefined = other.m_localizedUndefined; + m_localizedDefault = other.m_localizedDefault; + m_localizedForced = other.m_localizedForced; + m_displayTitle = other.m_displayTitle; + m_nalLengthSize = other.m_nalLengthSize; + m_isInterlaced = other.m_isInterlaced; + m_isAVC = other.m_isAVC; + m_channelLayout = other.m_channelLayout; + m_bitRate = other.m_bitRate; + m_bitDepth = other.m_bitDepth; + m_refFrames = other.m_refFrames; + m_packetLength = other.m_packetLength; + m_channels = other.m_channels; + m_sampleRate = other.m_sampleRate; + m_isDefault = other.m_isDefault; + m_isForced = other.m_isForced; + m_height = other.m_height; + m_width = other.m_width; + m_averageFrameRate = other.m_averageFrameRate; + m_realFrameRate = other.m_realFrameRate; + m_profile = other.m_profile; + m_type = other.m_type; + m_aspectRatio = other.m_aspectRatio; + m_index = other.m_index; + m_score = other.m_score; + m_isExternal = other.m_isExternal; + m_deliveryMethod = other.m_deliveryMethod; + m_deliveryUrl = other.m_deliveryUrl; + m_isExternalUrl = other.m_isExternalUrl; + m_isTextSubtitleStream = other.m_isTextSubtitleStream; + m_supportsExternalStream = other.m_supportsExternalStream; + m_path = other.m_path; + m_pixelFormat = other.m_pixelFormat; + m_level = other.m_level; + m_isAnamorphic = other.m_isAnamorphic; +} + +MediaStream MediaStream::fromJson(QJsonObject source) { + MediaStream instance; + instance.setFromJson(source); + return instance; +} + + +void MediaStream::setFromJson(QJsonObject source) { + m_codec = Jellyfin::Support::fromJsonValue(source["Codec"]); + m_codecTag = Jellyfin::Support::fromJsonValue(source["CodecTag"]); + m_language = Jellyfin::Support::fromJsonValue(source["Language"]); + m_colorRange = Jellyfin::Support::fromJsonValue(source["ColorRange"]); + m_colorSpace = Jellyfin::Support::fromJsonValue(source["ColorSpace"]); + m_colorTransfer = Jellyfin::Support::fromJsonValue(source["ColorTransfer"]); + m_colorPrimaries = Jellyfin::Support::fromJsonValue(source["ColorPrimaries"]); + m_comment = Jellyfin::Support::fromJsonValue(source["Comment"]); + m_timeBase = Jellyfin::Support::fromJsonValue(source["TimeBase"]); + m_codecTimeBase = Jellyfin::Support::fromJsonValue(source["CodecTimeBase"]); + m_title = Jellyfin::Support::fromJsonValue(source["Title"]); + m_videoRange = Jellyfin::Support::fromJsonValue(source["VideoRange"]); + m_localizedUndefined = Jellyfin::Support::fromJsonValue(source["localizedUndefined"]); + m_localizedDefault = Jellyfin::Support::fromJsonValue(source["localizedDefault"]); + m_localizedForced = Jellyfin::Support::fromJsonValue(source["localizedForced"]); + m_displayTitle = Jellyfin::Support::fromJsonValue(source["DisplayTitle"]); + m_nalLengthSize = Jellyfin::Support::fromJsonValue(source["NalLengthSize"]); + m_isInterlaced = Jellyfin::Support::fromJsonValue(source["IsInterlaced"]); + m_isAVC = Jellyfin::Support::fromJsonValue>(source["IsAVC"]); + m_channelLayout = Jellyfin::Support::fromJsonValue(source["ChannelLayout"]); + m_bitRate = Jellyfin::Support::fromJsonValue>(source["BitRate"]); + m_bitDepth = Jellyfin::Support::fromJsonValue>(source["BitDepth"]); + m_refFrames = Jellyfin::Support::fromJsonValue>(source["RefFrames"]); + m_packetLength = Jellyfin::Support::fromJsonValue>(source["PacketLength"]); + m_channels = Jellyfin::Support::fromJsonValue>(source["Channels"]); + m_sampleRate = Jellyfin::Support::fromJsonValue>(source["SampleRate"]); + m_isDefault = Jellyfin::Support::fromJsonValue(source["IsDefault"]); + m_isForced = Jellyfin::Support::fromJsonValue(source["IsForced"]); + m_height = Jellyfin::Support::fromJsonValue>(source["Height"]); + m_width = Jellyfin::Support::fromJsonValue>(source["Width"]); + m_averageFrameRate = Jellyfin::Support::fromJsonValue>(source["AverageFrameRate"]); + m_realFrameRate = Jellyfin::Support::fromJsonValue>(source["RealFrameRate"]); + m_profile = Jellyfin::Support::fromJsonValue(source["Profile"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_aspectRatio = Jellyfin::Support::fromJsonValue(source["AspectRatio"]); + m_index = Jellyfin::Support::fromJsonValue(source["Index"]); + m_score = Jellyfin::Support::fromJsonValue>(source["Score"]); + m_isExternal = Jellyfin::Support::fromJsonValue(source["IsExternal"]); + m_deliveryMethod = Jellyfin::Support::fromJsonValue(source["DeliveryMethod"]); + m_deliveryUrl = Jellyfin::Support::fromJsonValue(source["DeliveryUrl"]); + m_isExternalUrl = Jellyfin::Support::fromJsonValue>(source["IsExternalUrl"]); + m_isTextSubtitleStream = Jellyfin::Support::fromJsonValue(source["IsTextSubtitleStream"]); + m_supportsExternalStream = Jellyfin::Support::fromJsonValue(source["SupportsExternalStream"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_pixelFormat = Jellyfin::Support::fromJsonValue(source["PixelFormat"]); + m_level = Jellyfin::Support::fromJsonValue>(source["Level"]); + m_isAnamorphic = Jellyfin::Support::fromJsonValue>(source["IsAnamorphic"]); + +} + +QJsonObject MediaStream::toJson() { + QJsonObject result; + result["Codec"] = Jellyfin::Support::toJsonValue(m_codec); + result["CodecTag"] = Jellyfin::Support::toJsonValue(m_codecTag); + result["Language"] = Jellyfin::Support::toJsonValue(m_language); + result["ColorRange"] = Jellyfin::Support::toJsonValue(m_colorRange); + result["ColorSpace"] = Jellyfin::Support::toJsonValue(m_colorSpace); + result["ColorTransfer"] = Jellyfin::Support::toJsonValue(m_colorTransfer); + result["ColorPrimaries"] = Jellyfin::Support::toJsonValue(m_colorPrimaries); + result["Comment"] = Jellyfin::Support::toJsonValue(m_comment); + result["TimeBase"] = Jellyfin::Support::toJsonValue(m_timeBase); + result["CodecTimeBase"] = Jellyfin::Support::toJsonValue(m_codecTimeBase); + result["Title"] = Jellyfin::Support::toJsonValue(m_title); + result["VideoRange"] = Jellyfin::Support::toJsonValue(m_videoRange); + result["localizedUndefined"] = Jellyfin::Support::toJsonValue(m_localizedUndefined); + result["localizedDefault"] = Jellyfin::Support::toJsonValue(m_localizedDefault); + result["localizedForced"] = Jellyfin::Support::toJsonValue(m_localizedForced); + result["DisplayTitle"] = Jellyfin::Support::toJsonValue(m_displayTitle); + result["NalLengthSize"] = Jellyfin::Support::toJsonValue(m_nalLengthSize); + result["IsInterlaced"] = Jellyfin::Support::toJsonValue(m_isInterlaced); + result["IsAVC"] = Jellyfin::Support::toJsonValue>(m_isAVC); + result["ChannelLayout"] = Jellyfin::Support::toJsonValue(m_channelLayout); + result["BitRate"] = Jellyfin::Support::toJsonValue>(m_bitRate); + result["BitDepth"] = Jellyfin::Support::toJsonValue>(m_bitDepth); + result["RefFrames"] = Jellyfin::Support::toJsonValue>(m_refFrames); + result["PacketLength"] = Jellyfin::Support::toJsonValue>(m_packetLength); + result["Channels"] = Jellyfin::Support::toJsonValue>(m_channels); + result["SampleRate"] = Jellyfin::Support::toJsonValue>(m_sampleRate); + result["IsDefault"] = Jellyfin::Support::toJsonValue(m_isDefault); + result["IsForced"] = Jellyfin::Support::toJsonValue(m_isForced); + result["Height"] = Jellyfin::Support::toJsonValue>(m_height); + result["Width"] = Jellyfin::Support::toJsonValue>(m_width); + result["AverageFrameRate"] = Jellyfin::Support::toJsonValue>(m_averageFrameRate); + result["RealFrameRate"] = Jellyfin::Support::toJsonValue>(m_realFrameRate); + result["Profile"] = Jellyfin::Support::toJsonValue(m_profile); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["AspectRatio"] = Jellyfin::Support::toJsonValue(m_aspectRatio); + result["Index"] = Jellyfin::Support::toJsonValue(m_index); + result["Score"] = Jellyfin::Support::toJsonValue>(m_score); + result["IsExternal"] = Jellyfin::Support::toJsonValue(m_isExternal); + result["DeliveryMethod"] = Jellyfin::Support::toJsonValue(m_deliveryMethod); + result["DeliveryUrl"] = Jellyfin::Support::toJsonValue(m_deliveryUrl); + result["IsExternalUrl"] = Jellyfin::Support::toJsonValue>(m_isExternalUrl); + result["IsTextSubtitleStream"] = Jellyfin::Support::toJsonValue(m_isTextSubtitleStream); + result["SupportsExternalStream"] = Jellyfin::Support::toJsonValue(m_supportsExternalStream); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["PixelFormat"] = Jellyfin::Support::toJsonValue(m_pixelFormat); + result["Level"] = Jellyfin::Support::toJsonValue>(m_level); + result["IsAnamorphic"] = Jellyfin::Support::toJsonValue>(m_isAnamorphic); + + return result; +} + +QString MediaStream::codec() const { return m_codec; } + +void MediaStream::setCodec(QString newCodec) { + m_codec = newCodec; +} +bool MediaStream::codecNull() const { + return m_codec.isNull(); +} + +void MediaStream::setCodecNull() { + m_codec.clear(); + +} +QString MediaStream::codecTag() const { return m_codecTag; } + +void MediaStream::setCodecTag(QString newCodecTag) { + m_codecTag = newCodecTag; +} +bool MediaStream::codecTagNull() const { + return m_codecTag.isNull(); +} + +void MediaStream::setCodecTagNull() { + m_codecTag.clear(); + +} +QString MediaStream::language() const { return m_language; } + +void MediaStream::setLanguage(QString newLanguage) { + m_language = newLanguage; +} +bool MediaStream::languageNull() const { + return m_language.isNull(); +} + +void MediaStream::setLanguageNull() { + m_language.clear(); + +} +QString MediaStream::colorRange() const { return m_colorRange; } + +void MediaStream::setColorRange(QString newColorRange) { + m_colorRange = newColorRange; +} +bool MediaStream::colorRangeNull() const { + return m_colorRange.isNull(); +} + +void MediaStream::setColorRangeNull() { + m_colorRange.clear(); + +} +QString MediaStream::colorSpace() const { return m_colorSpace; } + +void MediaStream::setColorSpace(QString newColorSpace) { + m_colorSpace = newColorSpace; +} +bool MediaStream::colorSpaceNull() const { + return m_colorSpace.isNull(); +} + +void MediaStream::setColorSpaceNull() { + m_colorSpace.clear(); + +} +QString MediaStream::colorTransfer() const { return m_colorTransfer; } + +void MediaStream::setColorTransfer(QString newColorTransfer) { + m_colorTransfer = newColorTransfer; +} +bool MediaStream::colorTransferNull() const { + return m_colorTransfer.isNull(); +} + +void MediaStream::setColorTransferNull() { + m_colorTransfer.clear(); + +} +QString MediaStream::colorPrimaries() const { return m_colorPrimaries; } + +void MediaStream::setColorPrimaries(QString newColorPrimaries) { + m_colorPrimaries = newColorPrimaries; +} +bool MediaStream::colorPrimariesNull() const { + return m_colorPrimaries.isNull(); +} + +void MediaStream::setColorPrimariesNull() { + m_colorPrimaries.clear(); + +} +QString MediaStream::comment() const { return m_comment; } + +void MediaStream::setComment(QString newComment) { + m_comment = newComment; +} +bool MediaStream::commentNull() const { + return m_comment.isNull(); +} + +void MediaStream::setCommentNull() { + m_comment.clear(); + +} +QString MediaStream::timeBase() const { return m_timeBase; } + +void MediaStream::setTimeBase(QString newTimeBase) { + m_timeBase = newTimeBase; +} +bool MediaStream::timeBaseNull() const { + return m_timeBase.isNull(); +} + +void MediaStream::setTimeBaseNull() { + m_timeBase.clear(); + +} +QString MediaStream::codecTimeBase() const { return m_codecTimeBase; } + +void MediaStream::setCodecTimeBase(QString newCodecTimeBase) { + m_codecTimeBase = newCodecTimeBase; +} +bool MediaStream::codecTimeBaseNull() const { + return m_codecTimeBase.isNull(); +} + +void MediaStream::setCodecTimeBaseNull() { + m_codecTimeBase.clear(); + +} +QString MediaStream::title() const { return m_title; } + +void MediaStream::setTitle(QString newTitle) { + m_title = newTitle; +} +bool MediaStream::titleNull() const { + return m_title.isNull(); +} + +void MediaStream::setTitleNull() { + m_title.clear(); + +} +QString MediaStream::videoRange() const { return m_videoRange; } + +void MediaStream::setVideoRange(QString newVideoRange) { + m_videoRange = newVideoRange; +} +bool MediaStream::videoRangeNull() const { + return m_videoRange.isNull(); +} + +void MediaStream::setVideoRangeNull() { + m_videoRange.clear(); + +} +QString MediaStream::localizedUndefined() const { return m_localizedUndefined; } + +void MediaStream::setLocalizedUndefined(QString newLocalizedUndefined) { + m_localizedUndefined = newLocalizedUndefined; +} +bool MediaStream::localizedUndefinedNull() const { + return m_localizedUndefined.isNull(); +} + +void MediaStream::setLocalizedUndefinedNull() { + m_localizedUndefined.clear(); + +} +QString MediaStream::localizedDefault() const { return m_localizedDefault; } + +void MediaStream::setLocalizedDefault(QString newLocalizedDefault) { + m_localizedDefault = newLocalizedDefault; +} +bool MediaStream::localizedDefaultNull() const { + return m_localizedDefault.isNull(); +} + +void MediaStream::setLocalizedDefaultNull() { + m_localizedDefault.clear(); + +} +QString MediaStream::localizedForced() const { return m_localizedForced; } + +void MediaStream::setLocalizedForced(QString newLocalizedForced) { + m_localizedForced = newLocalizedForced; +} +bool MediaStream::localizedForcedNull() const { + return m_localizedForced.isNull(); +} + +void MediaStream::setLocalizedForcedNull() { + m_localizedForced.clear(); + +} +QString MediaStream::displayTitle() const { return m_displayTitle; } + +void MediaStream::setDisplayTitle(QString newDisplayTitle) { + m_displayTitle = newDisplayTitle; +} +bool MediaStream::displayTitleNull() const { + return m_displayTitle.isNull(); +} + +void MediaStream::setDisplayTitleNull() { + m_displayTitle.clear(); + +} +QString MediaStream::nalLengthSize() const { return m_nalLengthSize; } + +void MediaStream::setNalLengthSize(QString newNalLengthSize) { + m_nalLengthSize = newNalLengthSize; +} +bool MediaStream::nalLengthSizeNull() const { + return m_nalLengthSize.isNull(); +} + +void MediaStream::setNalLengthSizeNull() { + m_nalLengthSize.clear(); + +} +bool MediaStream::isInterlaced() const { return m_isInterlaced; } + +void MediaStream::setIsInterlaced(bool newIsInterlaced) { + m_isInterlaced = newIsInterlaced; +} + +std::optional MediaStream::isAVC() const { return m_isAVC; } + +void MediaStream::setIsAVC(std::optional newIsAVC) { + m_isAVC = newIsAVC; +} +bool MediaStream::isAVCNull() const { + return !m_isAVC.has_value(); +} + +void MediaStream::setIsAVCNull() { + m_isAVC = std::nullopt; + +} +QString MediaStream::channelLayout() const { return m_channelLayout; } + +void MediaStream::setChannelLayout(QString newChannelLayout) { + m_channelLayout = newChannelLayout; +} +bool MediaStream::channelLayoutNull() const { + return m_channelLayout.isNull(); +} + +void MediaStream::setChannelLayoutNull() { + m_channelLayout.clear(); + +} +std::optional MediaStream::bitRate() const { return m_bitRate; } + +void MediaStream::setBitRate(std::optional newBitRate) { + m_bitRate = newBitRate; +} +bool MediaStream::bitRateNull() const { + return !m_bitRate.has_value(); +} + +void MediaStream::setBitRateNull() { + m_bitRate = std::nullopt; + +} +std::optional MediaStream::bitDepth() const { return m_bitDepth; } + +void MediaStream::setBitDepth(std::optional newBitDepth) { + m_bitDepth = newBitDepth; +} +bool MediaStream::bitDepthNull() const { + return !m_bitDepth.has_value(); +} + +void MediaStream::setBitDepthNull() { + m_bitDepth = std::nullopt; + +} +std::optional MediaStream::refFrames() const { return m_refFrames; } + +void MediaStream::setRefFrames(std::optional newRefFrames) { + m_refFrames = newRefFrames; +} +bool MediaStream::refFramesNull() const { + return !m_refFrames.has_value(); +} + +void MediaStream::setRefFramesNull() { + m_refFrames = std::nullopt; + +} +std::optional MediaStream::packetLength() const { return m_packetLength; } + +void MediaStream::setPacketLength(std::optional newPacketLength) { + m_packetLength = newPacketLength; +} +bool MediaStream::packetLengthNull() const { + return !m_packetLength.has_value(); +} + +void MediaStream::setPacketLengthNull() { + m_packetLength = std::nullopt; + +} +std::optional MediaStream::channels() const { return m_channels; } + +void MediaStream::setChannels(std::optional newChannels) { + m_channels = newChannels; +} +bool MediaStream::channelsNull() const { + return !m_channels.has_value(); +} + +void MediaStream::setChannelsNull() { + m_channels = std::nullopt; + +} +std::optional MediaStream::sampleRate() const { return m_sampleRate; } + +void MediaStream::setSampleRate(std::optional newSampleRate) { + m_sampleRate = newSampleRate; +} +bool MediaStream::sampleRateNull() const { + return !m_sampleRate.has_value(); +} + +void MediaStream::setSampleRateNull() { + m_sampleRate = std::nullopt; + +} +bool MediaStream::isDefault() const { return m_isDefault; } + +void MediaStream::setIsDefault(bool newIsDefault) { + m_isDefault = newIsDefault; +} + +bool MediaStream::isForced() const { return m_isForced; } + +void MediaStream::setIsForced(bool newIsForced) { + m_isForced = newIsForced; +} + +std::optional MediaStream::height() const { return m_height; } + +void MediaStream::setHeight(std::optional newHeight) { + m_height = newHeight; +} +bool MediaStream::heightNull() const { + return !m_height.has_value(); +} + +void MediaStream::setHeightNull() { + m_height = std::nullopt; + +} +std::optional MediaStream::width() const { return m_width; } + +void MediaStream::setWidth(std::optional newWidth) { + m_width = newWidth; +} +bool MediaStream::widthNull() const { + return !m_width.has_value(); +} + +void MediaStream::setWidthNull() { + m_width = std::nullopt; + +} +std::optional MediaStream::averageFrameRate() const { return m_averageFrameRate; } + +void MediaStream::setAverageFrameRate(std::optional newAverageFrameRate) { + m_averageFrameRate = newAverageFrameRate; +} +bool MediaStream::averageFrameRateNull() const { + return !m_averageFrameRate.has_value(); +} + +void MediaStream::setAverageFrameRateNull() { + m_averageFrameRate = std::nullopt; + +} +std::optional MediaStream::realFrameRate() const { return m_realFrameRate; } + +void MediaStream::setRealFrameRate(std::optional newRealFrameRate) { + m_realFrameRate = newRealFrameRate; +} +bool MediaStream::realFrameRateNull() const { + return !m_realFrameRate.has_value(); +} + +void MediaStream::setRealFrameRateNull() { + m_realFrameRate = std::nullopt; + +} +QString MediaStream::profile() const { return m_profile; } + +void MediaStream::setProfile(QString newProfile) { + m_profile = newProfile; +} +bool MediaStream::profileNull() const { + return m_profile.isNull(); +} + +void MediaStream::setProfileNull() { + m_profile.clear(); + +} +MediaStreamType MediaStream::type() const { return m_type; } + +void MediaStream::setType(MediaStreamType newType) { + m_type = newType; +} + +QString MediaStream::aspectRatio() const { return m_aspectRatio; } + +void MediaStream::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; +} +bool MediaStream::aspectRatioNull() const { + return m_aspectRatio.isNull(); +} + +void MediaStream::setAspectRatioNull() { + m_aspectRatio.clear(); + +} +qint32 MediaStream::index() const { return m_index; } + +void MediaStream::setIndex(qint32 newIndex) { + m_index = newIndex; +} + +std::optional MediaStream::score() const { return m_score; } + +void MediaStream::setScore(std::optional newScore) { + m_score = newScore; +} +bool MediaStream::scoreNull() const { + return !m_score.has_value(); +} + +void MediaStream::setScoreNull() { + m_score = std::nullopt; + +} +bool MediaStream::isExternal() const { return m_isExternal; } + +void MediaStream::setIsExternal(bool newIsExternal) { + m_isExternal = newIsExternal; +} + +SubtitleDeliveryMethod MediaStream::deliveryMethod() const { return m_deliveryMethod; } + +void MediaStream::setDeliveryMethod(SubtitleDeliveryMethod newDeliveryMethod) { + m_deliveryMethod = newDeliveryMethod; +} + +QString MediaStream::deliveryUrl() const { return m_deliveryUrl; } + +void MediaStream::setDeliveryUrl(QString newDeliveryUrl) { + m_deliveryUrl = newDeliveryUrl; +} +bool MediaStream::deliveryUrlNull() const { + return m_deliveryUrl.isNull(); +} + +void MediaStream::setDeliveryUrlNull() { + m_deliveryUrl.clear(); + +} +std::optional MediaStream::isExternalUrl() const { return m_isExternalUrl; } + +void MediaStream::setIsExternalUrl(std::optional newIsExternalUrl) { + m_isExternalUrl = newIsExternalUrl; +} +bool MediaStream::isExternalUrlNull() const { + return !m_isExternalUrl.has_value(); +} + +void MediaStream::setIsExternalUrlNull() { + m_isExternalUrl = std::nullopt; + +} +bool MediaStream::isTextSubtitleStream() const { return m_isTextSubtitleStream; } + +void MediaStream::setIsTextSubtitleStream(bool newIsTextSubtitleStream) { + m_isTextSubtitleStream = newIsTextSubtitleStream; +} + +bool MediaStream::supportsExternalStream() const { return m_supportsExternalStream; } + +void MediaStream::setSupportsExternalStream(bool newSupportsExternalStream) { + m_supportsExternalStream = newSupportsExternalStream; +} + +QString MediaStream::path() const { return m_path; } + +void MediaStream::setPath(QString newPath) { + m_path = newPath; +} +bool MediaStream::pathNull() const { + return m_path.isNull(); +} + +void MediaStream::setPathNull() { + m_path.clear(); + +} +QString MediaStream::pixelFormat() const { return m_pixelFormat; } + +void MediaStream::setPixelFormat(QString newPixelFormat) { + m_pixelFormat = newPixelFormat; +} +bool MediaStream::pixelFormatNull() const { + return m_pixelFormat.isNull(); +} + +void MediaStream::setPixelFormatNull() { + m_pixelFormat.clear(); + +} +std::optional MediaStream::level() const { return m_level; } + +void MediaStream::setLevel(std::optional newLevel) { + m_level = newLevel; +} +bool MediaStream::levelNull() const { + return !m_level.has_value(); +} + +void MediaStream::setLevelNull() { + m_level = std::nullopt; + +} +std::optional MediaStream::isAnamorphic() const { return m_isAnamorphic; } + +void MediaStream::setIsAnamorphic(std::optional newIsAnamorphic) { + m_isAnamorphic = newIsAnamorphic; +} +bool MediaStream::isAnamorphicNull() const { + return !m_isAnamorphic.has_value(); +} + +void MediaStream::setIsAnamorphicNull() { + m_isAnamorphic = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using MediaStream = Jellyfin::DTO::MediaStream; + +template <> +MediaStream fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaStream::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediastreamtype.cpp b/core/src/dto/mediastreamtype.cpp new file mode 100644 index 0000000..686fe90 --- /dev/null +++ b/core/src/dto/mediastreamtype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaStreamTypeClass::MediaStreamTypeClass() {} + + +} // NS DTO + +namespace Support { + +using MediaStreamType = Jellyfin::DTO::MediaStreamType; + +template <> +MediaStreamType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return MediaStreamType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Audio")) { + return MediaStreamType::Audio; + } + if (str == QStringLiteral("Video")) { + return MediaStreamType::Video; + } + if (str == QStringLiteral("Subtitle")) { + return MediaStreamType::Subtitle; + } + if (str == QStringLiteral("EmbeddedImage")) { + return MediaStreamType::EmbeddedImage; + } + + return MediaStreamType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediaupdateinfodto.cpp b/core/src/dto/mediaupdateinfodto.cpp new file mode 100644 index 0000000..6446097 --- /dev/null +++ b/core/src/dto/mediaupdateinfodto.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaUpdateInfoDto::MediaUpdateInfoDto() {} + +MediaUpdateInfoDto::MediaUpdateInfoDto(const MediaUpdateInfoDto &other) : + + m_path(other.m_path), + m_updateType(other.m_updateType){} + + +void MediaUpdateInfoDto::replaceData(MediaUpdateInfoDto &other) { + m_path = other.m_path; + m_updateType = other.m_updateType; +} + +MediaUpdateInfoDto MediaUpdateInfoDto::fromJson(QJsonObject source) { + MediaUpdateInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void MediaUpdateInfoDto::setFromJson(QJsonObject source) { + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_updateType = Jellyfin::Support::fromJsonValue(source["UpdateType"]); + +} + +QJsonObject MediaUpdateInfoDto::toJson() { + QJsonObject result; + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["UpdateType"] = Jellyfin::Support::toJsonValue(m_updateType); + + return result; +} + +QString MediaUpdateInfoDto::path() const { return m_path; } + +void MediaUpdateInfoDto::setPath(QString newPath) { + m_path = newPath; +} +bool MediaUpdateInfoDto::pathNull() const { + return m_path.isNull(); +} + +void MediaUpdateInfoDto::setPathNull() { + m_path.clear(); + +} +QString MediaUpdateInfoDto::updateType() const { return m_updateType; } + +void MediaUpdateInfoDto::setUpdateType(QString newUpdateType) { + m_updateType = newUpdateType; +} +bool MediaUpdateInfoDto::updateTypeNull() const { + return m_updateType.isNull(); +} + +void MediaUpdateInfoDto::setUpdateTypeNull() { + m_updateType.clear(); + +} + +} // NS DTO + +namespace Support { + +using MediaUpdateInfoDto = Jellyfin::DTO::MediaUpdateInfoDto; + +template <> +MediaUpdateInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaUpdateInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/mediaurl.cpp b/core/src/dto/mediaurl.cpp new file mode 100644 index 0000000..678b133 --- /dev/null +++ b/core/src/dto/mediaurl.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaUrl::MediaUrl() {} + +MediaUrl::MediaUrl(const MediaUrl &other) : + + m_url(other.m_url), + m_name(other.m_name){} + + +void MediaUrl::replaceData(MediaUrl &other) { + m_url = other.m_url; + m_name = other.m_name; +} + +MediaUrl MediaUrl::fromJson(QJsonObject source) { + MediaUrl instance; + instance.setFromJson(source); + return instance; +} + + +void MediaUrl::setFromJson(QJsonObject source) { + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + +} + +QJsonObject MediaUrl::toJson() { + QJsonObject result; + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + + return result; +} + +QString MediaUrl::url() const { return m_url; } + +void MediaUrl::setUrl(QString newUrl) { + m_url = newUrl; +} +bool MediaUrl::urlNull() const { + return m_url.isNull(); +} + +void MediaUrl::setUrlNull() { + m_url.clear(); + +} +QString MediaUrl::name() const { return m_name; } + +void MediaUrl::setName(QString newName) { + m_name = newName; +} +bool MediaUrl::nameNull() const { + return m_name.isNull(); +} + +void MediaUrl::setNameNull() { + m_name.clear(); + +} + +} // NS DTO + +namespace Support { + +using MediaUrl = Jellyfin::DTO::MediaUrl; + +template <> +MediaUrl fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MediaUrl::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/metadataeditorinfo.cpp b/core/src/dto/metadataeditorinfo.cpp new file mode 100644 index 0000000..28093fb --- /dev/null +++ b/core/src/dto/metadataeditorinfo.cpp @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MetadataEditorInfo::MetadataEditorInfo() {} + +MetadataEditorInfo::MetadataEditorInfo(const MetadataEditorInfo &other) : + + m_parentalRatingOptions(other.m_parentalRatingOptions), + m_countries(other.m_countries), + m_cultures(other.m_cultures), + m_externalIdInfos(other.m_externalIdInfos), + m_contentType(other.m_contentType), + m_contentTypeOptions(other.m_contentTypeOptions){} + + +void MetadataEditorInfo::replaceData(MetadataEditorInfo &other) { + m_parentalRatingOptions = other.m_parentalRatingOptions; + m_countries = other.m_countries; + m_cultures = other.m_cultures; + m_externalIdInfos = other.m_externalIdInfos; + m_contentType = other.m_contentType; + m_contentTypeOptions = other.m_contentTypeOptions; +} + +MetadataEditorInfo MetadataEditorInfo::fromJson(QJsonObject source) { + MetadataEditorInfo instance; + instance.setFromJson(source); + return instance; +} + + +void MetadataEditorInfo::setFromJson(QJsonObject source) { + m_parentalRatingOptions = Jellyfin::Support::fromJsonValue>>(source["ParentalRatingOptions"]); + m_countries = Jellyfin::Support::fromJsonValue>>(source["Countries"]); + m_cultures = Jellyfin::Support::fromJsonValue>>(source["Cultures"]); + m_externalIdInfos = Jellyfin::Support::fromJsonValue>>(source["ExternalIdInfos"]); + m_contentType = Jellyfin::Support::fromJsonValue(source["ContentType"]); + m_contentTypeOptions = Jellyfin::Support::fromJsonValue>>(source["ContentTypeOptions"]); + +} + +QJsonObject MetadataEditorInfo::toJson() { + QJsonObject result; + result["ParentalRatingOptions"] = Jellyfin::Support::toJsonValue>>(m_parentalRatingOptions); + result["Countries"] = Jellyfin::Support::toJsonValue>>(m_countries); + result["Cultures"] = Jellyfin::Support::toJsonValue>>(m_cultures); + result["ExternalIdInfos"] = Jellyfin::Support::toJsonValue>>(m_externalIdInfos); + result["ContentType"] = Jellyfin::Support::toJsonValue(m_contentType); + result["ContentTypeOptions"] = Jellyfin::Support::toJsonValue>>(m_contentTypeOptions); + + return result; +} + +QList> MetadataEditorInfo::parentalRatingOptions() const { return m_parentalRatingOptions; } + +void MetadataEditorInfo::setParentalRatingOptions(QList> newParentalRatingOptions) { + m_parentalRatingOptions = newParentalRatingOptions; +} +bool MetadataEditorInfo::parentalRatingOptionsNull() const { + return m_parentalRatingOptions.size() == 0; +} + +void MetadataEditorInfo::setParentalRatingOptionsNull() { + m_parentalRatingOptions.clear(); + +} +QList> MetadataEditorInfo::countries() const { return m_countries; } + +void MetadataEditorInfo::setCountries(QList> newCountries) { + m_countries = newCountries; +} +bool MetadataEditorInfo::countriesNull() const { + return m_countries.size() == 0; +} + +void MetadataEditorInfo::setCountriesNull() { + m_countries.clear(); + +} +QList> MetadataEditorInfo::cultures() const { return m_cultures; } + +void MetadataEditorInfo::setCultures(QList> newCultures) { + m_cultures = newCultures; +} +bool MetadataEditorInfo::culturesNull() const { + return m_cultures.size() == 0; +} + +void MetadataEditorInfo::setCulturesNull() { + m_cultures.clear(); + +} +QList> MetadataEditorInfo::externalIdInfos() const { return m_externalIdInfos; } + +void MetadataEditorInfo::setExternalIdInfos(QList> newExternalIdInfos) { + m_externalIdInfos = newExternalIdInfos; +} +bool MetadataEditorInfo::externalIdInfosNull() const { + return m_externalIdInfos.size() == 0; +} + +void MetadataEditorInfo::setExternalIdInfosNull() { + m_externalIdInfos.clear(); + +} +QString MetadataEditorInfo::contentType() const { return m_contentType; } + +void MetadataEditorInfo::setContentType(QString newContentType) { + m_contentType = newContentType; +} +bool MetadataEditorInfo::contentTypeNull() const { + return m_contentType.isNull(); +} + +void MetadataEditorInfo::setContentTypeNull() { + m_contentType.clear(); + +} +QList> MetadataEditorInfo::contentTypeOptions() const { return m_contentTypeOptions; } + +void MetadataEditorInfo::setContentTypeOptions(QList> newContentTypeOptions) { + m_contentTypeOptions = newContentTypeOptions; +} +bool MetadataEditorInfo::contentTypeOptionsNull() const { + return m_contentTypeOptions.size() == 0; +} + +void MetadataEditorInfo::setContentTypeOptionsNull() { + m_contentTypeOptions.clear(); + +} + +} // NS DTO + +namespace Support { + +using MetadataEditorInfo = Jellyfin::DTO::MetadataEditorInfo; + +template <> +MetadataEditorInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MetadataEditorInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/metadatafield.cpp b/core/src/dto/metadatafield.cpp new file mode 100644 index 0000000..1aaf6fa --- /dev/null +++ b/core/src/dto/metadatafield.cpp @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MetadataFieldClass::MetadataFieldClass() {} + + +} // NS DTO + +namespace Support { + +using MetadataField = Jellyfin::DTO::MetadataField; + +template <> +MetadataField fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return MetadataField::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Cast")) { + return MetadataField::Cast; + } + if (str == QStringLiteral("Genres")) { + return MetadataField::Genres; + } + if (str == QStringLiteral("ProductionLocations")) { + return MetadataField::ProductionLocations; + } + if (str == QStringLiteral("Studios")) { + return MetadataField::Studios; + } + if (str == QStringLiteral("Tags")) { + return MetadataField::Tags; + } + if (str == QStringLiteral("Name")) { + return MetadataField::Name; + } + if (str == QStringLiteral("Overview")) { + return MetadataField::Overview; + } + if (str == QStringLiteral("Runtime")) { + return MetadataField::Runtime; + } + if (str == QStringLiteral("OfficialRating")) { + return MetadataField::OfficialRating; + } + + return MetadataField::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/metadataoptions.cpp b/core/src/dto/metadataoptions.cpp new file mode 100644 index 0000000..cc5e8a7 --- /dev/null +++ b/core/src/dto/metadataoptions.cpp @@ -0,0 +1,194 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MetadataOptions::MetadataOptions() {} + +MetadataOptions::MetadataOptions(const MetadataOptions &other) : + + m_itemType(other.m_itemType), + m_disabledMetadataSavers(other.m_disabledMetadataSavers), + m_localMetadataReaderOrder(other.m_localMetadataReaderOrder), + m_disabledMetadataFetchers(other.m_disabledMetadataFetchers), + m_metadataFetcherOrder(other.m_metadataFetcherOrder), + m_disabledImageFetchers(other.m_disabledImageFetchers), + m_imageFetcherOrder(other.m_imageFetcherOrder){} + + +void MetadataOptions::replaceData(MetadataOptions &other) { + m_itemType = other.m_itemType; + m_disabledMetadataSavers = other.m_disabledMetadataSavers; + m_localMetadataReaderOrder = other.m_localMetadataReaderOrder; + m_disabledMetadataFetchers = other.m_disabledMetadataFetchers; + m_metadataFetcherOrder = other.m_metadataFetcherOrder; + m_disabledImageFetchers = other.m_disabledImageFetchers; + m_imageFetcherOrder = other.m_imageFetcherOrder; +} + +MetadataOptions MetadataOptions::fromJson(QJsonObject source) { + MetadataOptions instance; + instance.setFromJson(source); + return instance; +} + + +void MetadataOptions::setFromJson(QJsonObject source) { + m_itemType = Jellyfin::Support::fromJsonValue(source["ItemType"]); + m_disabledMetadataSavers = Jellyfin::Support::fromJsonValue(source["DisabledMetadataSavers"]); + m_localMetadataReaderOrder = Jellyfin::Support::fromJsonValue(source["LocalMetadataReaderOrder"]); + m_disabledMetadataFetchers = Jellyfin::Support::fromJsonValue(source["DisabledMetadataFetchers"]); + m_metadataFetcherOrder = Jellyfin::Support::fromJsonValue(source["MetadataFetcherOrder"]); + m_disabledImageFetchers = Jellyfin::Support::fromJsonValue(source["DisabledImageFetchers"]); + m_imageFetcherOrder = Jellyfin::Support::fromJsonValue(source["ImageFetcherOrder"]); + +} + +QJsonObject MetadataOptions::toJson() { + QJsonObject result; + result["ItemType"] = Jellyfin::Support::toJsonValue(m_itemType); + result["DisabledMetadataSavers"] = Jellyfin::Support::toJsonValue(m_disabledMetadataSavers); + result["LocalMetadataReaderOrder"] = Jellyfin::Support::toJsonValue(m_localMetadataReaderOrder); + result["DisabledMetadataFetchers"] = Jellyfin::Support::toJsonValue(m_disabledMetadataFetchers); + result["MetadataFetcherOrder"] = Jellyfin::Support::toJsonValue(m_metadataFetcherOrder); + result["DisabledImageFetchers"] = Jellyfin::Support::toJsonValue(m_disabledImageFetchers); + result["ImageFetcherOrder"] = Jellyfin::Support::toJsonValue(m_imageFetcherOrder); + + return result; +} + +QString MetadataOptions::itemType() const { return m_itemType; } + +void MetadataOptions::setItemType(QString newItemType) { + m_itemType = newItemType; +} +bool MetadataOptions::itemTypeNull() const { + return m_itemType.isNull(); +} + +void MetadataOptions::setItemTypeNull() { + m_itemType.clear(); + +} +QStringList MetadataOptions::disabledMetadataSavers() const { return m_disabledMetadataSavers; } + +void MetadataOptions::setDisabledMetadataSavers(QStringList newDisabledMetadataSavers) { + m_disabledMetadataSavers = newDisabledMetadataSavers; +} +bool MetadataOptions::disabledMetadataSaversNull() const { + return m_disabledMetadataSavers.size() == 0; +} + +void MetadataOptions::setDisabledMetadataSaversNull() { + m_disabledMetadataSavers.clear(); + +} +QStringList MetadataOptions::localMetadataReaderOrder() const { return m_localMetadataReaderOrder; } + +void MetadataOptions::setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder) { + m_localMetadataReaderOrder = newLocalMetadataReaderOrder; +} +bool MetadataOptions::localMetadataReaderOrderNull() const { + return m_localMetadataReaderOrder.size() == 0; +} + +void MetadataOptions::setLocalMetadataReaderOrderNull() { + m_localMetadataReaderOrder.clear(); + +} +QStringList MetadataOptions::disabledMetadataFetchers() const { return m_disabledMetadataFetchers; } + +void MetadataOptions::setDisabledMetadataFetchers(QStringList newDisabledMetadataFetchers) { + m_disabledMetadataFetchers = newDisabledMetadataFetchers; +} +bool MetadataOptions::disabledMetadataFetchersNull() const { + return m_disabledMetadataFetchers.size() == 0; +} + +void MetadataOptions::setDisabledMetadataFetchersNull() { + m_disabledMetadataFetchers.clear(); + +} +QStringList MetadataOptions::metadataFetcherOrder() const { return m_metadataFetcherOrder; } + +void MetadataOptions::setMetadataFetcherOrder(QStringList newMetadataFetcherOrder) { + m_metadataFetcherOrder = newMetadataFetcherOrder; +} +bool MetadataOptions::metadataFetcherOrderNull() const { + return m_metadataFetcherOrder.size() == 0; +} + +void MetadataOptions::setMetadataFetcherOrderNull() { + m_metadataFetcherOrder.clear(); + +} +QStringList MetadataOptions::disabledImageFetchers() const { return m_disabledImageFetchers; } + +void MetadataOptions::setDisabledImageFetchers(QStringList newDisabledImageFetchers) { + m_disabledImageFetchers = newDisabledImageFetchers; +} +bool MetadataOptions::disabledImageFetchersNull() const { + return m_disabledImageFetchers.size() == 0; +} + +void MetadataOptions::setDisabledImageFetchersNull() { + m_disabledImageFetchers.clear(); + +} +QStringList MetadataOptions::imageFetcherOrder() const { return m_imageFetcherOrder; } + +void MetadataOptions::setImageFetcherOrder(QStringList newImageFetcherOrder) { + m_imageFetcherOrder = newImageFetcherOrder; +} +bool MetadataOptions::imageFetcherOrderNull() const { + return m_imageFetcherOrder.size() == 0; +} + +void MetadataOptions::setImageFetcherOrderNull() { + m_imageFetcherOrder.clear(); + +} + +} // NS DTO + +namespace Support { + +using MetadataOptions = Jellyfin::DTO::MetadataOptions; + +template <> +MetadataOptions fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MetadataOptions::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/metadatarefreshmode.cpp b/core/src/dto/metadatarefreshmode.cpp new file mode 100644 index 0000000..9d961d2 --- /dev/null +++ b/core/src/dto/metadatarefreshmode.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MetadataRefreshModeClass::MetadataRefreshModeClass() {} + + +} // NS DTO + +namespace Support { + +using MetadataRefreshMode = Jellyfin::DTO::MetadataRefreshMode; + +template <> +MetadataRefreshMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return MetadataRefreshMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("None")) { + return MetadataRefreshMode::None; + } + if (str == QStringLiteral("ValidationOnly")) { + return MetadataRefreshMode::ValidationOnly; + } + if (str == QStringLiteral("Default")) { + return MetadataRefreshMode::Default; + } + if (str == QStringLiteral("FullRefresh")) { + return MetadataRefreshMode::FullRefresh; + } + + return MetadataRefreshMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/moveplaylistitemrequestdto.cpp b/core/src/dto/moveplaylistitemrequestdto.cpp new file mode 100644 index 0000000..42778ad --- /dev/null +++ b/core/src/dto/moveplaylistitemrequestdto.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovePlaylistItemRequestDto::MovePlaylistItemRequestDto() {} + +MovePlaylistItemRequestDto::MovePlaylistItemRequestDto(const MovePlaylistItemRequestDto &other) : + + m_playlistItemId(other.m_playlistItemId), + m_newIndex(other.m_newIndex){} + + +void MovePlaylistItemRequestDto::replaceData(MovePlaylistItemRequestDto &other) { + m_playlistItemId = other.m_playlistItemId; + m_newIndex = other.m_newIndex; +} + +MovePlaylistItemRequestDto MovePlaylistItemRequestDto::fromJson(QJsonObject source) { + MovePlaylistItemRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void MovePlaylistItemRequestDto::setFromJson(QJsonObject source) { + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + m_newIndex = Jellyfin::Support::fromJsonValue(source["NewIndex"]); + +} + +QJsonObject MovePlaylistItemRequestDto::toJson() { + QJsonObject result; + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + result["NewIndex"] = Jellyfin::Support::toJsonValue(m_newIndex); + + return result; +} + +QString MovePlaylistItemRequestDto::playlistItemId() const { return m_playlistItemId; } + +void MovePlaylistItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + +qint32 MovePlaylistItemRequestDto::newIndex() const { return m_newIndex; } + +void MovePlaylistItemRequestDto::setNewIndex(qint32 newNewIndex) { + m_newIndex = newNewIndex; +} + + +} // NS DTO + +namespace Support { + +using MovePlaylistItemRequestDto = Jellyfin::DTO::MovePlaylistItemRequestDto; + +template <> +MovePlaylistItemRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MovePlaylistItemRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/movieinfo.cpp b/core/src/dto/movieinfo.cpp new file mode 100644 index 0000000..c68a11f --- /dev/null +++ b/core/src/dto/movieinfo.cpp @@ -0,0 +1,238 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovieInfo::MovieInfo() {} + +MovieInfo::MovieInfo(const MovieInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} + + +void MovieInfo::replaceData(MovieInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; +} + +MovieInfo MovieInfo::fromJson(QJsonObject source) { + MovieInfo instance; + instance.setFromJson(source); + return instance; +} + + +void MovieInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + +} + +QJsonObject MovieInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + + return result; +} + +QString MovieInfo::name() const { return m_name; } + +void MovieInfo::setName(QString newName) { + m_name = newName; +} +bool MovieInfo::nameNull() const { + return m_name.isNull(); +} + +void MovieInfo::setNameNull() { + m_name.clear(); + +} +QString MovieInfo::path() const { return m_path; } + +void MovieInfo::setPath(QString newPath) { + m_path = newPath; +} +bool MovieInfo::pathNull() const { + return m_path.isNull(); +} + +void MovieInfo::setPathNull() { + m_path.clear(); + +} +QString MovieInfo::metadataLanguage() const { return m_metadataLanguage; } + +void MovieInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool MovieInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void MovieInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString MovieInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void MovieInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool MovieInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void MovieInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional MovieInfo::providerIds() const { return m_providerIds; } + +void MovieInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool MovieInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void MovieInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional MovieInfo::year() const { return m_year; } + +void MovieInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool MovieInfo::yearNull() const { + return !m_year.has_value(); +} + +void MovieInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional MovieInfo::indexNumber() const { return m_indexNumber; } + +void MovieInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool MovieInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void MovieInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional MovieInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void MovieInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool MovieInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void MovieInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime MovieInfo::premiereDate() const { return m_premiereDate; } + +void MovieInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool MovieInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void MovieInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool MovieInfo::isAutomated() const { return m_isAutomated; } + +void MovieInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + + +} // NS DTO + +namespace Support { + +using MovieInfo = Jellyfin::DTO::MovieInfo; + +template <> +MovieInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MovieInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/movieinforemotesearchquery.cpp b/core/src/dto/movieinforemotesearchquery.cpp new file mode 100644 index 0000000..7370cad --- /dev/null +++ b/core/src/dto/movieinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery() {} + +MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery(const MovieInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void MovieInfoRemoteSearchQuery::replaceData(MovieInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +MovieInfoRemoteSearchQuery MovieInfoRemoteSearchQuery::fromJson(QJsonObject source) { + MovieInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void MovieInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject MovieInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer MovieInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void MovieInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString MovieInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void MovieInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString MovieInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void MovieInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool MovieInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void MovieInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool MovieInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void MovieInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using MovieInfoRemoteSearchQuery = Jellyfin::DTO::MovieInfoRemoteSearchQuery; + +template <> +MovieInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MovieInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/musicvideoinfo.cpp b/core/src/dto/musicvideoinfo.cpp new file mode 100644 index 0000000..8759ec7 --- /dev/null +++ b/core/src/dto/musicvideoinfo.cpp @@ -0,0 +1,255 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MusicVideoInfo::MusicVideoInfo() {} + +MusicVideoInfo::MusicVideoInfo(const MusicVideoInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_artists(other.m_artists){} + + +void MusicVideoInfo::replaceData(MusicVideoInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; + m_artists = other.m_artists; +} + +MusicVideoInfo MusicVideoInfo::fromJson(QJsonObject source) { + MusicVideoInfo instance; + instance.setFromJson(source); + return instance; +} + + +void MusicVideoInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + m_artists = Jellyfin::Support::fromJsonValue(source["Artists"]); + +} + +QJsonObject MusicVideoInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + result["Artists"] = Jellyfin::Support::toJsonValue(m_artists); + + return result; +} + +QString MusicVideoInfo::name() const { return m_name; } + +void MusicVideoInfo::setName(QString newName) { + m_name = newName; +} +bool MusicVideoInfo::nameNull() const { + return m_name.isNull(); +} + +void MusicVideoInfo::setNameNull() { + m_name.clear(); + +} +QString MusicVideoInfo::path() const { return m_path; } + +void MusicVideoInfo::setPath(QString newPath) { + m_path = newPath; +} +bool MusicVideoInfo::pathNull() const { + return m_path.isNull(); +} + +void MusicVideoInfo::setPathNull() { + m_path.clear(); + +} +QString MusicVideoInfo::metadataLanguage() const { return m_metadataLanguage; } + +void MusicVideoInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool MusicVideoInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void MusicVideoInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString MusicVideoInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void MusicVideoInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool MusicVideoInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void MusicVideoInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional MusicVideoInfo::providerIds() const { return m_providerIds; } + +void MusicVideoInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool MusicVideoInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void MusicVideoInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional MusicVideoInfo::year() const { return m_year; } + +void MusicVideoInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool MusicVideoInfo::yearNull() const { + return !m_year.has_value(); +} + +void MusicVideoInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional MusicVideoInfo::indexNumber() const { return m_indexNumber; } + +void MusicVideoInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool MusicVideoInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void MusicVideoInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional MusicVideoInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void MusicVideoInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool MusicVideoInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void MusicVideoInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime MusicVideoInfo::premiereDate() const { return m_premiereDate; } + +void MusicVideoInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool MusicVideoInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void MusicVideoInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool MusicVideoInfo::isAutomated() const { return m_isAutomated; } + +void MusicVideoInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + +QStringList MusicVideoInfo::artists() const { return m_artists; } + +void MusicVideoInfo::setArtists(QStringList newArtists) { + m_artists = newArtists; +} +bool MusicVideoInfo::artistsNull() const { + return m_artists.size() == 0; +} + +void MusicVideoInfo::setArtistsNull() { + m_artists.clear(); + +} + +} // NS DTO + +namespace Support { + +using MusicVideoInfo = Jellyfin::DTO::MusicVideoInfo; + +template <> +MusicVideoInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MusicVideoInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/musicvideoinforemotesearchquery.cpp b/core/src/dto/musicvideoinforemotesearchquery.cpp new file mode 100644 index 0000000..7688ce0 --- /dev/null +++ b/core/src/dto/musicvideoinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery() {} + +MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery(const MusicVideoInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void MusicVideoInfoRemoteSearchQuery::replaceData(MusicVideoInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +MusicVideoInfoRemoteSearchQuery MusicVideoInfoRemoteSearchQuery::fromJson(QJsonObject source) { + MusicVideoInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void MusicVideoInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject MusicVideoInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer MusicVideoInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void MusicVideoInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString MusicVideoInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void MusicVideoInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString MusicVideoInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void MusicVideoInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool MusicVideoInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void MusicVideoInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool MusicVideoInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void MusicVideoInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using MusicVideoInfoRemoteSearchQuery = Jellyfin::DTO::MusicVideoInfoRemoteSearchQuery; + +template <> +MusicVideoInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return MusicVideoInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/nameguidpair.cpp b/core/src/dto/nameguidpair.cpp new file mode 100644 index 0000000..9569902 --- /dev/null +++ b/core/src/dto/nameguidpair.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameGuidPair::NameGuidPair() {} + +NameGuidPair::NameGuidPair(const NameGuidPair &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} + + +void NameGuidPair::replaceData(NameGuidPair &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; +} + +NameGuidPair NameGuidPair::fromJson(QJsonObject source) { + NameGuidPair instance; + instance.setFromJson(source); + return instance; +} + + +void NameGuidPair::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject NameGuidPair::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString NameGuidPair::name() const { return m_name; } + +void NameGuidPair::setName(QString newName) { + m_name = newName; +} +bool NameGuidPair::nameNull() const { + return m_name.isNull(); +} + +void NameGuidPair::setNameNull() { + m_name.clear(); + +} +QString NameGuidPair::jellyfinId() const { return m_jellyfinId; } + +void NameGuidPair::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + + +} // NS DTO + +namespace Support { + +using NameGuidPair = Jellyfin::DTO::NameGuidPair; + +template <> +NameGuidPair fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NameGuidPair::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/nameidpair.cpp b/core/src/dto/nameidpair.cpp new file mode 100644 index 0000000..91f21f9 --- /dev/null +++ b/core/src/dto/nameidpair.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameIdPair::NameIdPair() {} + +NameIdPair::NameIdPair(const NameIdPair &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} + + +void NameIdPair::replaceData(NameIdPair &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; +} + +NameIdPair NameIdPair::fromJson(QJsonObject source) { + NameIdPair instance; + instance.setFromJson(source); + return instance; +} + + +void NameIdPair::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject NameIdPair::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString NameIdPair::name() const { return m_name; } + +void NameIdPair::setName(QString newName) { + m_name = newName; +} +bool NameIdPair::nameNull() const { + return m_name.isNull(); +} + +void NameIdPair::setNameNull() { + m_name.clear(); + +} +QString NameIdPair::jellyfinId() const { return m_jellyfinId; } + +void NameIdPair::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool NameIdPair::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void NameIdPair::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} + +} // NS DTO + +namespace Support { + +using NameIdPair = Jellyfin::DTO::NameIdPair; + +template <> +NameIdPair fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NameIdPair::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/namevaluepair.cpp b/core/src/dto/namevaluepair.cpp new file mode 100644 index 0000000..8db0df2 --- /dev/null +++ b/core/src/dto/namevaluepair.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameValuePair::NameValuePair() {} + +NameValuePair::NameValuePair(const NameValuePair &other) : + + m_name(other.m_name), + m_value(other.m_value){} + + +void NameValuePair::replaceData(NameValuePair &other) { + m_name = other.m_name; + m_value = other.m_value; +} + +NameValuePair NameValuePair::fromJson(QJsonObject source) { + NameValuePair instance; + instance.setFromJson(source); + return instance; +} + + +void NameValuePair::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + +} + +QJsonObject NameValuePair::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + + return result; +} + +QString NameValuePair::name() const { return m_name; } + +void NameValuePair::setName(QString newName) { + m_name = newName; +} +bool NameValuePair::nameNull() const { + return m_name.isNull(); +} + +void NameValuePair::setNameNull() { + m_name.clear(); + +} +QString NameValuePair::value() const { return m_value; } + +void NameValuePair::setValue(QString newValue) { + m_value = newValue; +} +bool NameValuePair::valueNull() const { + return m_value.isNull(); +} + +void NameValuePair::setValueNull() { + m_value.clear(); + +} + +} // NS DTO + +namespace Support { + +using NameValuePair = Jellyfin::DTO::NameValuePair; + +template <> +NameValuePair fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NameValuePair::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/newgrouprequestdto.cpp b/core/src/dto/newgrouprequestdto.cpp new file mode 100644 index 0000000..79b501d --- /dev/null +++ b/core/src/dto/newgrouprequestdto.cpp @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NewGroupRequestDto::NewGroupRequestDto() {} + +NewGroupRequestDto::NewGroupRequestDto(const NewGroupRequestDto &other) : + + m_groupName(other.m_groupName){} + + +void NewGroupRequestDto::replaceData(NewGroupRequestDto &other) { + m_groupName = other.m_groupName; +} + +NewGroupRequestDto NewGroupRequestDto::fromJson(QJsonObject source) { + NewGroupRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void NewGroupRequestDto::setFromJson(QJsonObject source) { + m_groupName = Jellyfin::Support::fromJsonValue(source["GroupName"]); + +} + +QJsonObject NewGroupRequestDto::toJson() { + QJsonObject result; + result["GroupName"] = Jellyfin::Support::toJsonValue(m_groupName); + + return result; +} + +QString NewGroupRequestDto::groupName() const { return m_groupName; } + +void NewGroupRequestDto::setGroupName(QString newGroupName) { + m_groupName = newGroupName; +} +bool NewGroupRequestDto::groupNameNull() const { + return m_groupName.isNull(); +} + +void NewGroupRequestDto::setGroupNameNull() { + m_groupName.clear(); + +} + +} // NS DTO + +namespace Support { + +using NewGroupRequestDto = Jellyfin::DTO::NewGroupRequestDto; + +template <> +NewGroupRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NewGroupRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/nextitemrequestdto.cpp b/core/src/dto/nextitemrequestdto.cpp new file mode 100644 index 0000000..3bbd2a8 --- /dev/null +++ b/core/src/dto/nextitemrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NextItemRequestDto::NextItemRequestDto() {} + +NextItemRequestDto::NextItemRequestDto(const NextItemRequestDto &other) : + + m_playlistItemId(other.m_playlistItemId){} + + +void NextItemRequestDto::replaceData(NextItemRequestDto &other) { + m_playlistItemId = other.m_playlistItemId; +} + +NextItemRequestDto NextItemRequestDto::fromJson(QJsonObject source) { + NextItemRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void NextItemRequestDto::setFromJson(QJsonObject source) { + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject NextItemRequestDto::toJson() { + QJsonObject result; + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QString NextItemRequestDto::playlistItemId() const { return m_playlistItemId; } + +void NextItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + + +} // NS DTO + +namespace Support { + +using NextItemRequestDto = Jellyfin::DTO::NextItemRequestDto; + +template <> +NextItemRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NextItemRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/notificationdto.cpp b/core/src/dto/notificationdto.cpp new file mode 100644 index 0000000..28d24a6 --- /dev/null +++ b/core/src/dto/notificationdto.cpp @@ -0,0 +1,190 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationDto::NotificationDto() {} + +NotificationDto::NotificationDto(const NotificationDto &other) : + + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_date(other.m_date), + m_isRead(other.m_isRead), + m_name(other.m_name), + m_description(other.m_description), + m_url(other.m_url), + m_level(other.m_level){} + + +void NotificationDto::replaceData(NotificationDto &other) { + m_jellyfinId = other.m_jellyfinId; + m_userId = other.m_userId; + m_date = other.m_date; + m_isRead = other.m_isRead; + m_name = other.m_name; + m_description = other.m_description; + m_url = other.m_url; + m_level = other.m_level; +} + +NotificationDto NotificationDto::fromJson(QJsonObject source) { + NotificationDto instance; + instance.setFromJson(source); + return instance; +} + + +void NotificationDto::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_date = Jellyfin::Support::fromJsonValue(source["Date"]); + m_isRead = Jellyfin::Support::fromJsonValue(source["IsRead"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_description = Jellyfin::Support::fromJsonValue(source["Description"]); + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + m_level = Jellyfin::Support::fromJsonValue(source["Level"]); + +} + +QJsonObject NotificationDto::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["Date"] = Jellyfin::Support::toJsonValue(m_date); + result["IsRead"] = Jellyfin::Support::toJsonValue(m_isRead); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Description"] = Jellyfin::Support::toJsonValue(m_description); + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + result["Level"] = Jellyfin::Support::toJsonValue(m_level); + + return result; +} + +QString NotificationDto::jellyfinId() const { return m_jellyfinId; } + +void NotificationDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool NotificationDto::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void NotificationDto::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString NotificationDto::userId() const { return m_userId; } + +void NotificationDto::setUserId(QString newUserId) { + m_userId = newUserId; +} +bool NotificationDto::userIdNull() const { + return m_userId.isNull(); +} + +void NotificationDto::setUserIdNull() { + m_userId.clear(); + +} +QDateTime NotificationDto::date() const { return m_date; } + +void NotificationDto::setDate(QDateTime newDate) { + m_date = newDate; +} + +bool NotificationDto::isRead() const { return m_isRead; } + +void NotificationDto::setIsRead(bool newIsRead) { + m_isRead = newIsRead; +} + +QString NotificationDto::name() const { return m_name; } + +void NotificationDto::setName(QString newName) { + m_name = newName; +} +bool NotificationDto::nameNull() const { + return m_name.isNull(); +} + +void NotificationDto::setNameNull() { + m_name.clear(); + +} +QString NotificationDto::description() const { return m_description; } + +void NotificationDto::setDescription(QString newDescription) { + m_description = newDescription; +} +bool NotificationDto::descriptionNull() const { + return m_description.isNull(); +} + +void NotificationDto::setDescriptionNull() { + m_description.clear(); + +} +QString NotificationDto::url() const { return m_url; } + +void NotificationDto::setUrl(QString newUrl) { + m_url = newUrl; +} +bool NotificationDto::urlNull() const { + return m_url.isNull(); +} + +void NotificationDto::setUrlNull() { + m_url.clear(); + +} +NotificationLevel NotificationDto::level() const { return m_level; } + +void NotificationDto::setLevel(NotificationLevel newLevel) { + m_level = newLevel; +} + + +} // NS DTO + +namespace Support { + +using NotificationDto = Jellyfin::DTO::NotificationDto; + +template <> +NotificationDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NotificationDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/notificationlevel.cpp b/core/src/dto/notificationlevel.cpp new file mode 100644 index 0000000..fa13a40 --- /dev/null +++ b/core/src/dto/notificationlevel.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationLevelClass::NotificationLevelClass() {} + + +} // NS DTO + +namespace Support { + +using NotificationLevel = Jellyfin::DTO::NotificationLevel; + +template <> +NotificationLevel fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return NotificationLevel::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Normal")) { + return NotificationLevel::Normal; + } + if (str == QStringLiteral("Warning")) { + return NotificationLevel::Warning; + } + if (str == QStringLiteral("Error")) { + return NotificationLevel::Error; + } + + return NotificationLevel::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/notificationresultdto.cpp b/core/src/dto/notificationresultdto.cpp new file mode 100644 index 0000000..16221a8 --- /dev/null +++ b/core/src/dto/notificationresultdto.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationResultDto::NotificationResultDto() {} + +NotificationResultDto::NotificationResultDto(const NotificationResultDto &other) : + + m_notifications(other.m_notifications), + m_totalRecordCount(other.m_totalRecordCount){} + + +void NotificationResultDto::replaceData(NotificationResultDto &other) { + m_notifications = other.m_notifications; + m_totalRecordCount = other.m_totalRecordCount; +} + +NotificationResultDto NotificationResultDto::fromJson(QJsonObject source) { + NotificationResultDto instance; + instance.setFromJson(source); + return instance; +} + + +void NotificationResultDto::setFromJson(QJsonObject source) { + m_notifications = Jellyfin::Support::fromJsonValue>>(source["Notifications"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + +} + +QJsonObject NotificationResultDto::toJson() { + QJsonObject result; + result["Notifications"] = Jellyfin::Support::toJsonValue>>(m_notifications); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + + return result; +} + +QList> NotificationResultDto::notifications() const { return m_notifications; } + +void NotificationResultDto::setNotifications(QList> newNotifications) { + m_notifications = newNotifications; +} +bool NotificationResultDto::notificationsNull() const { + return m_notifications.size() == 0; +} + +void NotificationResultDto::setNotificationsNull() { + m_notifications.clear(); + +} +qint32 NotificationResultDto::totalRecordCount() const { return m_totalRecordCount; } + +void NotificationResultDto::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + + +} // NS DTO + +namespace Support { + +using NotificationResultDto = Jellyfin::DTO::NotificationResultDto; + +template <> +NotificationResultDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NotificationResultDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/notificationssummarydto.cpp b/core/src/dto/notificationssummarydto.cpp new file mode 100644 index 0000000..41de821 --- /dev/null +++ b/core/src/dto/notificationssummarydto.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationsSummaryDto::NotificationsSummaryDto() {} + +NotificationsSummaryDto::NotificationsSummaryDto(const NotificationsSummaryDto &other) : + + m_unreadCount(other.m_unreadCount), + m_maxUnreadNotificationLevel(other.m_maxUnreadNotificationLevel){} + + +void NotificationsSummaryDto::replaceData(NotificationsSummaryDto &other) { + m_unreadCount = other.m_unreadCount; + m_maxUnreadNotificationLevel = other.m_maxUnreadNotificationLevel; +} + +NotificationsSummaryDto NotificationsSummaryDto::fromJson(QJsonObject source) { + NotificationsSummaryDto instance; + instance.setFromJson(source); + return instance; +} + + +void NotificationsSummaryDto::setFromJson(QJsonObject source) { + m_unreadCount = Jellyfin::Support::fromJsonValue(source["UnreadCount"]); + m_maxUnreadNotificationLevel = Jellyfin::Support::fromJsonValue(source["MaxUnreadNotificationLevel"]); + +} + +QJsonObject NotificationsSummaryDto::toJson() { + QJsonObject result; + result["UnreadCount"] = Jellyfin::Support::toJsonValue(m_unreadCount); + result["MaxUnreadNotificationLevel"] = Jellyfin::Support::toJsonValue(m_maxUnreadNotificationLevel); + + return result; +} + +qint32 NotificationsSummaryDto::unreadCount() const { return m_unreadCount; } + +void NotificationsSummaryDto::setUnreadCount(qint32 newUnreadCount) { + m_unreadCount = newUnreadCount; +} + +NotificationLevel NotificationsSummaryDto::maxUnreadNotificationLevel() const { return m_maxUnreadNotificationLevel; } + +void NotificationsSummaryDto::setMaxUnreadNotificationLevel(NotificationLevel newMaxUnreadNotificationLevel) { + m_maxUnreadNotificationLevel = newMaxUnreadNotificationLevel; +} + + +} // NS DTO + +namespace Support { + +using NotificationsSummaryDto = Jellyfin::DTO::NotificationsSummaryDto; + +template <> +NotificationsSummaryDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NotificationsSummaryDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/notificationtypeinfo.cpp b/core/src/dto/notificationtypeinfo.cpp new file mode 100644 index 0000000..af395bf --- /dev/null +++ b/core/src/dto/notificationtypeinfo.cpp @@ -0,0 +1,146 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationTypeInfo::NotificationTypeInfo() {} + +NotificationTypeInfo::NotificationTypeInfo(const NotificationTypeInfo &other) : + + m_type(other.m_type), + m_name(other.m_name), + m_enabled(other.m_enabled), + m_category(other.m_category), + m_isBasedOnUserEvent(other.m_isBasedOnUserEvent){} + + +void NotificationTypeInfo::replaceData(NotificationTypeInfo &other) { + m_type = other.m_type; + m_name = other.m_name; + m_enabled = other.m_enabled; + m_category = other.m_category; + m_isBasedOnUserEvent = other.m_isBasedOnUserEvent; +} + +NotificationTypeInfo NotificationTypeInfo::fromJson(QJsonObject source) { + NotificationTypeInfo instance; + instance.setFromJson(source); + return instance; +} + + +void NotificationTypeInfo::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_enabled = Jellyfin::Support::fromJsonValue(source["Enabled"]); + m_category = Jellyfin::Support::fromJsonValue(source["Category"]); + m_isBasedOnUserEvent = Jellyfin::Support::fromJsonValue(source["IsBasedOnUserEvent"]); + +} + +QJsonObject NotificationTypeInfo::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Enabled"] = Jellyfin::Support::toJsonValue(m_enabled); + result["Category"] = Jellyfin::Support::toJsonValue(m_category); + result["IsBasedOnUserEvent"] = Jellyfin::Support::toJsonValue(m_isBasedOnUserEvent); + + return result; +} + +QString NotificationTypeInfo::type() const { return m_type; } + +void NotificationTypeInfo::setType(QString newType) { + m_type = newType; +} +bool NotificationTypeInfo::typeNull() const { + return m_type.isNull(); +} + +void NotificationTypeInfo::setTypeNull() { + m_type.clear(); + +} +QString NotificationTypeInfo::name() const { return m_name; } + +void NotificationTypeInfo::setName(QString newName) { + m_name = newName; +} +bool NotificationTypeInfo::nameNull() const { + return m_name.isNull(); +} + +void NotificationTypeInfo::setNameNull() { + m_name.clear(); + +} +bool NotificationTypeInfo::enabled() const { return m_enabled; } + +void NotificationTypeInfo::setEnabled(bool newEnabled) { + m_enabled = newEnabled; +} + +QString NotificationTypeInfo::category() const { return m_category; } + +void NotificationTypeInfo::setCategory(QString newCategory) { + m_category = newCategory; +} +bool NotificationTypeInfo::categoryNull() const { + return m_category.isNull(); +} + +void NotificationTypeInfo::setCategoryNull() { + m_category.clear(); + +} +bool NotificationTypeInfo::isBasedOnUserEvent() const { return m_isBasedOnUserEvent; } + +void NotificationTypeInfo::setIsBasedOnUserEvent(bool newIsBasedOnUserEvent) { + m_isBasedOnUserEvent = newIsBasedOnUserEvent; +} + + +} // NS DTO + +namespace Support { + +using NotificationTypeInfo = Jellyfin::DTO::NotificationTypeInfo; + +template <> +NotificationTypeInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return NotificationTypeInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/objectgroupupdate.cpp b/core/src/dto/objectgroupupdate.cpp new file mode 100644 index 0000000..1587b99 --- /dev/null +++ b/core/src/dto/objectgroupupdate.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ObjectGroupUpdate::ObjectGroupUpdate() {} + +ObjectGroupUpdate::ObjectGroupUpdate(const ObjectGroupUpdate &other) : + + m_groupId(other.m_groupId), + m_type(other.m_type), + m_data(other.m_data){} + + +void ObjectGroupUpdate::replaceData(ObjectGroupUpdate &other) { + m_groupId = other.m_groupId; + m_type = other.m_type; + m_data = other.m_data; +} + +ObjectGroupUpdate ObjectGroupUpdate::fromJson(QJsonObject source) { + ObjectGroupUpdate instance; + instance.setFromJson(source); + return instance; +} + + +void ObjectGroupUpdate::setFromJson(QJsonObject source) { + m_groupId = Jellyfin::Support::fromJsonValue(source["GroupId"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_data = Jellyfin::Support::fromJsonValue(source["Data"]); + +} + +QJsonObject ObjectGroupUpdate::toJson() { + QJsonObject result; + result["GroupId"] = Jellyfin::Support::toJsonValue(m_groupId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["Data"] = Jellyfin::Support::toJsonValue(m_data); + + return result; +} + +QString ObjectGroupUpdate::groupId() const { return m_groupId; } + +void ObjectGroupUpdate::setGroupId(QString newGroupId) { + m_groupId = newGroupId; +} + +GroupUpdateType ObjectGroupUpdate::type() const { return m_type; } + +void ObjectGroupUpdate::setType(GroupUpdateType newType) { + m_type = newType; +} + +QVariant ObjectGroupUpdate::data() const { return m_data; } + +void ObjectGroupUpdate::setData(QVariant newData) { + m_data = newData; +} +bool ObjectGroupUpdate::dataNull() const { + return m_data.isNull(); +} + +void ObjectGroupUpdate::setDataNull() { + m_data.clear(); + +} + +} // NS DTO + +namespace Support { + +using ObjectGroupUpdate = Jellyfin::DTO::ObjectGroupUpdate; + +template <> +ObjectGroupUpdate fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ObjectGroupUpdate::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/openlivestreamdto.cpp b/core/src/dto/openlivestreamdto.cpp new file mode 100644 index 0000000..22726e6 --- /dev/null +++ b/core/src/dto/openlivestreamdto.cpp @@ -0,0 +1,289 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +OpenLiveStreamDto::OpenLiveStreamDto() {} + +OpenLiveStreamDto::OpenLiveStreamDto(const OpenLiveStreamDto &other) : + + m_openToken(other.m_openToken), + m_userId(other.m_userId), + m_playSessionId(other.m_playSessionId), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_startTimeTicks(other.m_startTimeTicks), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_maxAudioChannels(other.m_maxAudioChannels), + m_itemId(other.m_itemId), + m_enableDirectPlay(other.m_enableDirectPlay), + m_enableDirectStream(other.m_enableDirectStream), + m_deviceProfile(other.m_deviceProfile), + m_directPlayProtocols(other.m_directPlayProtocols){} + + +void OpenLiveStreamDto::replaceData(OpenLiveStreamDto &other) { + m_openToken = other.m_openToken; + m_userId = other.m_userId; + m_playSessionId = other.m_playSessionId; + m_maxStreamingBitrate = other.m_maxStreamingBitrate; + m_startTimeTicks = other.m_startTimeTicks; + m_audioStreamIndex = other.m_audioStreamIndex; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_maxAudioChannels = other.m_maxAudioChannels; + m_itemId = other.m_itemId; + m_enableDirectPlay = other.m_enableDirectPlay; + m_enableDirectStream = other.m_enableDirectStream; + m_deviceProfile = other.m_deviceProfile; + m_directPlayProtocols = other.m_directPlayProtocols; +} + +OpenLiveStreamDto OpenLiveStreamDto::fromJson(QJsonObject source) { + OpenLiveStreamDto instance; + instance.setFromJson(source); + return instance; +} + + +void OpenLiveStreamDto::setFromJson(QJsonObject source) { + m_openToken = Jellyfin::Support::fromJsonValue(source["OpenToken"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_playSessionId = Jellyfin::Support::fromJsonValue(source["PlaySessionId"]); + m_maxStreamingBitrate = Jellyfin::Support::fromJsonValue>(source["MaxStreamingBitrate"]); + m_startTimeTicks = Jellyfin::Support::fromJsonValue>(source["StartTimeTicks"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_maxAudioChannels = Jellyfin::Support::fromJsonValue>(source["MaxAudioChannels"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_enableDirectPlay = Jellyfin::Support::fromJsonValue>(source["EnableDirectPlay"]); + m_enableDirectStream = Jellyfin::Support::fromJsonValue>(source["EnableDirectStream"]); + m_deviceProfile = Jellyfin::Support::fromJsonValue>(source["DeviceProfile"]); + m_directPlayProtocols = Jellyfin::Support::fromJsonValue>(source["DirectPlayProtocols"]); + +} + +QJsonObject OpenLiveStreamDto::toJson() { + QJsonObject result; + result["OpenToken"] = Jellyfin::Support::toJsonValue(m_openToken); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["PlaySessionId"] = Jellyfin::Support::toJsonValue(m_playSessionId); + result["MaxStreamingBitrate"] = Jellyfin::Support::toJsonValue>(m_maxStreamingBitrate); + result["StartTimeTicks"] = Jellyfin::Support::toJsonValue>(m_startTimeTicks); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["MaxAudioChannels"] = Jellyfin::Support::toJsonValue>(m_maxAudioChannels); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["EnableDirectPlay"] = Jellyfin::Support::toJsonValue>(m_enableDirectPlay); + result["EnableDirectStream"] = Jellyfin::Support::toJsonValue>(m_enableDirectStream); + result["DeviceProfile"] = Jellyfin::Support::toJsonValue>(m_deviceProfile); + result["DirectPlayProtocols"] = Jellyfin::Support::toJsonValue>(m_directPlayProtocols); + + return result; +} + +QString OpenLiveStreamDto::openToken() const { return m_openToken; } + +void OpenLiveStreamDto::setOpenToken(QString newOpenToken) { + m_openToken = newOpenToken; +} +bool OpenLiveStreamDto::openTokenNull() const { + return m_openToken.isNull(); +} + +void OpenLiveStreamDto::setOpenTokenNull() { + m_openToken.clear(); + +} +QString OpenLiveStreamDto::userId() const { return m_userId; } + +void OpenLiveStreamDto::setUserId(QString newUserId) { + m_userId = newUserId; +} +bool OpenLiveStreamDto::userIdNull() const { + return m_userId.isNull(); +} + +void OpenLiveStreamDto::setUserIdNull() { + m_userId.clear(); + +} +QString OpenLiveStreamDto::playSessionId() const { return m_playSessionId; } + +void OpenLiveStreamDto::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; +} +bool OpenLiveStreamDto::playSessionIdNull() const { + return m_playSessionId.isNull(); +} + +void OpenLiveStreamDto::setPlaySessionIdNull() { + m_playSessionId.clear(); + +} +std::optional OpenLiveStreamDto::maxStreamingBitrate() const { return m_maxStreamingBitrate; } + +void OpenLiveStreamDto::setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; +} +bool OpenLiveStreamDto::maxStreamingBitrateNull() const { + return !m_maxStreamingBitrate.has_value(); +} + +void OpenLiveStreamDto::setMaxStreamingBitrateNull() { + m_maxStreamingBitrate = std::nullopt; + +} +std::optional OpenLiveStreamDto::startTimeTicks() const { return m_startTimeTicks; } + +void OpenLiveStreamDto::setStartTimeTicks(std::optional newStartTimeTicks) { + m_startTimeTicks = newStartTimeTicks; +} +bool OpenLiveStreamDto::startTimeTicksNull() const { + return !m_startTimeTicks.has_value(); +} + +void OpenLiveStreamDto::setStartTimeTicksNull() { + m_startTimeTicks = std::nullopt; + +} +std::optional OpenLiveStreamDto::audioStreamIndex() const { return m_audioStreamIndex; } + +void OpenLiveStreamDto::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool OpenLiveStreamDto::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void OpenLiveStreamDto::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +std::optional OpenLiveStreamDto::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void OpenLiveStreamDto::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool OpenLiveStreamDto::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void OpenLiveStreamDto::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +std::optional OpenLiveStreamDto::maxAudioChannels() const { return m_maxAudioChannels; } + +void OpenLiveStreamDto::setMaxAudioChannels(std::optional newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; +} +bool OpenLiveStreamDto::maxAudioChannelsNull() const { + return !m_maxAudioChannels.has_value(); +} + +void OpenLiveStreamDto::setMaxAudioChannelsNull() { + m_maxAudioChannels = std::nullopt; + +} +QString OpenLiveStreamDto::itemId() const { return m_itemId; } + +void OpenLiveStreamDto::setItemId(QString newItemId) { + m_itemId = newItemId; +} +bool OpenLiveStreamDto::itemIdNull() const { + return m_itemId.isNull(); +} + +void OpenLiveStreamDto::setItemIdNull() { + m_itemId.clear(); + +} +std::optional OpenLiveStreamDto::enableDirectPlay() const { return m_enableDirectPlay; } + +void OpenLiveStreamDto::setEnableDirectPlay(std::optional newEnableDirectPlay) { + m_enableDirectPlay = newEnableDirectPlay; +} +bool OpenLiveStreamDto::enableDirectPlayNull() const { + return !m_enableDirectPlay.has_value(); +} + +void OpenLiveStreamDto::setEnableDirectPlayNull() { + m_enableDirectPlay = std::nullopt; + +} +std::optional OpenLiveStreamDto::enableDirectStream() const { return m_enableDirectStream; } + +void OpenLiveStreamDto::setEnableDirectStream(std::optional newEnableDirectStream) { + m_enableDirectStream = newEnableDirectStream; +} +bool OpenLiveStreamDto::enableDirectStreamNull() const { + return !m_enableDirectStream.has_value(); +} + +void OpenLiveStreamDto::setEnableDirectStreamNull() { + m_enableDirectStream = std::nullopt; + +} +QSharedPointer OpenLiveStreamDto::deviceProfile() const { return m_deviceProfile; } + +void OpenLiveStreamDto::setDeviceProfile(QSharedPointer newDeviceProfile) { + m_deviceProfile = newDeviceProfile; +} + +QList OpenLiveStreamDto::directPlayProtocols() const { return m_directPlayProtocols; } + +void OpenLiveStreamDto::setDirectPlayProtocols(QList newDirectPlayProtocols) { + m_directPlayProtocols = newDirectPlayProtocols; +} +bool OpenLiveStreamDto::directPlayProtocolsNull() const { + return m_directPlayProtocols.size() == 0; +} + +void OpenLiveStreamDto::setDirectPlayProtocolsNull() { + m_directPlayProtocols.clear(); + +} + +} // NS DTO + +namespace Support { + +using OpenLiveStreamDto = Jellyfin::DTO::OpenLiveStreamDto; + +template <> +OpenLiveStreamDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return OpenLiveStreamDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/packageinfo.cpp b/core/src/dto/packageinfo.cpp new file mode 100644 index 0000000..2e7ce1d --- /dev/null +++ b/core/src/dto/packageinfo.cpp @@ -0,0 +1,211 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PackageInfo::PackageInfo() {} + +PackageInfo::PackageInfo(const PackageInfo &other) : + + m_name(other.m_name), + m_description(other.m_description), + m_overview(other.m_overview), + m_owner(other.m_owner), + m_category(other.m_category), + m_guid(other.m_guid), + m_versions(other.m_versions), + m_imageUrl(other.m_imageUrl){} + + +void PackageInfo::replaceData(PackageInfo &other) { + m_name = other.m_name; + m_description = other.m_description; + m_overview = other.m_overview; + m_owner = other.m_owner; + m_category = other.m_category; + m_guid = other.m_guid; + m_versions = other.m_versions; + m_imageUrl = other.m_imageUrl; +} + +PackageInfo PackageInfo::fromJson(QJsonObject source) { + PackageInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PackageInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["name"]); + m_description = Jellyfin::Support::fromJsonValue(source["description"]); + m_overview = Jellyfin::Support::fromJsonValue(source["overview"]); + m_owner = Jellyfin::Support::fromJsonValue(source["owner"]); + m_category = Jellyfin::Support::fromJsonValue(source["category"]); + m_guid = Jellyfin::Support::fromJsonValue(source["guid"]); + m_versions = Jellyfin::Support::fromJsonValue>>(source["versions"]); + m_imageUrl = Jellyfin::Support::fromJsonValue(source["imageUrl"]); + +} + +QJsonObject PackageInfo::toJson() { + QJsonObject result; + result["name"] = Jellyfin::Support::toJsonValue(m_name); + result["description"] = Jellyfin::Support::toJsonValue(m_description); + result["overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["owner"] = Jellyfin::Support::toJsonValue(m_owner); + result["category"] = Jellyfin::Support::toJsonValue(m_category); + result["guid"] = Jellyfin::Support::toJsonValue(m_guid); + result["versions"] = Jellyfin::Support::toJsonValue>>(m_versions); + result["imageUrl"] = Jellyfin::Support::toJsonValue(m_imageUrl); + + return result; +} + +QString PackageInfo::name() const { return m_name; } + +void PackageInfo::setName(QString newName) { + m_name = newName; +} +bool PackageInfo::nameNull() const { + return m_name.isNull(); +} + +void PackageInfo::setNameNull() { + m_name.clear(); + +} +QString PackageInfo::description() const { return m_description; } + +void PackageInfo::setDescription(QString newDescription) { + m_description = newDescription; +} +bool PackageInfo::descriptionNull() const { + return m_description.isNull(); +} + +void PackageInfo::setDescriptionNull() { + m_description.clear(); + +} +QString PackageInfo::overview() const { return m_overview; } + +void PackageInfo::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool PackageInfo::overviewNull() const { + return m_overview.isNull(); +} + +void PackageInfo::setOverviewNull() { + m_overview.clear(); + +} +QString PackageInfo::owner() const { return m_owner; } + +void PackageInfo::setOwner(QString newOwner) { + m_owner = newOwner; +} +bool PackageInfo::ownerNull() const { + return m_owner.isNull(); +} + +void PackageInfo::setOwnerNull() { + m_owner.clear(); + +} +QString PackageInfo::category() const { return m_category; } + +void PackageInfo::setCategory(QString newCategory) { + m_category = newCategory; +} +bool PackageInfo::categoryNull() const { + return m_category.isNull(); +} + +void PackageInfo::setCategoryNull() { + m_category.clear(); + +} +QString PackageInfo::guid() const { return m_guid; } + +void PackageInfo::setGuid(QString newGuid) { + m_guid = newGuid; +} +bool PackageInfo::guidNull() const { + return m_guid.isNull(); +} + +void PackageInfo::setGuidNull() { + m_guid.clear(); + +} +QList> PackageInfo::versions() const { return m_versions; } + +void PackageInfo::setVersions(QList> newVersions) { + m_versions = newVersions; +} +bool PackageInfo::versionsNull() const { + return m_versions.size() == 0; +} + +void PackageInfo::setVersionsNull() { + m_versions.clear(); + +} +QString PackageInfo::imageUrl() const { return m_imageUrl; } + +void PackageInfo::setImageUrl(QString newImageUrl) { + m_imageUrl = newImageUrl; +} +bool PackageInfo::imageUrlNull() const { + return m_imageUrl.isNull(); +} + +void PackageInfo::setImageUrlNull() { + m_imageUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using PackageInfo = Jellyfin::DTO::PackageInfo; + +template <> +PackageInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PackageInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/parentalrating.cpp b/core/src/dto/parentalrating.cpp new file mode 100644 index 0000000..ee7dabb --- /dev/null +++ b/core/src/dto/parentalrating.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ParentalRating::ParentalRating() {} + +ParentalRating::ParentalRating(const ParentalRating &other) : + + m_name(other.m_name), + m_value(other.m_value){} + + +void ParentalRating::replaceData(ParentalRating &other) { + m_name = other.m_name; + m_value = other.m_value; +} + +ParentalRating ParentalRating::fromJson(QJsonObject source) { + ParentalRating instance; + instance.setFromJson(source); + return instance; +} + + +void ParentalRating::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + +} + +QJsonObject ParentalRating::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + + return result; +} + +QString ParentalRating::name() const { return m_name; } + +void ParentalRating::setName(QString newName) { + m_name = newName; +} +bool ParentalRating::nameNull() const { + return m_name.isNull(); +} + +void ParentalRating::setNameNull() { + m_name.clear(); + +} +qint32 ParentalRating::value() const { return m_value; } + +void ParentalRating::setValue(qint32 newValue) { + m_value = newValue; +} + + +} // NS DTO + +namespace Support { + +using ParentalRating = Jellyfin::DTO::ParentalRating; + +template <> +ParentalRating fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ParentalRating::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/pathsubstitution.cpp b/core/src/dto/pathsubstitution.cpp new file mode 100644 index 0000000..14058c1 --- /dev/null +++ b/core/src/dto/pathsubstitution.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PathSubstitution::PathSubstitution() {} + +PathSubstitution::PathSubstitution(const PathSubstitution &other) : + + m_from(other.m_from), + m_to(other.m_to){} + + +void PathSubstitution::replaceData(PathSubstitution &other) { + m_from = other.m_from; + m_to = other.m_to; +} + +PathSubstitution PathSubstitution::fromJson(QJsonObject source) { + PathSubstitution instance; + instance.setFromJson(source); + return instance; +} + + +void PathSubstitution::setFromJson(QJsonObject source) { + m_from = Jellyfin::Support::fromJsonValue(source["From"]); + m_to = Jellyfin::Support::fromJsonValue(source["To"]); + +} + +QJsonObject PathSubstitution::toJson() { + QJsonObject result; + result["From"] = Jellyfin::Support::toJsonValue(m_from); + result["To"] = Jellyfin::Support::toJsonValue(m_to); + + return result; +} + +QString PathSubstitution::from() const { return m_from; } + +void PathSubstitution::setFrom(QString newFrom) { + m_from = newFrom; +} +bool PathSubstitution::fromNull() const { + return m_from.isNull(); +} + +void PathSubstitution::setFromNull() { + m_from.clear(); + +} +QString PathSubstitution::to() const { return m_to; } + +void PathSubstitution::setTo(QString newTo) { + m_to = newTo; +} +bool PathSubstitution::toNull() const { + return m_to.isNull(); +} + +void PathSubstitution::setToNull() { + m_to.clear(); + +} + +} // NS DTO + +namespace Support { + +using PathSubstitution = Jellyfin::DTO::PathSubstitution; + +template <> +PathSubstitution fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PathSubstitution::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/personlookupinfo.cpp b/core/src/dto/personlookupinfo.cpp new file mode 100644 index 0000000..a4e71fa --- /dev/null +++ b/core/src/dto/personlookupinfo.cpp @@ -0,0 +1,238 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PersonLookupInfo::PersonLookupInfo() {} + +PersonLookupInfo::PersonLookupInfo(const PersonLookupInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} + + +void PersonLookupInfo::replaceData(PersonLookupInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; +} + +PersonLookupInfo PersonLookupInfo::fromJson(QJsonObject source) { + PersonLookupInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PersonLookupInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + +} + +QJsonObject PersonLookupInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + + return result; +} + +QString PersonLookupInfo::name() const { return m_name; } + +void PersonLookupInfo::setName(QString newName) { + m_name = newName; +} +bool PersonLookupInfo::nameNull() const { + return m_name.isNull(); +} + +void PersonLookupInfo::setNameNull() { + m_name.clear(); + +} +QString PersonLookupInfo::path() const { return m_path; } + +void PersonLookupInfo::setPath(QString newPath) { + m_path = newPath; +} +bool PersonLookupInfo::pathNull() const { + return m_path.isNull(); +} + +void PersonLookupInfo::setPathNull() { + m_path.clear(); + +} +QString PersonLookupInfo::metadataLanguage() const { return m_metadataLanguage; } + +void PersonLookupInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool PersonLookupInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void PersonLookupInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString PersonLookupInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void PersonLookupInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool PersonLookupInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void PersonLookupInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional PersonLookupInfo::providerIds() const { return m_providerIds; } + +void PersonLookupInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool PersonLookupInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void PersonLookupInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional PersonLookupInfo::year() const { return m_year; } + +void PersonLookupInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool PersonLookupInfo::yearNull() const { + return !m_year.has_value(); +} + +void PersonLookupInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional PersonLookupInfo::indexNumber() const { return m_indexNumber; } + +void PersonLookupInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool PersonLookupInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void PersonLookupInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional PersonLookupInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void PersonLookupInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool PersonLookupInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void PersonLookupInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime PersonLookupInfo::premiereDate() const { return m_premiereDate; } + +void PersonLookupInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool PersonLookupInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void PersonLookupInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool PersonLookupInfo::isAutomated() const { return m_isAutomated; } + +void PersonLookupInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + + +} // NS DTO + +namespace Support { + +using PersonLookupInfo = Jellyfin::DTO::PersonLookupInfo; + +template <> +PersonLookupInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PersonLookupInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/personlookupinforemotesearchquery.cpp b/core/src/dto/personlookupinforemotesearchquery.cpp new file mode 100644 index 0000000..4d481cc --- /dev/null +++ b/core/src/dto/personlookupinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery() {} + +PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery(const PersonLookupInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void PersonLookupInfoRemoteSearchQuery::replaceData(PersonLookupInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +PersonLookupInfoRemoteSearchQuery PersonLookupInfoRemoteSearchQuery::fromJson(QJsonObject source) { + PersonLookupInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void PersonLookupInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject PersonLookupInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer PersonLookupInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void PersonLookupInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString PersonLookupInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void PersonLookupInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString PersonLookupInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void PersonLookupInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool PersonLookupInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void PersonLookupInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool PersonLookupInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void PersonLookupInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using PersonLookupInfoRemoteSearchQuery = Jellyfin::DTO::PersonLookupInfoRemoteSearchQuery; + +template <> +PersonLookupInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PersonLookupInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/pingrequestdto.cpp b/core/src/dto/pingrequestdto.cpp new file mode 100644 index 0000000..1aa5341 --- /dev/null +++ b/core/src/dto/pingrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PingRequestDto::PingRequestDto() {} + +PingRequestDto::PingRequestDto(const PingRequestDto &other) : + + m_ping(other.m_ping){} + + +void PingRequestDto::replaceData(PingRequestDto &other) { + m_ping = other.m_ping; +} + +PingRequestDto PingRequestDto::fromJson(QJsonObject source) { + PingRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void PingRequestDto::setFromJson(QJsonObject source) { + m_ping = Jellyfin::Support::fromJsonValue(source["Ping"]); + +} + +QJsonObject PingRequestDto::toJson() { + QJsonObject result; + result["Ping"] = Jellyfin::Support::toJsonValue(m_ping); + + return result; +} + +qint64 PingRequestDto::ping() const { return m_ping; } + +void PingRequestDto::setPing(qint64 newPing) { + m_ping = newPing; +} + + +} // NS DTO + +namespace Support { + +using PingRequestDto = Jellyfin::DTO::PingRequestDto; + +template <> +PingRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PingRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/pinredeemresult.cpp b/core/src/dto/pinredeemresult.cpp new file mode 100644 index 0000000..31be1de --- /dev/null +++ b/core/src/dto/pinredeemresult.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PinRedeemResult::PinRedeemResult() {} + +PinRedeemResult::PinRedeemResult(const PinRedeemResult &other) : + + m_success(other.m_success), + m_usersReset(other.m_usersReset){} + + +void PinRedeemResult::replaceData(PinRedeemResult &other) { + m_success = other.m_success; + m_usersReset = other.m_usersReset; +} + +PinRedeemResult PinRedeemResult::fromJson(QJsonObject source) { + PinRedeemResult instance; + instance.setFromJson(source); + return instance; +} + + +void PinRedeemResult::setFromJson(QJsonObject source) { + m_success = Jellyfin::Support::fromJsonValue(source["Success"]); + m_usersReset = Jellyfin::Support::fromJsonValue(source["UsersReset"]); + +} + +QJsonObject PinRedeemResult::toJson() { + QJsonObject result; + result["Success"] = Jellyfin::Support::toJsonValue(m_success); + result["UsersReset"] = Jellyfin::Support::toJsonValue(m_usersReset); + + return result; +} + +bool PinRedeemResult::success() const { return m_success; } + +void PinRedeemResult::setSuccess(bool newSuccess) { + m_success = newSuccess; +} + +QStringList PinRedeemResult::usersReset() const { return m_usersReset; } + +void PinRedeemResult::setUsersReset(QStringList newUsersReset) { + m_usersReset = newUsersReset; +} +bool PinRedeemResult::usersResetNull() const { + return m_usersReset.size() == 0; +} + +void PinRedeemResult::setUsersResetNull() { + m_usersReset.clear(); + +} + +} // NS DTO + +namespace Support { + +using PinRedeemResult = Jellyfin::DTO::PinRedeemResult; + +template <> +PinRedeemResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PinRedeemResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playaccess.cpp b/core/src/dto/playaccess.cpp new file mode 100644 index 0000000..9c1951e --- /dev/null +++ b/core/src/dto/playaccess.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayAccessClass::PlayAccessClass() {} + + +} // NS DTO + +namespace Support { + +using PlayAccess = Jellyfin::DTO::PlayAccess; + +template <> +PlayAccess fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PlayAccess::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Full")) { + return PlayAccess::Full; + } + if (str == QStringLiteral("None")) { + return PlayAccess::None; + } + + return PlayAccess::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackerrorcode.cpp b/core/src/dto/playbackerrorcode.cpp new file mode 100644 index 0000000..e4e41ef --- /dev/null +++ b/core/src/dto/playbackerrorcode.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackErrorCodeClass::PlaybackErrorCodeClass() {} + + +} // NS DTO + +namespace Support { + +using PlaybackErrorCode = Jellyfin::DTO::PlaybackErrorCode; + +template <> +PlaybackErrorCode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PlaybackErrorCode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("NotAllowed")) { + return PlaybackErrorCode::NotAllowed; + } + if (str == QStringLiteral("NoCompatibleStream")) { + return PlaybackErrorCode::NoCompatibleStream; + } + if (str == QStringLiteral("RateLimitExceeded")) { + return PlaybackErrorCode::RateLimitExceeded; + } + + return PlaybackErrorCode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackinfodto.cpp b/core/src/dto/playbackinfodto.cpp new file mode 100644 index 0000000..f365689 --- /dev/null +++ b/core/src/dto/playbackinfodto.cpp @@ -0,0 +1,323 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackInfoDto::PlaybackInfoDto() {} + +PlaybackInfoDto::PlaybackInfoDto(const PlaybackInfoDto &other) : + + m_userId(other.m_userId), + m_maxStreamingBitrate(other.m_maxStreamingBitrate), + m_startTimeTicks(other.m_startTimeTicks), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_maxAudioChannels(other.m_maxAudioChannels), + m_mediaSourceId(other.m_mediaSourceId), + m_liveStreamId(other.m_liveStreamId), + m_deviceProfile(other.m_deviceProfile), + m_enableDirectPlay(other.m_enableDirectPlay), + m_enableDirectStream(other.m_enableDirectStream), + m_enableTranscoding(other.m_enableTranscoding), + m_allowVideoStreamCopy(other.m_allowVideoStreamCopy), + m_allowAudioStreamCopy(other.m_allowAudioStreamCopy), + m_autoOpenLiveStream(other.m_autoOpenLiveStream){} + + +void PlaybackInfoDto::replaceData(PlaybackInfoDto &other) { + m_userId = other.m_userId; + m_maxStreamingBitrate = other.m_maxStreamingBitrate; + m_startTimeTicks = other.m_startTimeTicks; + m_audioStreamIndex = other.m_audioStreamIndex; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_maxAudioChannels = other.m_maxAudioChannels; + m_mediaSourceId = other.m_mediaSourceId; + m_liveStreamId = other.m_liveStreamId; + m_deviceProfile = other.m_deviceProfile; + m_enableDirectPlay = other.m_enableDirectPlay; + m_enableDirectStream = other.m_enableDirectStream; + m_enableTranscoding = other.m_enableTranscoding; + m_allowVideoStreamCopy = other.m_allowVideoStreamCopy; + m_allowAudioStreamCopy = other.m_allowAudioStreamCopy; + m_autoOpenLiveStream = other.m_autoOpenLiveStream; +} + +PlaybackInfoDto PlaybackInfoDto::fromJson(QJsonObject source) { + PlaybackInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void PlaybackInfoDto::setFromJson(QJsonObject source) { + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_maxStreamingBitrate = Jellyfin::Support::fromJsonValue>(source["MaxStreamingBitrate"]); + m_startTimeTicks = Jellyfin::Support::fromJsonValue>(source["StartTimeTicks"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_maxAudioChannels = Jellyfin::Support::fromJsonValue>(source["MaxAudioChannels"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_liveStreamId = Jellyfin::Support::fromJsonValue(source["LiveStreamId"]); + m_deviceProfile = Jellyfin::Support::fromJsonValue>(source["DeviceProfile"]); + m_enableDirectPlay = Jellyfin::Support::fromJsonValue>(source["EnableDirectPlay"]); + m_enableDirectStream = Jellyfin::Support::fromJsonValue>(source["EnableDirectStream"]); + m_enableTranscoding = Jellyfin::Support::fromJsonValue>(source["EnableTranscoding"]); + m_allowVideoStreamCopy = Jellyfin::Support::fromJsonValue>(source["AllowVideoStreamCopy"]); + m_allowAudioStreamCopy = Jellyfin::Support::fromJsonValue>(source["AllowAudioStreamCopy"]); + m_autoOpenLiveStream = Jellyfin::Support::fromJsonValue>(source["AutoOpenLiveStream"]); + +} + +QJsonObject PlaybackInfoDto::toJson() { + QJsonObject result; + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["MaxStreamingBitrate"] = Jellyfin::Support::toJsonValue>(m_maxStreamingBitrate); + result["StartTimeTicks"] = Jellyfin::Support::toJsonValue>(m_startTimeTicks); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["MaxAudioChannels"] = Jellyfin::Support::toJsonValue>(m_maxAudioChannels); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["LiveStreamId"] = Jellyfin::Support::toJsonValue(m_liveStreamId); + result["DeviceProfile"] = Jellyfin::Support::toJsonValue>(m_deviceProfile); + result["EnableDirectPlay"] = Jellyfin::Support::toJsonValue>(m_enableDirectPlay); + result["EnableDirectStream"] = Jellyfin::Support::toJsonValue>(m_enableDirectStream); + result["EnableTranscoding"] = Jellyfin::Support::toJsonValue>(m_enableTranscoding); + result["AllowVideoStreamCopy"] = Jellyfin::Support::toJsonValue>(m_allowVideoStreamCopy); + result["AllowAudioStreamCopy"] = Jellyfin::Support::toJsonValue>(m_allowAudioStreamCopy); + result["AutoOpenLiveStream"] = Jellyfin::Support::toJsonValue>(m_autoOpenLiveStream); + + return result; +} + +QString PlaybackInfoDto::userId() const { return m_userId; } + +void PlaybackInfoDto::setUserId(QString newUserId) { + m_userId = newUserId; +} +bool PlaybackInfoDto::userIdNull() const { + return m_userId.isNull(); +} + +void PlaybackInfoDto::setUserIdNull() { + m_userId.clear(); + +} +std::optional PlaybackInfoDto::maxStreamingBitrate() const { return m_maxStreamingBitrate; } + +void PlaybackInfoDto::setMaxStreamingBitrate(std::optional newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; +} +bool PlaybackInfoDto::maxStreamingBitrateNull() const { + return !m_maxStreamingBitrate.has_value(); +} + +void PlaybackInfoDto::setMaxStreamingBitrateNull() { + m_maxStreamingBitrate = std::nullopt; + +} +std::optional PlaybackInfoDto::startTimeTicks() const { return m_startTimeTicks; } + +void PlaybackInfoDto::setStartTimeTicks(std::optional newStartTimeTicks) { + m_startTimeTicks = newStartTimeTicks; +} +bool PlaybackInfoDto::startTimeTicksNull() const { + return !m_startTimeTicks.has_value(); +} + +void PlaybackInfoDto::setStartTimeTicksNull() { + m_startTimeTicks = std::nullopt; + +} +std::optional PlaybackInfoDto::audioStreamIndex() const { return m_audioStreamIndex; } + +void PlaybackInfoDto::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool PlaybackInfoDto::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void PlaybackInfoDto::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +std::optional PlaybackInfoDto::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void PlaybackInfoDto::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool PlaybackInfoDto::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void PlaybackInfoDto::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +std::optional PlaybackInfoDto::maxAudioChannels() const { return m_maxAudioChannels; } + +void PlaybackInfoDto::setMaxAudioChannels(std::optional newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; +} +bool PlaybackInfoDto::maxAudioChannelsNull() const { + return !m_maxAudioChannels.has_value(); +} + +void PlaybackInfoDto::setMaxAudioChannelsNull() { + m_maxAudioChannels = std::nullopt; + +} +QString PlaybackInfoDto::mediaSourceId() const { return m_mediaSourceId; } + +void PlaybackInfoDto::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlaybackInfoDto::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlaybackInfoDto::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +QString PlaybackInfoDto::liveStreamId() const { return m_liveStreamId; } + +void PlaybackInfoDto::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; +} +bool PlaybackInfoDto::liveStreamIdNull() const { + return m_liveStreamId.isNull(); +} + +void PlaybackInfoDto::setLiveStreamIdNull() { + m_liveStreamId.clear(); + +} +QSharedPointer PlaybackInfoDto::deviceProfile() const { return m_deviceProfile; } + +void PlaybackInfoDto::setDeviceProfile(QSharedPointer newDeviceProfile) { + m_deviceProfile = newDeviceProfile; +} + +std::optional PlaybackInfoDto::enableDirectPlay() const { return m_enableDirectPlay; } + +void PlaybackInfoDto::setEnableDirectPlay(std::optional newEnableDirectPlay) { + m_enableDirectPlay = newEnableDirectPlay; +} +bool PlaybackInfoDto::enableDirectPlayNull() const { + return !m_enableDirectPlay.has_value(); +} + +void PlaybackInfoDto::setEnableDirectPlayNull() { + m_enableDirectPlay = std::nullopt; + +} +std::optional PlaybackInfoDto::enableDirectStream() const { return m_enableDirectStream; } + +void PlaybackInfoDto::setEnableDirectStream(std::optional newEnableDirectStream) { + m_enableDirectStream = newEnableDirectStream; +} +bool PlaybackInfoDto::enableDirectStreamNull() const { + return !m_enableDirectStream.has_value(); +} + +void PlaybackInfoDto::setEnableDirectStreamNull() { + m_enableDirectStream = std::nullopt; + +} +std::optional PlaybackInfoDto::enableTranscoding() const { return m_enableTranscoding; } + +void PlaybackInfoDto::setEnableTranscoding(std::optional newEnableTranscoding) { + m_enableTranscoding = newEnableTranscoding; +} +bool PlaybackInfoDto::enableTranscodingNull() const { + return !m_enableTranscoding.has_value(); +} + +void PlaybackInfoDto::setEnableTranscodingNull() { + m_enableTranscoding = std::nullopt; + +} +std::optional PlaybackInfoDto::allowVideoStreamCopy() const { return m_allowVideoStreamCopy; } + +void PlaybackInfoDto::setAllowVideoStreamCopy(std::optional newAllowVideoStreamCopy) { + m_allowVideoStreamCopy = newAllowVideoStreamCopy; +} +bool PlaybackInfoDto::allowVideoStreamCopyNull() const { + return !m_allowVideoStreamCopy.has_value(); +} + +void PlaybackInfoDto::setAllowVideoStreamCopyNull() { + m_allowVideoStreamCopy = std::nullopt; + +} +std::optional PlaybackInfoDto::allowAudioStreamCopy() const { return m_allowAudioStreamCopy; } + +void PlaybackInfoDto::setAllowAudioStreamCopy(std::optional newAllowAudioStreamCopy) { + m_allowAudioStreamCopy = newAllowAudioStreamCopy; +} +bool PlaybackInfoDto::allowAudioStreamCopyNull() const { + return !m_allowAudioStreamCopy.has_value(); +} + +void PlaybackInfoDto::setAllowAudioStreamCopyNull() { + m_allowAudioStreamCopy = std::nullopt; + +} +std::optional PlaybackInfoDto::autoOpenLiveStream() const { return m_autoOpenLiveStream; } + +void PlaybackInfoDto::setAutoOpenLiveStream(std::optional newAutoOpenLiveStream) { + m_autoOpenLiveStream = newAutoOpenLiveStream; +} +bool PlaybackInfoDto::autoOpenLiveStreamNull() const { + return !m_autoOpenLiveStream.has_value(); +} + +void PlaybackInfoDto::setAutoOpenLiveStreamNull() { + m_autoOpenLiveStream = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using PlaybackInfoDto = Jellyfin::DTO::PlaybackInfoDto; + +template <> +PlaybackInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaybackInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackinforesponse.cpp b/core/src/dto/playbackinforesponse.cpp new file mode 100644 index 0000000..4d1d81b --- /dev/null +++ b/core/src/dto/playbackinforesponse.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackInfoResponse::PlaybackInfoResponse() {} + +PlaybackInfoResponse::PlaybackInfoResponse(const PlaybackInfoResponse &other) : + + m_mediaSources(other.m_mediaSources), + m_playSessionId(other.m_playSessionId), + m_errorCode(other.m_errorCode){} + + +void PlaybackInfoResponse::replaceData(PlaybackInfoResponse &other) { + m_mediaSources = other.m_mediaSources; + m_playSessionId = other.m_playSessionId; + m_errorCode = other.m_errorCode; +} + +PlaybackInfoResponse PlaybackInfoResponse::fromJson(QJsonObject source) { + PlaybackInfoResponse instance; + instance.setFromJson(source); + return instance; +} + + +void PlaybackInfoResponse::setFromJson(QJsonObject source) { + m_mediaSources = Jellyfin::Support::fromJsonValue>>(source["MediaSources"]); + m_playSessionId = Jellyfin::Support::fromJsonValue(source["PlaySessionId"]); + m_errorCode = Jellyfin::Support::fromJsonValue(source["ErrorCode"]); + +} + +QJsonObject PlaybackInfoResponse::toJson() { + QJsonObject result; + result["MediaSources"] = Jellyfin::Support::toJsonValue>>(m_mediaSources); + result["PlaySessionId"] = Jellyfin::Support::toJsonValue(m_playSessionId); + result["ErrorCode"] = Jellyfin::Support::toJsonValue(m_errorCode); + + return result; +} + +QList> PlaybackInfoResponse::mediaSources() const { return m_mediaSources; } + +void PlaybackInfoResponse::setMediaSources(QList> newMediaSources) { + m_mediaSources = newMediaSources; +} +bool PlaybackInfoResponse::mediaSourcesNull() const { + return m_mediaSources.size() == 0; +} + +void PlaybackInfoResponse::setMediaSourcesNull() { + m_mediaSources.clear(); + +} +QString PlaybackInfoResponse::playSessionId() const { return m_playSessionId; } + +void PlaybackInfoResponse::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; +} +bool PlaybackInfoResponse::playSessionIdNull() const { + return m_playSessionId.isNull(); +} + +void PlaybackInfoResponse::setPlaySessionIdNull() { + m_playSessionId.clear(); + +} +PlaybackErrorCode PlaybackInfoResponse::errorCode() const { return m_errorCode; } + +void PlaybackInfoResponse::setErrorCode(PlaybackErrorCode newErrorCode) { + m_errorCode = newErrorCode; +} + + +} // NS DTO + +namespace Support { + +using PlaybackInfoResponse = Jellyfin::DTO::PlaybackInfoResponse; + +template <> +PlaybackInfoResponse fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaybackInfoResponse::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackprogressinfo.cpp b/core/src/dto/playbackprogressinfo.cpp new file mode 100644 index 0000000..d1f460d --- /dev/null +++ b/core/src/dto/playbackprogressinfo.cpp @@ -0,0 +1,366 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackProgressInfo::PlaybackProgressInfo() {} + +PlaybackProgressInfo::PlaybackProgressInfo(const PlaybackProgressInfo &other) : + + m_canSeek(other.m_canSeek), + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_positionTicks(other.m_positionTicks), + m_playbackStartTimeTicks(other.m_playbackStartTimeTicks), + m_volumeLevel(other.m_volumeLevel), + m_brightness(other.m_brightness), + m_aspectRatio(other.m_aspectRatio), + m_playMethod(other.m_playMethod), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_repeatMode(other.m_repeatMode), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_playlistItemId(other.m_playlistItemId){} + + +void PlaybackProgressInfo::replaceData(PlaybackProgressInfo &other) { + m_canSeek = other.m_canSeek; + m_item = other.m_item; + m_itemId = other.m_itemId; + m_sessionId = other.m_sessionId; + m_mediaSourceId = other.m_mediaSourceId; + m_audioStreamIndex = other.m_audioStreamIndex; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_isPaused = other.m_isPaused; + m_isMuted = other.m_isMuted; + m_positionTicks = other.m_positionTicks; + m_playbackStartTimeTicks = other.m_playbackStartTimeTicks; + m_volumeLevel = other.m_volumeLevel; + m_brightness = other.m_brightness; + m_aspectRatio = other.m_aspectRatio; + m_playMethod = other.m_playMethod; + m_liveStreamId = other.m_liveStreamId; + m_playSessionId = other.m_playSessionId; + m_repeatMode = other.m_repeatMode; + m_nowPlayingQueue = other.m_nowPlayingQueue; + m_playlistItemId = other.m_playlistItemId; +} + +PlaybackProgressInfo PlaybackProgressInfo::fromJson(QJsonObject source) { + PlaybackProgressInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PlaybackProgressInfo::setFromJson(QJsonObject source) { + m_canSeek = Jellyfin::Support::fromJsonValue(source["CanSeek"]); + m_item = Jellyfin::Support::fromJsonValue>(source["Item"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_sessionId = Jellyfin::Support::fromJsonValue(source["SessionId"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_isPaused = Jellyfin::Support::fromJsonValue(source["IsPaused"]); + m_isMuted = Jellyfin::Support::fromJsonValue(source["IsMuted"]); + m_positionTicks = Jellyfin::Support::fromJsonValue>(source["PositionTicks"]); + m_playbackStartTimeTicks = Jellyfin::Support::fromJsonValue>(source["PlaybackStartTimeTicks"]); + m_volumeLevel = Jellyfin::Support::fromJsonValue>(source["VolumeLevel"]); + m_brightness = Jellyfin::Support::fromJsonValue>(source["Brightness"]); + m_aspectRatio = Jellyfin::Support::fromJsonValue(source["AspectRatio"]); + m_playMethod = Jellyfin::Support::fromJsonValue(source["PlayMethod"]); + m_liveStreamId = Jellyfin::Support::fromJsonValue(source["LiveStreamId"]); + m_playSessionId = Jellyfin::Support::fromJsonValue(source["PlaySessionId"]); + m_repeatMode = Jellyfin::Support::fromJsonValue(source["RepeatMode"]); + m_nowPlayingQueue = Jellyfin::Support::fromJsonValue>>(source["NowPlayingQueue"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject PlaybackProgressInfo::toJson() { + QJsonObject result; + result["CanSeek"] = Jellyfin::Support::toJsonValue(m_canSeek); + result["Item"] = Jellyfin::Support::toJsonValue>(m_item); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SessionId"] = Jellyfin::Support::toJsonValue(m_sessionId); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["IsPaused"] = Jellyfin::Support::toJsonValue(m_isPaused); + result["IsMuted"] = Jellyfin::Support::toJsonValue(m_isMuted); + result["PositionTicks"] = Jellyfin::Support::toJsonValue>(m_positionTicks); + result["PlaybackStartTimeTicks"] = Jellyfin::Support::toJsonValue>(m_playbackStartTimeTicks); + result["VolumeLevel"] = Jellyfin::Support::toJsonValue>(m_volumeLevel); + result["Brightness"] = Jellyfin::Support::toJsonValue>(m_brightness); + result["AspectRatio"] = Jellyfin::Support::toJsonValue(m_aspectRatio); + result["PlayMethod"] = Jellyfin::Support::toJsonValue(m_playMethod); + result["LiveStreamId"] = Jellyfin::Support::toJsonValue(m_liveStreamId); + result["PlaySessionId"] = Jellyfin::Support::toJsonValue(m_playSessionId); + result["RepeatMode"] = Jellyfin::Support::toJsonValue(m_repeatMode); + result["NowPlayingQueue"] = Jellyfin::Support::toJsonValue>>(m_nowPlayingQueue); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +bool PlaybackProgressInfo::canSeek() const { return m_canSeek; } + +void PlaybackProgressInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; +} + +QSharedPointer PlaybackProgressInfo::item() const { return m_item; } + +void PlaybackProgressInfo::setItem(QSharedPointer newItem) { + m_item = newItem; +} + +QString PlaybackProgressInfo::itemId() const { return m_itemId; } + +void PlaybackProgressInfo::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString PlaybackProgressInfo::sessionId() const { return m_sessionId; } + +void PlaybackProgressInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; +} +bool PlaybackProgressInfo::sessionIdNull() const { + return m_sessionId.isNull(); +} + +void PlaybackProgressInfo::setSessionIdNull() { + m_sessionId.clear(); + +} +QString PlaybackProgressInfo::mediaSourceId() const { return m_mediaSourceId; } + +void PlaybackProgressInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlaybackProgressInfo::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlaybackProgressInfo::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +std::optional PlaybackProgressInfo::audioStreamIndex() const { return m_audioStreamIndex; } + +void PlaybackProgressInfo::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool PlaybackProgressInfo::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void PlaybackProgressInfo::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +std::optional PlaybackProgressInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void PlaybackProgressInfo::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool PlaybackProgressInfo::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void PlaybackProgressInfo::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +bool PlaybackProgressInfo::isPaused() const { return m_isPaused; } + +void PlaybackProgressInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; +} + +bool PlaybackProgressInfo::isMuted() const { return m_isMuted; } + +void PlaybackProgressInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; +} + +std::optional PlaybackProgressInfo::positionTicks() const { return m_positionTicks; } + +void PlaybackProgressInfo::setPositionTicks(std::optional newPositionTicks) { + m_positionTicks = newPositionTicks; +} +bool PlaybackProgressInfo::positionTicksNull() const { + return !m_positionTicks.has_value(); +} + +void PlaybackProgressInfo::setPositionTicksNull() { + m_positionTicks = std::nullopt; + +} +std::optional PlaybackProgressInfo::playbackStartTimeTicks() const { return m_playbackStartTimeTicks; } + +void PlaybackProgressInfo::setPlaybackStartTimeTicks(std::optional newPlaybackStartTimeTicks) { + m_playbackStartTimeTicks = newPlaybackStartTimeTicks; +} +bool PlaybackProgressInfo::playbackStartTimeTicksNull() const { + return !m_playbackStartTimeTicks.has_value(); +} + +void PlaybackProgressInfo::setPlaybackStartTimeTicksNull() { + m_playbackStartTimeTicks = std::nullopt; + +} +std::optional PlaybackProgressInfo::volumeLevel() const { return m_volumeLevel; } + +void PlaybackProgressInfo::setVolumeLevel(std::optional newVolumeLevel) { + m_volumeLevel = newVolumeLevel; +} +bool PlaybackProgressInfo::volumeLevelNull() const { + return !m_volumeLevel.has_value(); +} + +void PlaybackProgressInfo::setVolumeLevelNull() { + m_volumeLevel = std::nullopt; + +} +std::optional PlaybackProgressInfo::brightness() const { return m_brightness; } + +void PlaybackProgressInfo::setBrightness(std::optional newBrightness) { + m_brightness = newBrightness; +} +bool PlaybackProgressInfo::brightnessNull() const { + return !m_brightness.has_value(); +} + +void PlaybackProgressInfo::setBrightnessNull() { + m_brightness = std::nullopt; + +} +QString PlaybackProgressInfo::aspectRatio() const { return m_aspectRatio; } + +void PlaybackProgressInfo::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; +} +bool PlaybackProgressInfo::aspectRatioNull() const { + return m_aspectRatio.isNull(); +} + +void PlaybackProgressInfo::setAspectRatioNull() { + m_aspectRatio.clear(); + +} +PlayMethod PlaybackProgressInfo::playMethod() const { return m_playMethod; } + +void PlaybackProgressInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; +} + +QString PlaybackProgressInfo::liveStreamId() const { return m_liveStreamId; } + +void PlaybackProgressInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; +} +bool PlaybackProgressInfo::liveStreamIdNull() const { + return m_liveStreamId.isNull(); +} + +void PlaybackProgressInfo::setLiveStreamIdNull() { + m_liveStreamId.clear(); + +} +QString PlaybackProgressInfo::playSessionId() const { return m_playSessionId; } + +void PlaybackProgressInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; +} +bool PlaybackProgressInfo::playSessionIdNull() const { + return m_playSessionId.isNull(); +} + +void PlaybackProgressInfo::setPlaySessionIdNull() { + m_playSessionId.clear(); + +} +RepeatMode PlaybackProgressInfo::repeatMode() const { return m_repeatMode; } + +void PlaybackProgressInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; +} + +QList> PlaybackProgressInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } + +void PlaybackProgressInfo::setNowPlayingQueue(QList> newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; +} +bool PlaybackProgressInfo::nowPlayingQueueNull() const { + return m_nowPlayingQueue.size() == 0; +} + +void PlaybackProgressInfo::setNowPlayingQueueNull() { + m_nowPlayingQueue.clear(); + +} +QString PlaybackProgressInfo::playlistItemId() const { return m_playlistItemId; } + +void PlaybackProgressInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool PlaybackProgressInfo::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void PlaybackProgressInfo::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} + +} // NS DTO + +namespace Support { + +using PlaybackProgressInfo = Jellyfin::DTO::PlaybackProgressInfo; + +template <> +PlaybackProgressInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaybackProgressInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackstartinfo.cpp b/core/src/dto/playbackstartinfo.cpp new file mode 100644 index 0000000..6330889 --- /dev/null +++ b/core/src/dto/playbackstartinfo.cpp @@ -0,0 +1,366 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackStartInfo::PlaybackStartInfo() {} + +PlaybackStartInfo::PlaybackStartInfo(const PlaybackStartInfo &other) : + + m_canSeek(other.m_canSeek), + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_positionTicks(other.m_positionTicks), + m_playbackStartTimeTicks(other.m_playbackStartTimeTicks), + m_volumeLevel(other.m_volumeLevel), + m_brightness(other.m_brightness), + m_aspectRatio(other.m_aspectRatio), + m_playMethod(other.m_playMethod), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_repeatMode(other.m_repeatMode), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_playlistItemId(other.m_playlistItemId){} + + +void PlaybackStartInfo::replaceData(PlaybackStartInfo &other) { + m_canSeek = other.m_canSeek; + m_item = other.m_item; + m_itemId = other.m_itemId; + m_sessionId = other.m_sessionId; + m_mediaSourceId = other.m_mediaSourceId; + m_audioStreamIndex = other.m_audioStreamIndex; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_isPaused = other.m_isPaused; + m_isMuted = other.m_isMuted; + m_positionTicks = other.m_positionTicks; + m_playbackStartTimeTicks = other.m_playbackStartTimeTicks; + m_volumeLevel = other.m_volumeLevel; + m_brightness = other.m_brightness; + m_aspectRatio = other.m_aspectRatio; + m_playMethod = other.m_playMethod; + m_liveStreamId = other.m_liveStreamId; + m_playSessionId = other.m_playSessionId; + m_repeatMode = other.m_repeatMode; + m_nowPlayingQueue = other.m_nowPlayingQueue; + m_playlistItemId = other.m_playlistItemId; +} + +PlaybackStartInfo PlaybackStartInfo::fromJson(QJsonObject source) { + PlaybackStartInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PlaybackStartInfo::setFromJson(QJsonObject source) { + m_canSeek = Jellyfin::Support::fromJsonValue(source["CanSeek"]); + m_item = Jellyfin::Support::fromJsonValue>(source["Item"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_sessionId = Jellyfin::Support::fromJsonValue(source["SessionId"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_isPaused = Jellyfin::Support::fromJsonValue(source["IsPaused"]); + m_isMuted = Jellyfin::Support::fromJsonValue(source["IsMuted"]); + m_positionTicks = Jellyfin::Support::fromJsonValue>(source["PositionTicks"]); + m_playbackStartTimeTicks = Jellyfin::Support::fromJsonValue>(source["PlaybackStartTimeTicks"]); + m_volumeLevel = Jellyfin::Support::fromJsonValue>(source["VolumeLevel"]); + m_brightness = Jellyfin::Support::fromJsonValue>(source["Brightness"]); + m_aspectRatio = Jellyfin::Support::fromJsonValue(source["AspectRatio"]); + m_playMethod = Jellyfin::Support::fromJsonValue(source["PlayMethod"]); + m_liveStreamId = Jellyfin::Support::fromJsonValue(source["LiveStreamId"]); + m_playSessionId = Jellyfin::Support::fromJsonValue(source["PlaySessionId"]); + m_repeatMode = Jellyfin::Support::fromJsonValue(source["RepeatMode"]); + m_nowPlayingQueue = Jellyfin::Support::fromJsonValue>>(source["NowPlayingQueue"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject PlaybackStartInfo::toJson() { + QJsonObject result; + result["CanSeek"] = Jellyfin::Support::toJsonValue(m_canSeek); + result["Item"] = Jellyfin::Support::toJsonValue>(m_item); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SessionId"] = Jellyfin::Support::toJsonValue(m_sessionId); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["IsPaused"] = Jellyfin::Support::toJsonValue(m_isPaused); + result["IsMuted"] = Jellyfin::Support::toJsonValue(m_isMuted); + result["PositionTicks"] = Jellyfin::Support::toJsonValue>(m_positionTicks); + result["PlaybackStartTimeTicks"] = Jellyfin::Support::toJsonValue>(m_playbackStartTimeTicks); + result["VolumeLevel"] = Jellyfin::Support::toJsonValue>(m_volumeLevel); + result["Brightness"] = Jellyfin::Support::toJsonValue>(m_brightness); + result["AspectRatio"] = Jellyfin::Support::toJsonValue(m_aspectRatio); + result["PlayMethod"] = Jellyfin::Support::toJsonValue(m_playMethod); + result["LiveStreamId"] = Jellyfin::Support::toJsonValue(m_liveStreamId); + result["PlaySessionId"] = Jellyfin::Support::toJsonValue(m_playSessionId); + result["RepeatMode"] = Jellyfin::Support::toJsonValue(m_repeatMode); + result["NowPlayingQueue"] = Jellyfin::Support::toJsonValue>>(m_nowPlayingQueue); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +bool PlaybackStartInfo::canSeek() const { return m_canSeek; } + +void PlaybackStartInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; +} + +QSharedPointer PlaybackStartInfo::item() const { return m_item; } + +void PlaybackStartInfo::setItem(QSharedPointer newItem) { + m_item = newItem; +} + +QString PlaybackStartInfo::itemId() const { return m_itemId; } + +void PlaybackStartInfo::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString PlaybackStartInfo::sessionId() const { return m_sessionId; } + +void PlaybackStartInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; +} +bool PlaybackStartInfo::sessionIdNull() const { + return m_sessionId.isNull(); +} + +void PlaybackStartInfo::setSessionIdNull() { + m_sessionId.clear(); + +} +QString PlaybackStartInfo::mediaSourceId() const { return m_mediaSourceId; } + +void PlaybackStartInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlaybackStartInfo::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlaybackStartInfo::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +std::optional PlaybackStartInfo::audioStreamIndex() const { return m_audioStreamIndex; } + +void PlaybackStartInfo::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool PlaybackStartInfo::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void PlaybackStartInfo::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +std::optional PlaybackStartInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void PlaybackStartInfo::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool PlaybackStartInfo::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void PlaybackStartInfo::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +bool PlaybackStartInfo::isPaused() const { return m_isPaused; } + +void PlaybackStartInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; +} + +bool PlaybackStartInfo::isMuted() const { return m_isMuted; } + +void PlaybackStartInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; +} + +std::optional PlaybackStartInfo::positionTicks() const { return m_positionTicks; } + +void PlaybackStartInfo::setPositionTicks(std::optional newPositionTicks) { + m_positionTicks = newPositionTicks; +} +bool PlaybackStartInfo::positionTicksNull() const { + return !m_positionTicks.has_value(); +} + +void PlaybackStartInfo::setPositionTicksNull() { + m_positionTicks = std::nullopt; + +} +std::optional PlaybackStartInfo::playbackStartTimeTicks() const { return m_playbackStartTimeTicks; } + +void PlaybackStartInfo::setPlaybackStartTimeTicks(std::optional newPlaybackStartTimeTicks) { + m_playbackStartTimeTicks = newPlaybackStartTimeTicks; +} +bool PlaybackStartInfo::playbackStartTimeTicksNull() const { + return !m_playbackStartTimeTicks.has_value(); +} + +void PlaybackStartInfo::setPlaybackStartTimeTicksNull() { + m_playbackStartTimeTicks = std::nullopt; + +} +std::optional PlaybackStartInfo::volumeLevel() const { return m_volumeLevel; } + +void PlaybackStartInfo::setVolumeLevel(std::optional newVolumeLevel) { + m_volumeLevel = newVolumeLevel; +} +bool PlaybackStartInfo::volumeLevelNull() const { + return !m_volumeLevel.has_value(); +} + +void PlaybackStartInfo::setVolumeLevelNull() { + m_volumeLevel = std::nullopt; + +} +std::optional PlaybackStartInfo::brightness() const { return m_brightness; } + +void PlaybackStartInfo::setBrightness(std::optional newBrightness) { + m_brightness = newBrightness; +} +bool PlaybackStartInfo::brightnessNull() const { + return !m_brightness.has_value(); +} + +void PlaybackStartInfo::setBrightnessNull() { + m_brightness = std::nullopt; + +} +QString PlaybackStartInfo::aspectRatio() const { return m_aspectRatio; } + +void PlaybackStartInfo::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; +} +bool PlaybackStartInfo::aspectRatioNull() const { + return m_aspectRatio.isNull(); +} + +void PlaybackStartInfo::setAspectRatioNull() { + m_aspectRatio.clear(); + +} +PlayMethod PlaybackStartInfo::playMethod() const { return m_playMethod; } + +void PlaybackStartInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; +} + +QString PlaybackStartInfo::liveStreamId() const { return m_liveStreamId; } + +void PlaybackStartInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; +} +bool PlaybackStartInfo::liveStreamIdNull() const { + return m_liveStreamId.isNull(); +} + +void PlaybackStartInfo::setLiveStreamIdNull() { + m_liveStreamId.clear(); + +} +QString PlaybackStartInfo::playSessionId() const { return m_playSessionId; } + +void PlaybackStartInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; +} +bool PlaybackStartInfo::playSessionIdNull() const { + return m_playSessionId.isNull(); +} + +void PlaybackStartInfo::setPlaySessionIdNull() { + m_playSessionId.clear(); + +} +RepeatMode PlaybackStartInfo::repeatMode() const { return m_repeatMode; } + +void PlaybackStartInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; +} + +QList> PlaybackStartInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } + +void PlaybackStartInfo::setNowPlayingQueue(QList> newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; +} +bool PlaybackStartInfo::nowPlayingQueueNull() const { + return m_nowPlayingQueue.size() == 0; +} + +void PlaybackStartInfo::setNowPlayingQueueNull() { + m_nowPlayingQueue.clear(); + +} +QString PlaybackStartInfo::playlistItemId() const { return m_playlistItemId; } + +void PlaybackStartInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool PlaybackStartInfo::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void PlaybackStartInfo::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} + +} // NS DTO + +namespace Support { + +using PlaybackStartInfo = Jellyfin::DTO::PlaybackStartInfo; + +template <> +PlaybackStartInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaybackStartInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playbackstopinfo.cpp b/core/src/dto/playbackstopinfo.cpp new file mode 100644 index 0000000..755197f --- /dev/null +++ b/core/src/dto/playbackstopinfo.cpp @@ -0,0 +1,241 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackStopInfo::PlaybackStopInfo() {} + +PlaybackStopInfo::PlaybackStopInfo(const PlaybackStopInfo &other) : + + m_item(other.m_item), + m_itemId(other.m_itemId), + m_sessionId(other.m_sessionId), + m_mediaSourceId(other.m_mediaSourceId), + m_positionTicks(other.m_positionTicks), + m_liveStreamId(other.m_liveStreamId), + m_playSessionId(other.m_playSessionId), + m_failed(other.m_failed), + m_nextMediaType(other.m_nextMediaType), + m_playlistItemId(other.m_playlistItemId), + m_nowPlayingQueue(other.m_nowPlayingQueue){} + + +void PlaybackStopInfo::replaceData(PlaybackStopInfo &other) { + m_item = other.m_item; + m_itemId = other.m_itemId; + m_sessionId = other.m_sessionId; + m_mediaSourceId = other.m_mediaSourceId; + m_positionTicks = other.m_positionTicks; + m_liveStreamId = other.m_liveStreamId; + m_playSessionId = other.m_playSessionId; + m_failed = other.m_failed; + m_nextMediaType = other.m_nextMediaType; + m_playlistItemId = other.m_playlistItemId; + m_nowPlayingQueue = other.m_nowPlayingQueue; +} + +PlaybackStopInfo PlaybackStopInfo::fromJson(QJsonObject source) { + PlaybackStopInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PlaybackStopInfo::setFromJson(QJsonObject source) { + m_item = Jellyfin::Support::fromJsonValue>(source["Item"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_sessionId = Jellyfin::Support::fromJsonValue(source["SessionId"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_positionTicks = Jellyfin::Support::fromJsonValue>(source["PositionTicks"]); + m_liveStreamId = Jellyfin::Support::fromJsonValue(source["LiveStreamId"]); + m_playSessionId = Jellyfin::Support::fromJsonValue(source["PlaySessionId"]); + m_failed = Jellyfin::Support::fromJsonValue(source["Failed"]); + m_nextMediaType = Jellyfin::Support::fromJsonValue(source["NextMediaType"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + m_nowPlayingQueue = Jellyfin::Support::fromJsonValue>>(source["NowPlayingQueue"]); + +} + +QJsonObject PlaybackStopInfo::toJson() { + QJsonObject result; + result["Item"] = Jellyfin::Support::toJsonValue>(m_item); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SessionId"] = Jellyfin::Support::toJsonValue(m_sessionId); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["PositionTicks"] = Jellyfin::Support::toJsonValue>(m_positionTicks); + result["LiveStreamId"] = Jellyfin::Support::toJsonValue(m_liveStreamId); + result["PlaySessionId"] = Jellyfin::Support::toJsonValue(m_playSessionId); + result["Failed"] = Jellyfin::Support::toJsonValue(m_failed); + result["NextMediaType"] = Jellyfin::Support::toJsonValue(m_nextMediaType); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + result["NowPlayingQueue"] = Jellyfin::Support::toJsonValue>>(m_nowPlayingQueue); + + return result; +} + +QSharedPointer PlaybackStopInfo::item() const { return m_item; } + +void PlaybackStopInfo::setItem(QSharedPointer newItem) { + m_item = newItem; +} + +QString PlaybackStopInfo::itemId() const { return m_itemId; } + +void PlaybackStopInfo::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString PlaybackStopInfo::sessionId() const { return m_sessionId; } + +void PlaybackStopInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; +} +bool PlaybackStopInfo::sessionIdNull() const { + return m_sessionId.isNull(); +} + +void PlaybackStopInfo::setSessionIdNull() { + m_sessionId.clear(); + +} +QString PlaybackStopInfo::mediaSourceId() const { return m_mediaSourceId; } + +void PlaybackStopInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlaybackStopInfo::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlaybackStopInfo::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +std::optional PlaybackStopInfo::positionTicks() const { return m_positionTicks; } + +void PlaybackStopInfo::setPositionTicks(std::optional newPositionTicks) { + m_positionTicks = newPositionTicks; +} +bool PlaybackStopInfo::positionTicksNull() const { + return !m_positionTicks.has_value(); +} + +void PlaybackStopInfo::setPositionTicksNull() { + m_positionTicks = std::nullopt; + +} +QString PlaybackStopInfo::liveStreamId() const { return m_liveStreamId; } + +void PlaybackStopInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; +} +bool PlaybackStopInfo::liveStreamIdNull() const { + return m_liveStreamId.isNull(); +} + +void PlaybackStopInfo::setLiveStreamIdNull() { + m_liveStreamId.clear(); + +} +QString PlaybackStopInfo::playSessionId() const { return m_playSessionId; } + +void PlaybackStopInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; +} +bool PlaybackStopInfo::playSessionIdNull() const { + return m_playSessionId.isNull(); +} + +void PlaybackStopInfo::setPlaySessionIdNull() { + m_playSessionId.clear(); + +} +bool PlaybackStopInfo::failed() const { return m_failed; } + +void PlaybackStopInfo::setFailed(bool newFailed) { + m_failed = newFailed; +} + +QString PlaybackStopInfo::nextMediaType() const { return m_nextMediaType; } + +void PlaybackStopInfo::setNextMediaType(QString newNextMediaType) { + m_nextMediaType = newNextMediaType; +} +bool PlaybackStopInfo::nextMediaTypeNull() const { + return m_nextMediaType.isNull(); +} + +void PlaybackStopInfo::setNextMediaTypeNull() { + m_nextMediaType.clear(); + +} +QString PlaybackStopInfo::playlistItemId() const { return m_playlistItemId; } + +void PlaybackStopInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool PlaybackStopInfo::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void PlaybackStopInfo::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} +QList> PlaybackStopInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } + +void PlaybackStopInfo::setNowPlayingQueue(QList> newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; +} +bool PlaybackStopInfo::nowPlayingQueueNull() const { + return m_nowPlayingQueue.size() == 0; +} + +void PlaybackStopInfo::setNowPlayingQueueNull() { + m_nowPlayingQueue.clear(); + +} + +} // NS DTO + +namespace Support { + +using PlaybackStopInfo = Jellyfin::DTO::PlaybackStopInfo; + +template <> +PlaybackStopInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaybackStopInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playcommand.cpp b/core/src/dto/playcommand.cpp new file mode 100644 index 0000000..9459567 --- /dev/null +++ b/core/src/dto/playcommand.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayCommandClass::PlayCommandClass() {} + + +} // NS DTO + +namespace Support { + +using PlayCommand = Jellyfin::DTO::PlayCommand; + +template <> +PlayCommand fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PlayCommand::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("PlayNow")) { + return PlayCommand::PlayNow; + } + if (str == QStringLiteral("PlayNext")) { + return PlayCommand::PlayNext; + } + if (str == QStringLiteral("PlayLast")) { + return PlayCommand::PlayLast; + } + if (str == QStringLiteral("PlayInstantMix")) { + return PlayCommand::PlayInstantMix; + } + if (str == QStringLiteral("PlayShuffle")) { + return PlayCommand::PlayShuffle; + } + + return PlayCommand::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playerstateinfo.cpp b/core/src/dto/playerstateinfo.cpp new file mode 100644 index 0000000..4e383bb --- /dev/null +++ b/core/src/dto/playerstateinfo.cpp @@ -0,0 +1,210 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayerStateInfo::PlayerStateInfo() {} + +PlayerStateInfo::PlayerStateInfo(const PlayerStateInfo &other) : + + m_positionTicks(other.m_positionTicks), + m_canSeek(other.m_canSeek), + m_isPaused(other.m_isPaused), + m_isMuted(other.m_isMuted), + m_volumeLevel(other.m_volumeLevel), + m_audioStreamIndex(other.m_audioStreamIndex), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_mediaSourceId(other.m_mediaSourceId), + m_playMethod(other.m_playMethod), + m_repeatMode(other.m_repeatMode){} + + +void PlayerStateInfo::replaceData(PlayerStateInfo &other) { + m_positionTicks = other.m_positionTicks; + m_canSeek = other.m_canSeek; + m_isPaused = other.m_isPaused; + m_isMuted = other.m_isMuted; + m_volumeLevel = other.m_volumeLevel; + m_audioStreamIndex = other.m_audioStreamIndex; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_mediaSourceId = other.m_mediaSourceId; + m_playMethod = other.m_playMethod; + m_repeatMode = other.m_repeatMode; +} + +PlayerStateInfo PlayerStateInfo::fromJson(QJsonObject source) { + PlayerStateInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PlayerStateInfo::setFromJson(QJsonObject source) { + m_positionTicks = Jellyfin::Support::fromJsonValue>(source["PositionTicks"]); + m_canSeek = Jellyfin::Support::fromJsonValue(source["CanSeek"]); + m_isPaused = Jellyfin::Support::fromJsonValue(source["IsPaused"]); + m_isMuted = Jellyfin::Support::fromJsonValue(source["IsMuted"]); + m_volumeLevel = Jellyfin::Support::fromJsonValue>(source["VolumeLevel"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_playMethod = Jellyfin::Support::fromJsonValue(source["PlayMethod"]); + m_repeatMode = Jellyfin::Support::fromJsonValue(source["RepeatMode"]); + +} + +QJsonObject PlayerStateInfo::toJson() { + QJsonObject result; + result["PositionTicks"] = Jellyfin::Support::toJsonValue>(m_positionTicks); + result["CanSeek"] = Jellyfin::Support::toJsonValue(m_canSeek); + result["IsPaused"] = Jellyfin::Support::toJsonValue(m_isPaused); + result["IsMuted"] = Jellyfin::Support::toJsonValue(m_isMuted); + result["VolumeLevel"] = Jellyfin::Support::toJsonValue>(m_volumeLevel); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["PlayMethod"] = Jellyfin::Support::toJsonValue(m_playMethod); + result["RepeatMode"] = Jellyfin::Support::toJsonValue(m_repeatMode); + + return result; +} + +std::optional PlayerStateInfo::positionTicks() const { return m_positionTicks; } + +void PlayerStateInfo::setPositionTicks(std::optional newPositionTicks) { + m_positionTicks = newPositionTicks; +} +bool PlayerStateInfo::positionTicksNull() const { + return !m_positionTicks.has_value(); +} + +void PlayerStateInfo::setPositionTicksNull() { + m_positionTicks = std::nullopt; + +} +bool PlayerStateInfo::canSeek() const { return m_canSeek; } + +void PlayerStateInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; +} + +bool PlayerStateInfo::isPaused() const { return m_isPaused; } + +void PlayerStateInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; +} + +bool PlayerStateInfo::isMuted() const { return m_isMuted; } + +void PlayerStateInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; +} + +std::optional PlayerStateInfo::volumeLevel() const { return m_volumeLevel; } + +void PlayerStateInfo::setVolumeLevel(std::optional newVolumeLevel) { + m_volumeLevel = newVolumeLevel; +} +bool PlayerStateInfo::volumeLevelNull() const { + return !m_volumeLevel.has_value(); +} + +void PlayerStateInfo::setVolumeLevelNull() { + m_volumeLevel = std::nullopt; + +} +std::optional PlayerStateInfo::audioStreamIndex() const { return m_audioStreamIndex; } + +void PlayerStateInfo::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool PlayerStateInfo::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void PlayerStateInfo::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +std::optional PlayerStateInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void PlayerStateInfo::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool PlayerStateInfo::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void PlayerStateInfo::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +QString PlayerStateInfo::mediaSourceId() const { return m_mediaSourceId; } + +void PlayerStateInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlayerStateInfo::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlayerStateInfo::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +PlayMethod PlayerStateInfo::playMethod() const { return m_playMethod; } + +void PlayerStateInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; +} + +RepeatMode PlayerStateInfo::repeatMode() const { return m_repeatMode; } + +void PlayerStateInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; +} + + +} // NS DTO + +namespace Support { + +using PlayerStateInfo = Jellyfin::DTO::PlayerStateInfo; + +template <> +PlayerStateInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlayerStateInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playlistcreationresult.cpp b/core/src/dto/playlistcreationresult.cpp new file mode 100644 index 0000000..b815459 --- /dev/null +++ b/core/src/dto/playlistcreationresult.cpp @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaylistCreationResult::PlaylistCreationResult() {} + +PlaylistCreationResult::PlaylistCreationResult(const PlaylistCreationResult &other) : + + m_jellyfinId(other.m_jellyfinId){} + + +void PlaylistCreationResult::replaceData(PlaylistCreationResult &other) { + m_jellyfinId = other.m_jellyfinId; +} + +PlaylistCreationResult PlaylistCreationResult::fromJson(QJsonObject source) { + PlaylistCreationResult instance; + instance.setFromJson(source); + return instance; +} + + +void PlaylistCreationResult::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject PlaylistCreationResult::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString PlaylistCreationResult::jellyfinId() const { return m_jellyfinId; } + +void PlaylistCreationResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool PlaylistCreationResult::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void PlaylistCreationResult::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} + +} // NS DTO + +namespace Support { + +using PlaylistCreationResult = Jellyfin::DTO::PlaylistCreationResult; + +template <> +PlaylistCreationResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaylistCreationResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playmethod.cpp b/core/src/dto/playmethod.cpp new file mode 100644 index 0000000..2ef7299 --- /dev/null +++ b/core/src/dto/playmethod.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayMethodClass::PlayMethodClass() {} + + +} // NS DTO + +namespace Support { + +using PlayMethod = Jellyfin::DTO::PlayMethod; + +template <> +PlayMethod fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PlayMethod::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Transcode")) { + return PlayMethod::Transcode; + } + if (str == QStringLiteral("DirectStream")) { + return PlayMethod::DirectStream; + } + if (str == QStringLiteral("DirectPlay")) { + return PlayMethod::DirectPlay; + } + + return PlayMethod::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playrequest.cpp b/core/src/dto/playrequest.cpp new file mode 100644 index 0000000..17e0016 --- /dev/null +++ b/core/src/dto/playrequest.cpp @@ -0,0 +1,197 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayRequest::PlayRequest() {} + +PlayRequest::PlayRequest(const PlayRequest &other) : + + m_itemIds(other.m_itemIds), + m_startPositionTicks(other.m_startPositionTicks), + m_playCommand(other.m_playCommand), + m_controllingUserId(other.m_controllingUserId), + m_subtitleStreamIndex(other.m_subtitleStreamIndex), + m_audioStreamIndex(other.m_audioStreamIndex), + m_mediaSourceId(other.m_mediaSourceId), + m_startIndex(other.m_startIndex){} + + +void PlayRequest::replaceData(PlayRequest &other) { + m_itemIds = other.m_itemIds; + m_startPositionTicks = other.m_startPositionTicks; + m_playCommand = other.m_playCommand; + m_controllingUserId = other.m_controllingUserId; + m_subtitleStreamIndex = other.m_subtitleStreamIndex; + m_audioStreamIndex = other.m_audioStreamIndex; + m_mediaSourceId = other.m_mediaSourceId; + m_startIndex = other.m_startIndex; +} + +PlayRequest PlayRequest::fromJson(QJsonObject source) { + PlayRequest instance; + instance.setFromJson(source); + return instance; +} + + +void PlayRequest::setFromJson(QJsonObject source) { + m_itemIds = Jellyfin::Support::fromJsonValue(source["ItemIds"]); + m_startPositionTicks = Jellyfin::Support::fromJsonValue>(source["StartPositionTicks"]); + m_playCommand = Jellyfin::Support::fromJsonValue(source["PlayCommand"]); + m_controllingUserId = Jellyfin::Support::fromJsonValue(source["ControllingUserId"]); + m_subtitleStreamIndex = Jellyfin::Support::fromJsonValue>(source["SubtitleStreamIndex"]); + m_audioStreamIndex = Jellyfin::Support::fromJsonValue>(source["AudioStreamIndex"]); + m_mediaSourceId = Jellyfin::Support::fromJsonValue(source["MediaSourceId"]); + m_startIndex = Jellyfin::Support::fromJsonValue>(source["StartIndex"]); + +} + +QJsonObject PlayRequest::toJson() { + QJsonObject result; + result["ItemIds"] = Jellyfin::Support::toJsonValue(m_itemIds); + result["StartPositionTicks"] = Jellyfin::Support::toJsonValue>(m_startPositionTicks); + result["PlayCommand"] = Jellyfin::Support::toJsonValue(m_playCommand); + result["ControllingUserId"] = Jellyfin::Support::toJsonValue(m_controllingUserId); + result["SubtitleStreamIndex"] = Jellyfin::Support::toJsonValue>(m_subtitleStreamIndex); + result["AudioStreamIndex"] = Jellyfin::Support::toJsonValue>(m_audioStreamIndex); + result["MediaSourceId"] = Jellyfin::Support::toJsonValue(m_mediaSourceId); + result["StartIndex"] = Jellyfin::Support::toJsonValue>(m_startIndex); + + return result; +} + +QStringList PlayRequest::itemIds() const { return m_itemIds; } + +void PlayRequest::setItemIds(QStringList newItemIds) { + m_itemIds = newItemIds; +} +bool PlayRequest::itemIdsNull() const { + return m_itemIds.size() == 0; +} + +void PlayRequest::setItemIdsNull() { + m_itemIds.clear(); + +} +std::optional PlayRequest::startPositionTicks() const { return m_startPositionTicks; } + +void PlayRequest::setStartPositionTicks(std::optional newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; +} +bool PlayRequest::startPositionTicksNull() const { + return !m_startPositionTicks.has_value(); +} + +void PlayRequest::setStartPositionTicksNull() { + m_startPositionTicks = std::nullopt; + +} +PlayCommand PlayRequest::playCommand() const { return m_playCommand; } + +void PlayRequest::setPlayCommand(PlayCommand newPlayCommand) { + m_playCommand = newPlayCommand; +} + +QString PlayRequest::controllingUserId() const { return m_controllingUserId; } + +void PlayRequest::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; +} + +std::optional PlayRequest::subtitleStreamIndex() const { return m_subtitleStreamIndex; } + +void PlayRequest::setSubtitleStreamIndex(std::optional newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; +} +bool PlayRequest::subtitleStreamIndexNull() const { + return !m_subtitleStreamIndex.has_value(); +} + +void PlayRequest::setSubtitleStreamIndexNull() { + m_subtitleStreamIndex = std::nullopt; + +} +std::optional PlayRequest::audioStreamIndex() const { return m_audioStreamIndex; } + +void PlayRequest::setAudioStreamIndex(std::optional newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; +} +bool PlayRequest::audioStreamIndexNull() const { + return !m_audioStreamIndex.has_value(); +} + +void PlayRequest::setAudioStreamIndexNull() { + m_audioStreamIndex = std::nullopt; + +} +QString PlayRequest::mediaSourceId() const { return m_mediaSourceId; } + +void PlayRequest::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; +} +bool PlayRequest::mediaSourceIdNull() const { + return m_mediaSourceId.isNull(); +} + +void PlayRequest::setMediaSourceIdNull() { + m_mediaSourceId.clear(); + +} +std::optional PlayRequest::startIndex() const { return m_startIndex; } + +void PlayRequest::setStartIndex(std::optional newStartIndex) { + m_startIndex = newStartIndex; +} +bool PlayRequest::startIndexNull() const { + return !m_startIndex.has_value(); +} + +void PlayRequest::setStartIndexNull() { + m_startIndex = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using PlayRequest = Jellyfin::DTO::PlayRequest; + +template <> +PlayRequest fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlayRequest::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playrequestdto.cpp b/core/src/dto/playrequestdto.cpp new file mode 100644 index 0000000..5f07685 --- /dev/null +++ b/core/src/dto/playrequestdto.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayRequestDto::PlayRequestDto() {} + +PlayRequestDto::PlayRequestDto(const PlayRequestDto &other) : + + m_playingQueue(other.m_playingQueue), + m_playingItemPosition(other.m_playingItemPosition), + m_startPositionTicks(other.m_startPositionTicks){} + + +void PlayRequestDto::replaceData(PlayRequestDto &other) { + m_playingQueue = other.m_playingQueue; + m_playingItemPosition = other.m_playingItemPosition; + m_startPositionTicks = other.m_startPositionTicks; +} + +PlayRequestDto PlayRequestDto::fromJson(QJsonObject source) { + PlayRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void PlayRequestDto::setFromJson(QJsonObject source) { + m_playingQueue = Jellyfin::Support::fromJsonValue(source["PlayingQueue"]); + m_playingItemPosition = Jellyfin::Support::fromJsonValue(source["PlayingItemPosition"]); + m_startPositionTicks = Jellyfin::Support::fromJsonValue(source["StartPositionTicks"]); + +} + +QJsonObject PlayRequestDto::toJson() { + QJsonObject result; + result["PlayingQueue"] = Jellyfin::Support::toJsonValue(m_playingQueue); + result["PlayingItemPosition"] = Jellyfin::Support::toJsonValue(m_playingItemPosition); + result["StartPositionTicks"] = Jellyfin::Support::toJsonValue(m_startPositionTicks); + + return result; +} + +QStringList PlayRequestDto::playingQueue() const { return m_playingQueue; } + +void PlayRequestDto::setPlayingQueue(QStringList newPlayingQueue) { + m_playingQueue = newPlayingQueue; +} +bool PlayRequestDto::playingQueueNull() const { + return m_playingQueue.size() == 0; +} + +void PlayRequestDto::setPlayingQueueNull() { + m_playingQueue.clear(); + +} +qint32 PlayRequestDto::playingItemPosition() const { return m_playingItemPosition; } + +void PlayRequestDto::setPlayingItemPosition(qint32 newPlayingItemPosition) { + m_playingItemPosition = newPlayingItemPosition; +} + +qint64 PlayRequestDto::startPositionTicks() const { return m_startPositionTicks; } + +void PlayRequestDto::setStartPositionTicks(qint64 newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; +} + + +} // NS DTO + +namespace Support { + +using PlayRequestDto = Jellyfin::DTO::PlayRequestDto; + +template <> +PlayRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlayRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playstatecommand.cpp b/core/src/dto/playstatecommand.cpp new file mode 100644 index 0000000..aaf64eb --- /dev/null +++ b/core/src/dto/playstatecommand.cpp @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaystateCommandClass::PlaystateCommandClass() {} + + +} // NS DTO + +namespace Support { + +using PlaystateCommand = Jellyfin::DTO::PlaystateCommand; + +template <> +PlaystateCommand fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PlaystateCommand::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Stop")) { + return PlaystateCommand::Stop; + } + if (str == QStringLiteral("Pause")) { + return PlaystateCommand::Pause; + } + if (str == QStringLiteral("Unpause")) { + return PlaystateCommand::Unpause; + } + if (str == QStringLiteral("NextTrack")) { + return PlaystateCommand::NextTrack; + } + if (str == QStringLiteral("PreviousTrack")) { + return PlaystateCommand::PreviousTrack; + } + if (str == QStringLiteral("Seek")) { + return PlaystateCommand::Seek; + } + if (str == QStringLiteral("Rewind")) { + return PlaystateCommand::Rewind; + } + if (str == QStringLiteral("FastForward")) { + return PlaystateCommand::FastForward; + } + if (str == QStringLiteral("PlayPause")) { + return PlaystateCommand::PlayPause; + } + + return PlaystateCommand::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/playstaterequest.cpp b/core/src/dto/playstaterequest.cpp new file mode 100644 index 0000000..3554607 --- /dev/null +++ b/core/src/dto/playstaterequest.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaystateRequest::PlaystateRequest() {} + +PlaystateRequest::PlaystateRequest(const PlaystateRequest &other) : + + m_command(other.m_command), + m_seekPositionTicks(other.m_seekPositionTicks), + m_controllingUserId(other.m_controllingUserId){} + + +void PlaystateRequest::replaceData(PlaystateRequest &other) { + m_command = other.m_command; + m_seekPositionTicks = other.m_seekPositionTicks; + m_controllingUserId = other.m_controllingUserId; +} + +PlaystateRequest PlaystateRequest::fromJson(QJsonObject source) { + PlaystateRequest instance; + instance.setFromJson(source); + return instance; +} + + +void PlaystateRequest::setFromJson(QJsonObject source) { + m_command = Jellyfin::Support::fromJsonValue(source["Command"]); + m_seekPositionTicks = Jellyfin::Support::fromJsonValue>(source["SeekPositionTicks"]); + m_controllingUserId = Jellyfin::Support::fromJsonValue(source["ControllingUserId"]); + +} + +QJsonObject PlaystateRequest::toJson() { + QJsonObject result; + result["Command"] = Jellyfin::Support::toJsonValue(m_command); + result["SeekPositionTicks"] = Jellyfin::Support::toJsonValue>(m_seekPositionTicks); + result["ControllingUserId"] = Jellyfin::Support::toJsonValue(m_controllingUserId); + + return result; +} + +PlaystateCommand PlaystateRequest::command() const { return m_command; } + +void PlaystateRequest::setCommand(PlaystateCommand newCommand) { + m_command = newCommand; +} + +std::optional PlaystateRequest::seekPositionTicks() const { return m_seekPositionTicks; } + +void PlaystateRequest::setSeekPositionTicks(std::optional newSeekPositionTicks) { + m_seekPositionTicks = newSeekPositionTicks; +} +bool PlaystateRequest::seekPositionTicksNull() const { + return !m_seekPositionTicks.has_value(); +} + +void PlaystateRequest::setSeekPositionTicksNull() { + m_seekPositionTicks = std::nullopt; + +} +QString PlaystateRequest::controllingUserId() const { return m_controllingUserId; } + +void PlaystateRequest::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; +} +bool PlaystateRequest::controllingUserIdNull() const { + return m_controllingUserId.isNull(); +} + +void PlaystateRequest::setControllingUserIdNull() { + m_controllingUserId.clear(); + +} + +} // NS DTO + +namespace Support { + +using PlaystateRequest = Jellyfin::DTO::PlaystateRequest; + +template <> +PlaystateRequest fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PlaystateRequest::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/plugininfo.cpp b/core/src/dto/plugininfo.cpp new file mode 100644 index 0000000..f31e88a --- /dev/null +++ b/core/src/dto/plugininfo.cpp @@ -0,0 +1,176 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PluginInfo::PluginInfo() {} + +PluginInfo::PluginInfo(const PluginInfo &other) : + + m_name(other.m_name), + m_version(other.m_version), + m_configurationFileName(other.m_configurationFileName), + m_description(other.m_description), + m_jellyfinId(other.m_jellyfinId), + m_canUninstall(other.m_canUninstall), + m_hasImage(other.m_hasImage), + m_status(other.m_status){} + + +void PluginInfo::replaceData(PluginInfo &other) { + m_name = other.m_name; + m_version = other.m_version; + m_configurationFileName = other.m_configurationFileName; + m_description = other.m_description; + m_jellyfinId = other.m_jellyfinId; + m_canUninstall = other.m_canUninstall; + m_hasImage = other.m_hasImage; + m_status = other.m_status; +} + +PluginInfo PluginInfo::fromJson(QJsonObject source) { + PluginInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PluginInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_version = Jellyfin::Support::fromJsonValue>(source["Version"]); + m_configurationFileName = Jellyfin::Support::fromJsonValue(source["ConfigurationFileName"]); + m_description = Jellyfin::Support::fromJsonValue(source["Description"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_canUninstall = Jellyfin::Support::fromJsonValue(source["CanUninstall"]); + m_hasImage = Jellyfin::Support::fromJsonValue(source["HasImage"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + +} + +QJsonObject PluginInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Version"] = Jellyfin::Support::toJsonValue>(m_version); + result["ConfigurationFileName"] = Jellyfin::Support::toJsonValue(m_configurationFileName); + result["Description"] = Jellyfin::Support::toJsonValue(m_description); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["CanUninstall"] = Jellyfin::Support::toJsonValue(m_canUninstall); + result["HasImage"] = Jellyfin::Support::toJsonValue(m_hasImage); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + + return result; +} + +QString PluginInfo::name() const { return m_name; } + +void PluginInfo::setName(QString newName) { + m_name = newName; +} +bool PluginInfo::nameNull() const { + return m_name.isNull(); +} + +void PluginInfo::setNameNull() { + m_name.clear(); + +} +QSharedPointer PluginInfo::version() const { return m_version; } + +void PluginInfo::setVersion(QSharedPointer newVersion) { + m_version = newVersion; +} + +QString PluginInfo::configurationFileName() const { return m_configurationFileName; } + +void PluginInfo::setConfigurationFileName(QString newConfigurationFileName) { + m_configurationFileName = newConfigurationFileName; +} +bool PluginInfo::configurationFileNameNull() const { + return m_configurationFileName.isNull(); +} + +void PluginInfo::setConfigurationFileNameNull() { + m_configurationFileName.clear(); + +} +QString PluginInfo::description() const { return m_description; } + +void PluginInfo::setDescription(QString newDescription) { + m_description = newDescription; +} +bool PluginInfo::descriptionNull() const { + return m_description.isNull(); +} + +void PluginInfo::setDescriptionNull() { + m_description.clear(); + +} +QString PluginInfo::jellyfinId() const { return m_jellyfinId; } + +void PluginInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +bool PluginInfo::canUninstall() const { return m_canUninstall; } + +void PluginInfo::setCanUninstall(bool newCanUninstall) { + m_canUninstall = newCanUninstall; +} + +bool PluginInfo::hasImage() const { return m_hasImage; } + +void PluginInfo::setHasImage(bool newHasImage) { + m_hasImage = newHasImage; +} + +PluginStatus PluginInfo::status() const { return m_status; } + +void PluginInfo::setStatus(PluginStatus newStatus) { + m_status = newStatus; +} + + +} // NS DTO + +namespace Support { + +using PluginInfo = Jellyfin::DTO::PluginInfo; + +template <> +PluginInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PluginInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/pluginsecurityinfo.cpp b/core/src/dto/pluginsecurityinfo.cpp new file mode 100644 index 0000000..8d209e2 --- /dev/null +++ b/core/src/dto/pluginsecurityinfo.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PluginSecurityInfo::PluginSecurityInfo() {} + +PluginSecurityInfo::PluginSecurityInfo(const PluginSecurityInfo &other) : + + m_supporterKey(other.m_supporterKey), + m_isMbSupporter(other.m_isMbSupporter){} + + +void PluginSecurityInfo::replaceData(PluginSecurityInfo &other) { + m_supporterKey = other.m_supporterKey; + m_isMbSupporter = other.m_isMbSupporter; +} + +PluginSecurityInfo PluginSecurityInfo::fromJson(QJsonObject source) { + PluginSecurityInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PluginSecurityInfo::setFromJson(QJsonObject source) { + m_supporterKey = Jellyfin::Support::fromJsonValue(source["SupporterKey"]); + m_isMbSupporter = Jellyfin::Support::fromJsonValue(source["IsMbSupporter"]); + +} + +QJsonObject PluginSecurityInfo::toJson() { + QJsonObject result; + result["SupporterKey"] = Jellyfin::Support::toJsonValue(m_supporterKey); + result["IsMbSupporter"] = Jellyfin::Support::toJsonValue(m_isMbSupporter); + + return result; +} + +QString PluginSecurityInfo::supporterKey() const { return m_supporterKey; } + +void PluginSecurityInfo::setSupporterKey(QString newSupporterKey) { + m_supporterKey = newSupporterKey; +} +bool PluginSecurityInfo::supporterKeyNull() const { + return m_supporterKey.isNull(); +} + +void PluginSecurityInfo::setSupporterKeyNull() { + m_supporterKey.clear(); + +} +bool PluginSecurityInfo::isMbSupporter() const { return m_isMbSupporter; } + +void PluginSecurityInfo::setIsMbSupporter(bool newIsMbSupporter) { + m_isMbSupporter = newIsMbSupporter; +} + + +} // NS DTO + +namespace Support { + +using PluginSecurityInfo = Jellyfin::DTO::PluginSecurityInfo; + +template <> +PluginSecurityInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PluginSecurityInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/pluginstatus.cpp b/core/src/dto/pluginstatus.cpp new file mode 100644 index 0000000..ae303f4 --- /dev/null +++ b/core/src/dto/pluginstatus.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PluginStatusClass::PluginStatusClass() {} + + +} // NS DTO + +namespace Support { + +using PluginStatus = Jellyfin::DTO::PluginStatus; + +template <> +PluginStatus fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return PluginStatus::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Active")) { + return PluginStatus::Active; + } + if (str == QStringLiteral("Restart")) { + return PluginStatus::Restart; + } + if (str == QStringLiteral("Deleted")) { + return PluginStatus::Deleted; + } + if (str == QStringLiteral("Superceded")) { + return PluginStatus::Superceded; + } + if (str == QStringLiteral("Malfunctioned")) { + return PluginStatus::Malfunctioned; + } + if (str == QStringLiteral("NotSupported")) { + return PluginStatus::NotSupported; + } + if (str == QStringLiteral("Disabled")) { + return PluginStatus::Disabled; + } + + return PluginStatus::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/previousitemrequestdto.cpp b/core/src/dto/previousitemrequestdto.cpp new file mode 100644 index 0000000..027802d --- /dev/null +++ b/core/src/dto/previousitemrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PreviousItemRequestDto::PreviousItemRequestDto() {} + +PreviousItemRequestDto::PreviousItemRequestDto(const PreviousItemRequestDto &other) : + + m_playlistItemId(other.m_playlistItemId){} + + +void PreviousItemRequestDto::replaceData(PreviousItemRequestDto &other) { + m_playlistItemId = other.m_playlistItemId; +} + +PreviousItemRequestDto PreviousItemRequestDto::fromJson(QJsonObject source) { + PreviousItemRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void PreviousItemRequestDto::setFromJson(QJsonObject source) { + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject PreviousItemRequestDto::toJson() { + QJsonObject result; + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QString PreviousItemRequestDto::playlistItemId() const { return m_playlistItemId; } + +void PreviousItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + + +} // NS DTO + +namespace Support { + +using PreviousItemRequestDto = Jellyfin::DTO::PreviousItemRequestDto; + +template <> +PreviousItemRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PreviousItemRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/problemdetails.cpp b/core/src/dto/problemdetails.cpp new file mode 100644 index 0000000..ba209f3 --- /dev/null +++ b/core/src/dto/problemdetails.cpp @@ -0,0 +1,160 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProblemDetails::ProblemDetails() {} + +ProblemDetails::ProblemDetails(const ProblemDetails &other) : + + m_type(other.m_type), + m_title(other.m_title), + m_status(other.m_status), + m_detail(other.m_detail), + m_instance(other.m_instance){} + + +void ProblemDetails::replaceData(ProblemDetails &other) { + m_type = other.m_type; + m_title = other.m_title; + m_status = other.m_status; + m_detail = other.m_detail; + m_instance = other.m_instance; +} + +ProblemDetails ProblemDetails::fromJson(QJsonObject source) { + ProblemDetails instance; + instance.setFromJson(source); + return instance; +} + + +void ProblemDetails::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["type"]); + m_title = Jellyfin::Support::fromJsonValue(source["title"]); + m_status = Jellyfin::Support::fromJsonValue>(source["status"]); + m_detail = Jellyfin::Support::fromJsonValue(source["detail"]); + m_instance = Jellyfin::Support::fromJsonValue(source["instance"]); + +} + +QJsonObject ProblemDetails::toJson() { + QJsonObject result; + result["type"] = Jellyfin::Support::toJsonValue(m_type); + result["title"] = Jellyfin::Support::toJsonValue(m_title); + result["status"] = Jellyfin::Support::toJsonValue>(m_status); + result["detail"] = Jellyfin::Support::toJsonValue(m_detail); + result["instance"] = Jellyfin::Support::toJsonValue(m_instance); + + return result; +} + +QString ProblemDetails::type() const { return m_type; } + +void ProblemDetails::setType(QString newType) { + m_type = newType; +} +bool ProblemDetails::typeNull() const { + return m_type.isNull(); +} + +void ProblemDetails::setTypeNull() { + m_type.clear(); + +} +QString ProblemDetails::title() const { return m_title; } + +void ProblemDetails::setTitle(QString newTitle) { + m_title = newTitle; +} +bool ProblemDetails::titleNull() const { + return m_title.isNull(); +} + +void ProblemDetails::setTitleNull() { + m_title.clear(); + +} +std::optional ProblemDetails::status() const { return m_status; } + +void ProblemDetails::setStatus(std::optional newStatus) { + m_status = newStatus; +} +bool ProblemDetails::statusNull() const { + return !m_status.has_value(); +} + +void ProblemDetails::setStatusNull() { + m_status = std::nullopt; + +} +QString ProblemDetails::detail() const { return m_detail; } + +void ProblemDetails::setDetail(QString newDetail) { + m_detail = newDetail; +} +bool ProblemDetails::detailNull() const { + return m_detail.isNull(); +} + +void ProblemDetails::setDetailNull() { + m_detail.clear(); + +} +QString ProblemDetails::instance() const { return m_instance; } + +void ProblemDetails::setInstance(QString newInstance) { + m_instance = newInstance; +} +bool ProblemDetails::instanceNull() const { + return m_instance.isNull(); +} + +void ProblemDetails::setInstanceNull() { + m_instance.clear(); + +} + +} // NS DTO + +namespace Support { + +using ProblemDetails = Jellyfin::DTO::ProblemDetails; + +template <> +ProblemDetails fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ProblemDetails::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/profilecondition.cpp b/core/src/dto/profilecondition.cpp new file mode 100644 index 0000000..7e32e60 --- /dev/null +++ b/core/src/dto/profilecondition.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProfileCondition::ProfileCondition() {} + +ProfileCondition::ProfileCondition(const ProfileCondition &other) : + + m_condition(other.m_condition), + m_property(other.m_property), + m_value(other.m_value), + m_isRequired(other.m_isRequired){} + + +void ProfileCondition::replaceData(ProfileCondition &other) { + m_condition = other.m_condition; + m_property = other.m_property; + m_value = other.m_value; + m_isRequired = other.m_isRequired; +} + +ProfileCondition ProfileCondition::fromJson(QJsonObject source) { + ProfileCondition instance; + instance.setFromJson(source); + return instance; +} + + +void ProfileCondition::setFromJson(QJsonObject source) { + m_condition = Jellyfin::Support::fromJsonValue(source["Condition"]); + m_property = Jellyfin::Support::fromJsonValue(source["Property"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + m_isRequired = Jellyfin::Support::fromJsonValue(source["IsRequired"]); + +} + +QJsonObject ProfileCondition::toJson() { + QJsonObject result; + result["Condition"] = Jellyfin::Support::toJsonValue(m_condition); + result["Property"] = Jellyfin::Support::toJsonValue(m_property); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + result["IsRequired"] = Jellyfin::Support::toJsonValue(m_isRequired); + + return result; +} + +ProfileConditionType ProfileCondition::condition() const { return m_condition; } + +void ProfileCondition::setCondition(ProfileConditionType newCondition) { + m_condition = newCondition; +} + +ProfileConditionValue ProfileCondition::property() const { return m_property; } + +void ProfileCondition::setProperty(ProfileConditionValue newProperty) { + m_property = newProperty; +} + +QString ProfileCondition::value() const { return m_value; } + +void ProfileCondition::setValue(QString newValue) { + m_value = newValue; +} +bool ProfileCondition::valueNull() const { + return m_value.isNull(); +} + +void ProfileCondition::setValueNull() { + m_value.clear(); + +} +bool ProfileCondition::isRequired() const { return m_isRequired; } + +void ProfileCondition::setIsRequired(bool newIsRequired) { + m_isRequired = newIsRequired; +} + + +} // NS DTO + +namespace Support { + +using ProfileCondition = Jellyfin::DTO::ProfileCondition; + +template <> +ProfileCondition fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ProfileCondition::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/profileconditiontype.cpp b/core/src/dto/profileconditiontype.cpp new file mode 100644 index 0000000..3a2f5da --- /dev/null +++ b/core/src/dto/profileconditiontype.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProfileConditionTypeClass::ProfileConditionTypeClass() {} + + +} // NS DTO + +namespace Support { + +using ProfileConditionType = Jellyfin::DTO::ProfileConditionType; + +template <> +ProfileConditionType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ProfileConditionType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Equals")) { + return ProfileConditionType::Equals; + } + if (str == QStringLiteral("NotEquals")) { + return ProfileConditionType::NotEquals; + } + if (str == QStringLiteral("LessThanEqual")) { + return ProfileConditionType::LessThanEqual; + } + if (str == QStringLiteral("GreaterThanEqual")) { + return ProfileConditionType::GreaterThanEqual; + } + if (str == QStringLiteral("EqualsAny")) { + return ProfileConditionType::EqualsAny; + } + + return ProfileConditionType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/profileconditionvalue.cpp b/core/src/dto/profileconditionvalue.cpp new file mode 100644 index 0000000..d924606 --- /dev/null +++ b/core/src/dto/profileconditionvalue.cpp @@ -0,0 +1,123 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProfileConditionValueClass::ProfileConditionValueClass() {} + + +} // NS DTO + +namespace Support { + +using ProfileConditionValue = Jellyfin::DTO::ProfileConditionValue; + +template <> +ProfileConditionValue fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ProfileConditionValue::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("AudioChannels")) { + return ProfileConditionValue::AudioChannels; + } + if (str == QStringLiteral("AudioBitrate")) { + return ProfileConditionValue::AudioBitrate; + } + if (str == QStringLiteral("AudioProfile")) { + return ProfileConditionValue::AudioProfile; + } + if (str == QStringLiteral("Width")) { + return ProfileConditionValue::Width; + } + if (str == QStringLiteral("Height")) { + return ProfileConditionValue::Height; + } + if (str == QStringLiteral("Has64BitOffsets")) { + return ProfileConditionValue::Has64BitOffsets; + } + if (str == QStringLiteral("PacketLength")) { + return ProfileConditionValue::PacketLength; + } + if (str == QStringLiteral("VideoBitDepth")) { + return ProfileConditionValue::VideoBitDepth; + } + if (str == QStringLiteral("VideoBitrate")) { + return ProfileConditionValue::VideoBitrate; + } + if (str == QStringLiteral("VideoFramerate")) { + return ProfileConditionValue::VideoFramerate; + } + if (str == QStringLiteral("VideoLevel")) { + return ProfileConditionValue::VideoLevel; + } + if (str == QStringLiteral("VideoProfile")) { + return ProfileConditionValue::VideoProfile; + } + if (str == QStringLiteral("VideoTimestamp")) { + return ProfileConditionValue::VideoTimestamp; + } + if (str == QStringLiteral("IsAnamorphic")) { + return ProfileConditionValue::IsAnamorphic; + } + if (str == QStringLiteral("RefFrames")) { + return ProfileConditionValue::RefFrames; + } + if (str == QStringLiteral("NumAudioStreams")) { + return ProfileConditionValue::NumAudioStreams; + } + if (str == QStringLiteral("NumVideoStreams")) { + return ProfileConditionValue::NumVideoStreams; + } + if (str == QStringLiteral("IsSecondaryAudio")) { + return ProfileConditionValue::IsSecondaryAudio; + } + if (str == QStringLiteral("VideoCodecTag")) { + return ProfileConditionValue::VideoCodecTag; + } + if (str == QStringLiteral("IsAvc")) { + return ProfileConditionValue::IsAvc; + } + if (str == QStringLiteral("IsInterlaced")) { + return ProfileConditionValue::IsInterlaced; + } + if (str == QStringLiteral("AudioSampleRate")) { + return ProfileConditionValue::AudioSampleRate; + } + if (str == QStringLiteral("AudioBitDepth")) { + return ProfileConditionValue::AudioBitDepth; + } + + return ProfileConditionValue::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/programaudio.cpp b/core/src/dto/programaudio.cpp new file mode 100644 index 0000000..3f5ffac --- /dev/null +++ b/core/src/dto/programaudio.cpp @@ -0,0 +1,72 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProgramAudioClass::ProgramAudioClass() {} + + +} // NS DTO + +namespace Support { + +using ProgramAudio = Jellyfin::DTO::ProgramAudio; + +template <> +ProgramAudio fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ProgramAudio::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Mono")) { + return ProgramAudio::Mono; + } + if (str == QStringLiteral("Stereo")) { + return ProgramAudio::Stereo; + } + if (str == QStringLiteral("Dolby")) { + return ProgramAudio::Dolby; + } + if (str == QStringLiteral("DolbyDigital")) { + return ProgramAudio::DolbyDigital; + } + if (str == QStringLiteral("Thx")) { + return ProgramAudio::Thx; + } + if (str == QStringLiteral("Atmos")) { + return ProgramAudio::Atmos; + } + + return ProgramAudio::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/publicsysteminfo.cpp b/core/src/dto/publicsysteminfo.cpp new file mode 100644 index 0000000..d4686fa --- /dev/null +++ b/core/src/dto/publicsysteminfo.cpp @@ -0,0 +1,194 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PublicSystemInfo::PublicSystemInfo() {} + +PublicSystemInfo::PublicSystemInfo(const PublicSystemInfo &other) : + + m_localAddress(other.m_localAddress), + m_serverName(other.m_serverName), + m_version(other.m_version), + m_productName(other.m_productName), + m_operatingSystem(other.m_operatingSystem), + m_jellyfinId(other.m_jellyfinId), + m_startupWizardCompleted(other.m_startupWizardCompleted){} + + +void PublicSystemInfo::replaceData(PublicSystemInfo &other) { + m_localAddress = other.m_localAddress; + m_serverName = other.m_serverName; + m_version = other.m_version; + m_productName = other.m_productName; + m_operatingSystem = other.m_operatingSystem; + m_jellyfinId = other.m_jellyfinId; + m_startupWizardCompleted = other.m_startupWizardCompleted; +} + +PublicSystemInfo PublicSystemInfo::fromJson(QJsonObject source) { + PublicSystemInfo instance; + instance.setFromJson(source); + return instance; +} + + +void PublicSystemInfo::setFromJson(QJsonObject source) { + m_localAddress = Jellyfin::Support::fromJsonValue(source["LocalAddress"]); + m_serverName = Jellyfin::Support::fromJsonValue(source["ServerName"]); + m_version = Jellyfin::Support::fromJsonValue(source["Version"]); + m_productName = Jellyfin::Support::fromJsonValue(source["ProductName"]); + m_operatingSystem = Jellyfin::Support::fromJsonValue(source["OperatingSystem"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_startupWizardCompleted = Jellyfin::Support::fromJsonValue>(source["StartupWizardCompleted"]); + +} + +QJsonObject PublicSystemInfo::toJson() { + QJsonObject result; + result["LocalAddress"] = Jellyfin::Support::toJsonValue(m_localAddress); + result["ServerName"] = Jellyfin::Support::toJsonValue(m_serverName); + result["Version"] = Jellyfin::Support::toJsonValue(m_version); + result["ProductName"] = Jellyfin::Support::toJsonValue(m_productName); + result["OperatingSystem"] = Jellyfin::Support::toJsonValue(m_operatingSystem); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["StartupWizardCompleted"] = Jellyfin::Support::toJsonValue>(m_startupWizardCompleted); + + return result; +} + +QString PublicSystemInfo::localAddress() const { return m_localAddress; } + +void PublicSystemInfo::setLocalAddress(QString newLocalAddress) { + m_localAddress = newLocalAddress; +} +bool PublicSystemInfo::localAddressNull() const { + return m_localAddress.isNull(); +} + +void PublicSystemInfo::setLocalAddressNull() { + m_localAddress.clear(); + +} +QString PublicSystemInfo::serverName() const { return m_serverName; } + +void PublicSystemInfo::setServerName(QString newServerName) { + m_serverName = newServerName; +} +bool PublicSystemInfo::serverNameNull() const { + return m_serverName.isNull(); +} + +void PublicSystemInfo::setServerNameNull() { + m_serverName.clear(); + +} +QString PublicSystemInfo::version() const { return m_version; } + +void PublicSystemInfo::setVersion(QString newVersion) { + m_version = newVersion; +} +bool PublicSystemInfo::versionNull() const { + return m_version.isNull(); +} + +void PublicSystemInfo::setVersionNull() { + m_version.clear(); + +} +QString PublicSystemInfo::productName() const { return m_productName; } + +void PublicSystemInfo::setProductName(QString newProductName) { + m_productName = newProductName; +} +bool PublicSystemInfo::productNameNull() const { + return m_productName.isNull(); +} + +void PublicSystemInfo::setProductNameNull() { + m_productName.clear(); + +} +QString PublicSystemInfo::operatingSystem() const { return m_operatingSystem; } + +void PublicSystemInfo::setOperatingSystem(QString newOperatingSystem) { + m_operatingSystem = newOperatingSystem; +} +bool PublicSystemInfo::operatingSystemNull() const { + return m_operatingSystem.isNull(); +} + +void PublicSystemInfo::setOperatingSystemNull() { + m_operatingSystem.clear(); + +} +QString PublicSystemInfo::jellyfinId() const { return m_jellyfinId; } + +void PublicSystemInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool PublicSystemInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void PublicSystemInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +std::optional PublicSystemInfo::startupWizardCompleted() const { return m_startupWizardCompleted; } + +void PublicSystemInfo::setStartupWizardCompleted(std::optional newStartupWizardCompleted) { + m_startupWizardCompleted = newStartupWizardCompleted; +} +bool PublicSystemInfo::startupWizardCompletedNull() const { + return !m_startupWizardCompleted.has_value(); +} + +void PublicSystemInfo::setStartupWizardCompletedNull() { + m_startupWizardCompleted = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using PublicSystemInfo = Jellyfin::DTO::PublicSystemInfo; + +template <> +PublicSystemInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return PublicSystemInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/queryfilters.cpp b/core/src/dto/queryfilters.cpp new file mode 100644 index 0000000..4a7a786 --- /dev/null +++ b/core/src/dto/queryfilters.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueryFilters::QueryFilters() {} + +QueryFilters::QueryFilters(const QueryFilters &other) : + + m_genres(other.m_genres), + m_tags(other.m_tags){} + + +void QueryFilters::replaceData(QueryFilters &other) { + m_genres = other.m_genres; + m_tags = other.m_tags; +} + +QueryFilters QueryFilters::fromJson(QJsonObject source) { + QueryFilters instance; + instance.setFromJson(source); + return instance; +} + + +void QueryFilters::setFromJson(QJsonObject source) { + m_genres = Jellyfin::Support::fromJsonValue>>(source["Genres"]); + m_tags = Jellyfin::Support::fromJsonValue(source["Tags"]); + +} + +QJsonObject QueryFilters::toJson() { + QJsonObject result; + result["Genres"] = Jellyfin::Support::toJsonValue>>(m_genres); + result["Tags"] = Jellyfin::Support::toJsonValue(m_tags); + + return result; +} + +QList> QueryFilters::genres() const { return m_genres; } + +void QueryFilters::setGenres(QList> newGenres) { + m_genres = newGenres; +} +bool QueryFilters::genresNull() const { + return m_genres.size() == 0; +} + +void QueryFilters::setGenresNull() { + m_genres.clear(); + +} +QStringList QueryFilters::tags() const { return m_tags; } + +void QueryFilters::setTags(QStringList newTags) { + m_tags = newTags; +} +bool QueryFilters::tagsNull() const { + return m_tags.size() == 0; +} + +void QueryFilters::setTagsNull() { + m_tags.clear(); + +} + +} // NS DTO + +namespace Support { + +using QueryFilters = Jellyfin::DTO::QueryFilters; + +template <> +QueryFilters fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QueryFilters::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/queryfilterslegacy.cpp b/core/src/dto/queryfilterslegacy.cpp new file mode 100644 index 0000000..6f78f4c --- /dev/null +++ b/core/src/dto/queryfilterslegacy.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueryFiltersLegacy::QueryFiltersLegacy() {} + +QueryFiltersLegacy::QueryFiltersLegacy(const QueryFiltersLegacy &other) : + + m_genres(other.m_genres), + m_tags(other.m_tags), + m_officialRatings(other.m_officialRatings), + m_years(other.m_years){} + + +void QueryFiltersLegacy::replaceData(QueryFiltersLegacy &other) { + m_genres = other.m_genres; + m_tags = other.m_tags; + m_officialRatings = other.m_officialRatings; + m_years = other.m_years; +} + +QueryFiltersLegacy QueryFiltersLegacy::fromJson(QJsonObject source) { + QueryFiltersLegacy instance; + instance.setFromJson(source); + return instance; +} + + +void QueryFiltersLegacy::setFromJson(QJsonObject source) { + m_genres = Jellyfin::Support::fromJsonValue(source["Genres"]); + m_tags = Jellyfin::Support::fromJsonValue(source["Tags"]); + m_officialRatings = Jellyfin::Support::fromJsonValue(source["OfficialRatings"]); + m_years = Jellyfin::Support::fromJsonValue>(source["Years"]); + +} + +QJsonObject QueryFiltersLegacy::toJson() { + QJsonObject result; + result["Genres"] = Jellyfin::Support::toJsonValue(m_genres); + result["Tags"] = Jellyfin::Support::toJsonValue(m_tags); + result["OfficialRatings"] = Jellyfin::Support::toJsonValue(m_officialRatings); + result["Years"] = Jellyfin::Support::toJsonValue>(m_years); + + return result; +} + +QStringList QueryFiltersLegacy::genres() const { return m_genres; } + +void QueryFiltersLegacy::setGenres(QStringList newGenres) { + m_genres = newGenres; +} +bool QueryFiltersLegacy::genresNull() const { + return m_genres.size() == 0; +} + +void QueryFiltersLegacy::setGenresNull() { + m_genres.clear(); + +} +QStringList QueryFiltersLegacy::tags() const { return m_tags; } + +void QueryFiltersLegacy::setTags(QStringList newTags) { + m_tags = newTags; +} +bool QueryFiltersLegacy::tagsNull() const { + return m_tags.size() == 0; +} + +void QueryFiltersLegacy::setTagsNull() { + m_tags.clear(); + +} +QStringList QueryFiltersLegacy::officialRatings() const { return m_officialRatings; } + +void QueryFiltersLegacy::setOfficialRatings(QStringList newOfficialRatings) { + m_officialRatings = newOfficialRatings; +} +bool QueryFiltersLegacy::officialRatingsNull() const { + return m_officialRatings.size() == 0; +} + +void QueryFiltersLegacy::setOfficialRatingsNull() { + m_officialRatings.clear(); + +} +QList QueryFiltersLegacy::years() const { return m_years; } + +void QueryFiltersLegacy::setYears(QList newYears) { + m_years = newYears; +} +bool QueryFiltersLegacy::yearsNull() const { + return m_years.size() == 0; +} + +void QueryFiltersLegacy::setYearsNull() { + m_years.clear(); + +} + +} // NS DTO + +namespace Support { + +using QueryFiltersLegacy = Jellyfin::DTO::QueryFiltersLegacy; + +template <> +QueryFiltersLegacy fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QueryFiltersLegacy::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/queueitem.cpp b/core/src/dto/queueitem.cpp new file mode 100644 index 0000000..fd4fd0a --- /dev/null +++ b/core/src/dto/queueitem.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueueItem::QueueItem() {} + +QueueItem::QueueItem(const QueueItem &other) : + + m_jellyfinId(other.m_jellyfinId), + m_playlistItemId(other.m_playlistItemId){} + + +void QueueItem::replaceData(QueueItem &other) { + m_jellyfinId = other.m_jellyfinId; + m_playlistItemId = other.m_playlistItemId; +} + +QueueItem QueueItem::fromJson(QJsonObject source) { + QueueItem instance; + instance.setFromJson(source); + return instance; +} + + +void QueueItem::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject QueueItem::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QString QueueItem::jellyfinId() const { return m_jellyfinId; } + +void QueueItem::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString QueueItem::playlistItemId() const { return m_playlistItemId; } + +void QueueItem::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool QueueItem::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void QueueItem::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} + +} // NS DTO + +namespace Support { + +using QueueItem = Jellyfin::DTO::QueueItem; + +template <> +QueueItem fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QueueItem::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/queuerequestdto.cpp b/core/src/dto/queuerequestdto.cpp new file mode 100644 index 0000000..8992ee6 --- /dev/null +++ b/core/src/dto/queuerequestdto.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueueRequestDto::QueueRequestDto() {} + +QueueRequestDto::QueueRequestDto(const QueueRequestDto &other) : + + m_itemIds(other.m_itemIds), + m_mode(other.m_mode){} + + +void QueueRequestDto::replaceData(QueueRequestDto &other) { + m_itemIds = other.m_itemIds; + m_mode = other.m_mode; +} + +QueueRequestDto QueueRequestDto::fromJson(QJsonObject source) { + QueueRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void QueueRequestDto::setFromJson(QJsonObject source) { + m_itemIds = Jellyfin::Support::fromJsonValue(source["ItemIds"]); + m_mode = Jellyfin::Support::fromJsonValue(source["Mode"]); + +} + +QJsonObject QueueRequestDto::toJson() { + QJsonObject result; + result["ItemIds"] = Jellyfin::Support::toJsonValue(m_itemIds); + result["Mode"] = Jellyfin::Support::toJsonValue(m_mode); + + return result; +} + +QStringList QueueRequestDto::itemIds() const { return m_itemIds; } + +void QueueRequestDto::setItemIds(QStringList newItemIds) { + m_itemIds = newItemIds; +} +bool QueueRequestDto::itemIdsNull() const { + return m_itemIds.size() == 0; +} + +void QueueRequestDto::setItemIdsNull() { + m_itemIds.clear(); + +} +GroupQueueMode QueueRequestDto::mode() const { return m_mode; } + +void QueueRequestDto::setMode(GroupQueueMode newMode) { + m_mode = newMode; +} + + +} // NS DTO + +namespace Support { + +using QueueRequestDto = Jellyfin::DTO::QueueRequestDto; + +template <> +QueueRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QueueRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/quickconnectdto.cpp b/core/src/dto/quickconnectdto.cpp new file mode 100644 index 0000000..ddedfaa --- /dev/null +++ b/core/src/dto/quickconnectdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QuickConnectDto::QuickConnectDto() {} + +QuickConnectDto::QuickConnectDto(const QuickConnectDto &other) : + + m_token(other.m_token){} + + +void QuickConnectDto::replaceData(QuickConnectDto &other) { + m_token = other.m_token; +} + +QuickConnectDto QuickConnectDto::fromJson(QJsonObject source) { + QuickConnectDto instance; + instance.setFromJson(source); + return instance; +} + + +void QuickConnectDto::setFromJson(QJsonObject source) { + m_token = Jellyfin::Support::fromJsonValue(source["Token"]); + +} + +QJsonObject QuickConnectDto::toJson() { + QJsonObject result; + result["Token"] = Jellyfin::Support::toJsonValue(m_token); + + return result; +} + +QString QuickConnectDto::token() const { return m_token; } + +void QuickConnectDto::setToken(QString newToken) { + m_token = newToken; +} + + +} // NS DTO + +namespace Support { + +using QuickConnectDto = Jellyfin::DTO::QuickConnectDto; + +template <> +QuickConnectDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QuickConnectDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/quickconnectresult.cpp b/core/src/dto/quickconnectresult.cpp new file mode 100644 index 0000000..dd9cdfc --- /dev/null +++ b/core/src/dto/quickconnectresult.cpp @@ -0,0 +1,170 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QuickConnectResult::QuickConnectResult() {} + +QuickConnectResult::QuickConnectResult(const QuickConnectResult &other) : + + m_authenticated(other.m_authenticated), + m_secret(other.m_secret), + m_code(other.m_code), + m_authentication(other.m_authentication), + m_error(other.m_error), + m_dateAdded(other.m_dateAdded){} + + +void QuickConnectResult::replaceData(QuickConnectResult &other) { + m_authenticated = other.m_authenticated; + m_secret = other.m_secret; + m_code = other.m_code; + m_authentication = other.m_authentication; + m_error = other.m_error; + m_dateAdded = other.m_dateAdded; +} + +QuickConnectResult QuickConnectResult::fromJson(QJsonObject source) { + QuickConnectResult instance; + instance.setFromJson(source); + return instance; +} + + +void QuickConnectResult::setFromJson(QJsonObject source) { + m_authenticated = Jellyfin::Support::fromJsonValue(source["Authenticated"]); + m_secret = Jellyfin::Support::fromJsonValue(source["Secret"]); + m_code = Jellyfin::Support::fromJsonValue(source["Code"]); + m_authentication = Jellyfin::Support::fromJsonValue(source["Authentication"]); + m_error = Jellyfin::Support::fromJsonValue(source["Error"]); + m_dateAdded = Jellyfin::Support::fromJsonValue(source["DateAdded"]); + +} + +QJsonObject QuickConnectResult::toJson() { + QJsonObject result; + result["Authenticated"] = Jellyfin::Support::toJsonValue(m_authenticated); + result["Secret"] = Jellyfin::Support::toJsonValue(m_secret); + result["Code"] = Jellyfin::Support::toJsonValue(m_code); + result["Authentication"] = Jellyfin::Support::toJsonValue(m_authentication); + result["Error"] = Jellyfin::Support::toJsonValue(m_error); + result["DateAdded"] = Jellyfin::Support::toJsonValue(m_dateAdded); + + return result; +} + +bool QuickConnectResult::authenticated() const { return m_authenticated; } + +void QuickConnectResult::setAuthenticated(bool newAuthenticated) { + m_authenticated = newAuthenticated; +} + +QString QuickConnectResult::secret() const { return m_secret; } + +void QuickConnectResult::setSecret(QString newSecret) { + m_secret = newSecret; +} +bool QuickConnectResult::secretNull() const { + return m_secret.isNull(); +} + +void QuickConnectResult::setSecretNull() { + m_secret.clear(); + +} +QString QuickConnectResult::code() const { return m_code; } + +void QuickConnectResult::setCode(QString newCode) { + m_code = newCode; +} +bool QuickConnectResult::codeNull() const { + return m_code.isNull(); +} + +void QuickConnectResult::setCodeNull() { + m_code.clear(); + +} +QString QuickConnectResult::authentication() const { return m_authentication; } + +void QuickConnectResult::setAuthentication(QString newAuthentication) { + m_authentication = newAuthentication; +} +bool QuickConnectResult::authenticationNull() const { + return m_authentication.isNull(); +} + +void QuickConnectResult::setAuthenticationNull() { + m_authentication.clear(); + +} +QString QuickConnectResult::error() const { return m_error; } + +void QuickConnectResult::setError(QString newError) { + m_error = newError; +} +bool QuickConnectResult::errorNull() const { + return m_error.isNull(); +} + +void QuickConnectResult::setErrorNull() { + m_error.clear(); + +} +QDateTime QuickConnectResult::dateAdded() const { return m_dateAdded; } + +void QuickConnectResult::setDateAdded(QDateTime newDateAdded) { + m_dateAdded = newDateAdded; +} +bool QuickConnectResult::dateAddedNull() const { + return m_dateAdded.isNull(); +} + +void QuickConnectResult::setDateAddedNull() { + m_dateAdded= QDateTime(); + +} + +} // NS DTO + +namespace Support { + +using QuickConnectResult = Jellyfin::DTO::QuickConnectResult; + +template <> +QuickConnectResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return QuickConnectResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/quickconnectstate.cpp b/core/src/dto/quickconnectstate.cpp new file mode 100644 index 0000000..82d82fd --- /dev/null +++ b/core/src/dto/quickconnectstate.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QuickConnectStateClass::QuickConnectStateClass() {} + + +} // NS DTO + +namespace Support { + +using QuickConnectState = Jellyfin::DTO::QuickConnectState; + +template <> +QuickConnectState fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return QuickConnectState::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Unavailable")) { + return QuickConnectState::Unavailable; + } + if (str == QStringLiteral("Available")) { + return QuickConnectState::Available; + } + if (str == QStringLiteral("Active")) { + return QuickConnectState::Active; + } + + return QuickConnectState::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/ratingtype.cpp b/core/src/dto/ratingtype.cpp new file mode 100644 index 0000000..8140a73 --- /dev/null +++ b/core/src/dto/ratingtype.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RatingTypeClass::RatingTypeClass() {} + + +} // NS DTO + +namespace Support { + +using RatingType = Jellyfin::DTO::RatingType; + +template <> +RatingType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return RatingType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Score")) { + return RatingType::Score; + } + if (str == QStringLiteral("Likes")) { + return RatingType::Likes; + } + + return RatingType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/readyrequestdto.cpp b/core/src/dto/readyrequestdto.cpp new file mode 100644 index 0000000..5bffcd9 --- /dev/null +++ b/core/src/dto/readyrequestdto.cpp @@ -0,0 +1,115 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ReadyRequestDto::ReadyRequestDto() {} + +ReadyRequestDto::ReadyRequestDto(const ReadyRequestDto &other) : + + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_isPlaying(other.m_isPlaying), + m_playlistItemId(other.m_playlistItemId){} + + +void ReadyRequestDto::replaceData(ReadyRequestDto &other) { + m_when = other.m_when; + m_positionTicks = other.m_positionTicks; + m_isPlaying = other.m_isPlaying; + m_playlistItemId = other.m_playlistItemId; +} + +ReadyRequestDto ReadyRequestDto::fromJson(QJsonObject source) { + ReadyRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void ReadyRequestDto::setFromJson(QJsonObject source) { + m_when = Jellyfin::Support::fromJsonValue(source["When"]); + m_positionTicks = Jellyfin::Support::fromJsonValue(source["PositionTicks"]); + m_isPlaying = Jellyfin::Support::fromJsonValue(source["IsPlaying"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject ReadyRequestDto::toJson() { + QJsonObject result; + result["When"] = Jellyfin::Support::toJsonValue(m_when); + result["PositionTicks"] = Jellyfin::Support::toJsonValue(m_positionTicks); + result["IsPlaying"] = Jellyfin::Support::toJsonValue(m_isPlaying); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QDateTime ReadyRequestDto::when() const { return m_when; } + +void ReadyRequestDto::setWhen(QDateTime newWhen) { + m_when = newWhen; +} + +qint64 ReadyRequestDto::positionTicks() const { return m_positionTicks; } + +void ReadyRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; +} + +bool ReadyRequestDto::isPlaying() const { return m_isPlaying; } + +void ReadyRequestDto::setIsPlaying(bool newIsPlaying) { + m_isPlaying = newIsPlaying; +} + +QString ReadyRequestDto::playlistItemId() const { return m_playlistItemId; } + +void ReadyRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + + +} // NS DTO + +namespace Support { + +using ReadyRequestDto = Jellyfin::DTO::ReadyRequestDto; + +template <> +ReadyRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ReadyRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/recommendationdto.cpp b/core/src/dto/recommendationdto.cpp new file mode 100644 index 0000000..dafab5a --- /dev/null +++ b/core/src/dto/recommendationdto.cpp @@ -0,0 +1,129 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RecommendationDto::RecommendationDto() {} + +RecommendationDto::RecommendationDto(const RecommendationDto &other) : + + m_items(other.m_items), + m_recommendationType(other.m_recommendationType), + m_baselineItemName(other.m_baselineItemName), + m_categoryId(other.m_categoryId){} + + +void RecommendationDto::replaceData(RecommendationDto &other) { + m_items = other.m_items; + m_recommendationType = other.m_recommendationType; + m_baselineItemName = other.m_baselineItemName; + m_categoryId = other.m_categoryId; +} + +RecommendationDto RecommendationDto::fromJson(QJsonObject source) { + RecommendationDto instance; + instance.setFromJson(source); + return instance; +} + + +void RecommendationDto::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_recommendationType = Jellyfin::Support::fromJsonValue(source["RecommendationType"]); + m_baselineItemName = Jellyfin::Support::fromJsonValue(source["BaselineItemName"]); + m_categoryId = Jellyfin::Support::fromJsonValue(source["CategoryId"]); + +} + +QJsonObject RecommendationDto::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["RecommendationType"] = Jellyfin::Support::toJsonValue(m_recommendationType); + result["BaselineItemName"] = Jellyfin::Support::toJsonValue(m_baselineItemName); + result["CategoryId"] = Jellyfin::Support::toJsonValue(m_categoryId); + + return result; +} + +QList> RecommendationDto::items() const { return m_items; } + +void RecommendationDto::setItems(QList> newItems) { + m_items = newItems; +} +bool RecommendationDto::itemsNull() const { + return m_items.size() == 0; +} + +void RecommendationDto::setItemsNull() { + m_items.clear(); + +} +RecommendationType RecommendationDto::recommendationType() const { return m_recommendationType; } + +void RecommendationDto::setRecommendationType(RecommendationType newRecommendationType) { + m_recommendationType = newRecommendationType; +} + +QString RecommendationDto::baselineItemName() const { return m_baselineItemName; } + +void RecommendationDto::setBaselineItemName(QString newBaselineItemName) { + m_baselineItemName = newBaselineItemName; +} +bool RecommendationDto::baselineItemNameNull() const { + return m_baselineItemName.isNull(); +} + +void RecommendationDto::setBaselineItemNameNull() { + m_baselineItemName.clear(); + +} +QString RecommendationDto::categoryId() const { return m_categoryId; } + +void RecommendationDto::setCategoryId(QString newCategoryId) { + m_categoryId = newCategoryId; +} + + +} // NS DTO + +namespace Support { + +using RecommendationDto = Jellyfin::DTO::RecommendationDto; + +template <> +RecommendationDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RecommendationDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/recommendationtype.cpp b/core/src/dto/recommendationtype.cpp new file mode 100644 index 0000000..e2dc962 --- /dev/null +++ b/core/src/dto/recommendationtype.cpp @@ -0,0 +1,72 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RecommendationTypeClass::RecommendationTypeClass() {} + + +} // NS DTO + +namespace Support { + +using RecommendationType = Jellyfin::DTO::RecommendationType; + +template <> +RecommendationType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return RecommendationType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("SimilarToRecentlyPlayed")) { + return RecommendationType::SimilarToRecentlyPlayed; + } + if (str == QStringLiteral("SimilarToLikedItem")) { + return RecommendationType::SimilarToLikedItem; + } + if (str == QStringLiteral("HasDirectorFromRecentlyPlayed")) { + return RecommendationType::HasDirectorFromRecentlyPlayed; + } + if (str == QStringLiteral("HasActorFromRecentlyPlayed")) { + return RecommendationType::HasActorFromRecentlyPlayed; + } + if (str == QStringLiteral("HasLikedDirector")) { + return RecommendationType::HasLikedDirector; + } + if (str == QStringLiteral("HasLikedActor")) { + return RecommendationType::HasLikedActor; + } + + return RecommendationType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/recordingstatus.cpp b/core/src/dto/recordingstatus.cpp new file mode 100644 index 0000000..2b114a0 --- /dev/null +++ b/core/src/dto/recordingstatus.cpp @@ -0,0 +1,75 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RecordingStatusClass::RecordingStatusClass() {} + + +} // NS DTO + +namespace Support { + +using RecordingStatus = Jellyfin::DTO::RecordingStatus; + +template <> +RecordingStatus fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return RecordingStatus::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("New")) { + return RecordingStatus::New; + } + if (str == QStringLiteral("InProgress")) { + return RecordingStatus::InProgress; + } + if (str == QStringLiteral("Completed")) { + return RecordingStatus::Completed; + } + if (str == QStringLiteral("Cancelled")) { + return RecordingStatus::Cancelled; + } + if (str == QStringLiteral("ConflictedOk")) { + return RecordingStatus::ConflictedOk; + } + if (str == QStringLiteral("ConflictedNotOk")) { + return RecordingStatus::ConflictedNotOk; + } + if (str == QStringLiteral("Error")) { + return RecordingStatus::Error; + } + + return RecordingStatus::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/remoteimageinfo.cpp b/core/src/dto/remoteimageinfo.cpp new file mode 100644 index 0000000..9b43c77 --- /dev/null +++ b/core/src/dto/remoteimageinfo.cpp @@ -0,0 +1,231 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoteImageInfo::RemoteImageInfo() {} + +RemoteImageInfo::RemoteImageInfo(const RemoteImageInfo &other) : + + m_providerName(other.m_providerName), + m_url(other.m_url), + m_thumbnailUrl(other.m_thumbnailUrl), + m_height(other.m_height), + m_width(other.m_width), + m_communityRating(other.m_communityRating), + m_voteCount(other.m_voteCount), + m_language(other.m_language), + m_type(other.m_type), + m_ratingType(other.m_ratingType){} + + +void RemoteImageInfo::replaceData(RemoteImageInfo &other) { + m_providerName = other.m_providerName; + m_url = other.m_url; + m_thumbnailUrl = other.m_thumbnailUrl; + m_height = other.m_height; + m_width = other.m_width; + m_communityRating = other.m_communityRating; + m_voteCount = other.m_voteCount; + m_language = other.m_language; + m_type = other.m_type; + m_ratingType = other.m_ratingType; +} + +RemoteImageInfo RemoteImageInfo::fromJson(QJsonObject source) { + RemoteImageInfo instance; + instance.setFromJson(source); + return instance; +} + + +void RemoteImageInfo::setFromJson(QJsonObject source) { + m_providerName = Jellyfin::Support::fromJsonValue(source["ProviderName"]); + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + m_thumbnailUrl = Jellyfin::Support::fromJsonValue(source["ThumbnailUrl"]); + m_height = Jellyfin::Support::fromJsonValue>(source["Height"]); + m_width = Jellyfin::Support::fromJsonValue>(source["Width"]); + m_communityRating = Jellyfin::Support::fromJsonValue>(source["CommunityRating"]); + m_voteCount = Jellyfin::Support::fromJsonValue>(source["VoteCount"]); + m_language = Jellyfin::Support::fromJsonValue(source["Language"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_ratingType = Jellyfin::Support::fromJsonValue(source["RatingType"]); + +} + +QJsonObject RemoteImageInfo::toJson() { + QJsonObject result; + result["ProviderName"] = Jellyfin::Support::toJsonValue(m_providerName); + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + result["ThumbnailUrl"] = Jellyfin::Support::toJsonValue(m_thumbnailUrl); + result["Height"] = Jellyfin::Support::toJsonValue>(m_height); + result["Width"] = Jellyfin::Support::toJsonValue>(m_width); + result["CommunityRating"] = Jellyfin::Support::toJsonValue>(m_communityRating); + result["VoteCount"] = Jellyfin::Support::toJsonValue>(m_voteCount); + result["Language"] = Jellyfin::Support::toJsonValue(m_language); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["RatingType"] = Jellyfin::Support::toJsonValue(m_ratingType); + + return result; +} + +QString RemoteImageInfo::providerName() const { return m_providerName; } + +void RemoteImageInfo::setProviderName(QString newProviderName) { + m_providerName = newProviderName; +} +bool RemoteImageInfo::providerNameNull() const { + return m_providerName.isNull(); +} + +void RemoteImageInfo::setProviderNameNull() { + m_providerName.clear(); + +} +QString RemoteImageInfo::url() const { return m_url; } + +void RemoteImageInfo::setUrl(QString newUrl) { + m_url = newUrl; +} +bool RemoteImageInfo::urlNull() const { + return m_url.isNull(); +} + +void RemoteImageInfo::setUrlNull() { + m_url.clear(); + +} +QString RemoteImageInfo::thumbnailUrl() const { return m_thumbnailUrl; } + +void RemoteImageInfo::setThumbnailUrl(QString newThumbnailUrl) { + m_thumbnailUrl = newThumbnailUrl; +} +bool RemoteImageInfo::thumbnailUrlNull() const { + return m_thumbnailUrl.isNull(); +} + +void RemoteImageInfo::setThumbnailUrlNull() { + m_thumbnailUrl.clear(); + +} +std::optional RemoteImageInfo::height() const { return m_height; } + +void RemoteImageInfo::setHeight(std::optional newHeight) { + m_height = newHeight; +} +bool RemoteImageInfo::heightNull() const { + return !m_height.has_value(); +} + +void RemoteImageInfo::setHeightNull() { + m_height = std::nullopt; + +} +std::optional RemoteImageInfo::width() const { return m_width; } + +void RemoteImageInfo::setWidth(std::optional newWidth) { + m_width = newWidth; +} +bool RemoteImageInfo::widthNull() const { + return !m_width.has_value(); +} + +void RemoteImageInfo::setWidthNull() { + m_width = std::nullopt; + +} +std::optional RemoteImageInfo::communityRating() const { return m_communityRating; } + +void RemoteImageInfo::setCommunityRating(std::optional newCommunityRating) { + m_communityRating = newCommunityRating; +} +bool RemoteImageInfo::communityRatingNull() const { + return !m_communityRating.has_value(); +} + +void RemoteImageInfo::setCommunityRatingNull() { + m_communityRating = std::nullopt; + +} +std::optional RemoteImageInfo::voteCount() const { return m_voteCount; } + +void RemoteImageInfo::setVoteCount(std::optional newVoteCount) { + m_voteCount = newVoteCount; +} +bool RemoteImageInfo::voteCountNull() const { + return !m_voteCount.has_value(); +} + +void RemoteImageInfo::setVoteCountNull() { + m_voteCount = std::nullopt; + +} +QString RemoteImageInfo::language() const { return m_language; } + +void RemoteImageInfo::setLanguage(QString newLanguage) { + m_language = newLanguage; +} +bool RemoteImageInfo::languageNull() const { + return m_language.isNull(); +} + +void RemoteImageInfo::setLanguageNull() { + m_language.clear(); + +} +ImageType RemoteImageInfo::type() const { return m_type; } + +void RemoteImageInfo::setType(ImageType newType) { + m_type = newType; +} + +RatingType RemoteImageInfo::ratingType() const { return m_ratingType; } + +void RemoteImageInfo::setRatingType(RatingType newRatingType) { + m_ratingType = newRatingType; +} + + +} // NS DTO + +namespace Support { + +using RemoteImageInfo = Jellyfin::DTO::RemoteImageInfo; + +template <> +RemoteImageInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RemoteImageInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/remoteimageresult.cpp b/core/src/dto/remoteimageresult.cpp new file mode 100644 index 0000000..fa48f03 --- /dev/null +++ b/core/src/dto/remoteimageresult.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoteImageResult::RemoteImageResult() {} + +RemoteImageResult::RemoteImageResult(const RemoteImageResult &other) : + + m_images(other.m_images), + m_totalRecordCount(other.m_totalRecordCount), + m_providers(other.m_providers){} + + +void RemoteImageResult::replaceData(RemoteImageResult &other) { + m_images = other.m_images; + m_totalRecordCount = other.m_totalRecordCount; + m_providers = other.m_providers; +} + +RemoteImageResult RemoteImageResult::fromJson(QJsonObject source) { + RemoteImageResult instance; + instance.setFromJson(source); + return instance; +} + + +void RemoteImageResult::setFromJson(QJsonObject source) { + m_images = Jellyfin::Support::fromJsonValue>>(source["Images"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_providers = Jellyfin::Support::fromJsonValue(source["Providers"]); + +} + +QJsonObject RemoteImageResult::toJson() { + QJsonObject result; + result["Images"] = Jellyfin::Support::toJsonValue>>(m_images); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["Providers"] = Jellyfin::Support::toJsonValue(m_providers); + + return result; +} + +QList> RemoteImageResult::images() const { return m_images; } + +void RemoteImageResult::setImages(QList> newImages) { + m_images = newImages; +} +bool RemoteImageResult::imagesNull() const { + return m_images.size() == 0; +} + +void RemoteImageResult::setImagesNull() { + m_images.clear(); + +} +qint32 RemoteImageResult::totalRecordCount() const { return m_totalRecordCount; } + +void RemoteImageResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +QStringList RemoteImageResult::providers() const { return m_providers; } + +void RemoteImageResult::setProviders(QStringList newProviders) { + m_providers = newProviders; +} +bool RemoteImageResult::providersNull() const { + return m_providers.size() == 0; +} + +void RemoteImageResult::setProvidersNull() { + m_providers.clear(); + +} + +} // NS DTO + +namespace Support { + +using RemoteImageResult = Jellyfin::DTO::RemoteImageResult; + +template <> +RemoteImageResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RemoteImageResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/remotesearchresult.cpp b/core/src/dto/remotesearchresult.cpp new file mode 100644 index 0000000..35492ea --- /dev/null +++ b/core/src/dto/remotesearchresult.cpp @@ -0,0 +1,272 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoteSearchResult::RemoteSearchResult() {} + +RemoteSearchResult::RemoteSearchResult(const RemoteSearchResult &other) : + + m_name(other.m_name), + m_providerIds(other.m_providerIds), + m_productionYear(other.m_productionYear), + m_indexNumber(other.m_indexNumber), + m_indexNumberEnd(other.m_indexNumberEnd), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_imageUrl(other.m_imageUrl), + m_searchProviderName(other.m_searchProviderName), + m_overview(other.m_overview), + m_albumArtist(other.m_albumArtist), + m_artists(other.m_artists){} + + +void RemoteSearchResult::replaceData(RemoteSearchResult &other) { + m_name = other.m_name; + m_providerIds = other.m_providerIds; + m_productionYear = other.m_productionYear; + m_indexNumber = other.m_indexNumber; + m_indexNumberEnd = other.m_indexNumberEnd; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_imageUrl = other.m_imageUrl; + m_searchProviderName = other.m_searchProviderName; + m_overview = other.m_overview; + m_albumArtist = other.m_albumArtist; + m_artists = other.m_artists; +} + +RemoteSearchResult RemoteSearchResult::fromJson(QJsonObject source) { + RemoteSearchResult instance; + instance.setFromJson(source); + return instance; +} + + +void RemoteSearchResult::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_productionYear = Jellyfin::Support::fromJsonValue>(source["ProductionYear"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_indexNumberEnd = Jellyfin::Support::fromJsonValue>(source["IndexNumberEnd"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_imageUrl = Jellyfin::Support::fromJsonValue(source["ImageUrl"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_overview = Jellyfin::Support::fromJsonValue(source["Overview"]); + m_albumArtist = Jellyfin::Support::fromJsonValue>(source["AlbumArtist"]); + m_artists = Jellyfin::Support::fromJsonValue>>(source["Artists"]); + +} + +QJsonObject RemoteSearchResult::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["ProductionYear"] = Jellyfin::Support::toJsonValue>(m_productionYear); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["IndexNumberEnd"] = Jellyfin::Support::toJsonValue>(m_indexNumberEnd); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["ImageUrl"] = Jellyfin::Support::toJsonValue(m_imageUrl); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["Overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["AlbumArtist"] = Jellyfin::Support::toJsonValue>(m_albumArtist); + result["Artists"] = Jellyfin::Support::toJsonValue>>(m_artists); + + return result; +} + +QString RemoteSearchResult::name() const { return m_name; } + +void RemoteSearchResult::setName(QString newName) { + m_name = newName; +} +bool RemoteSearchResult::nameNull() const { + return m_name.isNull(); +} + +void RemoteSearchResult::setNameNull() { + m_name.clear(); + +} +std::optional RemoteSearchResult::providerIds() const { return m_providerIds; } + +void RemoteSearchResult::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool RemoteSearchResult::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void RemoteSearchResult::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional RemoteSearchResult::productionYear() const { return m_productionYear; } + +void RemoteSearchResult::setProductionYear(std::optional newProductionYear) { + m_productionYear = newProductionYear; +} +bool RemoteSearchResult::productionYearNull() const { + return !m_productionYear.has_value(); +} + +void RemoteSearchResult::setProductionYearNull() { + m_productionYear = std::nullopt; + +} +std::optional RemoteSearchResult::indexNumber() const { return m_indexNumber; } + +void RemoteSearchResult::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool RemoteSearchResult::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void RemoteSearchResult::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional RemoteSearchResult::indexNumberEnd() const { return m_indexNumberEnd; } + +void RemoteSearchResult::setIndexNumberEnd(std::optional newIndexNumberEnd) { + m_indexNumberEnd = newIndexNumberEnd; +} +bool RemoteSearchResult::indexNumberEndNull() const { + return !m_indexNumberEnd.has_value(); +} + +void RemoteSearchResult::setIndexNumberEndNull() { + m_indexNumberEnd = std::nullopt; + +} +std::optional RemoteSearchResult::parentIndexNumber() const { return m_parentIndexNumber; } + +void RemoteSearchResult::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool RemoteSearchResult::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void RemoteSearchResult::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime RemoteSearchResult::premiereDate() const { return m_premiereDate; } + +void RemoteSearchResult::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool RemoteSearchResult::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void RemoteSearchResult::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +QString RemoteSearchResult::imageUrl() const { return m_imageUrl; } + +void RemoteSearchResult::setImageUrl(QString newImageUrl) { + m_imageUrl = newImageUrl; +} +bool RemoteSearchResult::imageUrlNull() const { + return m_imageUrl.isNull(); +} + +void RemoteSearchResult::setImageUrlNull() { + m_imageUrl.clear(); + +} +QString RemoteSearchResult::searchProviderName() const { return m_searchProviderName; } + +void RemoteSearchResult::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool RemoteSearchResult::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void RemoteSearchResult::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +QString RemoteSearchResult::overview() const { return m_overview; } + +void RemoteSearchResult::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool RemoteSearchResult::overviewNull() const { + return m_overview.isNull(); +} + +void RemoteSearchResult::setOverviewNull() { + m_overview.clear(); + +} +QSharedPointer RemoteSearchResult::albumArtist() const { return m_albumArtist; } + +void RemoteSearchResult::setAlbumArtist(QSharedPointer newAlbumArtist) { + m_albumArtist = newAlbumArtist; +} + +QList> RemoteSearchResult::artists() const { return m_artists; } + +void RemoteSearchResult::setArtists(QList> newArtists) { + m_artists = newArtists; +} +bool RemoteSearchResult::artistsNull() const { + return m_artists.size() == 0; +} + +void RemoteSearchResult::setArtistsNull() { + m_artists.clear(); + +} + +} // NS DTO + +namespace Support { + +using RemoteSearchResult = Jellyfin::DTO::RemoteSearchResult; + +template <> +RemoteSearchResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RemoteSearchResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/remotesubtitleinfo.cpp b/core/src/dto/remotesubtitleinfo.cpp new file mode 100644 index 0000000..e2a7632 --- /dev/null +++ b/core/src/dto/remotesubtitleinfo.cpp @@ -0,0 +1,262 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoteSubtitleInfo::RemoteSubtitleInfo() {} + +RemoteSubtitleInfo::RemoteSubtitleInfo(const RemoteSubtitleInfo &other) : + + m_threeLetterISOLanguageName(other.m_threeLetterISOLanguageName), + m_jellyfinId(other.m_jellyfinId), + m_providerName(other.m_providerName), + m_name(other.m_name), + m_format(other.m_format), + m_author(other.m_author), + m_comment(other.m_comment), + m_dateCreated(other.m_dateCreated), + m_communityRating(other.m_communityRating), + m_downloadCount(other.m_downloadCount), + m_isHashMatch(other.m_isHashMatch){} + + +void RemoteSubtitleInfo::replaceData(RemoteSubtitleInfo &other) { + m_threeLetterISOLanguageName = other.m_threeLetterISOLanguageName; + m_jellyfinId = other.m_jellyfinId; + m_providerName = other.m_providerName; + m_name = other.m_name; + m_format = other.m_format; + m_author = other.m_author; + m_comment = other.m_comment; + m_dateCreated = other.m_dateCreated; + m_communityRating = other.m_communityRating; + m_downloadCount = other.m_downloadCount; + m_isHashMatch = other.m_isHashMatch; +} + +RemoteSubtitleInfo RemoteSubtitleInfo::fromJson(QJsonObject source) { + RemoteSubtitleInfo instance; + instance.setFromJson(source); + return instance; +} + + +void RemoteSubtitleInfo::setFromJson(QJsonObject source) { + m_threeLetterISOLanguageName = Jellyfin::Support::fromJsonValue(source["ThreeLetterISOLanguageName"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_providerName = Jellyfin::Support::fromJsonValue(source["ProviderName"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_format = Jellyfin::Support::fromJsonValue(source["Format"]); + m_author = Jellyfin::Support::fromJsonValue(source["Author"]); + m_comment = Jellyfin::Support::fromJsonValue(source["Comment"]); + m_dateCreated = Jellyfin::Support::fromJsonValue(source["DateCreated"]); + m_communityRating = Jellyfin::Support::fromJsonValue>(source["CommunityRating"]); + m_downloadCount = Jellyfin::Support::fromJsonValue>(source["DownloadCount"]); + m_isHashMatch = Jellyfin::Support::fromJsonValue>(source["IsHashMatch"]); + +} + +QJsonObject RemoteSubtitleInfo::toJson() { + QJsonObject result; + result["ThreeLetterISOLanguageName"] = Jellyfin::Support::toJsonValue(m_threeLetterISOLanguageName); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["ProviderName"] = Jellyfin::Support::toJsonValue(m_providerName); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Format"] = Jellyfin::Support::toJsonValue(m_format); + result["Author"] = Jellyfin::Support::toJsonValue(m_author); + result["Comment"] = Jellyfin::Support::toJsonValue(m_comment); + result["DateCreated"] = Jellyfin::Support::toJsonValue(m_dateCreated); + result["CommunityRating"] = Jellyfin::Support::toJsonValue>(m_communityRating); + result["DownloadCount"] = Jellyfin::Support::toJsonValue>(m_downloadCount); + result["IsHashMatch"] = Jellyfin::Support::toJsonValue>(m_isHashMatch); + + return result; +} + +QString RemoteSubtitleInfo::threeLetterISOLanguageName() const { return m_threeLetterISOLanguageName; } + +void RemoteSubtitleInfo::setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName) { + m_threeLetterISOLanguageName = newThreeLetterISOLanguageName; +} +bool RemoteSubtitleInfo::threeLetterISOLanguageNameNull() const { + return m_threeLetterISOLanguageName.isNull(); +} + +void RemoteSubtitleInfo::setThreeLetterISOLanguageNameNull() { + m_threeLetterISOLanguageName.clear(); + +} +QString RemoteSubtitleInfo::jellyfinId() const { return m_jellyfinId; } + +void RemoteSubtitleInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool RemoteSubtitleInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void RemoteSubtitleInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString RemoteSubtitleInfo::providerName() const { return m_providerName; } + +void RemoteSubtitleInfo::setProviderName(QString newProviderName) { + m_providerName = newProviderName; +} +bool RemoteSubtitleInfo::providerNameNull() const { + return m_providerName.isNull(); +} + +void RemoteSubtitleInfo::setProviderNameNull() { + m_providerName.clear(); + +} +QString RemoteSubtitleInfo::name() const { return m_name; } + +void RemoteSubtitleInfo::setName(QString newName) { + m_name = newName; +} +bool RemoteSubtitleInfo::nameNull() const { + return m_name.isNull(); +} + +void RemoteSubtitleInfo::setNameNull() { + m_name.clear(); + +} +QString RemoteSubtitleInfo::format() const { return m_format; } + +void RemoteSubtitleInfo::setFormat(QString newFormat) { + m_format = newFormat; +} +bool RemoteSubtitleInfo::formatNull() const { + return m_format.isNull(); +} + +void RemoteSubtitleInfo::setFormatNull() { + m_format.clear(); + +} +QString RemoteSubtitleInfo::author() const { return m_author; } + +void RemoteSubtitleInfo::setAuthor(QString newAuthor) { + m_author = newAuthor; +} +bool RemoteSubtitleInfo::authorNull() const { + return m_author.isNull(); +} + +void RemoteSubtitleInfo::setAuthorNull() { + m_author.clear(); + +} +QString RemoteSubtitleInfo::comment() const { return m_comment; } + +void RemoteSubtitleInfo::setComment(QString newComment) { + m_comment = newComment; +} +bool RemoteSubtitleInfo::commentNull() const { + return m_comment.isNull(); +} + +void RemoteSubtitleInfo::setCommentNull() { + m_comment.clear(); + +} +QDateTime RemoteSubtitleInfo::dateCreated() const { return m_dateCreated; } + +void RemoteSubtitleInfo::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; +} +bool RemoteSubtitleInfo::dateCreatedNull() const { + return m_dateCreated.isNull(); +} + +void RemoteSubtitleInfo::setDateCreatedNull() { + m_dateCreated= QDateTime(); + +} +std::optional RemoteSubtitleInfo::communityRating() const { return m_communityRating; } + +void RemoteSubtitleInfo::setCommunityRating(std::optional newCommunityRating) { + m_communityRating = newCommunityRating; +} +bool RemoteSubtitleInfo::communityRatingNull() const { + return !m_communityRating.has_value(); +} + +void RemoteSubtitleInfo::setCommunityRatingNull() { + m_communityRating = std::nullopt; + +} +std::optional RemoteSubtitleInfo::downloadCount() const { return m_downloadCount; } + +void RemoteSubtitleInfo::setDownloadCount(std::optional newDownloadCount) { + m_downloadCount = newDownloadCount; +} +bool RemoteSubtitleInfo::downloadCountNull() const { + return !m_downloadCount.has_value(); +} + +void RemoteSubtitleInfo::setDownloadCountNull() { + m_downloadCount = std::nullopt; + +} +std::optional RemoteSubtitleInfo::isHashMatch() const { return m_isHashMatch; } + +void RemoteSubtitleInfo::setIsHashMatch(std::optional newIsHashMatch) { + m_isHashMatch = newIsHashMatch; +} +bool RemoteSubtitleInfo::isHashMatchNull() const { + return !m_isHashMatch.has_value(); +} + +void RemoteSubtitleInfo::setIsHashMatchNull() { + m_isHashMatch = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using RemoteSubtitleInfo = Jellyfin::DTO::RemoteSubtitleInfo; + +template <> +RemoteSubtitleInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RemoteSubtitleInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/removefromplaylistrequestdto.cpp b/core/src/dto/removefromplaylistrequestdto.cpp new file mode 100644 index 0000000..5c292bb --- /dev/null +++ b/core/src/dto/removefromplaylistrequestdto.cpp @@ -0,0 +1,92 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoveFromPlaylistRequestDto::RemoveFromPlaylistRequestDto() {} + +RemoveFromPlaylistRequestDto::RemoveFromPlaylistRequestDto(const RemoveFromPlaylistRequestDto &other) : + + m_playlistItemIds(other.m_playlistItemIds){} + + +void RemoveFromPlaylistRequestDto::replaceData(RemoveFromPlaylistRequestDto &other) { + m_playlistItemIds = other.m_playlistItemIds; +} + +RemoveFromPlaylistRequestDto RemoveFromPlaylistRequestDto::fromJson(QJsonObject source) { + RemoveFromPlaylistRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void RemoveFromPlaylistRequestDto::setFromJson(QJsonObject source) { + m_playlistItemIds = Jellyfin::Support::fromJsonValue(source["PlaylistItemIds"]); + +} + +QJsonObject RemoveFromPlaylistRequestDto::toJson() { + QJsonObject result; + result["PlaylistItemIds"] = Jellyfin::Support::toJsonValue(m_playlistItemIds); + + return result; +} + +QStringList RemoveFromPlaylistRequestDto::playlistItemIds() const { return m_playlistItemIds; } + +void RemoveFromPlaylistRequestDto::setPlaylistItemIds(QStringList newPlaylistItemIds) { + m_playlistItemIds = newPlaylistItemIds; +} +bool RemoveFromPlaylistRequestDto::playlistItemIdsNull() const { + return m_playlistItemIds.size() == 0; +} + +void RemoveFromPlaylistRequestDto::setPlaylistItemIdsNull() { + m_playlistItemIds.clear(); + +} + +} // NS DTO + +namespace Support { + +using RemoveFromPlaylistRequestDto = Jellyfin::DTO::RemoveFromPlaylistRequestDto; + +template <> +RemoveFromPlaylistRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RemoveFromPlaylistRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/repeatmode.cpp b/core/src/dto/repeatmode.cpp new file mode 100644 index 0000000..b8e7f99 --- /dev/null +++ b/core/src/dto/repeatmode.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RepeatModeClass::RepeatModeClass() {} + + +} // NS DTO + +namespace Support { + +using RepeatMode = Jellyfin::DTO::RepeatMode; + +template <> +RepeatMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return RepeatMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("RepeatNone")) { + return RepeatMode::RepeatNone; + } + if (str == QStringLiteral("RepeatAll")) { + return RepeatMode::RepeatAll; + } + if (str == QStringLiteral("RepeatOne")) { + return RepeatMode::RepeatOne; + } + + return RepeatMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/repositoryinfo.cpp b/core/src/dto/repositoryinfo.cpp new file mode 100644 index 0000000..65332fa --- /dev/null +++ b/core/src/dto/repositoryinfo.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RepositoryInfo::RepositoryInfo() {} + +RepositoryInfo::RepositoryInfo(const RepositoryInfo &other) : + + m_name(other.m_name), + m_url(other.m_url), + m_enabled(other.m_enabled){} + + +void RepositoryInfo::replaceData(RepositoryInfo &other) { + m_name = other.m_name; + m_url = other.m_url; + m_enabled = other.m_enabled; +} + +RepositoryInfo RepositoryInfo::fromJson(QJsonObject source) { + RepositoryInfo instance; + instance.setFromJson(source); + return instance; +} + + +void RepositoryInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + m_enabled = Jellyfin::Support::fromJsonValue(source["Enabled"]); + +} + +QJsonObject RepositoryInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + result["Enabled"] = Jellyfin::Support::toJsonValue(m_enabled); + + return result; +} + +QString RepositoryInfo::name() const { return m_name; } + +void RepositoryInfo::setName(QString newName) { + m_name = newName; +} +bool RepositoryInfo::nameNull() const { + return m_name.isNull(); +} + +void RepositoryInfo::setNameNull() { + m_name.clear(); + +} +QString RepositoryInfo::url() const { return m_url; } + +void RepositoryInfo::setUrl(QString newUrl) { + m_url = newUrl; +} +bool RepositoryInfo::urlNull() const { + return m_url.isNull(); +} + +void RepositoryInfo::setUrlNull() { + m_url.clear(); + +} +bool RepositoryInfo::enabled() const { return m_enabled; } + +void RepositoryInfo::setEnabled(bool newEnabled) { + m_enabled = newEnabled; +} + + +} // NS DTO + +namespace Support { + +using RepositoryInfo = Jellyfin::DTO::RepositoryInfo; + +template <> +RepositoryInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return RepositoryInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/responseprofile.cpp b/core/src/dto/responseprofile.cpp new file mode 100644 index 0000000..25d935f --- /dev/null +++ b/core/src/dto/responseprofile.cpp @@ -0,0 +1,187 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ResponseProfile::ResponseProfile() {} + +ResponseProfile::ResponseProfile(const ResponseProfile &other) : + + m_container(other.m_container), + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_type(other.m_type), + m_orgPn(other.m_orgPn), + m_mimeType(other.m_mimeType), + m_conditions(other.m_conditions){} + + +void ResponseProfile::replaceData(ResponseProfile &other) { + m_container = other.m_container; + m_audioCodec = other.m_audioCodec; + m_videoCodec = other.m_videoCodec; + m_type = other.m_type; + m_orgPn = other.m_orgPn; + m_mimeType = other.m_mimeType; + m_conditions = other.m_conditions; +} + +ResponseProfile ResponseProfile::fromJson(QJsonObject source) { + ResponseProfile instance; + instance.setFromJson(source); + return instance; +} + + +void ResponseProfile::setFromJson(QJsonObject source) { + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_audioCodec = Jellyfin::Support::fromJsonValue(source["AudioCodec"]); + m_videoCodec = Jellyfin::Support::fromJsonValue(source["VideoCodec"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_orgPn = Jellyfin::Support::fromJsonValue(source["OrgPn"]); + m_mimeType = Jellyfin::Support::fromJsonValue(source["MimeType"]); + m_conditions = Jellyfin::Support::fromJsonValue>>(source["Conditions"]); + +} + +QJsonObject ResponseProfile::toJson() { + QJsonObject result; + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["AudioCodec"] = Jellyfin::Support::toJsonValue(m_audioCodec); + result["VideoCodec"] = Jellyfin::Support::toJsonValue(m_videoCodec); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["OrgPn"] = Jellyfin::Support::toJsonValue(m_orgPn); + result["MimeType"] = Jellyfin::Support::toJsonValue(m_mimeType); + result["Conditions"] = Jellyfin::Support::toJsonValue>>(m_conditions); + + return result; +} + +QString ResponseProfile::container() const { return m_container; } + +void ResponseProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool ResponseProfile::containerNull() const { + return m_container.isNull(); +} + +void ResponseProfile::setContainerNull() { + m_container.clear(); + +} +QString ResponseProfile::audioCodec() const { return m_audioCodec; } + +void ResponseProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; +} +bool ResponseProfile::audioCodecNull() const { + return m_audioCodec.isNull(); +} + +void ResponseProfile::setAudioCodecNull() { + m_audioCodec.clear(); + +} +QString ResponseProfile::videoCodec() const { return m_videoCodec; } + +void ResponseProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; +} +bool ResponseProfile::videoCodecNull() const { + return m_videoCodec.isNull(); +} + +void ResponseProfile::setVideoCodecNull() { + m_videoCodec.clear(); + +} +DlnaProfileType ResponseProfile::type() const { return m_type; } + +void ResponseProfile::setType(DlnaProfileType newType) { + m_type = newType; +} + +QString ResponseProfile::orgPn() const { return m_orgPn; } + +void ResponseProfile::setOrgPn(QString newOrgPn) { + m_orgPn = newOrgPn; +} +bool ResponseProfile::orgPnNull() const { + return m_orgPn.isNull(); +} + +void ResponseProfile::setOrgPnNull() { + m_orgPn.clear(); + +} +QString ResponseProfile::mimeType() const { return m_mimeType; } + +void ResponseProfile::setMimeType(QString newMimeType) { + m_mimeType = newMimeType; +} +bool ResponseProfile::mimeTypeNull() const { + return m_mimeType.isNull(); +} + +void ResponseProfile::setMimeTypeNull() { + m_mimeType.clear(); + +} +QList> ResponseProfile::conditions() const { return m_conditions; } + +void ResponseProfile::setConditions(QList> newConditions) { + m_conditions = newConditions; +} +bool ResponseProfile::conditionsNull() const { + return m_conditions.size() == 0; +} + +void ResponseProfile::setConditionsNull() { + m_conditions.clear(); + +} + +} // NS DTO + +namespace Support { + +using ResponseProfile = Jellyfin::DTO::ResponseProfile; + +template <> +ResponseProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ResponseProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/scrolldirection.cpp b/core/src/dto/scrolldirection.cpp new file mode 100644 index 0000000..68d242b --- /dev/null +++ b/core/src/dto/scrolldirection.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ScrollDirectionClass::ScrollDirectionClass() {} + + +} // NS DTO + +namespace Support { + +using ScrollDirection = Jellyfin::DTO::ScrollDirection; + +template <> +ScrollDirection fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return ScrollDirection::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Horizontal")) { + return ScrollDirection::Horizontal; + } + if (str == QStringLiteral("Vertical")) { + return ScrollDirection::Vertical; + } + + return ScrollDirection::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/searchhint.cpp b/core/src/dto/searchhint.cpp new file mode 100644 index 0000000..c66a335 --- /dev/null +++ b/core/src/dto/searchhint.cpp @@ -0,0 +1,540 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SearchHint::SearchHint() {} + +SearchHint::SearchHint(const SearchHint &other) : + + m_itemId(other.m_itemId), + m_jellyfinId(other.m_jellyfinId), + m_name(other.m_name), + m_matchedTerm(other.m_matchedTerm), + m_indexNumber(other.m_indexNumber), + m_productionYear(other.m_productionYear), + m_parentIndexNumber(other.m_parentIndexNumber), + m_primaryImageTag(other.m_primaryImageTag), + m_thumbImageTag(other.m_thumbImageTag), + m_thumbImageItemId(other.m_thumbImageItemId), + m_backdropImageTag(other.m_backdropImageTag), + m_backdropImageItemId(other.m_backdropImageItemId), + m_type(other.m_type), + m_isFolder(other.m_isFolder), + m_runTimeTicks(other.m_runTimeTicks), + m_mediaType(other.m_mediaType), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_series(other.m_series), + m_status(other.m_status), + m_album(other.m_album), + m_albumId(other.m_albumId), + m_albumArtist(other.m_albumArtist), + m_artists(other.m_artists), + m_songCount(other.m_songCount), + m_episodeCount(other.m_episodeCount), + m_channelId(other.m_channelId), + m_channelName(other.m_channelName), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio){} + + +void SearchHint::replaceData(SearchHint &other) { + m_itemId = other.m_itemId; + m_jellyfinId = other.m_jellyfinId; + m_name = other.m_name; + m_matchedTerm = other.m_matchedTerm; + m_indexNumber = other.m_indexNumber; + m_productionYear = other.m_productionYear; + m_parentIndexNumber = other.m_parentIndexNumber; + m_primaryImageTag = other.m_primaryImageTag; + m_thumbImageTag = other.m_thumbImageTag; + m_thumbImageItemId = other.m_thumbImageItemId; + m_backdropImageTag = other.m_backdropImageTag; + m_backdropImageItemId = other.m_backdropImageItemId; + m_type = other.m_type; + m_isFolder = other.m_isFolder; + m_runTimeTicks = other.m_runTimeTicks; + m_mediaType = other.m_mediaType; + m_startDate = other.m_startDate; + m_endDate = other.m_endDate; + m_series = other.m_series; + m_status = other.m_status; + m_album = other.m_album; + m_albumId = other.m_albumId; + m_albumArtist = other.m_albumArtist; + m_artists = other.m_artists; + m_songCount = other.m_songCount; + m_episodeCount = other.m_episodeCount; + m_channelId = other.m_channelId; + m_channelName = other.m_channelName; + m_primaryImageAspectRatio = other.m_primaryImageAspectRatio; +} + +SearchHint SearchHint::fromJson(QJsonObject source) { + SearchHint instance; + instance.setFromJson(source); + return instance; +} + + +void SearchHint::setFromJson(QJsonObject source) { + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_matchedTerm = Jellyfin::Support::fromJsonValue(source["MatchedTerm"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_productionYear = Jellyfin::Support::fromJsonValue>(source["ProductionYear"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_primaryImageTag = Jellyfin::Support::fromJsonValue(source["PrimaryImageTag"]); + m_thumbImageTag = Jellyfin::Support::fromJsonValue(source["ThumbImageTag"]); + m_thumbImageItemId = Jellyfin::Support::fromJsonValue(source["ThumbImageItemId"]); + m_backdropImageTag = Jellyfin::Support::fromJsonValue(source["BackdropImageTag"]); + m_backdropImageItemId = Jellyfin::Support::fromJsonValue(source["BackdropImageItemId"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_isFolder = Jellyfin::Support::fromJsonValue>(source["IsFolder"]); + m_runTimeTicks = Jellyfin::Support::fromJsonValue>(source["RunTimeTicks"]); + m_mediaType = Jellyfin::Support::fromJsonValue(source["MediaType"]); + m_startDate = Jellyfin::Support::fromJsonValue(source["StartDate"]); + m_endDate = Jellyfin::Support::fromJsonValue(source["EndDate"]); + m_series = Jellyfin::Support::fromJsonValue(source["Series"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + m_album = Jellyfin::Support::fromJsonValue(source["Album"]); + m_albumId = Jellyfin::Support::fromJsonValue(source["AlbumId"]); + m_albumArtist = Jellyfin::Support::fromJsonValue(source["AlbumArtist"]); + m_artists = Jellyfin::Support::fromJsonValue(source["Artists"]); + m_songCount = Jellyfin::Support::fromJsonValue>(source["SongCount"]); + m_episodeCount = Jellyfin::Support::fromJsonValue>(source["EpisodeCount"]); + m_channelId = Jellyfin::Support::fromJsonValue(source["ChannelId"]); + m_channelName = Jellyfin::Support::fromJsonValue(source["ChannelName"]); + m_primaryImageAspectRatio = Jellyfin::Support::fromJsonValue>(source["PrimaryImageAspectRatio"]); + +} + +QJsonObject SearchHint::toJson() { + QJsonObject result; + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["MatchedTerm"] = Jellyfin::Support::toJsonValue(m_matchedTerm); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ProductionYear"] = Jellyfin::Support::toJsonValue>(m_productionYear); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_primaryImageTag); + result["ThumbImageTag"] = Jellyfin::Support::toJsonValue(m_thumbImageTag); + result["ThumbImageItemId"] = Jellyfin::Support::toJsonValue(m_thumbImageItemId); + result["BackdropImageTag"] = Jellyfin::Support::toJsonValue(m_backdropImageTag); + result["BackdropImageItemId"] = Jellyfin::Support::toJsonValue(m_backdropImageItemId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["IsFolder"] = Jellyfin::Support::toJsonValue>(m_isFolder); + result["RunTimeTicks"] = Jellyfin::Support::toJsonValue>(m_runTimeTicks); + result["MediaType"] = Jellyfin::Support::toJsonValue(m_mediaType); + result["StartDate"] = Jellyfin::Support::toJsonValue(m_startDate); + result["EndDate"] = Jellyfin::Support::toJsonValue(m_endDate); + result["Series"] = Jellyfin::Support::toJsonValue(m_series); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + result["Album"] = Jellyfin::Support::toJsonValue(m_album); + result["AlbumId"] = Jellyfin::Support::toJsonValue(m_albumId); + result["AlbumArtist"] = Jellyfin::Support::toJsonValue(m_albumArtist); + result["Artists"] = Jellyfin::Support::toJsonValue(m_artists); + result["SongCount"] = Jellyfin::Support::toJsonValue>(m_songCount); + result["EpisodeCount"] = Jellyfin::Support::toJsonValue>(m_episodeCount); + result["ChannelId"] = Jellyfin::Support::toJsonValue(m_channelId); + result["ChannelName"] = Jellyfin::Support::toJsonValue(m_channelName); + result["PrimaryImageAspectRatio"] = Jellyfin::Support::toJsonValue>(m_primaryImageAspectRatio); + + return result; +} + +QString SearchHint::itemId() const { return m_itemId; } + +void SearchHint::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString SearchHint::jellyfinId() const { return m_jellyfinId; } + +void SearchHint::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString SearchHint::name() const { return m_name; } + +void SearchHint::setName(QString newName) { + m_name = newName; +} +bool SearchHint::nameNull() const { + return m_name.isNull(); +} + +void SearchHint::setNameNull() { + m_name.clear(); + +} +QString SearchHint::matchedTerm() const { return m_matchedTerm; } + +void SearchHint::setMatchedTerm(QString newMatchedTerm) { + m_matchedTerm = newMatchedTerm; +} +bool SearchHint::matchedTermNull() const { + return m_matchedTerm.isNull(); +} + +void SearchHint::setMatchedTermNull() { + m_matchedTerm.clear(); + +} +std::optional SearchHint::indexNumber() const { return m_indexNumber; } + +void SearchHint::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool SearchHint::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void SearchHint::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional SearchHint::productionYear() const { return m_productionYear; } + +void SearchHint::setProductionYear(std::optional newProductionYear) { + m_productionYear = newProductionYear; +} +bool SearchHint::productionYearNull() const { + return !m_productionYear.has_value(); +} + +void SearchHint::setProductionYearNull() { + m_productionYear = std::nullopt; + +} +std::optional SearchHint::parentIndexNumber() const { return m_parentIndexNumber; } + +void SearchHint::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool SearchHint::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void SearchHint::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QString SearchHint::primaryImageTag() const { return m_primaryImageTag; } + +void SearchHint::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; +} +bool SearchHint::primaryImageTagNull() const { + return m_primaryImageTag.isNull(); +} + +void SearchHint::setPrimaryImageTagNull() { + m_primaryImageTag.clear(); + +} +QString SearchHint::thumbImageTag() const { return m_thumbImageTag; } + +void SearchHint::setThumbImageTag(QString newThumbImageTag) { + m_thumbImageTag = newThumbImageTag; +} +bool SearchHint::thumbImageTagNull() const { + return m_thumbImageTag.isNull(); +} + +void SearchHint::setThumbImageTagNull() { + m_thumbImageTag.clear(); + +} +QString SearchHint::thumbImageItemId() const { return m_thumbImageItemId; } + +void SearchHint::setThumbImageItemId(QString newThumbImageItemId) { + m_thumbImageItemId = newThumbImageItemId; +} +bool SearchHint::thumbImageItemIdNull() const { + return m_thumbImageItemId.isNull(); +} + +void SearchHint::setThumbImageItemIdNull() { + m_thumbImageItemId.clear(); + +} +QString SearchHint::backdropImageTag() const { return m_backdropImageTag; } + +void SearchHint::setBackdropImageTag(QString newBackdropImageTag) { + m_backdropImageTag = newBackdropImageTag; +} +bool SearchHint::backdropImageTagNull() const { + return m_backdropImageTag.isNull(); +} + +void SearchHint::setBackdropImageTagNull() { + m_backdropImageTag.clear(); + +} +QString SearchHint::backdropImageItemId() const { return m_backdropImageItemId; } + +void SearchHint::setBackdropImageItemId(QString newBackdropImageItemId) { + m_backdropImageItemId = newBackdropImageItemId; +} +bool SearchHint::backdropImageItemIdNull() const { + return m_backdropImageItemId.isNull(); +} + +void SearchHint::setBackdropImageItemIdNull() { + m_backdropImageItemId.clear(); + +} +QString SearchHint::type() const { return m_type; } + +void SearchHint::setType(QString newType) { + m_type = newType; +} +bool SearchHint::typeNull() const { + return m_type.isNull(); +} + +void SearchHint::setTypeNull() { + m_type.clear(); + +} +std::optional SearchHint::isFolder() const { return m_isFolder; } + +void SearchHint::setIsFolder(std::optional newIsFolder) { + m_isFolder = newIsFolder; +} +bool SearchHint::isFolderNull() const { + return !m_isFolder.has_value(); +} + +void SearchHint::setIsFolderNull() { + m_isFolder = std::nullopt; + +} +std::optional SearchHint::runTimeTicks() const { return m_runTimeTicks; } + +void SearchHint::setRunTimeTicks(std::optional newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; +} +bool SearchHint::runTimeTicksNull() const { + return !m_runTimeTicks.has_value(); +} + +void SearchHint::setRunTimeTicksNull() { + m_runTimeTicks = std::nullopt; + +} +QString SearchHint::mediaType() const { return m_mediaType; } + +void SearchHint::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; +} +bool SearchHint::mediaTypeNull() const { + return m_mediaType.isNull(); +} + +void SearchHint::setMediaTypeNull() { + m_mediaType.clear(); + +} +QDateTime SearchHint::startDate() const { return m_startDate; } + +void SearchHint::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; +} +bool SearchHint::startDateNull() const { + return m_startDate.isNull(); +} + +void SearchHint::setStartDateNull() { + m_startDate= QDateTime(); + +} +QDateTime SearchHint::endDate() const { return m_endDate; } + +void SearchHint::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; +} +bool SearchHint::endDateNull() const { + return m_endDate.isNull(); +} + +void SearchHint::setEndDateNull() { + m_endDate= QDateTime(); + +} +QString SearchHint::series() const { return m_series; } + +void SearchHint::setSeries(QString newSeries) { + m_series = newSeries; +} +bool SearchHint::seriesNull() const { + return m_series.isNull(); +} + +void SearchHint::setSeriesNull() { + m_series.clear(); + +} +QString SearchHint::status() const { return m_status; } + +void SearchHint::setStatus(QString newStatus) { + m_status = newStatus; +} +bool SearchHint::statusNull() const { + return m_status.isNull(); +} + +void SearchHint::setStatusNull() { + m_status.clear(); + +} +QString SearchHint::album() const { return m_album; } + +void SearchHint::setAlbum(QString newAlbum) { + m_album = newAlbum; +} +bool SearchHint::albumNull() const { + return m_album.isNull(); +} + +void SearchHint::setAlbumNull() { + m_album.clear(); + +} +QString SearchHint::albumId() const { return m_albumId; } + +void SearchHint::setAlbumId(QString newAlbumId) { + m_albumId = newAlbumId; +} + +QString SearchHint::albumArtist() const { return m_albumArtist; } + +void SearchHint::setAlbumArtist(QString newAlbumArtist) { + m_albumArtist = newAlbumArtist; +} +bool SearchHint::albumArtistNull() const { + return m_albumArtist.isNull(); +} + +void SearchHint::setAlbumArtistNull() { + m_albumArtist.clear(); + +} +QStringList SearchHint::artists() const { return m_artists; } + +void SearchHint::setArtists(QStringList newArtists) { + m_artists = newArtists; +} +bool SearchHint::artistsNull() const { + return m_artists.size() == 0; +} + +void SearchHint::setArtistsNull() { + m_artists.clear(); + +} +std::optional SearchHint::songCount() const { return m_songCount; } + +void SearchHint::setSongCount(std::optional newSongCount) { + m_songCount = newSongCount; +} +bool SearchHint::songCountNull() const { + return !m_songCount.has_value(); +} + +void SearchHint::setSongCountNull() { + m_songCount = std::nullopt; + +} +std::optional SearchHint::episodeCount() const { return m_episodeCount; } + +void SearchHint::setEpisodeCount(std::optional newEpisodeCount) { + m_episodeCount = newEpisodeCount; +} +bool SearchHint::episodeCountNull() const { + return !m_episodeCount.has_value(); +} + +void SearchHint::setEpisodeCountNull() { + m_episodeCount = std::nullopt; + +} +QString SearchHint::channelId() const { return m_channelId; } + +void SearchHint::setChannelId(QString newChannelId) { + m_channelId = newChannelId; +} + +QString SearchHint::channelName() const { return m_channelName; } + +void SearchHint::setChannelName(QString newChannelName) { + m_channelName = newChannelName; +} +bool SearchHint::channelNameNull() const { + return m_channelName.isNull(); +} + +void SearchHint::setChannelNameNull() { + m_channelName.clear(); + +} +std::optional SearchHint::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } + +void SearchHint::setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; +} +bool SearchHint::primaryImageAspectRatioNull() const { + return !m_primaryImageAspectRatio.has_value(); +} + +void SearchHint::setPrimaryImageAspectRatioNull() { + m_primaryImageAspectRatio = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using SearchHint = Jellyfin::DTO::SearchHint; + +template <> +SearchHint fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SearchHint::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/searchhintresult.cpp b/core/src/dto/searchhintresult.cpp new file mode 100644 index 0000000..08ce185 --- /dev/null +++ b/core/src/dto/searchhintresult.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SearchHintResult::SearchHintResult() {} + +SearchHintResult::SearchHintResult(const SearchHintResult &other) : + + m_searchHints(other.m_searchHints), + m_totalRecordCount(other.m_totalRecordCount){} + + +void SearchHintResult::replaceData(SearchHintResult &other) { + m_searchHints = other.m_searchHints; + m_totalRecordCount = other.m_totalRecordCount; +} + +SearchHintResult SearchHintResult::fromJson(QJsonObject source) { + SearchHintResult instance; + instance.setFromJson(source); + return instance; +} + + +void SearchHintResult::setFromJson(QJsonObject source) { + m_searchHints = Jellyfin::Support::fromJsonValue>>(source["SearchHints"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + +} + +QJsonObject SearchHintResult::toJson() { + QJsonObject result; + result["SearchHints"] = Jellyfin::Support::toJsonValue>>(m_searchHints); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + + return result; +} + +QList> SearchHintResult::searchHints() const { return m_searchHints; } + +void SearchHintResult::setSearchHints(QList> newSearchHints) { + m_searchHints = newSearchHints; +} +bool SearchHintResult::searchHintsNull() const { + return m_searchHints.size() == 0; +} + +void SearchHintResult::setSearchHintsNull() { + m_searchHints.clear(); + +} +qint32 SearchHintResult::totalRecordCount() const { return m_totalRecordCount; } + +void SearchHintResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + + +} // NS DTO + +namespace Support { + +using SearchHintResult = Jellyfin::DTO::SearchHintResult; + +template <> +SearchHintResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SearchHintResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seekrequestdto.cpp b/core/src/dto/seekrequestdto.cpp new file mode 100644 index 0000000..1febd97 --- /dev/null +++ b/core/src/dto/seekrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeekRequestDto::SeekRequestDto() {} + +SeekRequestDto::SeekRequestDto(const SeekRequestDto &other) : + + m_positionTicks(other.m_positionTicks){} + + +void SeekRequestDto::replaceData(SeekRequestDto &other) { + m_positionTicks = other.m_positionTicks; +} + +SeekRequestDto SeekRequestDto::fromJson(QJsonObject source) { + SeekRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void SeekRequestDto::setFromJson(QJsonObject source) { + m_positionTicks = Jellyfin::Support::fromJsonValue(source["PositionTicks"]); + +} + +QJsonObject SeekRequestDto::toJson() { + QJsonObject result; + result["PositionTicks"] = Jellyfin::Support::toJsonValue(m_positionTicks); + + return result; +} + +qint64 SeekRequestDto::positionTicks() const { return m_positionTicks; } + +void SeekRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; +} + + +} // NS DTO + +namespace Support { + +using SeekRequestDto = Jellyfin::DTO::SeekRequestDto; + +template <> +SeekRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SeekRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/sendcommand.cpp b/core/src/dto/sendcommand.cpp new file mode 100644 index 0000000..380a530 --- /dev/null +++ b/core/src/dto/sendcommand.cpp @@ -0,0 +1,142 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SendCommand::SendCommand() {} + +SendCommand::SendCommand(const SendCommand &other) : + + m_groupId(other.m_groupId), + m_playlistItemId(other.m_playlistItemId), + m_when(other.m_when), + m_positionTicks(other.m_positionTicks), + m_command(other.m_command), + m_emittedAt(other.m_emittedAt){} + + +void SendCommand::replaceData(SendCommand &other) { + m_groupId = other.m_groupId; + m_playlistItemId = other.m_playlistItemId; + m_when = other.m_when; + m_positionTicks = other.m_positionTicks; + m_command = other.m_command; + m_emittedAt = other.m_emittedAt; +} + +SendCommand SendCommand::fromJson(QJsonObject source) { + SendCommand instance; + instance.setFromJson(source); + return instance; +} + + +void SendCommand::setFromJson(QJsonObject source) { + m_groupId = Jellyfin::Support::fromJsonValue(source["GroupId"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + m_when = Jellyfin::Support::fromJsonValue(source["When"]); + m_positionTicks = Jellyfin::Support::fromJsonValue>(source["PositionTicks"]); + m_command = Jellyfin::Support::fromJsonValue(source["Command"]); + m_emittedAt = Jellyfin::Support::fromJsonValue(source["EmittedAt"]); + +} + +QJsonObject SendCommand::toJson() { + QJsonObject result; + result["GroupId"] = Jellyfin::Support::toJsonValue(m_groupId); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + result["When"] = Jellyfin::Support::toJsonValue(m_when); + result["PositionTicks"] = Jellyfin::Support::toJsonValue>(m_positionTicks); + result["Command"] = Jellyfin::Support::toJsonValue(m_command); + result["EmittedAt"] = Jellyfin::Support::toJsonValue(m_emittedAt); + + return result; +} + +QString SendCommand::groupId() const { return m_groupId; } + +void SendCommand::setGroupId(QString newGroupId) { + m_groupId = newGroupId; +} + +QString SendCommand::playlistItemId() const { return m_playlistItemId; } + +void SendCommand::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + +QDateTime SendCommand::when() const { return m_when; } + +void SendCommand::setWhen(QDateTime newWhen) { + m_when = newWhen; +} + +std::optional SendCommand::positionTicks() const { return m_positionTicks; } + +void SendCommand::setPositionTicks(std::optional newPositionTicks) { + m_positionTicks = newPositionTicks; +} +bool SendCommand::positionTicksNull() const { + return !m_positionTicks.has_value(); +} + +void SendCommand::setPositionTicksNull() { + m_positionTicks = std::nullopt; + +} +SendCommandType SendCommand::command() const { return m_command; } + +void SendCommand::setCommand(SendCommandType newCommand) { + m_command = newCommand; +} + +QDateTime SendCommand::emittedAt() const { return m_emittedAt; } + +void SendCommand::setEmittedAt(QDateTime newEmittedAt) { + m_emittedAt = newEmittedAt; +} + + +} // NS DTO + +namespace Support { + +using SendCommand = Jellyfin::DTO::SendCommand; + +template <> +SendCommand fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SendCommand::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/sendcommandtype.cpp b/core/src/dto/sendcommandtype.cpp new file mode 100644 index 0000000..5e8f8a9 --- /dev/null +++ b/core/src/dto/sendcommandtype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SendCommandTypeClass::SendCommandTypeClass() {} + + +} // NS DTO + +namespace Support { + +using SendCommandType = Jellyfin::DTO::SendCommandType; + +template <> +SendCommandType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SendCommandType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Unpause")) { + return SendCommandType::Unpause; + } + if (str == QStringLiteral("Pause")) { + return SendCommandType::Pause; + } + if (str == QStringLiteral("Stop")) { + return SendCommandType::Stop; + } + if (str == QStringLiteral("Seek")) { + return SendCommandType::Seek; + } + + return SendCommandType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seriesinfo.cpp b/core/src/dto/seriesinfo.cpp new file mode 100644 index 0000000..2384204 --- /dev/null +++ b/core/src/dto/seriesinfo.cpp @@ -0,0 +1,238 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesInfo::SeriesInfo() {} + +SeriesInfo::SeriesInfo(const SeriesInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} + + +void SeriesInfo::replaceData(SeriesInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; +} + +SeriesInfo SeriesInfo::fromJson(QJsonObject source) { + SeriesInfo instance; + instance.setFromJson(source); + return instance; +} + + +void SeriesInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + +} + +QJsonObject SeriesInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + + return result; +} + +QString SeriesInfo::name() const { return m_name; } + +void SeriesInfo::setName(QString newName) { + m_name = newName; +} +bool SeriesInfo::nameNull() const { + return m_name.isNull(); +} + +void SeriesInfo::setNameNull() { + m_name.clear(); + +} +QString SeriesInfo::path() const { return m_path; } + +void SeriesInfo::setPath(QString newPath) { + m_path = newPath; +} +bool SeriesInfo::pathNull() const { + return m_path.isNull(); +} + +void SeriesInfo::setPathNull() { + m_path.clear(); + +} +QString SeriesInfo::metadataLanguage() const { return m_metadataLanguage; } + +void SeriesInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool SeriesInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void SeriesInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString SeriesInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void SeriesInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool SeriesInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void SeriesInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional SeriesInfo::providerIds() const { return m_providerIds; } + +void SeriesInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool SeriesInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void SeriesInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional SeriesInfo::year() const { return m_year; } + +void SeriesInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool SeriesInfo::yearNull() const { + return !m_year.has_value(); +} + +void SeriesInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional SeriesInfo::indexNumber() const { return m_indexNumber; } + +void SeriesInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool SeriesInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void SeriesInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional SeriesInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void SeriesInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool SeriesInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void SeriesInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime SeriesInfo::premiereDate() const { return m_premiereDate; } + +void SeriesInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool SeriesInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void SeriesInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool SeriesInfo::isAutomated() const { return m_isAutomated; } + +void SeriesInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + + +} // NS DTO + +namespace Support { + +using SeriesInfo = Jellyfin::DTO::SeriesInfo; + +template <> +SeriesInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SeriesInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seriesinforemotesearchquery.cpp b/core/src/dto/seriesinforemotesearchquery.cpp new file mode 100644 index 0000000..8a71b24 --- /dev/null +++ b/core/src/dto/seriesinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery() {} + +SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery(const SeriesInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void SeriesInfoRemoteSearchQuery::replaceData(SeriesInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +SeriesInfoRemoteSearchQuery SeriesInfoRemoteSearchQuery::fromJson(QJsonObject source) { + SeriesInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void SeriesInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject SeriesInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer SeriesInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void SeriesInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString SeriesInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void SeriesInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString SeriesInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void SeriesInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool SeriesInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void SeriesInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool SeriesInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void SeriesInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using SeriesInfoRemoteSearchQuery = Jellyfin::DTO::SeriesInfoRemoteSearchQuery; + +template <> +SeriesInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SeriesInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seriesstatus.cpp b/core/src/dto/seriesstatus.cpp new file mode 100644 index 0000000..9823902 --- /dev/null +++ b/core/src/dto/seriesstatus.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesStatusClass::SeriesStatusClass() {} + + +} // NS DTO + +namespace Support { + +using SeriesStatus = Jellyfin::DTO::SeriesStatus; + +template <> +SeriesStatus fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SeriesStatus::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Continuing")) { + return SeriesStatus::Continuing; + } + if (str == QStringLiteral("Ended")) { + return SeriesStatus::Ended; + } + + return SeriesStatus::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seriestimerinfodto.cpp b/core/src/dto/seriestimerinfodto.cpp new file mode 100644 index 0000000..5d50d99 --- /dev/null +++ b/core/src/dto/seriestimerinfodto.cpp @@ -0,0 +1,565 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesTimerInfoDto::SeriesTimerInfoDto() {} + +SeriesTimerInfoDto::SeriesTimerInfoDto(const SeriesTimerInfoDto &other) : + + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_serverId(other.m_serverId), + m_externalId(other.m_externalId), + m_channelId(other.m_channelId), + m_externalChannelId(other.m_externalChannelId), + m_channelName(other.m_channelName), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_programId(other.m_programId), + m_externalProgramId(other.m_externalProgramId), + m_name(other.m_name), + m_overview(other.m_overview), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_serviceName(other.m_serviceName), + m_priority(other.m_priority), + m_prePaddingSeconds(other.m_prePaddingSeconds), + m_postPaddingSeconds(other.m_postPaddingSeconds), + m_isPrePaddingRequired(other.m_isPrePaddingRequired), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_isPostPaddingRequired(other.m_isPostPaddingRequired), + m_keepUntil(other.m_keepUntil), + m_recordAnyTime(other.m_recordAnyTime), + m_skipEpisodesInLibrary(other.m_skipEpisodesInLibrary), + m_recordAnyChannel(other.m_recordAnyChannel), + m_keepUpTo(other.m_keepUpTo), + m_recordNewOnly(other.m_recordNewOnly), + m_days(other.m_days), + m_dayPattern(other.m_dayPattern), + m_imageTags(other.m_imageTags), + m_parentThumbItemId(other.m_parentThumbItemId), + m_parentThumbImageTag(other.m_parentThumbImageTag), + m_parentPrimaryImageItemId(other.m_parentPrimaryImageItemId), + m_parentPrimaryImageTag(other.m_parentPrimaryImageTag){} + + +void SeriesTimerInfoDto::replaceData(SeriesTimerInfoDto &other) { + m_jellyfinId = other.m_jellyfinId; + m_type = other.m_type; + m_serverId = other.m_serverId; + m_externalId = other.m_externalId; + m_channelId = other.m_channelId; + m_externalChannelId = other.m_externalChannelId; + m_channelName = other.m_channelName; + m_channelPrimaryImageTag = other.m_channelPrimaryImageTag; + m_programId = other.m_programId; + m_externalProgramId = other.m_externalProgramId; + m_name = other.m_name; + m_overview = other.m_overview; + m_startDate = other.m_startDate; + m_endDate = other.m_endDate; + m_serviceName = other.m_serviceName; + m_priority = other.m_priority; + m_prePaddingSeconds = other.m_prePaddingSeconds; + m_postPaddingSeconds = other.m_postPaddingSeconds; + m_isPrePaddingRequired = other.m_isPrePaddingRequired; + m_parentBackdropItemId = other.m_parentBackdropItemId; + m_parentBackdropImageTags = other.m_parentBackdropImageTags; + m_isPostPaddingRequired = other.m_isPostPaddingRequired; + m_keepUntil = other.m_keepUntil; + m_recordAnyTime = other.m_recordAnyTime; + m_skipEpisodesInLibrary = other.m_skipEpisodesInLibrary; + m_recordAnyChannel = other.m_recordAnyChannel; + m_keepUpTo = other.m_keepUpTo; + m_recordNewOnly = other.m_recordNewOnly; + m_days = other.m_days; + m_dayPattern = other.m_dayPattern; + m_imageTags = other.m_imageTags; + m_parentThumbItemId = other.m_parentThumbItemId; + m_parentThumbImageTag = other.m_parentThumbImageTag; + m_parentPrimaryImageItemId = other.m_parentPrimaryImageItemId; + m_parentPrimaryImageTag = other.m_parentPrimaryImageTag; +} + +SeriesTimerInfoDto SeriesTimerInfoDto::fromJson(QJsonObject source) { + SeriesTimerInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void SeriesTimerInfoDto::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + m_externalId = Jellyfin::Support::fromJsonValue(source["ExternalId"]); + m_channelId = Jellyfin::Support::fromJsonValue(source["ChannelId"]); + m_externalChannelId = Jellyfin::Support::fromJsonValue(source["ExternalChannelId"]); + m_channelName = Jellyfin::Support::fromJsonValue(source["ChannelName"]); + m_channelPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["ChannelPrimaryImageTag"]); + m_programId = Jellyfin::Support::fromJsonValue(source["ProgramId"]); + m_externalProgramId = Jellyfin::Support::fromJsonValue(source["ExternalProgramId"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_overview = Jellyfin::Support::fromJsonValue(source["Overview"]); + m_startDate = Jellyfin::Support::fromJsonValue(source["StartDate"]); + m_endDate = Jellyfin::Support::fromJsonValue(source["EndDate"]); + m_serviceName = Jellyfin::Support::fromJsonValue(source["ServiceName"]); + m_priority = Jellyfin::Support::fromJsonValue(source["Priority"]); + m_prePaddingSeconds = Jellyfin::Support::fromJsonValue(source["PrePaddingSeconds"]); + m_postPaddingSeconds = Jellyfin::Support::fromJsonValue(source["PostPaddingSeconds"]); + m_isPrePaddingRequired = Jellyfin::Support::fromJsonValue(source["IsPrePaddingRequired"]); + m_parentBackdropItemId = Jellyfin::Support::fromJsonValue(source["ParentBackdropItemId"]); + m_parentBackdropImageTags = Jellyfin::Support::fromJsonValue(source["ParentBackdropImageTags"]); + m_isPostPaddingRequired = Jellyfin::Support::fromJsonValue(source["IsPostPaddingRequired"]); + m_keepUntil = Jellyfin::Support::fromJsonValue(source["KeepUntil"]); + m_recordAnyTime = Jellyfin::Support::fromJsonValue(source["RecordAnyTime"]); + m_skipEpisodesInLibrary = Jellyfin::Support::fromJsonValue(source["SkipEpisodesInLibrary"]); + m_recordAnyChannel = Jellyfin::Support::fromJsonValue(source["RecordAnyChannel"]); + m_keepUpTo = Jellyfin::Support::fromJsonValue(source["KeepUpTo"]); + m_recordNewOnly = Jellyfin::Support::fromJsonValue(source["RecordNewOnly"]); + m_days = Jellyfin::Support::fromJsonValue>(source["Days"]); + m_dayPattern = Jellyfin::Support::fromJsonValue(source["DayPattern"]); + m_imageTags = Jellyfin::Support::fromJsonValue>(source["ImageTags"]); + m_parentThumbItemId = Jellyfin::Support::fromJsonValue(source["ParentThumbItemId"]); + m_parentThumbImageTag = Jellyfin::Support::fromJsonValue(source["ParentThumbImageTag"]); + m_parentPrimaryImageItemId = Jellyfin::Support::fromJsonValue(source["ParentPrimaryImageItemId"]); + m_parentPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["ParentPrimaryImageTag"]); + +} + +QJsonObject SeriesTimerInfoDto::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + result["ExternalId"] = Jellyfin::Support::toJsonValue(m_externalId); + result["ChannelId"] = Jellyfin::Support::toJsonValue(m_channelId); + result["ExternalChannelId"] = Jellyfin::Support::toJsonValue(m_externalChannelId); + result["ChannelName"] = Jellyfin::Support::toJsonValue(m_channelName); + result["ChannelPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_channelPrimaryImageTag); + result["ProgramId"] = Jellyfin::Support::toJsonValue(m_programId); + result["ExternalProgramId"] = Jellyfin::Support::toJsonValue(m_externalProgramId); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["StartDate"] = Jellyfin::Support::toJsonValue(m_startDate); + result["EndDate"] = Jellyfin::Support::toJsonValue(m_endDate); + result["ServiceName"] = Jellyfin::Support::toJsonValue(m_serviceName); + result["Priority"] = Jellyfin::Support::toJsonValue(m_priority); + result["PrePaddingSeconds"] = Jellyfin::Support::toJsonValue(m_prePaddingSeconds); + result["PostPaddingSeconds"] = Jellyfin::Support::toJsonValue(m_postPaddingSeconds); + result["IsPrePaddingRequired"] = Jellyfin::Support::toJsonValue(m_isPrePaddingRequired); + result["ParentBackdropItemId"] = Jellyfin::Support::toJsonValue(m_parentBackdropItemId); + result["ParentBackdropImageTags"] = Jellyfin::Support::toJsonValue(m_parentBackdropImageTags); + result["IsPostPaddingRequired"] = Jellyfin::Support::toJsonValue(m_isPostPaddingRequired); + result["KeepUntil"] = Jellyfin::Support::toJsonValue(m_keepUntil); + result["RecordAnyTime"] = Jellyfin::Support::toJsonValue(m_recordAnyTime); + result["SkipEpisodesInLibrary"] = Jellyfin::Support::toJsonValue(m_skipEpisodesInLibrary); + result["RecordAnyChannel"] = Jellyfin::Support::toJsonValue(m_recordAnyChannel); + result["KeepUpTo"] = Jellyfin::Support::toJsonValue(m_keepUpTo); + result["RecordNewOnly"] = Jellyfin::Support::toJsonValue(m_recordNewOnly); + result["Days"] = Jellyfin::Support::toJsonValue>(m_days); + result["DayPattern"] = Jellyfin::Support::toJsonValue(m_dayPattern); + result["ImageTags"] = Jellyfin::Support::toJsonValue>(m_imageTags); + result["ParentThumbItemId"] = Jellyfin::Support::toJsonValue(m_parentThumbItemId); + result["ParentThumbImageTag"] = Jellyfin::Support::toJsonValue(m_parentThumbImageTag); + result["ParentPrimaryImageItemId"] = Jellyfin::Support::toJsonValue(m_parentPrimaryImageItemId); + result["ParentPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_parentPrimaryImageTag); + + return result; +} + +QString SeriesTimerInfoDto::jellyfinId() const { return m_jellyfinId; } + +void SeriesTimerInfoDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool SeriesTimerInfoDto::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void SeriesTimerInfoDto::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString SeriesTimerInfoDto::type() const { return m_type; } + +void SeriesTimerInfoDto::setType(QString newType) { + m_type = newType; +} +bool SeriesTimerInfoDto::typeNull() const { + return m_type.isNull(); +} + +void SeriesTimerInfoDto::setTypeNull() { + m_type.clear(); + +} +QString SeriesTimerInfoDto::serverId() const { return m_serverId; } + +void SeriesTimerInfoDto::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool SeriesTimerInfoDto::serverIdNull() const { + return m_serverId.isNull(); +} + +void SeriesTimerInfoDto::setServerIdNull() { + m_serverId.clear(); + +} +QString SeriesTimerInfoDto::externalId() const { return m_externalId; } + +void SeriesTimerInfoDto::setExternalId(QString newExternalId) { + m_externalId = newExternalId; +} +bool SeriesTimerInfoDto::externalIdNull() const { + return m_externalId.isNull(); +} + +void SeriesTimerInfoDto::setExternalIdNull() { + m_externalId.clear(); + +} +QString SeriesTimerInfoDto::channelId() const { return m_channelId; } + +void SeriesTimerInfoDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; +} + +QString SeriesTimerInfoDto::externalChannelId() const { return m_externalChannelId; } + +void SeriesTimerInfoDto::setExternalChannelId(QString newExternalChannelId) { + m_externalChannelId = newExternalChannelId; +} +bool SeriesTimerInfoDto::externalChannelIdNull() const { + return m_externalChannelId.isNull(); +} + +void SeriesTimerInfoDto::setExternalChannelIdNull() { + m_externalChannelId.clear(); + +} +QString SeriesTimerInfoDto::channelName() const { return m_channelName; } + +void SeriesTimerInfoDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; +} +bool SeriesTimerInfoDto::channelNameNull() const { + return m_channelName.isNull(); +} + +void SeriesTimerInfoDto::setChannelNameNull() { + m_channelName.clear(); + +} +QString SeriesTimerInfoDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } + +void SeriesTimerInfoDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; +} +bool SeriesTimerInfoDto::channelPrimaryImageTagNull() const { + return m_channelPrimaryImageTag.isNull(); +} + +void SeriesTimerInfoDto::setChannelPrimaryImageTagNull() { + m_channelPrimaryImageTag.clear(); + +} +QString SeriesTimerInfoDto::programId() const { return m_programId; } + +void SeriesTimerInfoDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; +} +bool SeriesTimerInfoDto::programIdNull() const { + return m_programId.isNull(); +} + +void SeriesTimerInfoDto::setProgramIdNull() { + m_programId.clear(); + +} +QString SeriesTimerInfoDto::externalProgramId() const { return m_externalProgramId; } + +void SeriesTimerInfoDto::setExternalProgramId(QString newExternalProgramId) { + m_externalProgramId = newExternalProgramId; +} +bool SeriesTimerInfoDto::externalProgramIdNull() const { + return m_externalProgramId.isNull(); +} + +void SeriesTimerInfoDto::setExternalProgramIdNull() { + m_externalProgramId.clear(); + +} +QString SeriesTimerInfoDto::name() const { return m_name; } + +void SeriesTimerInfoDto::setName(QString newName) { + m_name = newName; +} +bool SeriesTimerInfoDto::nameNull() const { + return m_name.isNull(); +} + +void SeriesTimerInfoDto::setNameNull() { + m_name.clear(); + +} +QString SeriesTimerInfoDto::overview() const { return m_overview; } + +void SeriesTimerInfoDto::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool SeriesTimerInfoDto::overviewNull() const { + return m_overview.isNull(); +} + +void SeriesTimerInfoDto::setOverviewNull() { + m_overview.clear(); + +} +QDateTime SeriesTimerInfoDto::startDate() const { return m_startDate; } + +void SeriesTimerInfoDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; +} + +QDateTime SeriesTimerInfoDto::endDate() const { return m_endDate; } + +void SeriesTimerInfoDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; +} + +QString SeriesTimerInfoDto::serviceName() const { return m_serviceName; } + +void SeriesTimerInfoDto::setServiceName(QString newServiceName) { + m_serviceName = newServiceName; +} +bool SeriesTimerInfoDto::serviceNameNull() const { + return m_serviceName.isNull(); +} + +void SeriesTimerInfoDto::setServiceNameNull() { + m_serviceName.clear(); + +} +qint32 SeriesTimerInfoDto::priority() const { return m_priority; } + +void SeriesTimerInfoDto::setPriority(qint32 newPriority) { + m_priority = newPriority; +} + +qint32 SeriesTimerInfoDto::prePaddingSeconds() const { return m_prePaddingSeconds; } + +void SeriesTimerInfoDto::setPrePaddingSeconds(qint32 newPrePaddingSeconds) { + m_prePaddingSeconds = newPrePaddingSeconds; +} + +qint32 SeriesTimerInfoDto::postPaddingSeconds() const { return m_postPaddingSeconds; } + +void SeriesTimerInfoDto::setPostPaddingSeconds(qint32 newPostPaddingSeconds) { + m_postPaddingSeconds = newPostPaddingSeconds; +} + +bool SeriesTimerInfoDto::isPrePaddingRequired() const { return m_isPrePaddingRequired; } + +void SeriesTimerInfoDto::setIsPrePaddingRequired(bool newIsPrePaddingRequired) { + m_isPrePaddingRequired = newIsPrePaddingRequired; +} + +QString SeriesTimerInfoDto::parentBackdropItemId() const { return m_parentBackdropItemId; } + +void SeriesTimerInfoDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; +} +bool SeriesTimerInfoDto::parentBackdropItemIdNull() const { + return m_parentBackdropItemId.isNull(); +} + +void SeriesTimerInfoDto::setParentBackdropItemIdNull() { + m_parentBackdropItemId.clear(); + +} +QStringList SeriesTimerInfoDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } + +void SeriesTimerInfoDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; +} +bool SeriesTimerInfoDto::parentBackdropImageTagsNull() const { + return m_parentBackdropImageTags.size() == 0; +} + +void SeriesTimerInfoDto::setParentBackdropImageTagsNull() { + m_parentBackdropImageTags.clear(); + +} +bool SeriesTimerInfoDto::isPostPaddingRequired() const { return m_isPostPaddingRequired; } + +void SeriesTimerInfoDto::setIsPostPaddingRequired(bool newIsPostPaddingRequired) { + m_isPostPaddingRequired = newIsPostPaddingRequired; +} + +KeepUntil SeriesTimerInfoDto::keepUntil() const { return m_keepUntil; } + +void SeriesTimerInfoDto::setKeepUntil(KeepUntil newKeepUntil) { + m_keepUntil = newKeepUntil; +} + +bool SeriesTimerInfoDto::recordAnyTime() const { return m_recordAnyTime; } + +void SeriesTimerInfoDto::setRecordAnyTime(bool newRecordAnyTime) { + m_recordAnyTime = newRecordAnyTime; +} + +bool SeriesTimerInfoDto::skipEpisodesInLibrary() const { return m_skipEpisodesInLibrary; } + +void SeriesTimerInfoDto::setSkipEpisodesInLibrary(bool newSkipEpisodesInLibrary) { + m_skipEpisodesInLibrary = newSkipEpisodesInLibrary; +} + +bool SeriesTimerInfoDto::recordAnyChannel() const { return m_recordAnyChannel; } + +void SeriesTimerInfoDto::setRecordAnyChannel(bool newRecordAnyChannel) { + m_recordAnyChannel = newRecordAnyChannel; +} + +qint32 SeriesTimerInfoDto::keepUpTo() const { return m_keepUpTo; } + +void SeriesTimerInfoDto::setKeepUpTo(qint32 newKeepUpTo) { + m_keepUpTo = newKeepUpTo; +} + +bool SeriesTimerInfoDto::recordNewOnly() const { return m_recordNewOnly; } + +void SeriesTimerInfoDto::setRecordNewOnly(bool newRecordNewOnly) { + m_recordNewOnly = newRecordNewOnly; +} + +QList SeriesTimerInfoDto::days() const { return m_days; } + +void SeriesTimerInfoDto::setDays(QList newDays) { + m_days = newDays; +} +bool SeriesTimerInfoDto::daysNull() const { + return m_days.size() == 0; +} + +void SeriesTimerInfoDto::setDaysNull() { + m_days.clear(); + +} +DayPattern SeriesTimerInfoDto::dayPattern() const { return m_dayPattern; } + +void SeriesTimerInfoDto::setDayPattern(DayPattern newDayPattern) { + m_dayPattern = newDayPattern; +} + +std::optional SeriesTimerInfoDto::imageTags() const { return m_imageTags; } + +void SeriesTimerInfoDto::setImageTags(std::optional newImageTags) { + m_imageTags = newImageTags; +} +bool SeriesTimerInfoDto::imageTagsNull() const { + return !m_imageTags.has_value(); +} + +void SeriesTimerInfoDto::setImageTagsNull() { + m_imageTags = std::nullopt; + +} +QString SeriesTimerInfoDto::parentThumbItemId() const { return m_parentThumbItemId; } + +void SeriesTimerInfoDto::setParentThumbItemId(QString newParentThumbItemId) { + m_parentThumbItemId = newParentThumbItemId; +} +bool SeriesTimerInfoDto::parentThumbItemIdNull() const { + return m_parentThumbItemId.isNull(); +} + +void SeriesTimerInfoDto::setParentThumbItemIdNull() { + m_parentThumbItemId.clear(); + +} +QString SeriesTimerInfoDto::parentThumbImageTag() const { return m_parentThumbImageTag; } + +void SeriesTimerInfoDto::setParentThumbImageTag(QString newParentThumbImageTag) { + m_parentThumbImageTag = newParentThumbImageTag; +} +bool SeriesTimerInfoDto::parentThumbImageTagNull() const { + return m_parentThumbImageTag.isNull(); +} + +void SeriesTimerInfoDto::setParentThumbImageTagNull() { + m_parentThumbImageTag.clear(); + +} +QString SeriesTimerInfoDto::parentPrimaryImageItemId() const { return m_parentPrimaryImageItemId; } + +void SeriesTimerInfoDto::setParentPrimaryImageItemId(QString newParentPrimaryImageItemId) { + m_parentPrimaryImageItemId = newParentPrimaryImageItemId; +} +bool SeriesTimerInfoDto::parentPrimaryImageItemIdNull() const { + return m_parentPrimaryImageItemId.isNull(); +} + +void SeriesTimerInfoDto::setParentPrimaryImageItemIdNull() { + m_parentPrimaryImageItemId.clear(); + +} +QString SeriesTimerInfoDto::parentPrimaryImageTag() const { return m_parentPrimaryImageTag; } + +void SeriesTimerInfoDto::setParentPrimaryImageTag(QString newParentPrimaryImageTag) { + m_parentPrimaryImageTag = newParentPrimaryImageTag; +} +bool SeriesTimerInfoDto::parentPrimaryImageTagNull() const { + return m_parentPrimaryImageTag.isNull(); +} + +void SeriesTimerInfoDto::setParentPrimaryImageTagNull() { + m_parentPrimaryImageTag.clear(); + +} + +} // NS DTO + +namespace Support { + +using SeriesTimerInfoDto = Jellyfin::DTO::SeriesTimerInfoDto; + +template <> +SeriesTimerInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SeriesTimerInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/seriestimerinfodtoqueryresult.cpp b/core/src/dto/seriestimerinfodtoqueryresult.cpp new file mode 100644 index 0000000..6bed6e0 --- /dev/null +++ b/core/src/dto/seriestimerinfodtoqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult() {} + +SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult(const SeriesTimerInfoDtoQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void SeriesTimerInfoDtoQueryResult::replaceData(SeriesTimerInfoDtoQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +SeriesTimerInfoDtoQueryResult SeriesTimerInfoDtoQueryResult::fromJson(QJsonObject source) { + SeriesTimerInfoDtoQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void SeriesTimerInfoDtoQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject SeriesTimerInfoDtoQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> SeriesTimerInfoDtoQueryResult::items() const { return m_items; } + +void SeriesTimerInfoDtoQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool SeriesTimerInfoDtoQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void SeriesTimerInfoDtoQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 SeriesTimerInfoDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void SeriesTimerInfoDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 SeriesTimerInfoDtoQueryResult::startIndex() const { return m_startIndex; } + +void SeriesTimerInfoDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using SeriesTimerInfoDtoQueryResult = Jellyfin::DTO::SeriesTimerInfoDtoQueryResult; + +template <> +SeriesTimerInfoDtoQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SeriesTimerInfoDtoQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/serverconfiguration.cpp b/core/src/dto/serverconfiguration.cpp new file mode 100644 index 0000000..604b3ad --- /dev/null +++ b/core/src/dto/serverconfiguration.cpp @@ -0,0 +1,1142 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ServerConfiguration::ServerConfiguration() {} + +ServerConfiguration::ServerConfiguration(const ServerConfiguration &other) : + + m_logFileRetentionDays(other.m_logFileRetentionDays), + m_isStartupWizardCompleted(other.m_isStartupWizardCompleted), + m_cachePath(other.m_cachePath), + m_previousVersion(other.m_previousVersion), + m_previousVersionStr(other.m_previousVersionStr), + m_enableUPnP(other.m_enableUPnP), + m_enableMetrics(other.m_enableMetrics), + m_publicPort(other.m_publicPort), + m_uPnPCreateHttpPortMap(other.m_uPnPCreateHttpPortMap), + m_uDPPortRange(other.m_uDPPortRange), + m_enableIPV6(other.m_enableIPV6), + m_enableIPV4(other.m_enableIPV4), + m_enableSSDPTracing(other.m_enableSSDPTracing), + m_sSDPTracingFilter(other.m_sSDPTracingFilter), + m_uDPSendCount(other.m_uDPSendCount), + m_uDPSendDelay(other.m_uDPSendDelay), + m_ignoreVirtualInterfaces(other.m_ignoreVirtualInterfaces), + m_virtualInterfaceNames(other.m_virtualInterfaceNames), + m_gatewayMonitorPeriod(other.m_gatewayMonitorPeriod), + m_enableMultiSocketBinding(other.m_enableMultiSocketBinding), + m_trustAllIP6Interfaces(other.m_trustAllIP6Interfaces), + m_hDHomerunPortRange(other.m_hDHomerunPortRange), + m_publishedServerUriBySubnet(other.m_publishedServerUriBySubnet), + m_autoDiscoveryTracing(other.m_autoDiscoveryTracing), + m_autoDiscovery(other.m_autoDiscovery), + m_publicHttpsPort(other.m_publicHttpsPort), + m_httpServerPortNumber(other.m_httpServerPortNumber), + m_httpsPortNumber(other.m_httpsPortNumber), + m_enableHttps(other.m_enableHttps), + m_enableNormalizedItemByNameIds(other.m_enableNormalizedItemByNameIds), + m_certificatePath(other.m_certificatePath), + m_certificatePassword(other.m_certificatePassword), + m_isPortAuthorized(other.m_isPortAuthorized), + m_quickConnectAvailable(other.m_quickConnectAvailable), + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableCaseSensitiveItemIds(other.m_enableCaseSensitiveItemIds), + m_disableLiveTvChannelUserDataName(other.m_disableLiveTvChannelUserDataName), + m_metadataPath(other.m_metadataPath), + m_metadataNetworkPath(other.m_metadataNetworkPath), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_sortReplaceCharacters(other.m_sortReplaceCharacters), + m_sortRemoveCharacters(other.m_sortRemoveCharacters), + m_sortRemoveWords(other.m_sortRemoveWords), + m_minResumePct(other.m_minResumePct), + m_maxResumePct(other.m_maxResumePct), + m_minResumeDurationSeconds(other.m_minResumeDurationSeconds), + m_minAudiobookResume(other.m_minAudiobookResume), + m_maxAudiobookResume(other.m_maxAudiobookResume), + m_libraryMonitorDelay(other.m_libraryMonitorDelay), + m_enableDashboardResponseCaching(other.m_enableDashboardResponseCaching), + m_imageSavingConvention(other.m_imageSavingConvention), + m_metadataOptions(other.m_metadataOptions), + m_skipDeserializationForBasicTypes(other.m_skipDeserializationForBasicTypes), + m_serverName(other.m_serverName), + m_baseUrl(other.m_baseUrl), + m_uICulture(other.m_uICulture), + m_saveMetadataHidden(other.m_saveMetadataHidden), + m_contentTypes(other.m_contentTypes), + m_remoteClientBitrateLimit(other.m_remoteClientBitrateLimit), + m_enableFolderView(other.m_enableFolderView), + m_enableGroupingIntoCollections(other.m_enableGroupingIntoCollections), + m_displaySpecialsWithinSeasons(other.m_displaySpecialsWithinSeasons), + m_localNetworkSubnets(other.m_localNetworkSubnets), + m_localNetworkAddresses(other.m_localNetworkAddresses), + m_codecsUsed(other.m_codecsUsed), + m_pluginRepositories(other.m_pluginRepositories), + m_enableExternalContentInSuggestions(other.m_enableExternalContentInSuggestions), + m_requireHttps(other.m_requireHttps), + m_enableNewOmdbSupport(other.m_enableNewOmdbSupport), + m_remoteIPFilter(other.m_remoteIPFilter), + m_isRemoteIPFilterBlacklist(other.m_isRemoteIPFilterBlacklist), + m_imageExtractionTimeoutMs(other.m_imageExtractionTimeoutMs), + m_pathSubstitutions(other.m_pathSubstitutions), + m_enableSimpleArtistDetection(other.m_enableSimpleArtistDetection), + m_uninstalledPlugins(other.m_uninstalledPlugins), + m_enableSlowResponseWarning(other.m_enableSlowResponseWarning), + m_slowResponseThresholdMs(other.m_slowResponseThresholdMs), + m_corsHosts(other.m_corsHosts), + m_knownProxies(other.m_knownProxies), + m_activityLogRetentionDays(other.m_activityLogRetentionDays), + m_libraryScanFanoutConcurrency(other.m_libraryScanFanoutConcurrency), + m_libraryMetadataRefreshConcurrency(other.m_libraryMetadataRefreshConcurrency), + m_removeOldPlugins(other.m_removeOldPlugins), + m_disablePluginImages(other.m_disablePluginImages){} + + +void ServerConfiguration::replaceData(ServerConfiguration &other) { + m_logFileRetentionDays = other.m_logFileRetentionDays; + m_isStartupWizardCompleted = other.m_isStartupWizardCompleted; + m_cachePath = other.m_cachePath; + m_previousVersion = other.m_previousVersion; + m_previousVersionStr = other.m_previousVersionStr; + m_enableUPnP = other.m_enableUPnP; + m_enableMetrics = other.m_enableMetrics; + m_publicPort = other.m_publicPort; + m_uPnPCreateHttpPortMap = other.m_uPnPCreateHttpPortMap; + m_uDPPortRange = other.m_uDPPortRange; + m_enableIPV6 = other.m_enableIPV6; + m_enableIPV4 = other.m_enableIPV4; + m_enableSSDPTracing = other.m_enableSSDPTracing; + m_sSDPTracingFilter = other.m_sSDPTracingFilter; + m_uDPSendCount = other.m_uDPSendCount; + m_uDPSendDelay = other.m_uDPSendDelay; + m_ignoreVirtualInterfaces = other.m_ignoreVirtualInterfaces; + m_virtualInterfaceNames = other.m_virtualInterfaceNames; + m_gatewayMonitorPeriod = other.m_gatewayMonitorPeriod; + m_enableMultiSocketBinding = other.m_enableMultiSocketBinding; + m_trustAllIP6Interfaces = other.m_trustAllIP6Interfaces; + m_hDHomerunPortRange = other.m_hDHomerunPortRange; + m_publishedServerUriBySubnet = other.m_publishedServerUriBySubnet; + m_autoDiscoveryTracing = other.m_autoDiscoveryTracing; + m_autoDiscovery = other.m_autoDiscovery; + m_publicHttpsPort = other.m_publicHttpsPort; + m_httpServerPortNumber = other.m_httpServerPortNumber; + m_httpsPortNumber = other.m_httpsPortNumber; + m_enableHttps = other.m_enableHttps; + m_enableNormalizedItemByNameIds = other.m_enableNormalizedItemByNameIds; + m_certificatePath = other.m_certificatePath; + m_certificatePassword = other.m_certificatePassword; + m_isPortAuthorized = other.m_isPortAuthorized; + m_quickConnectAvailable = other.m_quickConnectAvailable; + m_enableRemoteAccess = other.m_enableRemoteAccess; + m_enableCaseSensitiveItemIds = other.m_enableCaseSensitiveItemIds; + m_disableLiveTvChannelUserDataName = other.m_disableLiveTvChannelUserDataName; + m_metadataPath = other.m_metadataPath; + m_metadataNetworkPath = other.m_metadataNetworkPath; + m_preferredMetadataLanguage = other.m_preferredMetadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_sortReplaceCharacters = other.m_sortReplaceCharacters; + m_sortRemoveCharacters = other.m_sortRemoveCharacters; + m_sortRemoveWords = other.m_sortRemoveWords; + m_minResumePct = other.m_minResumePct; + m_maxResumePct = other.m_maxResumePct; + m_minResumeDurationSeconds = other.m_minResumeDurationSeconds; + m_minAudiobookResume = other.m_minAudiobookResume; + m_maxAudiobookResume = other.m_maxAudiobookResume; + m_libraryMonitorDelay = other.m_libraryMonitorDelay; + m_enableDashboardResponseCaching = other.m_enableDashboardResponseCaching; + m_imageSavingConvention = other.m_imageSavingConvention; + m_metadataOptions = other.m_metadataOptions; + m_skipDeserializationForBasicTypes = other.m_skipDeserializationForBasicTypes; + m_serverName = other.m_serverName; + m_baseUrl = other.m_baseUrl; + m_uICulture = other.m_uICulture; + m_saveMetadataHidden = other.m_saveMetadataHidden; + m_contentTypes = other.m_contentTypes; + m_remoteClientBitrateLimit = other.m_remoteClientBitrateLimit; + m_enableFolderView = other.m_enableFolderView; + m_enableGroupingIntoCollections = other.m_enableGroupingIntoCollections; + m_displaySpecialsWithinSeasons = other.m_displaySpecialsWithinSeasons; + m_localNetworkSubnets = other.m_localNetworkSubnets; + m_localNetworkAddresses = other.m_localNetworkAddresses; + m_codecsUsed = other.m_codecsUsed; + m_pluginRepositories = other.m_pluginRepositories; + m_enableExternalContentInSuggestions = other.m_enableExternalContentInSuggestions; + m_requireHttps = other.m_requireHttps; + m_enableNewOmdbSupport = other.m_enableNewOmdbSupport; + m_remoteIPFilter = other.m_remoteIPFilter; + m_isRemoteIPFilterBlacklist = other.m_isRemoteIPFilterBlacklist; + m_imageExtractionTimeoutMs = other.m_imageExtractionTimeoutMs; + m_pathSubstitutions = other.m_pathSubstitutions; + m_enableSimpleArtistDetection = other.m_enableSimpleArtistDetection; + m_uninstalledPlugins = other.m_uninstalledPlugins; + m_enableSlowResponseWarning = other.m_enableSlowResponseWarning; + m_slowResponseThresholdMs = other.m_slowResponseThresholdMs; + m_corsHosts = other.m_corsHosts; + m_knownProxies = other.m_knownProxies; + m_activityLogRetentionDays = other.m_activityLogRetentionDays; + m_libraryScanFanoutConcurrency = other.m_libraryScanFanoutConcurrency; + m_libraryMetadataRefreshConcurrency = other.m_libraryMetadataRefreshConcurrency; + m_removeOldPlugins = other.m_removeOldPlugins; + m_disablePluginImages = other.m_disablePluginImages; +} + +ServerConfiguration ServerConfiguration::fromJson(QJsonObject source) { + ServerConfiguration instance; + instance.setFromJson(source); + return instance; +} + + +void ServerConfiguration::setFromJson(QJsonObject source) { + m_logFileRetentionDays = Jellyfin::Support::fromJsonValue(source["LogFileRetentionDays"]); + m_isStartupWizardCompleted = Jellyfin::Support::fromJsonValue(source["IsStartupWizardCompleted"]); + m_cachePath = Jellyfin::Support::fromJsonValue(source["CachePath"]); + m_previousVersion = Jellyfin::Support::fromJsonValue>(source["PreviousVersion"]); + m_previousVersionStr = Jellyfin::Support::fromJsonValue(source["PreviousVersionStr"]); + m_enableUPnP = Jellyfin::Support::fromJsonValue(source["EnableUPnP"]); + m_enableMetrics = Jellyfin::Support::fromJsonValue(source["EnableMetrics"]); + m_publicPort = Jellyfin::Support::fromJsonValue(source["PublicPort"]); + m_uPnPCreateHttpPortMap = Jellyfin::Support::fromJsonValue(source["UPnPCreateHttpPortMap"]); + m_uDPPortRange = Jellyfin::Support::fromJsonValue(source["UDPPortRange"]); + m_enableIPV6 = Jellyfin::Support::fromJsonValue(source["EnableIPV6"]); + m_enableIPV4 = Jellyfin::Support::fromJsonValue(source["EnableIPV4"]); + m_enableSSDPTracing = Jellyfin::Support::fromJsonValue(source["EnableSSDPTracing"]); + m_sSDPTracingFilter = Jellyfin::Support::fromJsonValue(source["SSDPTracingFilter"]); + m_uDPSendCount = Jellyfin::Support::fromJsonValue(source["UDPSendCount"]); + m_uDPSendDelay = Jellyfin::Support::fromJsonValue(source["UDPSendDelay"]); + m_ignoreVirtualInterfaces = Jellyfin::Support::fromJsonValue(source["IgnoreVirtualInterfaces"]); + m_virtualInterfaceNames = Jellyfin::Support::fromJsonValue(source["VirtualInterfaceNames"]); + m_gatewayMonitorPeriod = Jellyfin::Support::fromJsonValue(source["GatewayMonitorPeriod"]); + m_enableMultiSocketBinding = Jellyfin::Support::fromJsonValue(source["EnableMultiSocketBinding"]); + m_trustAllIP6Interfaces = Jellyfin::Support::fromJsonValue(source["TrustAllIP6Interfaces"]); + m_hDHomerunPortRange = Jellyfin::Support::fromJsonValue(source["HDHomerunPortRange"]); + m_publishedServerUriBySubnet = Jellyfin::Support::fromJsonValue(source["PublishedServerUriBySubnet"]); + m_autoDiscoveryTracing = Jellyfin::Support::fromJsonValue(source["AutoDiscoveryTracing"]); + m_autoDiscovery = Jellyfin::Support::fromJsonValue(source["AutoDiscovery"]); + m_publicHttpsPort = Jellyfin::Support::fromJsonValue(source["PublicHttpsPort"]); + m_httpServerPortNumber = Jellyfin::Support::fromJsonValue(source["HttpServerPortNumber"]); + m_httpsPortNumber = Jellyfin::Support::fromJsonValue(source["HttpsPortNumber"]); + m_enableHttps = Jellyfin::Support::fromJsonValue(source["EnableHttps"]); + m_enableNormalizedItemByNameIds = Jellyfin::Support::fromJsonValue(source["EnableNormalizedItemByNameIds"]); + m_certificatePath = Jellyfin::Support::fromJsonValue(source["CertificatePath"]); + m_certificatePassword = Jellyfin::Support::fromJsonValue(source["CertificatePassword"]); + m_isPortAuthorized = Jellyfin::Support::fromJsonValue(source["IsPortAuthorized"]); + m_quickConnectAvailable = Jellyfin::Support::fromJsonValue(source["QuickConnectAvailable"]); + m_enableRemoteAccess = Jellyfin::Support::fromJsonValue(source["EnableRemoteAccess"]); + m_enableCaseSensitiveItemIds = Jellyfin::Support::fromJsonValue(source["EnableCaseSensitiveItemIds"]); + m_disableLiveTvChannelUserDataName = Jellyfin::Support::fromJsonValue(source["DisableLiveTvChannelUserDataName"]); + m_metadataPath = Jellyfin::Support::fromJsonValue(source["MetadataPath"]); + m_metadataNetworkPath = Jellyfin::Support::fromJsonValue(source["MetadataNetworkPath"]); + m_preferredMetadataLanguage = Jellyfin::Support::fromJsonValue(source["PreferredMetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_sortReplaceCharacters = Jellyfin::Support::fromJsonValue(source["SortReplaceCharacters"]); + m_sortRemoveCharacters = Jellyfin::Support::fromJsonValue(source["SortRemoveCharacters"]); + m_sortRemoveWords = Jellyfin::Support::fromJsonValue(source["SortRemoveWords"]); + m_minResumePct = Jellyfin::Support::fromJsonValue(source["MinResumePct"]); + m_maxResumePct = Jellyfin::Support::fromJsonValue(source["MaxResumePct"]); + m_minResumeDurationSeconds = Jellyfin::Support::fromJsonValue(source["MinResumeDurationSeconds"]); + m_minAudiobookResume = Jellyfin::Support::fromJsonValue(source["MinAudiobookResume"]); + m_maxAudiobookResume = Jellyfin::Support::fromJsonValue(source["MaxAudiobookResume"]); + m_libraryMonitorDelay = Jellyfin::Support::fromJsonValue(source["LibraryMonitorDelay"]); + m_enableDashboardResponseCaching = Jellyfin::Support::fromJsonValue(source["EnableDashboardResponseCaching"]); + m_imageSavingConvention = Jellyfin::Support::fromJsonValue(source["ImageSavingConvention"]); + m_metadataOptions = Jellyfin::Support::fromJsonValue>>(source["MetadataOptions"]); + m_skipDeserializationForBasicTypes = Jellyfin::Support::fromJsonValue(source["SkipDeserializationForBasicTypes"]); + m_serverName = Jellyfin::Support::fromJsonValue(source["ServerName"]); + m_baseUrl = Jellyfin::Support::fromJsonValue(source["BaseUrl"]); + m_uICulture = Jellyfin::Support::fromJsonValue(source["UICulture"]); + m_saveMetadataHidden = Jellyfin::Support::fromJsonValue(source["SaveMetadataHidden"]); + m_contentTypes = Jellyfin::Support::fromJsonValue>>(source["ContentTypes"]); + m_remoteClientBitrateLimit = Jellyfin::Support::fromJsonValue(source["RemoteClientBitrateLimit"]); + m_enableFolderView = Jellyfin::Support::fromJsonValue(source["EnableFolderView"]); + m_enableGroupingIntoCollections = Jellyfin::Support::fromJsonValue(source["EnableGroupingIntoCollections"]); + m_displaySpecialsWithinSeasons = Jellyfin::Support::fromJsonValue(source["DisplaySpecialsWithinSeasons"]); + m_localNetworkSubnets = Jellyfin::Support::fromJsonValue(source["LocalNetworkSubnets"]); + m_localNetworkAddresses = Jellyfin::Support::fromJsonValue(source["LocalNetworkAddresses"]); + m_codecsUsed = Jellyfin::Support::fromJsonValue(source["CodecsUsed"]); + m_pluginRepositories = Jellyfin::Support::fromJsonValue>>(source["PluginRepositories"]); + m_enableExternalContentInSuggestions = Jellyfin::Support::fromJsonValue(source["EnableExternalContentInSuggestions"]); + m_requireHttps = Jellyfin::Support::fromJsonValue(source["RequireHttps"]); + m_enableNewOmdbSupport = Jellyfin::Support::fromJsonValue(source["EnableNewOmdbSupport"]); + m_remoteIPFilter = Jellyfin::Support::fromJsonValue(source["RemoteIPFilter"]); + m_isRemoteIPFilterBlacklist = Jellyfin::Support::fromJsonValue(source["IsRemoteIPFilterBlacklist"]); + m_imageExtractionTimeoutMs = Jellyfin::Support::fromJsonValue(source["ImageExtractionTimeoutMs"]); + m_pathSubstitutions = Jellyfin::Support::fromJsonValue>>(source["PathSubstitutions"]); + m_enableSimpleArtistDetection = Jellyfin::Support::fromJsonValue(source["EnableSimpleArtistDetection"]); + m_uninstalledPlugins = Jellyfin::Support::fromJsonValue(source["UninstalledPlugins"]); + m_enableSlowResponseWarning = Jellyfin::Support::fromJsonValue(source["EnableSlowResponseWarning"]); + m_slowResponseThresholdMs = Jellyfin::Support::fromJsonValue(source["SlowResponseThresholdMs"]); + m_corsHosts = Jellyfin::Support::fromJsonValue(source["CorsHosts"]); + m_knownProxies = Jellyfin::Support::fromJsonValue(source["KnownProxies"]); + m_activityLogRetentionDays = Jellyfin::Support::fromJsonValue>(source["ActivityLogRetentionDays"]); + m_libraryScanFanoutConcurrency = Jellyfin::Support::fromJsonValue(source["LibraryScanFanoutConcurrency"]); + m_libraryMetadataRefreshConcurrency = Jellyfin::Support::fromJsonValue(source["LibraryMetadataRefreshConcurrency"]); + m_removeOldPlugins = Jellyfin::Support::fromJsonValue(source["RemoveOldPlugins"]); + m_disablePluginImages = Jellyfin::Support::fromJsonValue(source["DisablePluginImages"]); + +} + +QJsonObject ServerConfiguration::toJson() { + QJsonObject result; + result["LogFileRetentionDays"] = Jellyfin::Support::toJsonValue(m_logFileRetentionDays); + result["IsStartupWizardCompleted"] = Jellyfin::Support::toJsonValue(m_isStartupWizardCompleted); + result["CachePath"] = Jellyfin::Support::toJsonValue(m_cachePath); + result["PreviousVersion"] = Jellyfin::Support::toJsonValue>(m_previousVersion); + result["PreviousVersionStr"] = Jellyfin::Support::toJsonValue(m_previousVersionStr); + result["EnableUPnP"] = Jellyfin::Support::toJsonValue(m_enableUPnP); + result["EnableMetrics"] = Jellyfin::Support::toJsonValue(m_enableMetrics); + result["PublicPort"] = Jellyfin::Support::toJsonValue(m_publicPort); + result["UPnPCreateHttpPortMap"] = Jellyfin::Support::toJsonValue(m_uPnPCreateHttpPortMap); + result["UDPPortRange"] = Jellyfin::Support::toJsonValue(m_uDPPortRange); + result["EnableIPV6"] = Jellyfin::Support::toJsonValue(m_enableIPV6); + result["EnableIPV4"] = Jellyfin::Support::toJsonValue(m_enableIPV4); + result["EnableSSDPTracing"] = Jellyfin::Support::toJsonValue(m_enableSSDPTracing); + result["SSDPTracingFilter"] = Jellyfin::Support::toJsonValue(m_sSDPTracingFilter); + result["UDPSendCount"] = Jellyfin::Support::toJsonValue(m_uDPSendCount); + result["UDPSendDelay"] = Jellyfin::Support::toJsonValue(m_uDPSendDelay); + result["IgnoreVirtualInterfaces"] = Jellyfin::Support::toJsonValue(m_ignoreVirtualInterfaces); + result["VirtualInterfaceNames"] = Jellyfin::Support::toJsonValue(m_virtualInterfaceNames); + result["GatewayMonitorPeriod"] = Jellyfin::Support::toJsonValue(m_gatewayMonitorPeriod); + result["EnableMultiSocketBinding"] = Jellyfin::Support::toJsonValue(m_enableMultiSocketBinding); + result["TrustAllIP6Interfaces"] = Jellyfin::Support::toJsonValue(m_trustAllIP6Interfaces); + result["HDHomerunPortRange"] = Jellyfin::Support::toJsonValue(m_hDHomerunPortRange); + result["PublishedServerUriBySubnet"] = Jellyfin::Support::toJsonValue(m_publishedServerUriBySubnet); + result["AutoDiscoveryTracing"] = Jellyfin::Support::toJsonValue(m_autoDiscoveryTracing); + result["AutoDiscovery"] = Jellyfin::Support::toJsonValue(m_autoDiscovery); + result["PublicHttpsPort"] = Jellyfin::Support::toJsonValue(m_publicHttpsPort); + result["HttpServerPortNumber"] = Jellyfin::Support::toJsonValue(m_httpServerPortNumber); + result["HttpsPortNumber"] = Jellyfin::Support::toJsonValue(m_httpsPortNumber); + result["EnableHttps"] = Jellyfin::Support::toJsonValue(m_enableHttps); + result["EnableNormalizedItemByNameIds"] = Jellyfin::Support::toJsonValue(m_enableNormalizedItemByNameIds); + result["CertificatePath"] = Jellyfin::Support::toJsonValue(m_certificatePath); + result["CertificatePassword"] = Jellyfin::Support::toJsonValue(m_certificatePassword); + result["IsPortAuthorized"] = Jellyfin::Support::toJsonValue(m_isPortAuthorized); + result["QuickConnectAvailable"] = Jellyfin::Support::toJsonValue(m_quickConnectAvailable); + result["EnableRemoteAccess"] = Jellyfin::Support::toJsonValue(m_enableRemoteAccess); + result["EnableCaseSensitiveItemIds"] = Jellyfin::Support::toJsonValue(m_enableCaseSensitiveItemIds); + result["DisableLiveTvChannelUserDataName"] = Jellyfin::Support::toJsonValue(m_disableLiveTvChannelUserDataName); + result["MetadataPath"] = Jellyfin::Support::toJsonValue(m_metadataPath); + result["MetadataNetworkPath"] = Jellyfin::Support::toJsonValue(m_metadataNetworkPath); + result["PreferredMetadataLanguage"] = Jellyfin::Support::toJsonValue(m_preferredMetadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["SortReplaceCharacters"] = Jellyfin::Support::toJsonValue(m_sortReplaceCharacters); + result["SortRemoveCharacters"] = Jellyfin::Support::toJsonValue(m_sortRemoveCharacters); + result["SortRemoveWords"] = Jellyfin::Support::toJsonValue(m_sortRemoveWords); + result["MinResumePct"] = Jellyfin::Support::toJsonValue(m_minResumePct); + result["MaxResumePct"] = Jellyfin::Support::toJsonValue(m_maxResumePct); + result["MinResumeDurationSeconds"] = Jellyfin::Support::toJsonValue(m_minResumeDurationSeconds); + result["MinAudiobookResume"] = Jellyfin::Support::toJsonValue(m_minAudiobookResume); + result["MaxAudiobookResume"] = Jellyfin::Support::toJsonValue(m_maxAudiobookResume); + result["LibraryMonitorDelay"] = Jellyfin::Support::toJsonValue(m_libraryMonitorDelay); + result["EnableDashboardResponseCaching"] = Jellyfin::Support::toJsonValue(m_enableDashboardResponseCaching); + result["ImageSavingConvention"] = Jellyfin::Support::toJsonValue(m_imageSavingConvention); + result["MetadataOptions"] = Jellyfin::Support::toJsonValue>>(m_metadataOptions); + result["SkipDeserializationForBasicTypes"] = Jellyfin::Support::toJsonValue(m_skipDeserializationForBasicTypes); + result["ServerName"] = Jellyfin::Support::toJsonValue(m_serverName); + result["BaseUrl"] = Jellyfin::Support::toJsonValue(m_baseUrl); + result["UICulture"] = Jellyfin::Support::toJsonValue(m_uICulture); + result["SaveMetadataHidden"] = Jellyfin::Support::toJsonValue(m_saveMetadataHidden); + result["ContentTypes"] = Jellyfin::Support::toJsonValue>>(m_contentTypes); + result["RemoteClientBitrateLimit"] = Jellyfin::Support::toJsonValue(m_remoteClientBitrateLimit); + result["EnableFolderView"] = Jellyfin::Support::toJsonValue(m_enableFolderView); + result["EnableGroupingIntoCollections"] = Jellyfin::Support::toJsonValue(m_enableGroupingIntoCollections); + result["DisplaySpecialsWithinSeasons"] = Jellyfin::Support::toJsonValue(m_displaySpecialsWithinSeasons); + result["LocalNetworkSubnets"] = Jellyfin::Support::toJsonValue(m_localNetworkSubnets); + result["LocalNetworkAddresses"] = Jellyfin::Support::toJsonValue(m_localNetworkAddresses); + result["CodecsUsed"] = Jellyfin::Support::toJsonValue(m_codecsUsed); + result["PluginRepositories"] = Jellyfin::Support::toJsonValue>>(m_pluginRepositories); + result["EnableExternalContentInSuggestions"] = Jellyfin::Support::toJsonValue(m_enableExternalContentInSuggestions); + result["RequireHttps"] = Jellyfin::Support::toJsonValue(m_requireHttps); + result["EnableNewOmdbSupport"] = Jellyfin::Support::toJsonValue(m_enableNewOmdbSupport); + result["RemoteIPFilter"] = Jellyfin::Support::toJsonValue(m_remoteIPFilter); + result["IsRemoteIPFilterBlacklist"] = Jellyfin::Support::toJsonValue(m_isRemoteIPFilterBlacklist); + result["ImageExtractionTimeoutMs"] = Jellyfin::Support::toJsonValue(m_imageExtractionTimeoutMs); + result["PathSubstitutions"] = Jellyfin::Support::toJsonValue>>(m_pathSubstitutions); + result["EnableSimpleArtistDetection"] = Jellyfin::Support::toJsonValue(m_enableSimpleArtistDetection); + result["UninstalledPlugins"] = Jellyfin::Support::toJsonValue(m_uninstalledPlugins); + result["EnableSlowResponseWarning"] = Jellyfin::Support::toJsonValue(m_enableSlowResponseWarning); + result["SlowResponseThresholdMs"] = Jellyfin::Support::toJsonValue(m_slowResponseThresholdMs); + result["CorsHosts"] = Jellyfin::Support::toJsonValue(m_corsHosts); + result["KnownProxies"] = Jellyfin::Support::toJsonValue(m_knownProxies); + result["ActivityLogRetentionDays"] = Jellyfin::Support::toJsonValue>(m_activityLogRetentionDays); + result["LibraryScanFanoutConcurrency"] = Jellyfin::Support::toJsonValue(m_libraryScanFanoutConcurrency); + result["LibraryMetadataRefreshConcurrency"] = Jellyfin::Support::toJsonValue(m_libraryMetadataRefreshConcurrency); + result["RemoveOldPlugins"] = Jellyfin::Support::toJsonValue(m_removeOldPlugins); + result["DisablePluginImages"] = Jellyfin::Support::toJsonValue(m_disablePluginImages); + + return result; +} + +qint32 ServerConfiguration::logFileRetentionDays() const { return m_logFileRetentionDays; } + +void ServerConfiguration::setLogFileRetentionDays(qint32 newLogFileRetentionDays) { + m_logFileRetentionDays = newLogFileRetentionDays; +} + +bool ServerConfiguration::isStartupWizardCompleted() const { return m_isStartupWizardCompleted; } + +void ServerConfiguration::setIsStartupWizardCompleted(bool newIsStartupWizardCompleted) { + m_isStartupWizardCompleted = newIsStartupWizardCompleted; +} + +QString ServerConfiguration::cachePath() const { return m_cachePath; } + +void ServerConfiguration::setCachePath(QString newCachePath) { + m_cachePath = newCachePath; +} +bool ServerConfiguration::cachePathNull() const { + return m_cachePath.isNull(); +} + +void ServerConfiguration::setCachePathNull() { + m_cachePath.clear(); + +} +QSharedPointer ServerConfiguration::previousVersion() const { return m_previousVersion; } + +void ServerConfiguration::setPreviousVersion(QSharedPointer newPreviousVersion) { + m_previousVersion = newPreviousVersion; +} + +QString ServerConfiguration::previousVersionStr() const { return m_previousVersionStr; } + +void ServerConfiguration::setPreviousVersionStr(QString newPreviousVersionStr) { + m_previousVersionStr = newPreviousVersionStr; +} +bool ServerConfiguration::previousVersionStrNull() const { + return m_previousVersionStr.isNull(); +} + +void ServerConfiguration::setPreviousVersionStrNull() { + m_previousVersionStr.clear(); + +} +bool ServerConfiguration::enableUPnP() const { return m_enableUPnP; } + +void ServerConfiguration::setEnableUPnP(bool newEnableUPnP) { + m_enableUPnP = newEnableUPnP; +} + +bool ServerConfiguration::enableMetrics() const { return m_enableMetrics; } + +void ServerConfiguration::setEnableMetrics(bool newEnableMetrics) { + m_enableMetrics = newEnableMetrics; +} + +qint32 ServerConfiguration::publicPort() const { return m_publicPort; } + +void ServerConfiguration::setPublicPort(qint32 newPublicPort) { + m_publicPort = newPublicPort; +} + +bool ServerConfiguration::uPnPCreateHttpPortMap() const { return m_uPnPCreateHttpPortMap; } + +void ServerConfiguration::setUPnPCreateHttpPortMap(bool newUPnPCreateHttpPortMap) { + m_uPnPCreateHttpPortMap = newUPnPCreateHttpPortMap; +} + +QString ServerConfiguration::uDPPortRange() const { return m_uDPPortRange; } + +void ServerConfiguration::setUDPPortRange(QString newUDPPortRange) { + m_uDPPortRange = newUDPPortRange; +} +bool ServerConfiguration::uDPPortRangeNull() const { + return m_uDPPortRange.isNull(); +} + +void ServerConfiguration::setUDPPortRangeNull() { + m_uDPPortRange.clear(); + +} +bool ServerConfiguration::enableIPV6() const { return m_enableIPV6; } + +void ServerConfiguration::setEnableIPV6(bool newEnableIPV6) { + m_enableIPV6 = newEnableIPV6; +} + +bool ServerConfiguration::enableIPV4() const { return m_enableIPV4; } + +void ServerConfiguration::setEnableIPV4(bool newEnableIPV4) { + m_enableIPV4 = newEnableIPV4; +} + +bool ServerConfiguration::enableSSDPTracing() const { return m_enableSSDPTracing; } + +void ServerConfiguration::setEnableSSDPTracing(bool newEnableSSDPTracing) { + m_enableSSDPTracing = newEnableSSDPTracing; +} + +QString ServerConfiguration::sSDPTracingFilter() const { return m_sSDPTracingFilter; } + +void ServerConfiguration::setSSDPTracingFilter(QString newSSDPTracingFilter) { + m_sSDPTracingFilter = newSSDPTracingFilter; +} +bool ServerConfiguration::sSDPTracingFilterNull() const { + return m_sSDPTracingFilter.isNull(); +} + +void ServerConfiguration::setSSDPTracingFilterNull() { + m_sSDPTracingFilter.clear(); + +} +qint32 ServerConfiguration::uDPSendCount() const { return m_uDPSendCount; } + +void ServerConfiguration::setUDPSendCount(qint32 newUDPSendCount) { + m_uDPSendCount = newUDPSendCount; +} + +qint32 ServerConfiguration::uDPSendDelay() const { return m_uDPSendDelay; } + +void ServerConfiguration::setUDPSendDelay(qint32 newUDPSendDelay) { + m_uDPSendDelay = newUDPSendDelay; +} + +bool ServerConfiguration::ignoreVirtualInterfaces() const { return m_ignoreVirtualInterfaces; } + +void ServerConfiguration::setIgnoreVirtualInterfaces(bool newIgnoreVirtualInterfaces) { + m_ignoreVirtualInterfaces = newIgnoreVirtualInterfaces; +} + +QString ServerConfiguration::virtualInterfaceNames() const { return m_virtualInterfaceNames; } + +void ServerConfiguration::setVirtualInterfaceNames(QString newVirtualInterfaceNames) { + m_virtualInterfaceNames = newVirtualInterfaceNames; +} +bool ServerConfiguration::virtualInterfaceNamesNull() const { + return m_virtualInterfaceNames.isNull(); +} + +void ServerConfiguration::setVirtualInterfaceNamesNull() { + m_virtualInterfaceNames.clear(); + +} +qint32 ServerConfiguration::gatewayMonitorPeriod() const { return m_gatewayMonitorPeriod; } + +void ServerConfiguration::setGatewayMonitorPeriod(qint32 newGatewayMonitorPeriod) { + m_gatewayMonitorPeriod = newGatewayMonitorPeriod; +} + +bool ServerConfiguration::enableMultiSocketBinding() const { return m_enableMultiSocketBinding; } + +void ServerConfiguration::setEnableMultiSocketBinding(bool newEnableMultiSocketBinding) { + m_enableMultiSocketBinding = newEnableMultiSocketBinding; +} + +bool ServerConfiguration::trustAllIP6Interfaces() const { return m_trustAllIP6Interfaces; } + +void ServerConfiguration::setTrustAllIP6Interfaces(bool newTrustAllIP6Interfaces) { + m_trustAllIP6Interfaces = newTrustAllIP6Interfaces; +} + +QString ServerConfiguration::hDHomerunPortRange() const { return m_hDHomerunPortRange; } + +void ServerConfiguration::setHDHomerunPortRange(QString newHDHomerunPortRange) { + m_hDHomerunPortRange = newHDHomerunPortRange; +} +bool ServerConfiguration::hDHomerunPortRangeNull() const { + return m_hDHomerunPortRange.isNull(); +} + +void ServerConfiguration::setHDHomerunPortRangeNull() { + m_hDHomerunPortRange.clear(); + +} +QStringList ServerConfiguration::publishedServerUriBySubnet() const { return m_publishedServerUriBySubnet; } + +void ServerConfiguration::setPublishedServerUriBySubnet(QStringList newPublishedServerUriBySubnet) { + m_publishedServerUriBySubnet = newPublishedServerUriBySubnet; +} +bool ServerConfiguration::publishedServerUriBySubnetNull() const { + return m_publishedServerUriBySubnet.size() == 0; +} + +void ServerConfiguration::setPublishedServerUriBySubnetNull() { + m_publishedServerUriBySubnet.clear(); + +} +bool ServerConfiguration::autoDiscoveryTracing() const { return m_autoDiscoveryTracing; } + +void ServerConfiguration::setAutoDiscoveryTracing(bool newAutoDiscoveryTracing) { + m_autoDiscoveryTracing = newAutoDiscoveryTracing; +} + +bool ServerConfiguration::autoDiscovery() const { return m_autoDiscovery; } + +void ServerConfiguration::setAutoDiscovery(bool newAutoDiscovery) { + m_autoDiscovery = newAutoDiscovery; +} + +qint32 ServerConfiguration::publicHttpsPort() const { return m_publicHttpsPort; } + +void ServerConfiguration::setPublicHttpsPort(qint32 newPublicHttpsPort) { + m_publicHttpsPort = newPublicHttpsPort; +} + +qint32 ServerConfiguration::httpServerPortNumber() const { return m_httpServerPortNumber; } + +void ServerConfiguration::setHttpServerPortNumber(qint32 newHttpServerPortNumber) { + m_httpServerPortNumber = newHttpServerPortNumber; +} + +qint32 ServerConfiguration::httpsPortNumber() const { return m_httpsPortNumber; } + +void ServerConfiguration::setHttpsPortNumber(qint32 newHttpsPortNumber) { + m_httpsPortNumber = newHttpsPortNumber; +} + +bool ServerConfiguration::enableHttps() const { return m_enableHttps; } + +void ServerConfiguration::setEnableHttps(bool newEnableHttps) { + m_enableHttps = newEnableHttps; +} + +bool ServerConfiguration::enableNormalizedItemByNameIds() const { return m_enableNormalizedItemByNameIds; } + +void ServerConfiguration::setEnableNormalizedItemByNameIds(bool newEnableNormalizedItemByNameIds) { + m_enableNormalizedItemByNameIds = newEnableNormalizedItemByNameIds; +} + +QString ServerConfiguration::certificatePath() const { return m_certificatePath; } + +void ServerConfiguration::setCertificatePath(QString newCertificatePath) { + m_certificatePath = newCertificatePath; +} +bool ServerConfiguration::certificatePathNull() const { + return m_certificatePath.isNull(); +} + +void ServerConfiguration::setCertificatePathNull() { + m_certificatePath.clear(); + +} +QString ServerConfiguration::certificatePassword() const { return m_certificatePassword; } + +void ServerConfiguration::setCertificatePassword(QString newCertificatePassword) { + m_certificatePassword = newCertificatePassword; +} +bool ServerConfiguration::certificatePasswordNull() const { + return m_certificatePassword.isNull(); +} + +void ServerConfiguration::setCertificatePasswordNull() { + m_certificatePassword.clear(); + +} +bool ServerConfiguration::isPortAuthorized() const { return m_isPortAuthorized; } + +void ServerConfiguration::setIsPortAuthorized(bool newIsPortAuthorized) { + m_isPortAuthorized = newIsPortAuthorized; +} + +bool ServerConfiguration::quickConnectAvailable() const { return m_quickConnectAvailable; } + +void ServerConfiguration::setQuickConnectAvailable(bool newQuickConnectAvailable) { + m_quickConnectAvailable = newQuickConnectAvailable; +} + +bool ServerConfiguration::enableRemoteAccess() const { return m_enableRemoteAccess; } + +void ServerConfiguration::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; +} + +bool ServerConfiguration::enableCaseSensitiveItemIds() const { return m_enableCaseSensitiveItemIds; } + +void ServerConfiguration::setEnableCaseSensitiveItemIds(bool newEnableCaseSensitiveItemIds) { + m_enableCaseSensitiveItemIds = newEnableCaseSensitiveItemIds; +} + +bool ServerConfiguration::disableLiveTvChannelUserDataName() const { return m_disableLiveTvChannelUserDataName; } + +void ServerConfiguration::setDisableLiveTvChannelUserDataName(bool newDisableLiveTvChannelUserDataName) { + m_disableLiveTvChannelUserDataName = newDisableLiveTvChannelUserDataName; +} + +QString ServerConfiguration::metadataPath() const { return m_metadataPath; } + +void ServerConfiguration::setMetadataPath(QString newMetadataPath) { + m_metadataPath = newMetadataPath; +} +bool ServerConfiguration::metadataPathNull() const { + return m_metadataPath.isNull(); +} + +void ServerConfiguration::setMetadataPathNull() { + m_metadataPath.clear(); + +} +QString ServerConfiguration::metadataNetworkPath() const { return m_metadataNetworkPath; } + +void ServerConfiguration::setMetadataNetworkPath(QString newMetadataNetworkPath) { + m_metadataNetworkPath = newMetadataNetworkPath; +} +bool ServerConfiguration::metadataNetworkPathNull() const { + return m_metadataNetworkPath.isNull(); +} + +void ServerConfiguration::setMetadataNetworkPathNull() { + m_metadataNetworkPath.clear(); + +} +QString ServerConfiguration::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } + +void ServerConfiguration::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; +} +bool ServerConfiguration::preferredMetadataLanguageNull() const { + return m_preferredMetadataLanguage.isNull(); +} + +void ServerConfiguration::setPreferredMetadataLanguageNull() { + m_preferredMetadataLanguage.clear(); + +} +QString ServerConfiguration::metadataCountryCode() const { return m_metadataCountryCode; } + +void ServerConfiguration::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool ServerConfiguration::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void ServerConfiguration::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +QStringList ServerConfiguration::sortReplaceCharacters() const { return m_sortReplaceCharacters; } + +void ServerConfiguration::setSortReplaceCharacters(QStringList newSortReplaceCharacters) { + m_sortReplaceCharacters = newSortReplaceCharacters; +} +bool ServerConfiguration::sortReplaceCharactersNull() const { + return m_sortReplaceCharacters.size() == 0; +} + +void ServerConfiguration::setSortReplaceCharactersNull() { + m_sortReplaceCharacters.clear(); + +} +QStringList ServerConfiguration::sortRemoveCharacters() const { return m_sortRemoveCharacters; } + +void ServerConfiguration::setSortRemoveCharacters(QStringList newSortRemoveCharacters) { + m_sortRemoveCharacters = newSortRemoveCharacters; +} +bool ServerConfiguration::sortRemoveCharactersNull() const { + return m_sortRemoveCharacters.size() == 0; +} + +void ServerConfiguration::setSortRemoveCharactersNull() { + m_sortRemoveCharacters.clear(); + +} +QStringList ServerConfiguration::sortRemoveWords() const { return m_sortRemoveWords; } + +void ServerConfiguration::setSortRemoveWords(QStringList newSortRemoveWords) { + m_sortRemoveWords = newSortRemoveWords; +} +bool ServerConfiguration::sortRemoveWordsNull() const { + return m_sortRemoveWords.size() == 0; +} + +void ServerConfiguration::setSortRemoveWordsNull() { + m_sortRemoveWords.clear(); + +} +qint32 ServerConfiguration::minResumePct() const { return m_minResumePct; } + +void ServerConfiguration::setMinResumePct(qint32 newMinResumePct) { + m_minResumePct = newMinResumePct; +} + +qint32 ServerConfiguration::maxResumePct() const { return m_maxResumePct; } + +void ServerConfiguration::setMaxResumePct(qint32 newMaxResumePct) { + m_maxResumePct = newMaxResumePct; +} + +qint32 ServerConfiguration::minResumeDurationSeconds() const { return m_minResumeDurationSeconds; } + +void ServerConfiguration::setMinResumeDurationSeconds(qint32 newMinResumeDurationSeconds) { + m_minResumeDurationSeconds = newMinResumeDurationSeconds; +} + +qint32 ServerConfiguration::minAudiobookResume() const { return m_minAudiobookResume; } + +void ServerConfiguration::setMinAudiobookResume(qint32 newMinAudiobookResume) { + m_minAudiobookResume = newMinAudiobookResume; +} + +qint32 ServerConfiguration::maxAudiobookResume() const { return m_maxAudiobookResume; } + +void ServerConfiguration::setMaxAudiobookResume(qint32 newMaxAudiobookResume) { + m_maxAudiobookResume = newMaxAudiobookResume; +} + +qint32 ServerConfiguration::libraryMonitorDelay() const { return m_libraryMonitorDelay; } + +void ServerConfiguration::setLibraryMonitorDelay(qint32 newLibraryMonitorDelay) { + m_libraryMonitorDelay = newLibraryMonitorDelay; +} + +bool ServerConfiguration::enableDashboardResponseCaching() const { return m_enableDashboardResponseCaching; } + +void ServerConfiguration::setEnableDashboardResponseCaching(bool newEnableDashboardResponseCaching) { + m_enableDashboardResponseCaching = newEnableDashboardResponseCaching; +} + +ImageSavingConvention ServerConfiguration::imageSavingConvention() const { return m_imageSavingConvention; } + +void ServerConfiguration::setImageSavingConvention(ImageSavingConvention newImageSavingConvention) { + m_imageSavingConvention = newImageSavingConvention; +} + +QList> ServerConfiguration::metadataOptions() const { return m_metadataOptions; } + +void ServerConfiguration::setMetadataOptions(QList> newMetadataOptions) { + m_metadataOptions = newMetadataOptions; +} +bool ServerConfiguration::metadataOptionsNull() const { + return m_metadataOptions.size() == 0; +} + +void ServerConfiguration::setMetadataOptionsNull() { + m_metadataOptions.clear(); + +} +bool ServerConfiguration::skipDeserializationForBasicTypes() const { return m_skipDeserializationForBasicTypes; } + +void ServerConfiguration::setSkipDeserializationForBasicTypes(bool newSkipDeserializationForBasicTypes) { + m_skipDeserializationForBasicTypes = newSkipDeserializationForBasicTypes; +} + +QString ServerConfiguration::serverName() const { return m_serverName; } + +void ServerConfiguration::setServerName(QString newServerName) { + m_serverName = newServerName; +} +bool ServerConfiguration::serverNameNull() const { + return m_serverName.isNull(); +} + +void ServerConfiguration::setServerNameNull() { + m_serverName.clear(); + +} +QString ServerConfiguration::baseUrl() const { return m_baseUrl; } + +void ServerConfiguration::setBaseUrl(QString newBaseUrl) { + m_baseUrl = newBaseUrl; +} +bool ServerConfiguration::baseUrlNull() const { + return m_baseUrl.isNull(); +} + +void ServerConfiguration::setBaseUrlNull() { + m_baseUrl.clear(); + +} +QString ServerConfiguration::uICulture() const { return m_uICulture; } + +void ServerConfiguration::setUICulture(QString newUICulture) { + m_uICulture = newUICulture; +} +bool ServerConfiguration::uICultureNull() const { + return m_uICulture.isNull(); +} + +void ServerConfiguration::setUICultureNull() { + m_uICulture.clear(); + +} +bool ServerConfiguration::saveMetadataHidden() const { return m_saveMetadataHidden; } + +void ServerConfiguration::setSaveMetadataHidden(bool newSaveMetadataHidden) { + m_saveMetadataHidden = newSaveMetadataHidden; +} + +QList> ServerConfiguration::contentTypes() const { return m_contentTypes; } + +void ServerConfiguration::setContentTypes(QList> newContentTypes) { + m_contentTypes = newContentTypes; +} +bool ServerConfiguration::contentTypesNull() const { + return m_contentTypes.size() == 0; +} + +void ServerConfiguration::setContentTypesNull() { + m_contentTypes.clear(); + +} +qint32 ServerConfiguration::remoteClientBitrateLimit() const { return m_remoteClientBitrateLimit; } + +void ServerConfiguration::setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit) { + m_remoteClientBitrateLimit = newRemoteClientBitrateLimit; +} + +bool ServerConfiguration::enableFolderView() const { return m_enableFolderView; } + +void ServerConfiguration::setEnableFolderView(bool newEnableFolderView) { + m_enableFolderView = newEnableFolderView; +} + +bool ServerConfiguration::enableGroupingIntoCollections() const { return m_enableGroupingIntoCollections; } + +void ServerConfiguration::setEnableGroupingIntoCollections(bool newEnableGroupingIntoCollections) { + m_enableGroupingIntoCollections = newEnableGroupingIntoCollections; +} + +bool ServerConfiguration::displaySpecialsWithinSeasons() const { return m_displaySpecialsWithinSeasons; } + +void ServerConfiguration::setDisplaySpecialsWithinSeasons(bool newDisplaySpecialsWithinSeasons) { + m_displaySpecialsWithinSeasons = newDisplaySpecialsWithinSeasons; +} + +QStringList ServerConfiguration::localNetworkSubnets() const { return m_localNetworkSubnets; } + +void ServerConfiguration::setLocalNetworkSubnets(QStringList newLocalNetworkSubnets) { + m_localNetworkSubnets = newLocalNetworkSubnets; +} +bool ServerConfiguration::localNetworkSubnetsNull() const { + return m_localNetworkSubnets.size() == 0; +} + +void ServerConfiguration::setLocalNetworkSubnetsNull() { + m_localNetworkSubnets.clear(); + +} +QStringList ServerConfiguration::localNetworkAddresses() const { return m_localNetworkAddresses; } + +void ServerConfiguration::setLocalNetworkAddresses(QStringList newLocalNetworkAddresses) { + m_localNetworkAddresses = newLocalNetworkAddresses; +} +bool ServerConfiguration::localNetworkAddressesNull() const { + return m_localNetworkAddresses.size() == 0; +} + +void ServerConfiguration::setLocalNetworkAddressesNull() { + m_localNetworkAddresses.clear(); + +} +QStringList ServerConfiguration::codecsUsed() const { return m_codecsUsed; } + +void ServerConfiguration::setCodecsUsed(QStringList newCodecsUsed) { + m_codecsUsed = newCodecsUsed; +} +bool ServerConfiguration::codecsUsedNull() const { + return m_codecsUsed.size() == 0; +} + +void ServerConfiguration::setCodecsUsedNull() { + m_codecsUsed.clear(); + +} +QList> ServerConfiguration::pluginRepositories() const { return m_pluginRepositories; } + +void ServerConfiguration::setPluginRepositories(QList> newPluginRepositories) { + m_pluginRepositories = newPluginRepositories; +} +bool ServerConfiguration::pluginRepositoriesNull() const { + return m_pluginRepositories.size() == 0; +} + +void ServerConfiguration::setPluginRepositoriesNull() { + m_pluginRepositories.clear(); + +} +bool ServerConfiguration::enableExternalContentInSuggestions() const { return m_enableExternalContentInSuggestions; } + +void ServerConfiguration::setEnableExternalContentInSuggestions(bool newEnableExternalContentInSuggestions) { + m_enableExternalContentInSuggestions = newEnableExternalContentInSuggestions; +} + +bool ServerConfiguration::requireHttps() const { return m_requireHttps; } + +void ServerConfiguration::setRequireHttps(bool newRequireHttps) { + m_requireHttps = newRequireHttps; +} + +bool ServerConfiguration::enableNewOmdbSupport() const { return m_enableNewOmdbSupport; } + +void ServerConfiguration::setEnableNewOmdbSupport(bool newEnableNewOmdbSupport) { + m_enableNewOmdbSupport = newEnableNewOmdbSupport; +} + +QStringList ServerConfiguration::remoteIPFilter() const { return m_remoteIPFilter; } + +void ServerConfiguration::setRemoteIPFilter(QStringList newRemoteIPFilter) { + m_remoteIPFilter = newRemoteIPFilter; +} +bool ServerConfiguration::remoteIPFilterNull() const { + return m_remoteIPFilter.size() == 0; +} + +void ServerConfiguration::setRemoteIPFilterNull() { + m_remoteIPFilter.clear(); + +} +bool ServerConfiguration::isRemoteIPFilterBlacklist() const { return m_isRemoteIPFilterBlacklist; } + +void ServerConfiguration::setIsRemoteIPFilterBlacklist(bool newIsRemoteIPFilterBlacklist) { + m_isRemoteIPFilterBlacklist = newIsRemoteIPFilterBlacklist; +} + +qint32 ServerConfiguration::imageExtractionTimeoutMs() const { return m_imageExtractionTimeoutMs; } + +void ServerConfiguration::setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs) { + m_imageExtractionTimeoutMs = newImageExtractionTimeoutMs; +} + +QList> ServerConfiguration::pathSubstitutions() const { return m_pathSubstitutions; } + +void ServerConfiguration::setPathSubstitutions(QList> newPathSubstitutions) { + m_pathSubstitutions = newPathSubstitutions; +} +bool ServerConfiguration::pathSubstitutionsNull() const { + return m_pathSubstitutions.size() == 0; +} + +void ServerConfiguration::setPathSubstitutionsNull() { + m_pathSubstitutions.clear(); + +} +bool ServerConfiguration::enableSimpleArtistDetection() const { return m_enableSimpleArtistDetection; } + +void ServerConfiguration::setEnableSimpleArtistDetection(bool newEnableSimpleArtistDetection) { + m_enableSimpleArtistDetection = newEnableSimpleArtistDetection; +} + +QStringList ServerConfiguration::uninstalledPlugins() const { return m_uninstalledPlugins; } + +void ServerConfiguration::setUninstalledPlugins(QStringList newUninstalledPlugins) { + m_uninstalledPlugins = newUninstalledPlugins; +} +bool ServerConfiguration::uninstalledPluginsNull() const { + return m_uninstalledPlugins.size() == 0; +} + +void ServerConfiguration::setUninstalledPluginsNull() { + m_uninstalledPlugins.clear(); + +} +bool ServerConfiguration::enableSlowResponseWarning() const { return m_enableSlowResponseWarning; } + +void ServerConfiguration::setEnableSlowResponseWarning(bool newEnableSlowResponseWarning) { + m_enableSlowResponseWarning = newEnableSlowResponseWarning; +} + +qint64 ServerConfiguration::slowResponseThresholdMs() const { return m_slowResponseThresholdMs; } + +void ServerConfiguration::setSlowResponseThresholdMs(qint64 newSlowResponseThresholdMs) { + m_slowResponseThresholdMs = newSlowResponseThresholdMs; +} + +QStringList ServerConfiguration::corsHosts() const { return m_corsHosts; } + +void ServerConfiguration::setCorsHosts(QStringList newCorsHosts) { + m_corsHosts = newCorsHosts; +} +bool ServerConfiguration::corsHostsNull() const { + return m_corsHosts.size() == 0; +} + +void ServerConfiguration::setCorsHostsNull() { + m_corsHosts.clear(); + +} +QStringList ServerConfiguration::knownProxies() const { return m_knownProxies; } + +void ServerConfiguration::setKnownProxies(QStringList newKnownProxies) { + m_knownProxies = newKnownProxies; +} +bool ServerConfiguration::knownProxiesNull() const { + return m_knownProxies.size() == 0; +} + +void ServerConfiguration::setKnownProxiesNull() { + m_knownProxies.clear(); + +} +std::optional ServerConfiguration::activityLogRetentionDays() const { return m_activityLogRetentionDays; } + +void ServerConfiguration::setActivityLogRetentionDays(std::optional newActivityLogRetentionDays) { + m_activityLogRetentionDays = newActivityLogRetentionDays; +} +bool ServerConfiguration::activityLogRetentionDaysNull() const { + return !m_activityLogRetentionDays.has_value(); +} + +void ServerConfiguration::setActivityLogRetentionDaysNull() { + m_activityLogRetentionDays = std::nullopt; + +} +qint32 ServerConfiguration::libraryScanFanoutConcurrency() const { return m_libraryScanFanoutConcurrency; } + +void ServerConfiguration::setLibraryScanFanoutConcurrency(qint32 newLibraryScanFanoutConcurrency) { + m_libraryScanFanoutConcurrency = newLibraryScanFanoutConcurrency; +} + +qint32 ServerConfiguration::libraryMetadataRefreshConcurrency() const { return m_libraryMetadataRefreshConcurrency; } + +void ServerConfiguration::setLibraryMetadataRefreshConcurrency(qint32 newLibraryMetadataRefreshConcurrency) { + m_libraryMetadataRefreshConcurrency = newLibraryMetadataRefreshConcurrency; +} + +bool ServerConfiguration::removeOldPlugins() const { return m_removeOldPlugins; } + +void ServerConfiguration::setRemoveOldPlugins(bool newRemoveOldPlugins) { + m_removeOldPlugins = newRemoveOldPlugins; +} + +bool ServerConfiguration::disablePluginImages() const { return m_disablePluginImages; } + +void ServerConfiguration::setDisablePluginImages(bool newDisablePluginImages) { + m_disablePluginImages = newDisablePluginImages; +} + + +} // NS DTO + +namespace Support { + +using ServerConfiguration = Jellyfin::DTO::ServerConfiguration; + +template <> +ServerConfiguration fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ServerConfiguration::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/sessioninfo.cpp b/core/src/dto/sessioninfo.cpp new file mode 100644 index 0000000..cd10405 --- /dev/null +++ b/core/src/dto/sessioninfo.cpp @@ -0,0 +1,460 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SessionInfo::SessionInfo() {} + +SessionInfo::SessionInfo(const SessionInfo &other) : + + m_playState(other.m_playState), + m_additionalUsers(other.m_additionalUsers), + m_capabilities(other.m_capabilities), + m_remoteEndPoint(other.m_remoteEndPoint), + m_playableMediaTypes(other.m_playableMediaTypes), + m_jellyfinId(other.m_jellyfinId), + m_userId(other.m_userId), + m_userName(other.m_userName), + m_client(other.m_client), + m_lastActivityDate(other.m_lastActivityDate), + m_lastPlaybackCheckIn(other.m_lastPlaybackCheckIn), + m_deviceName(other.m_deviceName), + m_deviceType(other.m_deviceType), + m_nowPlayingItem(other.m_nowPlayingItem), + m_fullNowPlayingItem(other.m_fullNowPlayingItem), + m_nowViewingItem(other.m_nowViewingItem), + m_deviceId(other.m_deviceId), + m_applicationVersion(other.m_applicationVersion), + m_transcodingInfo(other.m_transcodingInfo), + m_isActive(other.m_isActive), + m_supportsMediaControl(other.m_supportsMediaControl), + m_supportsRemoteControl(other.m_supportsRemoteControl), + m_nowPlayingQueue(other.m_nowPlayingQueue), + m_hasCustomDeviceName(other.m_hasCustomDeviceName), + m_playlistItemId(other.m_playlistItemId), + m_serverId(other.m_serverId), + m_userPrimaryImageTag(other.m_userPrimaryImageTag), + m_supportedCommands(other.m_supportedCommands){} + + +void SessionInfo::replaceData(SessionInfo &other) { + m_playState = other.m_playState; + m_additionalUsers = other.m_additionalUsers; + m_capabilities = other.m_capabilities; + m_remoteEndPoint = other.m_remoteEndPoint; + m_playableMediaTypes = other.m_playableMediaTypes; + m_jellyfinId = other.m_jellyfinId; + m_userId = other.m_userId; + m_userName = other.m_userName; + m_client = other.m_client; + m_lastActivityDate = other.m_lastActivityDate; + m_lastPlaybackCheckIn = other.m_lastPlaybackCheckIn; + m_deviceName = other.m_deviceName; + m_deviceType = other.m_deviceType; + m_nowPlayingItem = other.m_nowPlayingItem; + m_fullNowPlayingItem = other.m_fullNowPlayingItem; + m_nowViewingItem = other.m_nowViewingItem; + m_deviceId = other.m_deviceId; + m_applicationVersion = other.m_applicationVersion; + m_transcodingInfo = other.m_transcodingInfo; + m_isActive = other.m_isActive; + m_supportsMediaControl = other.m_supportsMediaControl; + m_supportsRemoteControl = other.m_supportsRemoteControl; + m_nowPlayingQueue = other.m_nowPlayingQueue; + m_hasCustomDeviceName = other.m_hasCustomDeviceName; + m_playlistItemId = other.m_playlistItemId; + m_serverId = other.m_serverId; + m_userPrimaryImageTag = other.m_userPrimaryImageTag; + m_supportedCommands = other.m_supportedCommands; +} + +SessionInfo SessionInfo::fromJson(QJsonObject source) { + SessionInfo instance; + instance.setFromJson(source); + return instance; +} + + +void SessionInfo::setFromJson(QJsonObject source) { + m_playState = Jellyfin::Support::fromJsonValue>(source["PlayState"]); + m_additionalUsers = Jellyfin::Support::fromJsonValue>>(source["AdditionalUsers"]); + m_capabilities = Jellyfin::Support::fromJsonValue>(source["Capabilities"]); + m_remoteEndPoint = Jellyfin::Support::fromJsonValue(source["RemoteEndPoint"]); + m_playableMediaTypes = Jellyfin::Support::fromJsonValue(source["PlayableMediaTypes"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_userName = Jellyfin::Support::fromJsonValue(source["UserName"]); + m_client = Jellyfin::Support::fromJsonValue(source["Client"]); + m_lastActivityDate = Jellyfin::Support::fromJsonValue(source["LastActivityDate"]); + m_lastPlaybackCheckIn = Jellyfin::Support::fromJsonValue(source["LastPlaybackCheckIn"]); + m_deviceName = Jellyfin::Support::fromJsonValue(source["DeviceName"]); + m_deviceType = Jellyfin::Support::fromJsonValue(source["DeviceType"]); + m_nowPlayingItem = Jellyfin::Support::fromJsonValue>(source["NowPlayingItem"]); + m_fullNowPlayingItem = Jellyfin::Support::fromJsonValue>(source["FullNowPlayingItem"]); + m_nowViewingItem = Jellyfin::Support::fromJsonValue>(source["NowViewingItem"]); + m_deviceId = Jellyfin::Support::fromJsonValue(source["DeviceId"]); + m_applicationVersion = Jellyfin::Support::fromJsonValue(source["ApplicationVersion"]); + m_transcodingInfo = Jellyfin::Support::fromJsonValue>(source["TranscodingInfo"]); + m_isActive = Jellyfin::Support::fromJsonValue(source["IsActive"]); + m_supportsMediaControl = Jellyfin::Support::fromJsonValue(source["SupportsMediaControl"]); + m_supportsRemoteControl = Jellyfin::Support::fromJsonValue(source["SupportsRemoteControl"]); + m_nowPlayingQueue = Jellyfin::Support::fromJsonValue>>(source["NowPlayingQueue"]); + m_hasCustomDeviceName = Jellyfin::Support::fromJsonValue(source["HasCustomDeviceName"]); + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + m_userPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["UserPrimaryImageTag"]); + m_supportedCommands = Jellyfin::Support::fromJsonValue>(source["SupportedCommands"]); + +} + +QJsonObject SessionInfo::toJson() { + QJsonObject result; + result["PlayState"] = Jellyfin::Support::toJsonValue>(m_playState); + result["AdditionalUsers"] = Jellyfin::Support::toJsonValue>>(m_additionalUsers); + result["Capabilities"] = Jellyfin::Support::toJsonValue>(m_capabilities); + result["RemoteEndPoint"] = Jellyfin::Support::toJsonValue(m_remoteEndPoint); + result["PlayableMediaTypes"] = Jellyfin::Support::toJsonValue(m_playableMediaTypes); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["UserName"] = Jellyfin::Support::toJsonValue(m_userName); + result["Client"] = Jellyfin::Support::toJsonValue(m_client); + result["LastActivityDate"] = Jellyfin::Support::toJsonValue(m_lastActivityDate); + result["LastPlaybackCheckIn"] = Jellyfin::Support::toJsonValue(m_lastPlaybackCheckIn); + result["DeviceName"] = Jellyfin::Support::toJsonValue(m_deviceName); + result["DeviceType"] = Jellyfin::Support::toJsonValue(m_deviceType); + result["NowPlayingItem"] = Jellyfin::Support::toJsonValue>(m_nowPlayingItem); + result["FullNowPlayingItem"] = Jellyfin::Support::toJsonValue>(m_fullNowPlayingItem); + result["NowViewingItem"] = Jellyfin::Support::toJsonValue>(m_nowViewingItem); + result["DeviceId"] = Jellyfin::Support::toJsonValue(m_deviceId); + result["ApplicationVersion"] = Jellyfin::Support::toJsonValue(m_applicationVersion); + result["TranscodingInfo"] = Jellyfin::Support::toJsonValue>(m_transcodingInfo); + result["IsActive"] = Jellyfin::Support::toJsonValue(m_isActive); + result["SupportsMediaControl"] = Jellyfin::Support::toJsonValue(m_supportsMediaControl); + result["SupportsRemoteControl"] = Jellyfin::Support::toJsonValue(m_supportsRemoteControl); + result["NowPlayingQueue"] = Jellyfin::Support::toJsonValue>>(m_nowPlayingQueue); + result["HasCustomDeviceName"] = Jellyfin::Support::toJsonValue(m_hasCustomDeviceName); + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + result["UserPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_userPrimaryImageTag); + result["SupportedCommands"] = Jellyfin::Support::toJsonValue>(m_supportedCommands); + + return result; +} + +QSharedPointer SessionInfo::playState() const { return m_playState; } + +void SessionInfo::setPlayState(QSharedPointer newPlayState) { + m_playState = newPlayState; +} + +QList> SessionInfo::additionalUsers() const { return m_additionalUsers; } + +void SessionInfo::setAdditionalUsers(QList> newAdditionalUsers) { + m_additionalUsers = newAdditionalUsers; +} +bool SessionInfo::additionalUsersNull() const { + return m_additionalUsers.size() == 0; +} + +void SessionInfo::setAdditionalUsersNull() { + m_additionalUsers.clear(); + +} +QSharedPointer SessionInfo::capabilities() const { return m_capabilities; } + +void SessionInfo::setCapabilities(QSharedPointer newCapabilities) { + m_capabilities = newCapabilities; +} + +QString SessionInfo::remoteEndPoint() const { return m_remoteEndPoint; } + +void SessionInfo::setRemoteEndPoint(QString newRemoteEndPoint) { + m_remoteEndPoint = newRemoteEndPoint; +} +bool SessionInfo::remoteEndPointNull() const { + return m_remoteEndPoint.isNull(); +} + +void SessionInfo::setRemoteEndPointNull() { + m_remoteEndPoint.clear(); + +} +QStringList SessionInfo::playableMediaTypes() const { return m_playableMediaTypes; } + +void SessionInfo::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; +} +bool SessionInfo::playableMediaTypesNull() const { + return m_playableMediaTypes.size() == 0; +} + +void SessionInfo::setPlayableMediaTypesNull() { + m_playableMediaTypes.clear(); + +} +QString SessionInfo::jellyfinId() const { return m_jellyfinId; } + +void SessionInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool SessionInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void SessionInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString SessionInfo::userId() const { return m_userId; } + +void SessionInfo::setUserId(QString newUserId) { + m_userId = newUserId; +} + +QString SessionInfo::userName() const { return m_userName; } + +void SessionInfo::setUserName(QString newUserName) { + m_userName = newUserName; +} +bool SessionInfo::userNameNull() const { + return m_userName.isNull(); +} + +void SessionInfo::setUserNameNull() { + m_userName.clear(); + +} +QString SessionInfo::client() const { return m_client; } + +void SessionInfo::setClient(QString newClient) { + m_client = newClient; +} +bool SessionInfo::clientNull() const { + return m_client.isNull(); +} + +void SessionInfo::setClientNull() { + m_client.clear(); + +} +QDateTime SessionInfo::lastActivityDate() const { return m_lastActivityDate; } + +void SessionInfo::setLastActivityDate(QDateTime newLastActivityDate) { + m_lastActivityDate = newLastActivityDate; +} + +QDateTime SessionInfo::lastPlaybackCheckIn() const { return m_lastPlaybackCheckIn; } + +void SessionInfo::setLastPlaybackCheckIn(QDateTime newLastPlaybackCheckIn) { + m_lastPlaybackCheckIn = newLastPlaybackCheckIn; +} + +QString SessionInfo::deviceName() const { return m_deviceName; } + +void SessionInfo::setDeviceName(QString newDeviceName) { + m_deviceName = newDeviceName; +} +bool SessionInfo::deviceNameNull() const { + return m_deviceName.isNull(); +} + +void SessionInfo::setDeviceNameNull() { + m_deviceName.clear(); + +} +QString SessionInfo::deviceType() const { return m_deviceType; } + +void SessionInfo::setDeviceType(QString newDeviceType) { + m_deviceType = newDeviceType; +} +bool SessionInfo::deviceTypeNull() const { + return m_deviceType.isNull(); +} + +void SessionInfo::setDeviceTypeNull() { + m_deviceType.clear(); + +} +QSharedPointer SessionInfo::nowPlayingItem() const { return m_nowPlayingItem; } + +void SessionInfo::setNowPlayingItem(QSharedPointer newNowPlayingItem) { + m_nowPlayingItem = newNowPlayingItem; +} + +QSharedPointer SessionInfo::fullNowPlayingItem() const { return m_fullNowPlayingItem; } + +void SessionInfo::setFullNowPlayingItem(QSharedPointer newFullNowPlayingItem) { + m_fullNowPlayingItem = newFullNowPlayingItem; +} + +QSharedPointer SessionInfo::nowViewingItem() const { return m_nowViewingItem; } + +void SessionInfo::setNowViewingItem(QSharedPointer newNowViewingItem) { + m_nowViewingItem = newNowViewingItem; +} + +QString SessionInfo::deviceId() const { return m_deviceId; } + +void SessionInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; +} +bool SessionInfo::deviceIdNull() const { + return m_deviceId.isNull(); +} + +void SessionInfo::setDeviceIdNull() { + m_deviceId.clear(); + +} +QString SessionInfo::applicationVersion() const { return m_applicationVersion; } + +void SessionInfo::setApplicationVersion(QString newApplicationVersion) { + m_applicationVersion = newApplicationVersion; +} +bool SessionInfo::applicationVersionNull() const { + return m_applicationVersion.isNull(); +} + +void SessionInfo::setApplicationVersionNull() { + m_applicationVersion.clear(); + +} +QSharedPointer SessionInfo::transcodingInfo() const { return m_transcodingInfo; } + +void SessionInfo::setTranscodingInfo(QSharedPointer newTranscodingInfo) { + m_transcodingInfo = newTranscodingInfo; +} + +bool SessionInfo::isActive() const { return m_isActive; } + +void SessionInfo::setIsActive(bool newIsActive) { + m_isActive = newIsActive; +} + +bool SessionInfo::supportsMediaControl() const { return m_supportsMediaControl; } + +void SessionInfo::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; +} + +bool SessionInfo::supportsRemoteControl() const { return m_supportsRemoteControl; } + +void SessionInfo::setSupportsRemoteControl(bool newSupportsRemoteControl) { + m_supportsRemoteControl = newSupportsRemoteControl; +} + +QList> SessionInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } + +void SessionInfo::setNowPlayingQueue(QList> newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; +} +bool SessionInfo::nowPlayingQueueNull() const { + return m_nowPlayingQueue.size() == 0; +} + +void SessionInfo::setNowPlayingQueueNull() { + m_nowPlayingQueue.clear(); + +} +bool SessionInfo::hasCustomDeviceName() const { return m_hasCustomDeviceName; } + +void SessionInfo::setHasCustomDeviceName(bool newHasCustomDeviceName) { + m_hasCustomDeviceName = newHasCustomDeviceName; +} + +QString SessionInfo::playlistItemId() const { return m_playlistItemId; } + +void SessionInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} +bool SessionInfo::playlistItemIdNull() const { + return m_playlistItemId.isNull(); +} + +void SessionInfo::setPlaylistItemIdNull() { + m_playlistItemId.clear(); + +} +QString SessionInfo::serverId() const { return m_serverId; } + +void SessionInfo::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool SessionInfo::serverIdNull() const { + return m_serverId.isNull(); +} + +void SessionInfo::setServerIdNull() { + m_serverId.clear(); + +} +QString SessionInfo::userPrimaryImageTag() const { return m_userPrimaryImageTag; } + +void SessionInfo::setUserPrimaryImageTag(QString newUserPrimaryImageTag) { + m_userPrimaryImageTag = newUserPrimaryImageTag; +} +bool SessionInfo::userPrimaryImageTagNull() const { + return m_userPrimaryImageTag.isNull(); +} + +void SessionInfo::setUserPrimaryImageTagNull() { + m_userPrimaryImageTag.clear(); + +} +QList SessionInfo::supportedCommands() const { return m_supportedCommands; } + +void SessionInfo::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; +} +bool SessionInfo::supportedCommandsNull() const { + return m_supportedCommands.size() == 0; +} + +void SessionInfo::setSupportedCommandsNull() { + m_supportedCommands.clear(); + +} + +} // NS DTO + +namespace Support { + +using SessionInfo = Jellyfin::DTO::SessionInfo; + +template <> +SessionInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SessionInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/sessionuserinfo.cpp b/core/src/dto/sessionuserinfo.cpp new file mode 100644 index 0000000..4b5c772 --- /dev/null +++ b/core/src/dto/sessionuserinfo.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SessionUserInfo::SessionUserInfo() {} + +SessionUserInfo::SessionUserInfo(const SessionUserInfo &other) : + + m_userId(other.m_userId), + m_userName(other.m_userName){} + + +void SessionUserInfo::replaceData(SessionUserInfo &other) { + m_userId = other.m_userId; + m_userName = other.m_userName; +} + +SessionUserInfo SessionUserInfo::fromJson(QJsonObject source) { + SessionUserInfo instance; + instance.setFromJson(source); + return instance; +} + + +void SessionUserInfo::setFromJson(QJsonObject source) { + m_userId = Jellyfin::Support::fromJsonValue(source["UserId"]); + m_userName = Jellyfin::Support::fromJsonValue(source["UserName"]); + +} + +QJsonObject SessionUserInfo::toJson() { + QJsonObject result; + result["UserId"] = Jellyfin::Support::toJsonValue(m_userId); + result["UserName"] = Jellyfin::Support::toJsonValue(m_userName); + + return result; +} + +QString SessionUserInfo::userId() const { return m_userId; } + +void SessionUserInfo::setUserId(QString newUserId) { + m_userId = newUserId; +} + +QString SessionUserInfo::userName() const { return m_userName; } + +void SessionUserInfo::setUserName(QString newUserName) { + m_userName = newUserName; +} +bool SessionUserInfo::userNameNull() const { + return m_userName.isNull(); +} + +void SessionUserInfo::setUserNameNull() { + m_userName.clear(); + +} + +} // NS DTO + +namespace Support { + +using SessionUserInfo = Jellyfin::DTO::SessionUserInfo; + +template <> +SessionUserInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SessionUserInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/setchannelmappingdto.cpp b/core/src/dto/setchannelmappingdto.cpp new file mode 100644 index 0000000..b179801 --- /dev/null +++ b/core/src/dto/setchannelmappingdto.cpp @@ -0,0 +1,105 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetChannelMappingDto::SetChannelMappingDto() {} + +SetChannelMappingDto::SetChannelMappingDto(const SetChannelMappingDto &other) : + + m_providerId(other.m_providerId), + m_tunerChannelId(other.m_tunerChannelId), + m_providerChannelId(other.m_providerChannelId){} + + +void SetChannelMappingDto::replaceData(SetChannelMappingDto &other) { + m_providerId = other.m_providerId; + m_tunerChannelId = other.m_tunerChannelId; + m_providerChannelId = other.m_providerChannelId; +} + +SetChannelMappingDto SetChannelMappingDto::fromJson(QJsonObject source) { + SetChannelMappingDto instance; + instance.setFromJson(source); + return instance; +} + + +void SetChannelMappingDto::setFromJson(QJsonObject source) { + m_providerId = Jellyfin::Support::fromJsonValue(source["ProviderId"]); + m_tunerChannelId = Jellyfin::Support::fromJsonValue(source["TunerChannelId"]); + m_providerChannelId = Jellyfin::Support::fromJsonValue(source["ProviderChannelId"]); + +} + +QJsonObject SetChannelMappingDto::toJson() { + QJsonObject result; + result["ProviderId"] = Jellyfin::Support::toJsonValue(m_providerId); + result["TunerChannelId"] = Jellyfin::Support::toJsonValue(m_tunerChannelId); + result["ProviderChannelId"] = Jellyfin::Support::toJsonValue(m_providerChannelId); + + return result; +} + +QString SetChannelMappingDto::providerId() const { return m_providerId; } + +void SetChannelMappingDto::setProviderId(QString newProviderId) { + m_providerId = newProviderId; +} + +QString SetChannelMappingDto::tunerChannelId() const { return m_tunerChannelId; } + +void SetChannelMappingDto::setTunerChannelId(QString newTunerChannelId) { + m_tunerChannelId = newTunerChannelId; +} + +QString SetChannelMappingDto::providerChannelId() const { return m_providerChannelId; } + +void SetChannelMappingDto::setProviderChannelId(QString newProviderChannelId) { + m_providerChannelId = newProviderChannelId; +} + + +} // NS DTO + +namespace Support { + +using SetChannelMappingDto = Jellyfin::DTO::SetChannelMappingDto; + +template <> +SetChannelMappingDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SetChannelMappingDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/setplaylistitemrequestdto.cpp b/core/src/dto/setplaylistitemrequestdto.cpp new file mode 100644 index 0000000..8ba1831 --- /dev/null +++ b/core/src/dto/setplaylistitemrequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetPlaylistItemRequestDto::SetPlaylistItemRequestDto() {} + +SetPlaylistItemRequestDto::SetPlaylistItemRequestDto(const SetPlaylistItemRequestDto &other) : + + m_playlistItemId(other.m_playlistItemId){} + + +void SetPlaylistItemRequestDto::replaceData(SetPlaylistItemRequestDto &other) { + m_playlistItemId = other.m_playlistItemId; +} + +SetPlaylistItemRequestDto SetPlaylistItemRequestDto::fromJson(QJsonObject source) { + SetPlaylistItemRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void SetPlaylistItemRequestDto::setFromJson(QJsonObject source) { + m_playlistItemId = Jellyfin::Support::fromJsonValue(source["PlaylistItemId"]); + +} + +QJsonObject SetPlaylistItemRequestDto::toJson() { + QJsonObject result; + result["PlaylistItemId"] = Jellyfin::Support::toJsonValue(m_playlistItemId); + + return result; +} + +QString SetPlaylistItemRequestDto::playlistItemId() const { return m_playlistItemId; } + +void SetPlaylistItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; +} + + +} // NS DTO + +namespace Support { + +using SetPlaylistItemRequestDto = Jellyfin::DTO::SetPlaylistItemRequestDto; + +template <> +SetPlaylistItemRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SetPlaylistItemRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/setrepeatmoderequestdto.cpp b/core/src/dto/setrepeatmoderequestdto.cpp new file mode 100644 index 0000000..9f6268c --- /dev/null +++ b/core/src/dto/setrepeatmoderequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetRepeatModeRequestDto::SetRepeatModeRequestDto() {} + +SetRepeatModeRequestDto::SetRepeatModeRequestDto(const SetRepeatModeRequestDto &other) : + + m_mode(other.m_mode){} + + +void SetRepeatModeRequestDto::replaceData(SetRepeatModeRequestDto &other) { + m_mode = other.m_mode; +} + +SetRepeatModeRequestDto SetRepeatModeRequestDto::fromJson(QJsonObject source) { + SetRepeatModeRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void SetRepeatModeRequestDto::setFromJson(QJsonObject source) { + m_mode = Jellyfin::Support::fromJsonValue(source["Mode"]); + +} + +QJsonObject SetRepeatModeRequestDto::toJson() { + QJsonObject result; + result["Mode"] = Jellyfin::Support::toJsonValue(m_mode); + + return result; +} + +GroupRepeatMode SetRepeatModeRequestDto::mode() const { return m_mode; } + +void SetRepeatModeRequestDto::setMode(GroupRepeatMode newMode) { + m_mode = newMode; +} + + +} // NS DTO + +namespace Support { + +using SetRepeatModeRequestDto = Jellyfin::DTO::SetRepeatModeRequestDto; + +template <> +SetRepeatModeRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SetRepeatModeRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/setshufflemoderequestdto.cpp b/core/src/dto/setshufflemoderequestdto.cpp new file mode 100644 index 0000000..6db9004 --- /dev/null +++ b/core/src/dto/setshufflemoderequestdto.cpp @@ -0,0 +1,85 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetShuffleModeRequestDto::SetShuffleModeRequestDto() {} + +SetShuffleModeRequestDto::SetShuffleModeRequestDto(const SetShuffleModeRequestDto &other) : + + m_mode(other.m_mode){} + + +void SetShuffleModeRequestDto::replaceData(SetShuffleModeRequestDto &other) { + m_mode = other.m_mode; +} + +SetShuffleModeRequestDto SetShuffleModeRequestDto::fromJson(QJsonObject source) { + SetShuffleModeRequestDto instance; + instance.setFromJson(source); + return instance; +} + + +void SetShuffleModeRequestDto::setFromJson(QJsonObject source) { + m_mode = Jellyfin::Support::fromJsonValue(source["Mode"]); + +} + +QJsonObject SetShuffleModeRequestDto::toJson() { + QJsonObject result; + result["Mode"] = Jellyfin::Support::toJsonValue(m_mode); + + return result; +} + +GroupShuffleMode SetShuffleModeRequestDto::mode() const { return m_mode; } + +void SetShuffleModeRequestDto::setMode(GroupShuffleMode newMode) { + m_mode = newMode; +} + + +} // NS DTO + +namespace Support { + +using SetShuffleModeRequestDto = Jellyfin::DTO::SetShuffleModeRequestDto; + +template <> +SetShuffleModeRequestDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SetShuffleModeRequestDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/songinfo.cpp b/core/src/dto/songinfo.cpp new file mode 100644 index 0000000..228204b --- /dev/null +++ b/core/src/dto/songinfo.cpp @@ -0,0 +1,289 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SongInfo::SongInfo() {} + +SongInfo::SongInfo(const SongInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated), + m_albumArtists(other.m_albumArtists), + m_album(other.m_album), + m_artists(other.m_artists){} + + +void SongInfo::replaceData(SongInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; + m_albumArtists = other.m_albumArtists; + m_album = other.m_album; + m_artists = other.m_artists; +} + +SongInfo SongInfo::fromJson(QJsonObject source) { + SongInfo instance; + instance.setFromJson(source); + return instance; +} + + +void SongInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + m_albumArtists = Jellyfin::Support::fromJsonValue(source["AlbumArtists"]); + m_album = Jellyfin::Support::fromJsonValue(source["Album"]); + m_artists = Jellyfin::Support::fromJsonValue(source["Artists"]); + +} + +QJsonObject SongInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + result["AlbumArtists"] = Jellyfin::Support::toJsonValue(m_albumArtists); + result["Album"] = Jellyfin::Support::toJsonValue(m_album); + result["Artists"] = Jellyfin::Support::toJsonValue(m_artists); + + return result; +} + +QString SongInfo::name() const { return m_name; } + +void SongInfo::setName(QString newName) { + m_name = newName; +} +bool SongInfo::nameNull() const { + return m_name.isNull(); +} + +void SongInfo::setNameNull() { + m_name.clear(); + +} +QString SongInfo::path() const { return m_path; } + +void SongInfo::setPath(QString newPath) { + m_path = newPath; +} +bool SongInfo::pathNull() const { + return m_path.isNull(); +} + +void SongInfo::setPathNull() { + m_path.clear(); + +} +QString SongInfo::metadataLanguage() const { return m_metadataLanguage; } + +void SongInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool SongInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void SongInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString SongInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void SongInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool SongInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void SongInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional SongInfo::providerIds() const { return m_providerIds; } + +void SongInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool SongInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void SongInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional SongInfo::year() const { return m_year; } + +void SongInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool SongInfo::yearNull() const { + return !m_year.has_value(); +} + +void SongInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional SongInfo::indexNumber() const { return m_indexNumber; } + +void SongInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool SongInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void SongInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional SongInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void SongInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool SongInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void SongInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime SongInfo::premiereDate() const { return m_premiereDate; } + +void SongInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool SongInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void SongInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool SongInfo::isAutomated() const { return m_isAutomated; } + +void SongInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + +QStringList SongInfo::albumArtists() const { return m_albumArtists; } + +void SongInfo::setAlbumArtists(QStringList newAlbumArtists) { + m_albumArtists = newAlbumArtists; +} +bool SongInfo::albumArtistsNull() const { + return m_albumArtists.size() == 0; +} + +void SongInfo::setAlbumArtistsNull() { + m_albumArtists.clear(); + +} +QString SongInfo::album() const { return m_album; } + +void SongInfo::setAlbum(QString newAlbum) { + m_album = newAlbum; +} +bool SongInfo::albumNull() const { + return m_album.isNull(); +} + +void SongInfo::setAlbumNull() { + m_album.clear(); + +} +QStringList SongInfo::artists() const { return m_artists; } + +void SongInfo::setArtists(QStringList newArtists) { + m_artists = newArtists; +} +bool SongInfo::artistsNull() const { + return m_artists.size() == 0; +} + +void SongInfo::setArtistsNull() { + m_artists.clear(); + +} + +} // NS DTO + +namespace Support { + +using SongInfo = Jellyfin::DTO::SongInfo; + +template <> +SongInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SongInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/sortorder.cpp b/core/src/dto/sortorder.cpp new file mode 100644 index 0000000..5bd8e13 --- /dev/null +++ b/core/src/dto/sortorder.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SortOrderClass::SortOrderClass() {} + + +} // NS DTO + +namespace Support { + +using SortOrder = Jellyfin::DTO::SortOrder; + +template <> +SortOrder fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SortOrder::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Ascending")) { + return SortOrder::Ascending; + } + if (str == QStringLiteral("Descending")) { + return SortOrder::Descending; + } + + return SortOrder::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/specialviewoptiondto.cpp b/core/src/dto/specialviewoptiondto.cpp new file mode 100644 index 0000000..504cd43 --- /dev/null +++ b/core/src/dto/specialviewoptiondto.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SpecialViewOptionDto::SpecialViewOptionDto() {} + +SpecialViewOptionDto::SpecialViewOptionDto(const SpecialViewOptionDto &other) : + + m_name(other.m_name), + m_jellyfinId(other.m_jellyfinId){} + + +void SpecialViewOptionDto::replaceData(SpecialViewOptionDto &other) { + m_name = other.m_name; + m_jellyfinId = other.m_jellyfinId; +} + +SpecialViewOptionDto SpecialViewOptionDto::fromJson(QJsonObject source) { + SpecialViewOptionDto instance; + instance.setFromJson(source); + return instance; +} + + +void SpecialViewOptionDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject SpecialViewOptionDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString SpecialViewOptionDto::name() const { return m_name; } + +void SpecialViewOptionDto::setName(QString newName) { + m_name = newName; +} +bool SpecialViewOptionDto::nameNull() const { + return m_name.isNull(); +} + +void SpecialViewOptionDto::setNameNull() { + m_name.clear(); + +} +QString SpecialViewOptionDto::jellyfinId() const { return m_jellyfinId; } + +void SpecialViewOptionDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool SpecialViewOptionDto::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void SpecialViewOptionDto::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} + +} // NS DTO + +namespace Support { + +using SpecialViewOptionDto = Jellyfin::DTO::SpecialViewOptionDto; + +template <> +SpecialViewOptionDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SpecialViewOptionDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/startupconfigurationdto.cpp b/core/src/dto/startupconfigurationdto.cpp new file mode 100644 index 0000000..16d2518 --- /dev/null +++ b/core/src/dto/startupconfigurationdto.cpp @@ -0,0 +1,126 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupConfigurationDto::StartupConfigurationDto() {} + +StartupConfigurationDto::StartupConfigurationDto(const StartupConfigurationDto &other) : + + m_uICulture(other.m_uICulture), + m_metadataCountryCode(other.m_metadataCountryCode), + m_preferredMetadataLanguage(other.m_preferredMetadataLanguage){} + + +void StartupConfigurationDto::replaceData(StartupConfigurationDto &other) { + m_uICulture = other.m_uICulture; + m_metadataCountryCode = other.m_metadataCountryCode; + m_preferredMetadataLanguage = other.m_preferredMetadataLanguage; +} + +StartupConfigurationDto StartupConfigurationDto::fromJson(QJsonObject source) { + StartupConfigurationDto instance; + instance.setFromJson(source); + return instance; +} + + +void StartupConfigurationDto::setFromJson(QJsonObject source) { + m_uICulture = Jellyfin::Support::fromJsonValue(source["UICulture"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_preferredMetadataLanguage = Jellyfin::Support::fromJsonValue(source["PreferredMetadataLanguage"]); + +} + +QJsonObject StartupConfigurationDto::toJson() { + QJsonObject result; + result["UICulture"] = Jellyfin::Support::toJsonValue(m_uICulture); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["PreferredMetadataLanguage"] = Jellyfin::Support::toJsonValue(m_preferredMetadataLanguage); + + return result; +} + +QString StartupConfigurationDto::uICulture() const { return m_uICulture; } + +void StartupConfigurationDto::setUICulture(QString newUICulture) { + m_uICulture = newUICulture; +} +bool StartupConfigurationDto::uICultureNull() const { + return m_uICulture.isNull(); +} + +void StartupConfigurationDto::setUICultureNull() { + m_uICulture.clear(); + +} +QString StartupConfigurationDto::metadataCountryCode() const { return m_metadataCountryCode; } + +void StartupConfigurationDto::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool StartupConfigurationDto::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void StartupConfigurationDto::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +QString StartupConfigurationDto::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } + +void StartupConfigurationDto::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; +} +bool StartupConfigurationDto::preferredMetadataLanguageNull() const { + return m_preferredMetadataLanguage.isNull(); +} + +void StartupConfigurationDto::setPreferredMetadataLanguageNull() { + m_preferredMetadataLanguage.clear(); + +} + +} // NS DTO + +namespace Support { + +using StartupConfigurationDto = Jellyfin::DTO::StartupConfigurationDto; + +template <> +StartupConfigurationDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return StartupConfigurationDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/startupremoteaccessdto.cpp b/core/src/dto/startupremoteaccessdto.cpp new file mode 100644 index 0000000..ebdda48 --- /dev/null +++ b/core/src/dto/startupremoteaccessdto.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupRemoteAccessDto::StartupRemoteAccessDto() {} + +StartupRemoteAccessDto::StartupRemoteAccessDto(const StartupRemoteAccessDto &other) : + + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableAutomaticPortMapping(other.m_enableAutomaticPortMapping){} + + +void StartupRemoteAccessDto::replaceData(StartupRemoteAccessDto &other) { + m_enableRemoteAccess = other.m_enableRemoteAccess; + m_enableAutomaticPortMapping = other.m_enableAutomaticPortMapping; +} + +StartupRemoteAccessDto StartupRemoteAccessDto::fromJson(QJsonObject source) { + StartupRemoteAccessDto instance; + instance.setFromJson(source); + return instance; +} + + +void StartupRemoteAccessDto::setFromJson(QJsonObject source) { + m_enableRemoteAccess = Jellyfin::Support::fromJsonValue(source["EnableRemoteAccess"]); + m_enableAutomaticPortMapping = Jellyfin::Support::fromJsonValue(source["EnableAutomaticPortMapping"]); + +} + +QJsonObject StartupRemoteAccessDto::toJson() { + QJsonObject result; + result["EnableRemoteAccess"] = Jellyfin::Support::toJsonValue(m_enableRemoteAccess); + result["EnableAutomaticPortMapping"] = Jellyfin::Support::toJsonValue(m_enableAutomaticPortMapping); + + return result; +} + +bool StartupRemoteAccessDto::enableRemoteAccess() const { return m_enableRemoteAccess; } + +void StartupRemoteAccessDto::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; +} + +bool StartupRemoteAccessDto::enableAutomaticPortMapping() const { return m_enableAutomaticPortMapping; } + +void StartupRemoteAccessDto::setEnableAutomaticPortMapping(bool newEnableAutomaticPortMapping) { + m_enableAutomaticPortMapping = newEnableAutomaticPortMapping; +} + + +} // NS DTO + +namespace Support { + +using StartupRemoteAccessDto = Jellyfin::DTO::StartupRemoteAccessDto; + +template <> +StartupRemoteAccessDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return StartupRemoteAccessDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/startupuserdto.cpp b/core/src/dto/startupuserdto.cpp new file mode 100644 index 0000000..d7d5b33 --- /dev/null +++ b/core/src/dto/startupuserdto.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupUserDto::StartupUserDto() {} + +StartupUserDto::StartupUserDto(const StartupUserDto &other) : + + m_name(other.m_name), + m_password(other.m_password){} + + +void StartupUserDto::replaceData(StartupUserDto &other) { + m_name = other.m_name; + m_password = other.m_password; +} + +StartupUserDto StartupUserDto::fromJson(QJsonObject source) { + StartupUserDto instance; + instance.setFromJson(source); + return instance; +} + + +void StartupUserDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_password = Jellyfin::Support::fromJsonValue(source["Password"]); + +} + +QJsonObject StartupUserDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Password"] = Jellyfin::Support::toJsonValue(m_password); + + return result; +} + +QString StartupUserDto::name() const { return m_name; } + +void StartupUserDto::setName(QString newName) { + m_name = newName; +} +bool StartupUserDto::nameNull() const { + return m_name.isNull(); +} + +void StartupUserDto::setNameNull() { + m_name.clear(); + +} +QString StartupUserDto::password() const { return m_password; } + +void StartupUserDto::setPassword(QString newPassword) { + m_password = newPassword; +} +bool StartupUserDto::passwordNull() const { + return m_password.isNull(); +} + +void StartupUserDto::setPasswordNull() { + m_password.clear(); + +} + +} // NS DTO + +namespace Support { + +using StartupUserDto = Jellyfin::DTO::StartupUserDto; + +template <> +StartupUserDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return StartupUserDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/subtitledeliverymethod.cpp b/core/src/dto/subtitledeliverymethod.cpp new file mode 100644 index 0000000..bb61ecd --- /dev/null +++ b/core/src/dto/subtitledeliverymethod.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SubtitleDeliveryMethodClass::SubtitleDeliveryMethodClass() {} + + +} // NS DTO + +namespace Support { + +using SubtitleDeliveryMethod = Jellyfin::DTO::SubtitleDeliveryMethod; + +template <> +SubtitleDeliveryMethod fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SubtitleDeliveryMethod::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Encode")) { + return SubtitleDeliveryMethod::Encode; + } + if (str == QStringLiteral("Embed")) { + return SubtitleDeliveryMethod::Embed; + } + if (str == QStringLiteral("External")) { + return SubtitleDeliveryMethod::External; + } + if (str == QStringLiteral("Hls")) { + return SubtitleDeliveryMethod::Hls; + } + + return SubtitleDeliveryMethod::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/subtitleplaybackmode.cpp b/core/src/dto/subtitleplaybackmode.cpp new file mode 100644 index 0000000..f8aa8bb --- /dev/null +++ b/core/src/dto/subtitleplaybackmode.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SubtitlePlaybackModeClass::SubtitlePlaybackModeClass() {} + + +} // NS DTO + +namespace Support { + +using SubtitlePlaybackMode = Jellyfin::DTO::SubtitlePlaybackMode; + +template <> +SubtitlePlaybackMode fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SubtitlePlaybackMode::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Default")) { + return SubtitlePlaybackMode::Default; + } + if (str == QStringLiteral("Always")) { + return SubtitlePlaybackMode::Always; + } + if (str == QStringLiteral("OnlyForced")) { + return SubtitlePlaybackMode::OnlyForced; + } + if (str == QStringLiteral("None")) { + return SubtitlePlaybackMode::None; + } + if (str == QStringLiteral("Smart")) { + return SubtitlePlaybackMode::Smart; + } + + return SubtitlePlaybackMode::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/subtitleprofile.cpp b/core/src/dto/subtitleprofile.cpp new file mode 100644 index 0000000..8188620 --- /dev/null +++ b/core/src/dto/subtitleprofile.cpp @@ -0,0 +1,153 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SubtitleProfile::SubtitleProfile() {} + +SubtitleProfile::SubtitleProfile(const SubtitleProfile &other) : + + m_format(other.m_format), + m_method(other.m_method), + m_didlMode(other.m_didlMode), + m_language(other.m_language), + m_container(other.m_container){} + + +void SubtitleProfile::replaceData(SubtitleProfile &other) { + m_format = other.m_format; + m_method = other.m_method; + m_didlMode = other.m_didlMode; + m_language = other.m_language; + m_container = other.m_container; +} + +SubtitleProfile SubtitleProfile::fromJson(QJsonObject source) { + SubtitleProfile instance; + instance.setFromJson(source); + return instance; +} + + +void SubtitleProfile::setFromJson(QJsonObject source) { + m_format = Jellyfin::Support::fromJsonValue(source["Format"]); + m_method = Jellyfin::Support::fromJsonValue(source["Method"]); + m_didlMode = Jellyfin::Support::fromJsonValue(source["DidlMode"]); + m_language = Jellyfin::Support::fromJsonValue(source["Language"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + +} + +QJsonObject SubtitleProfile::toJson() { + QJsonObject result; + result["Format"] = Jellyfin::Support::toJsonValue(m_format); + result["Method"] = Jellyfin::Support::toJsonValue(m_method); + result["DidlMode"] = Jellyfin::Support::toJsonValue(m_didlMode); + result["Language"] = Jellyfin::Support::toJsonValue(m_language); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + + return result; +} + +QString SubtitleProfile::format() const { return m_format; } + +void SubtitleProfile::setFormat(QString newFormat) { + m_format = newFormat; +} +bool SubtitleProfile::formatNull() const { + return m_format.isNull(); +} + +void SubtitleProfile::setFormatNull() { + m_format.clear(); + +} +SubtitleDeliveryMethod SubtitleProfile::method() const { return m_method; } + +void SubtitleProfile::setMethod(SubtitleDeliveryMethod newMethod) { + m_method = newMethod; +} + +QString SubtitleProfile::didlMode() const { return m_didlMode; } + +void SubtitleProfile::setDidlMode(QString newDidlMode) { + m_didlMode = newDidlMode; +} +bool SubtitleProfile::didlModeNull() const { + return m_didlMode.isNull(); +} + +void SubtitleProfile::setDidlModeNull() { + m_didlMode.clear(); + +} +QString SubtitleProfile::language() const { return m_language; } + +void SubtitleProfile::setLanguage(QString newLanguage) { + m_language = newLanguage; +} +bool SubtitleProfile::languageNull() const { + return m_language.isNull(); +} + +void SubtitleProfile::setLanguageNull() { + m_language.clear(); + +} +QString SubtitleProfile::container() const { return m_container; } + +void SubtitleProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool SubtitleProfile::containerNull() const { + return m_container.isNull(); +} + +void SubtitleProfile::setContainerNull() { + m_container.clear(); + +} + +} // NS DTO + +namespace Support { + +using SubtitleProfile = Jellyfin::DTO::SubtitleProfile; + +template <> +SubtitleProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SubtitleProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/syncplayuseraccesstype.cpp b/core/src/dto/syncplayuseraccesstype.cpp new file mode 100644 index 0000000..6239b63 --- /dev/null +++ b/core/src/dto/syncplayuseraccesstype.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SyncPlayUserAccessTypeClass::SyncPlayUserAccessTypeClass() {} + + +} // NS DTO + +namespace Support { + +using SyncPlayUserAccessType = Jellyfin::DTO::SyncPlayUserAccessType; + +template <> +SyncPlayUserAccessType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return SyncPlayUserAccessType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("CreateAndJoinGroups")) { + return SyncPlayUserAccessType::CreateAndJoinGroups; + } + if (str == QStringLiteral("JoinGroups")) { + return SyncPlayUserAccessType::JoinGroups; + } + if (str == QStringLiteral("None")) { + return SyncPlayUserAccessType::None; + } + + return SyncPlayUserAccessType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/systeminfo.cpp b/core/src/dto/systeminfo.cpp new file mode 100644 index 0000000..1bd6ce1 --- /dev/null +++ b/core/src/dto/systeminfo.cpp @@ -0,0 +1,454 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SystemInfo::SystemInfo() {} + +SystemInfo::SystemInfo(const SystemInfo &other) : + + m_localAddress(other.m_localAddress), + m_serverName(other.m_serverName), + m_version(other.m_version), + m_productName(other.m_productName), + m_operatingSystem(other.m_operatingSystem), + m_jellyfinId(other.m_jellyfinId), + m_startupWizardCompleted(other.m_startupWizardCompleted), + m_operatingSystemDisplayName(other.m_operatingSystemDisplayName), + m_packageName(other.m_packageName), + m_hasPendingRestart(other.m_hasPendingRestart), + m_isShuttingDown(other.m_isShuttingDown), + m_supportsLibraryMonitor(other.m_supportsLibraryMonitor), + m_webSocketPortNumber(other.m_webSocketPortNumber), + m_completedInstallations(other.m_completedInstallations), + m_canSelfRestart(other.m_canSelfRestart), + m_canLaunchWebBrowser(other.m_canLaunchWebBrowser), + m_programDataPath(other.m_programDataPath), + m_webPath(other.m_webPath), + m_itemsByNamePath(other.m_itemsByNamePath), + m_cachePath(other.m_cachePath), + m_logPath(other.m_logPath), + m_internalMetadataPath(other.m_internalMetadataPath), + m_transcodingTempPath(other.m_transcodingTempPath), + m_hasUpdateAvailable(other.m_hasUpdateAvailable), + m_encoderLocation(other.m_encoderLocation), + m_systemArchitecture(other.m_systemArchitecture){} + + +void SystemInfo::replaceData(SystemInfo &other) { + m_localAddress = other.m_localAddress; + m_serverName = other.m_serverName; + m_version = other.m_version; + m_productName = other.m_productName; + m_operatingSystem = other.m_operatingSystem; + m_jellyfinId = other.m_jellyfinId; + m_startupWizardCompleted = other.m_startupWizardCompleted; + m_operatingSystemDisplayName = other.m_operatingSystemDisplayName; + m_packageName = other.m_packageName; + m_hasPendingRestart = other.m_hasPendingRestart; + m_isShuttingDown = other.m_isShuttingDown; + m_supportsLibraryMonitor = other.m_supportsLibraryMonitor; + m_webSocketPortNumber = other.m_webSocketPortNumber; + m_completedInstallations = other.m_completedInstallations; + m_canSelfRestart = other.m_canSelfRestart; + m_canLaunchWebBrowser = other.m_canLaunchWebBrowser; + m_programDataPath = other.m_programDataPath; + m_webPath = other.m_webPath; + m_itemsByNamePath = other.m_itemsByNamePath; + m_cachePath = other.m_cachePath; + m_logPath = other.m_logPath; + m_internalMetadataPath = other.m_internalMetadataPath; + m_transcodingTempPath = other.m_transcodingTempPath; + m_hasUpdateAvailable = other.m_hasUpdateAvailable; + m_encoderLocation = other.m_encoderLocation; + m_systemArchitecture = other.m_systemArchitecture; +} + +SystemInfo SystemInfo::fromJson(QJsonObject source) { + SystemInfo instance; + instance.setFromJson(source); + return instance; +} + + +void SystemInfo::setFromJson(QJsonObject source) { + m_localAddress = Jellyfin::Support::fromJsonValue(source["LocalAddress"]); + m_serverName = Jellyfin::Support::fromJsonValue(source["ServerName"]); + m_version = Jellyfin::Support::fromJsonValue(source["Version"]); + m_productName = Jellyfin::Support::fromJsonValue(source["ProductName"]); + m_operatingSystem = Jellyfin::Support::fromJsonValue(source["OperatingSystem"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_startupWizardCompleted = Jellyfin::Support::fromJsonValue>(source["StartupWizardCompleted"]); + m_operatingSystemDisplayName = Jellyfin::Support::fromJsonValue(source["OperatingSystemDisplayName"]); + m_packageName = Jellyfin::Support::fromJsonValue(source["PackageName"]); + m_hasPendingRestart = Jellyfin::Support::fromJsonValue(source["HasPendingRestart"]); + m_isShuttingDown = Jellyfin::Support::fromJsonValue(source["IsShuttingDown"]); + m_supportsLibraryMonitor = Jellyfin::Support::fromJsonValue(source["SupportsLibraryMonitor"]); + m_webSocketPortNumber = Jellyfin::Support::fromJsonValue(source["WebSocketPortNumber"]); + m_completedInstallations = Jellyfin::Support::fromJsonValue>>(source["CompletedInstallations"]); + m_canSelfRestart = Jellyfin::Support::fromJsonValue(source["CanSelfRestart"]); + m_canLaunchWebBrowser = Jellyfin::Support::fromJsonValue(source["CanLaunchWebBrowser"]); + m_programDataPath = Jellyfin::Support::fromJsonValue(source["ProgramDataPath"]); + m_webPath = Jellyfin::Support::fromJsonValue(source["WebPath"]); + m_itemsByNamePath = Jellyfin::Support::fromJsonValue(source["ItemsByNamePath"]); + m_cachePath = Jellyfin::Support::fromJsonValue(source["CachePath"]); + m_logPath = Jellyfin::Support::fromJsonValue(source["LogPath"]); + m_internalMetadataPath = Jellyfin::Support::fromJsonValue(source["InternalMetadataPath"]); + m_transcodingTempPath = Jellyfin::Support::fromJsonValue(source["TranscodingTempPath"]); + m_hasUpdateAvailable = Jellyfin::Support::fromJsonValue(source["HasUpdateAvailable"]); + m_encoderLocation = Jellyfin::Support::fromJsonValue(source["EncoderLocation"]); + m_systemArchitecture = Jellyfin::Support::fromJsonValue(source["SystemArchitecture"]); + +} + +QJsonObject SystemInfo::toJson() { + QJsonObject result; + result["LocalAddress"] = Jellyfin::Support::toJsonValue(m_localAddress); + result["ServerName"] = Jellyfin::Support::toJsonValue(m_serverName); + result["Version"] = Jellyfin::Support::toJsonValue(m_version); + result["ProductName"] = Jellyfin::Support::toJsonValue(m_productName); + result["OperatingSystem"] = Jellyfin::Support::toJsonValue(m_operatingSystem); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["StartupWizardCompleted"] = Jellyfin::Support::toJsonValue>(m_startupWizardCompleted); + result["OperatingSystemDisplayName"] = Jellyfin::Support::toJsonValue(m_operatingSystemDisplayName); + result["PackageName"] = Jellyfin::Support::toJsonValue(m_packageName); + result["HasPendingRestart"] = Jellyfin::Support::toJsonValue(m_hasPendingRestart); + result["IsShuttingDown"] = Jellyfin::Support::toJsonValue(m_isShuttingDown); + result["SupportsLibraryMonitor"] = Jellyfin::Support::toJsonValue(m_supportsLibraryMonitor); + result["WebSocketPortNumber"] = Jellyfin::Support::toJsonValue(m_webSocketPortNumber); + result["CompletedInstallations"] = Jellyfin::Support::toJsonValue>>(m_completedInstallations); + result["CanSelfRestart"] = Jellyfin::Support::toJsonValue(m_canSelfRestart); + result["CanLaunchWebBrowser"] = Jellyfin::Support::toJsonValue(m_canLaunchWebBrowser); + result["ProgramDataPath"] = Jellyfin::Support::toJsonValue(m_programDataPath); + result["WebPath"] = Jellyfin::Support::toJsonValue(m_webPath); + result["ItemsByNamePath"] = Jellyfin::Support::toJsonValue(m_itemsByNamePath); + result["CachePath"] = Jellyfin::Support::toJsonValue(m_cachePath); + result["LogPath"] = Jellyfin::Support::toJsonValue(m_logPath); + result["InternalMetadataPath"] = Jellyfin::Support::toJsonValue(m_internalMetadataPath); + result["TranscodingTempPath"] = Jellyfin::Support::toJsonValue(m_transcodingTempPath); + result["HasUpdateAvailable"] = Jellyfin::Support::toJsonValue(m_hasUpdateAvailable); + result["EncoderLocation"] = Jellyfin::Support::toJsonValue(m_encoderLocation); + result["SystemArchitecture"] = Jellyfin::Support::toJsonValue(m_systemArchitecture); + + return result; +} + +QString SystemInfo::localAddress() const { return m_localAddress; } + +void SystemInfo::setLocalAddress(QString newLocalAddress) { + m_localAddress = newLocalAddress; +} +bool SystemInfo::localAddressNull() const { + return m_localAddress.isNull(); +} + +void SystemInfo::setLocalAddressNull() { + m_localAddress.clear(); + +} +QString SystemInfo::serverName() const { return m_serverName; } + +void SystemInfo::setServerName(QString newServerName) { + m_serverName = newServerName; +} +bool SystemInfo::serverNameNull() const { + return m_serverName.isNull(); +} + +void SystemInfo::setServerNameNull() { + m_serverName.clear(); + +} +QString SystemInfo::version() const { return m_version; } + +void SystemInfo::setVersion(QString newVersion) { + m_version = newVersion; +} +bool SystemInfo::versionNull() const { + return m_version.isNull(); +} + +void SystemInfo::setVersionNull() { + m_version.clear(); + +} +QString SystemInfo::productName() const { return m_productName; } + +void SystemInfo::setProductName(QString newProductName) { + m_productName = newProductName; +} +bool SystemInfo::productNameNull() const { + return m_productName.isNull(); +} + +void SystemInfo::setProductNameNull() { + m_productName.clear(); + +} +QString SystemInfo::operatingSystem() const { return m_operatingSystem; } + +void SystemInfo::setOperatingSystem(QString newOperatingSystem) { + m_operatingSystem = newOperatingSystem; +} +bool SystemInfo::operatingSystemNull() const { + return m_operatingSystem.isNull(); +} + +void SystemInfo::setOperatingSystemNull() { + m_operatingSystem.clear(); + +} +QString SystemInfo::jellyfinId() const { return m_jellyfinId; } + +void SystemInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool SystemInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void SystemInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +std::optional SystemInfo::startupWizardCompleted() const { return m_startupWizardCompleted; } + +void SystemInfo::setStartupWizardCompleted(std::optional newStartupWizardCompleted) { + m_startupWizardCompleted = newStartupWizardCompleted; +} +bool SystemInfo::startupWizardCompletedNull() const { + return !m_startupWizardCompleted.has_value(); +} + +void SystemInfo::setStartupWizardCompletedNull() { + m_startupWizardCompleted = std::nullopt; + +} +QString SystemInfo::operatingSystemDisplayName() const { return m_operatingSystemDisplayName; } + +void SystemInfo::setOperatingSystemDisplayName(QString newOperatingSystemDisplayName) { + m_operatingSystemDisplayName = newOperatingSystemDisplayName; +} +bool SystemInfo::operatingSystemDisplayNameNull() const { + return m_operatingSystemDisplayName.isNull(); +} + +void SystemInfo::setOperatingSystemDisplayNameNull() { + m_operatingSystemDisplayName.clear(); + +} +QString SystemInfo::packageName() const { return m_packageName; } + +void SystemInfo::setPackageName(QString newPackageName) { + m_packageName = newPackageName; +} +bool SystemInfo::packageNameNull() const { + return m_packageName.isNull(); +} + +void SystemInfo::setPackageNameNull() { + m_packageName.clear(); + +} +bool SystemInfo::hasPendingRestart() const { return m_hasPendingRestart; } + +void SystemInfo::setHasPendingRestart(bool newHasPendingRestart) { + m_hasPendingRestart = newHasPendingRestart; +} + +bool SystemInfo::isShuttingDown() const { return m_isShuttingDown; } + +void SystemInfo::setIsShuttingDown(bool newIsShuttingDown) { + m_isShuttingDown = newIsShuttingDown; +} + +bool SystemInfo::supportsLibraryMonitor() const { return m_supportsLibraryMonitor; } + +void SystemInfo::setSupportsLibraryMonitor(bool newSupportsLibraryMonitor) { + m_supportsLibraryMonitor = newSupportsLibraryMonitor; +} + +qint32 SystemInfo::webSocketPortNumber() const { return m_webSocketPortNumber; } + +void SystemInfo::setWebSocketPortNumber(qint32 newWebSocketPortNumber) { + m_webSocketPortNumber = newWebSocketPortNumber; +} + +QList> SystemInfo::completedInstallations() const { return m_completedInstallations; } + +void SystemInfo::setCompletedInstallations(QList> newCompletedInstallations) { + m_completedInstallations = newCompletedInstallations; +} +bool SystemInfo::completedInstallationsNull() const { + return m_completedInstallations.size() == 0; +} + +void SystemInfo::setCompletedInstallationsNull() { + m_completedInstallations.clear(); + +} +bool SystemInfo::canSelfRestart() const { return m_canSelfRestart; } + +void SystemInfo::setCanSelfRestart(bool newCanSelfRestart) { + m_canSelfRestart = newCanSelfRestart; +} + +bool SystemInfo::canLaunchWebBrowser() const { return m_canLaunchWebBrowser; } + +void SystemInfo::setCanLaunchWebBrowser(bool newCanLaunchWebBrowser) { + m_canLaunchWebBrowser = newCanLaunchWebBrowser; +} + +QString SystemInfo::programDataPath() const { return m_programDataPath; } + +void SystemInfo::setProgramDataPath(QString newProgramDataPath) { + m_programDataPath = newProgramDataPath; +} +bool SystemInfo::programDataPathNull() const { + return m_programDataPath.isNull(); +} + +void SystemInfo::setProgramDataPathNull() { + m_programDataPath.clear(); + +} +QString SystemInfo::webPath() const { return m_webPath; } + +void SystemInfo::setWebPath(QString newWebPath) { + m_webPath = newWebPath; +} +bool SystemInfo::webPathNull() const { + return m_webPath.isNull(); +} + +void SystemInfo::setWebPathNull() { + m_webPath.clear(); + +} +QString SystemInfo::itemsByNamePath() const { return m_itemsByNamePath; } + +void SystemInfo::setItemsByNamePath(QString newItemsByNamePath) { + m_itemsByNamePath = newItemsByNamePath; +} +bool SystemInfo::itemsByNamePathNull() const { + return m_itemsByNamePath.isNull(); +} + +void SystemInfo::setItemsByNamePathNull() { + m_itemsByNamePath.clear(); + +} +QString SystemInfo::cachePath() const { return m_cachePath; } + +void SystemInfo::setCachePath(QString newCachePath) { + m_cachePath = newCachePath; +} +bool SystemInfo::cachePathNull() const { + return m_cachePath.isNull(); +} + +void SystemInfo::setCachePathNull() { + m_cachePath.clear(); + +} +QString SystemInfo::logPath() const { return m_logPath; } + +void SystemInfo::setLogPath(QString newLogPath) { + m_logPath = newLogPath; +} +bool SystemInfo::logPathNull() const { + return m_logPath.isNull(); +} + +void SystemInfo::setLogPathNull() { + m_logPath.clear(); + +} +QString SystemInfo::internalMetadataPath() const { return m_internalMetadataPath; } + +void SystemInfo::setInternalMetadataPath(QString newInternalMetadataPath) { + m_internalMetadataPath = newInternalMetadataPath; +} +bool SystemInfo::internalMetadataPathNull() const { + return m_internalMetadataPath.isNull(); +} + +void SystemInfo::setInternalMetadataPathNull() { + m_internalMetadataPath.clear(); + +} +QString SystemInfo::transcodingTempPath() const { return m_transcodingTempPath; } + +void SystemInfo::setTranscodingTempPath(QString newTranscodingTempPath) { + m_transcodingTempPath = newTranscodingTempPath; +} +bool SystemInfo::transcodingTempPathNull() const { + return m_transcodingTempPath.isNull(); +} + +void SystemInfo::setTranscodingTempPathNull() { + m_transcodingTempPath.clear(); + +} +bool SystemInfo::hasUpdateAvailable() const { return m_hasUpdateAvailable; } + +void SystemInfo::setHasUpdateAvailable(bool newHasUpdateAvailable) { + m_hasUpdateAvailable = newHasUpdateAvailable; +} + +FFmpegLocation SystemInfo::encoderLocation() const { return m_encoderLocation; } + +void SystemInfo::setEncoderLocation(FFmpegLocation newEncoderLocation) { + m_encoderLocation = newEncoderLocation; +} + +Architecture SystemInfo::systemArchitecture() const { return m_systemArchitecture; } + +void SystemInfo::setSystemArchitecture(Architecture newSystemArchitecture) { + m_systemArchitecture = newSystemArchitecture; +} + + +} // NS DTO + +namespace Support { + +using SystemInfo = Jellyfin::DTO::SystemInfo; + +template <> +SystemInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return SystemInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/taskcompletionstatus.cpp b/core/src/dto/taskcompletionstatus.cpp new file mode 100644 index 0000000..17236aa --- /dev/null +++ b/core/src/dto/taskcompletionstatus.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TaskCompletionStatusClass::TaskCompletionStatusClass() {} + + +} // NS DTO + +namespace Support { + +using TaskCompletionStatus = Jellyfin::DTO::TaskCompletionStatus; + +template <> +TaskCompletionStatus fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return TaskCompletionStatus::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Completed")) { + return TaskCompletionStatus::Completed; + } + if (str == QStringLiteral("Failed")) { + return TaskCompletionStatus::Failed; + } + if (str == QStringLiteral("Cancelled")) { + return TaskCompletionStatus::Cancelled; + } + if (str == QStringLiteral("Aborted")) { + return TaskCompletionStatus::Aborted; + } + + return TaskCompletionStatus::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/taskinfo.cpp b/core/src/dto/taskinfo.cpp new file mode 100644 index 0000000..b05ce7f --- /dev/null +++ b/core/src/dto/taskinfo.cpp @@ -0,0 +1,224 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TaskInfo::TaskInfo() {} + +TaskInfo::TaskInfo(const TaskInfo &other) : + + m_name(other.m_name), + m_state(other.m_state), + m_currentProgressPercentage(other.m_currentProgressPercentage), + m_jellyfinId(other.m_jellyfinId), + m_lastExecutionResult(other.m_lastExecutionResult), + m_triggers(other.m_triggers), + m_description(other.m_description), + m_category(other.m_category), + m_isHidden(other.m_isHidden), + m_key(other.m_key){} + + +void TaskInfo::replaceData(TaskInfo &other) { + m_name = other.m_name; + m_state = other.m_state; + m_currentProgressPercentage = other.m_currentProgressPercentage; + m_jellyfinId = other.m_jellyfinId; + m_lastExecutionResult = other.m_lastExecutionResult; + m_triggers = other.m_triggers; + m_description = other.m_description; + m_category = other.m_category; + m_isHidden = other.m_isHidden; + m_key = other.m_key; +} + +TaskInfo TaskInfo::fromJson(QJsonObject source) { + TaskInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TaskInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_state = Jellyfin::Support::fromJsonValue(source["State"]); + m_currentProgressPercentage = Jellyfin::Support::fromJsonValue>(source["CurrentProgressPercentage"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_lastExecutionResult = Jellyfin::Support::fromJsonValue>(source["LastExecutionResult"]); + m_triggers = Jellyfin::Support::fromJsonValue>>(source["Triggers"]); + m_description = Jellyfin::Support::fromJsonValue(source["Description"]); + m_category = Jellyfin::Support::fromJsonValue(source["Category"]); + m_isHidden = Jellyfin::Support::fromJsonValue(source["IsHidden"]); + m_key = Jellyfin::Support::fromJsonValue(source["Key"]); + +} + +QJsonObject TaskInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["State"] = Jellyfin::Support::toJsonValue(m_state); + result["CurrentProgressPercentage"] = Jellyfin::Support::toJsonValue>(m_currentProgressPercentage); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["LastExecutionResult"] = Jellyfin::Support::toJsonValue>(m_lastExecutionResult); + result["Triggers"] = Jellyfin::Support::toJsonValue>>(m_triggers); + result["Description"] = Jellyfin::Support::toJsonValue(m_description); + result["Category"] = Jellyfin::Support::toJsonValue(m_category); + result["IsHidden"] = Jellyfin::Support::toJsonValue(m_isHidden); + result["Key"] = Jellyfin::Support::toJsonValue(m_key); + + return result; +} + +QString TaskInfo::name() const { return m_name; } + +void TaskInfo::setName(QString newName) { + m_name = newName; +} +bool TaskInfo::nameNull() const { + return m_name.isNull(); +} + +void TaskInfo::setNameNull() { + m_name.clear(); + +} +TaskState TaskInfo::state() const { return m_state; } + +void TaskInfo::setState(TaskState newState) { + m_state = newState; +} + +std::optional TaskInfo::currentProgressPercentage() const { return m_currentProgressPercentage; } + +void TaskInfo::setCurrentProgressPercentage(std::optional newCurrentProgressPercentage) { + m_currentProgressPercentage = newCurrentProgressPercentage; +} +bool TaskInfo::currentProgressPercentageNull() const { + return !m_currentProgressPercentage.has_value(); +} + +void TaskInfo::setCurrentProgressPercentageNull() { + m_currentProgressPercentage = std::nullopt; + +} +QString TaskInfo::jellyfinId() const { return m_jellyfinId; } + +void TaskInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TaskInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TaskInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QSharedPointer TaskInfo::lastExecutionResult() const { return m_lastExecutionResult; } + +void TaskInfo::setLastExecutionResult(QSharedPointer newLastExecutionResult) { + m_lastExecutionResult = newLastExecutionResult; +} + +QList> TaskInfo::triggers() const { return m_triggers; } + +void TaskInfo::setTriggers(QList> newTriggers) { + m_triggers = newTriggers; +} +bool TaskInfo::triggersNull() const { + return m_triggers.size() == 0; +} + +void TaskInfo::setTriggersNull() { + m_triggers.clear(); + +} +QString TaskInfo::description() const { return m_description; } + +void TaskInfo::setDescription(QString newDescription) { + m_description = newDescription; +} +bool TaskInfo::descriptionNull() const { + return m_description.isNull(); +} + +void TaskInfo::setDescriptionNull() { + m_description.clear(); + +} +QString TaskInfo::category() const { return m_category; } + +void TaskInfo::setCategory(QString newCategory) { + m_category = newCategory; +} +bool TaskInfo::categoryNull() const { + return m_category.isNull(); +} + +void TaskInfo::setCategoryNull() { + m_category.clear(); + +} +bool TaskInfo::isHidden() const { return m_isHidden; } + +void TaskInfo::setIsHidden(bool newIsHidden) { + m_isHidden = newIsHidden; +} + +QString TaskInfo::key() const { return m_key; } + +void TaskInfo::setKey(QString newKey) { + m_key = newKey; +} +bool TaskInfo::keyNull() const { + return m_key.isNull(); +} + +void TaskInfo::setKeyNull() { + m_key.clear(); + +} + +} // NS DTO + +namespace Support { + +using TaskInfo = Jellyfin::DTO::TaskInfo; + +template <> +TaskInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TaskInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/taskresult.cpp b/core/src/dto/taskresult.cpp new file mode 100644 index 0000000..1d2df72 --- /dev/null +++ b/core/src/dto/taskresult.cpp @@ -0,0 +1,190 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TaskResult::TaskResult() {} + +TaskResult::TaskResult(const TaskResult &other) : + + m_startTimeUtc(other.m_startTimeUtc), + m_endTimeUtc(other.m_endTimeUtc), + m_status(other.m_status), + m_name(other.m_name), + m_key(other.m_key), + m_jellyfinId(other.m_jellyfinId), + m_errorMessage(other.m_errorMessage), + m_longErrorMessage(other.m_longErrorMessage){} + + +void TaskResult::replaceData(TaskResult &other) { + m_startTimeUtc = other.m_startTimeUtc; + m_endTimeUtc = other.m_endTimeUtc; + m_status = other.m_status; + m_name = other.m_name; + m_key = other.m_key; + m_jellyfinId = other.m_jellyfinId; + m_errorMessage = other.m_errorMessage; + m_longErrorMessage = other.m_longErrorMessage; +} + +TaskResult TaskResult::fromJson(QJsonObject source) { + TaskResult instance; + instance.setFromJson(source); + return instance; +} + + +void TaskResult::setFromJson(QJsonObject source) { + m_startTimeUtc = Jellyfin::Support::fromJsonValue(source["StartTimeUtc"]); + m_endTimeUtc = Jellyfin::Support::fromJsonValue(source["EndTimeUtc"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_key = Jellyfin::Support::fromJsonValue(source["Key"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_errorMessage = Jellyfin::Support::fromJsonValue(source["ErrorMessage"]); + m_longErrorMessage = Jellyfin::Support::fromJsonValue(source["LongErrorMessage"]); + +} + +QJsonObject TaskResult::toJson() { + QJsonObject result; + result["StartTimeUtc"] = Jellyfin::Support::toJsonValue(m_startTimeUtc); + result["EndTimeUtc"] = Jellyfin::Support::toJsonValue(m_endTimeUtc); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Key"] = Jellyfin::Support::toJsonValue(m_key); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["ErrorMessage"] = Jellyfin::Support::toJsonValue(m_errorMessage); + result["LongErrorMessage"] = Jellyfin::Support::toJsonValue(m_longErrorMessage); + + return result; +} + +QDateTime TaskResult::startTimeUtc() const { return m_startTimeUtc; } + +void TaskResult::setStartTimeUtc(QDateTime newStartTimeUtc) { + m_startTimeUtc = newStartTimeUtc; +} + +QDateTime TaskResult::endTimeUtc() const { return m_endTimeUtc; } + +void TaskResult::setEndTimeUtc(QDateTime newEndTimeUtc) { + m_endTimeUtc = newEndTimeUtc; +} + +TaskCompletionStatus TaskResult::status() const { return m_status; } + +void TaskResult::setStatus(TaskCompletionStatus newStatus) { + m_status = newStatus; +} + +QString TaskResult::name() const { return m_name; } + +void TaskResult::setName(QString newName) { + m_name = newName; +} +bool TaskResult::nameNull() const { + return m_name.isNull(); +} + +void TaskResult::setNameNull() { + m_name.clear(); + +} +QString TaskResult::key() const { return m_key; } + +void TaskResult::setKey(QString newKey) { + m_key = newKey; +} +bool TaskResult::keyNull() const { + return m_key.isNull(); +} + +void TaskResult::setKeyNull() { + m_key.clear(); + +} +QString TaskResult::jellyfinId() const { return m_jellyfinId; } + +void TaskResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TaskResult::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TaskResult::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString TaskResult::errorMessage() const { return m_errorMessage; } + +void TaskResult::setErrorMessage(QString newErrorMessage) { + m_errorMessage = newErrorMessage; +} +bool TaskResult::errorMessageNull() const { + return m_errorMessage.isNull(); +} + +void TaskResult::setErrorMessageNull() { + m_errorMessage.clear(); + +} +QString TaskResult::longErrorMessage() const { return m_longErrorMessage; } + +void TaskResult::setLongErrorMessage(QString newLongErrorMessage) { + m_longErrorMessage = newLongErrorMessage; +} +bool TaskResult::longErrorMessageNull() const { + return m_longErrorMessage.isNull(); +} + +void TaskResult::setLongErrorMessageNull() { + m_longErrorMessage.clear(); + +} + +} // NS DTO + +namespace Support { + +using TaskResult = Jellyfin::DTO::TaskResult; + +template <> +TaskResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TaskResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/taskstate.cpp b/core/src/dto/taskstate.cpp new file mode 100644 index 0000000..9264444 --- /dev/null +++ b/core/src/dto/taskstate.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TaskStateClass::TaskStateClass() {} + + +} // NS DTO + +namespace Support { + +using TaskState = Jellyfin::DTO::TaskState; + +template <> +TaskState fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return TaskState::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Idle")) { + return TaskState::Idle; + } + if (str == QStringLiteral("Cancelling")) { + return TaskState::Cancelling; + } + if (str == QStringLiteral("Running")) { + return TaskState::Running; + } + + return TaskState::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/tasktriggerinfo.cpp b/core/src/dto/tasktriggerinfo.cpp new file mode 100644 index 0000000..03c27b1 --- /dev/null +++ b/core/src/dto/tasktriggerinfo.cpp @@ -0,0 +1,153 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TaskTriggerInfo::TaskTriggerInfo() {} + +TaskTriggerInfo::TaskTriggerInfo(const TaskTriggerInfo &other) : + + m_type(other.m_type), + m_timeOfDayTicks(other.m_timeOfDayTicks), + m_intervalTicks(other.m_intervalTicks), + m_dayOfWeek(other.m_dayOfWeek), + m_maxRuntimeTicks(other.m_maxRuntimeTicks){} + + +void TaskTriggerInfo::replaceData(TaskTriggerInfo &other) { + m_type = other.m_type; + m_timeOfDayTicks = other.m_timeOfDayTicks; + m_intervalTicks = other.m_intervalTicks; + m_dayOfWeek = other.m_dayOfWeek; + m_maxRuntimeTicks = other.m_maxRuntimeTicks; +} + +TaskTriggerInfo TaskTriggerInfo::fromJson(QJsonObject source) { + TaskTriggerInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TaskTriggerInfo::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_timeOfDayTicks = Jellyfin::Support::fromJsonValue>(source["TimeOfDayTicks"]); + m_intervalTicks = Jellyfin::Support::fromJsonValue>(source["IntervalTicks"]); + m_dayOfWeek = Jellyfin::Support::fromJsonValue(source["DayOfWeek"]); + m_maxRuntimeTicks = Jellyfin::Support::fromJsonValue>(source["MaxRuntimeTicks"]); + +} + +QJsonObject TaskTriggerInfo::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["TimeOfDayTicks"] = Jellyfin::Support::toJsonValue>(m_timeOfDayTicks); + result["IntervalTicks"] = Jellyfin::Support::toJsonValue>(m_intervalTicks); + result["DayOfWeek"] = Jellyfin::Support::toJsonValue(m_dayOfWeek); + result["MaxRuntimeTicks"] = Jellyfin::Support::toJsonValue>(m_maxRuntimeTicks); + + return result; +} + +QString TaskTriggerInfo::type() const { return m_type; } + +void TaskTriggerInfo::setType(QString newType) { + m_type = newType; +} +bool TaskTriggerInfo::typeNull() const { + return m_type.isNull(); +} + +void TaskTriggerInfo::setTypeNull() { + m_type.clear(); + +} +std::optional TaskTriggerInfo::timeOfDayTicks() const { return m_timeOfDayTicks; } + +void TaskTriggerInfo::setTimeOfDayTicks(std::optional newTimeOfDayTicks) { + m_timeOfDayTicks = newTimeOfDayTicks; +} +bool TaskTriggerInfo::timeOfDayTicksNull() const { + return !m_timeOfDayTicks.has_value(); +} + +void TaskTriggerInfo::setTimeOfDayTicksNull() { + m_timeOfDayTicks = std::nullopt; + +} +std::optional TaskTriggerInfo::intervalTicks() const { return m_intervalTicks; } + +void TaskTriggerInfo::setIntervalTicks(std::optional newIntervalTicks) { + m_intervalTicks = newIntervalTicks; +} +bool TaskTriggerInfo::intervalTicksNull() const { + return !m_intervalTicks.has_value(); +} + +void TaskTriggerInfo::setIntervalTicksNull() { + m_intervalTicks = std::nullopt; + +} +DayOfWeek TaskTriggerInfo::dayOfWeek() const { return m_dayOfWeek; } + +void TaskTriggerInfo::setDayOfWeek(DayOfWeek newDayOfWeek) { + m_dayOfWeek = newDayOfWeek; +} + +std::optional TaskTriggerInfo::maxRuntimeTicks() const { return m_maxRuntimeTicks; } + +void TaskTriggerInfo::setMaxRuntimeTicks(std::optional newMaxRuntimeTicks) { + m_maxRuntimeTicks = newMaxRuntimeTicks; +} +bool TaskTriggerInfo::maxRuntimeTicksNull() const { + return !m_maxRuntimeTicks.has_value(); +} + +void TaskTriggerInfo::setMaxRuntimeTicksNull() { + m_maxRuntimeTicks = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using TaskTriggerInfo = Jellyfin::DTO::TaskTriggerInfo; + +template <> +TaskTriggerInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TaskTriggerInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/thememediaresult.cpp b/core/src/dto/thememediaresult.cpp new file mode 100644 index 0000000..4d5bd6d --- /dev/null +++ b/core/src/dto/thememediaresult.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ThemeMediaResult::ThemeMediaResult() {} + +ThemeMediaResult::ThemeMediaResult(const ThemeMediaResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex), + m_ownerId(other.m_ownerId){} + + +void ThemeMediaResult::replaceData(ThemeMediaResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; + m_ownerId = other.m_ownerId; +} + +ThemeMediaResult ThemeMediaResult::fromJson(QJsonObject source) { + ThemeMediaResult instance; + instance.setFromJson(source); + return instance; +} + + +void ThemeMediaResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + m_ownerId = Jellyfin::Support::fromJsonValue(source["OwnerId"]); + +} + +QJsonObject ThemeMediaResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + result["OwnerId"] = Jellyfin::Support::toJsonValue(m_ownerId); + + return result; +} + +QList> ThemeMediaResult::items() const { return m_items; } + +void ThemeMediaResult::setItems(QList> newItems) { + m_items = newItems; +} +bool ThemeMediaResult::itemsNull() const { + return m_items.size() == 0; +} + +void ThemeMediaResult::setItemsNull() { + m_items.clear(); + +} +qint32 ThemeMediaResult::totalRecordCount() const { return m_totalRecordCount; } + +void ThemeMediaResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 ThemeMediaResult::startIndex() const { return m_startIndex; } + +void ThemeMediaResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + +QString ThemeMediaResult::ownerId() const { return m_ownerId; } + +void ThemeMediaResult::setOwnerId(QString newOwnerId) { + m_ownerId = newOwnerId; +} + + +} // NS DTO + +namespace Support { + +using ThemeMediaResult = Jellyfin::DTO::ThemeMediaResult; + +template <> +ThemeMediaResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ThemeMediaResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/timereventinfo.cpp b/core/src/dto/timereventinfo.cpp new file mode 100644 index 0000000..ff534c4 --- /dev/null +++ b/core/src/dto/timereventinfo.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TimerEventInfo::TimerEventInfo() {} + +TimerEventInfo::TimerEventInfo(const TimerEventInfo &other) : + + m_jellyfinId(other.m_jellyfinId), + m_programId(other.m_programId){} + + +void TimerEventInfo::replaceData(TimerEventInfo &other) { + m_jellyfinId = other.m_jellyfinId; + m_programId = other.m_programId; +} + +TimerEventInfo TimerEventInfo::fromJson(QJsonObject source) { + TimerEventInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TimerEventInfo::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_programId = Jellyfin::Support::fromJsonValue(source["ProgramId"]); + +} + +QJsonObject TimerEventInfo::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["ProgramId"] = Jellyfin::Support::toJsonValue(m_programId); + + return result; +} + +QString TimerEventInfo::jellyfinId() const { return m_jellyfinId; } + +void TimerEventInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TimerEventInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TimerEventInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString TimerEventInfo::programId() const { return m_programId; } + +void TimerEventInfo::setProgramId(QString newProgramId) { + m_programId = newProgramId; +} +bool TimerEventInfo::programIdNull() const { + return m_programId.isNull(); +} + +void TimerEventInfo::setProgramIdNull() { + m_programId.clear(); + +} + +} // NS DTO + +namespace Support { + +using TimerEventInfo = Jellyfin::DTO::TimerEventInfo; + +template <> +TimerEventInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TimerEventInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/timerinfodto.cpp b/core/src/dto/timerinfodto.cpp new file mode 100644 index 0000000..32ca169 --- /dev/null +++ b/core/src/dto/timerinfodto.cpp @@ -0,0 +1,474 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TimerInfoDto::TimerInfoDto() {} + +TimerInfoDto::TimerInfoDto(const TimerInfoDto &other) : + + m_jellyfinId(other.m_jellyfinId), + m_type(other.m_type), + m_serverId(other.m_serverId), + m_externalId(other.m_externalId), + m_channelId(other.m_channelId), + m_externalChannelId(other.m_externalChannelId), + m_channelName(other.m_channelName), + m_channelPrimaryImageTag(other.m_channelPrimaryImageTag), + m_programId(other.m_programId), + m_externalProgramId(other.m_externalProgramId), + m_name(other.m_name), + m_overview(other.m_overview), + m_startDate(other.m_startDate), + m_endDate(other.m_endDate), + m_serviceName(other.m_serviceName), + m_priority(other.m_priority), + m_prePaddingSeconds(other.m_prePaddingSeconds), + m_postPaddingSeconds(other.m_postPaddingSeconds), + m_isPrePaddingRequired(other.m_isPrePaddingRequired), + m_parentBackdropItemId(other.m_parentBackdropItemId), + m_parentBackdropImageTags(other.m_parentBackdropImageTags), + m_isPostPaddingRequired(other.m_isPostPaddingRequired), + m_keepUntil(other.m_keepUntil), + m_status(other.m_status), + m_seriesTimerId(other.m_seriesTimerId), + m_externalSeriesTimerId(other.m_externalSeriesTimerId), + m_runTimeTicks(other.m_runTimeTicks), + m_programInfo(other.m_programInfo){} + + +void TimerInfoDto::replaceData(TimerInfoDto &other) { + m_jellyfinId = other.m_jellyfinId; + m_type = other.m_type; + m_serverId = other.m_serverId; + m_externalId = other.m_externalId; + m_channelId = other.m_channelId; + m_externalChannelId = other.m_externalChannelId; + m_channelName = other.m_channelName; + m_channelPrimaryImageTag = other.m_channelPrimaryImageTag; + m_programId = other.m_programId; + m_externalProgramId = other.m_externalProgramId; + m_name = other.m_name; + m_overview = other.m_overview; + m_startDate = other.m_startDate; + m_endDate = other.m_endDate; + m_serviceName = other.m_serviceName; + m_priority = other.m_priority; + m_prePaddingSeconds = other.m_prePaddingSeconds; + m_postPaddingSeconds = other.m_postPaddingSeconds; + m_isPrePaddingRequired = other.m_isPrePaddingRequired; + m_parentBackdropItemId = other.m_parentBackdropItemId; + m_parentBackdropImageTags = other.m_parentBackdropImageTags; + m_isPostPaddingRequired = other.m_isPostPaddingRequired; + m_keepUntil = other.m_keepUntil; + m_status = other.m_status; + m_seriesTimerId = other.m_seriesTimerId; + m_externalSeriesTimerId = other.m_externalSeriesTimerId; + m_runTimeTicks = other.m_runTimeTicks; + m_programInfo = other.m_programInfo; +} + +TimerInfoDto TimerInfoDto::fromJson(QJsonObject source) { + TimerInfoDto instance; + instance.setFromJson(source); + return instance; +} + + +void TimerInfoDto::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + m_externalId = Jellyfin::Support::fromJsonValue(source["ExternalId"]); + m_channelId = Jellyfin::Support::fromJsonValue(source["ChannelId"]); + m_externalChannelId = Jellyfin::Support::fromJsonValue(source["ExternalChannelId"]); + m_channelName = Jellyfin::Support::fromJsonValue(source["ChannelName"]); + m_channelPrimaryImageTag = Jellyfin::Support::fromJsonValue(source["ChannelPrimaryImageTag"]); + m_programId = Jellyfin::Support::fromJsonValue(source["ProgramId"]); + m_externalProgramId = Jellyfin::Support::fromJsonValue(source["ExternalProgramId"]); + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_overview = Jellyfin::Support::fromJsonValue(source["Overview"]); + m_startDate = Jellyfin::Support::fromJsonValue(source["StartDate"]); + m_endDate = Jellyfin::Support::fromJsonValue(source["EndDate"]); + m_serviceName = Jellyfin::Support::fromJsonValue(source["ServiceName"]); + m_priority = Jellyfin::Support::fromJsonValue(source["Priority"]); + m_prePaddingSeconds = Jellyfin::Support::fromJsonValue(source["PrePaddingSeconds"]); + m_postPaddingSeconds = Jellyfin::Support::fromJsonValue(source["PostPaddingSeconds"]); + m_isPrePaddingRequired = Jellyfin::Support::fromJsonValue(source["IsPrePaddingRequired"]); + m_parentBackdropItemId = Jellyfin::Support::fromJsonValue(source["ParentBackdropItemId"]); + m_parentBackdropImageTags = Jellyfin::Support::fromJsonValue(source["ParentBackdropImageTags"]); + m_isPostPaddingRequired = Jellyfin::Support::fromJsonValue(source["IsPostPaddingRequired"]); + m_keepUntil = Jellyfin::Support::fromJsonValue(source["KeepUntil"]); + m_status = Jellyfin::Support::fromJsonValue(source["Status"]); + m_seriesTimerId = Jellyfin::Support::fromJsonValue(source["SeriesTimerId"]); + m_externalSeriesTimerId = Jellyfin::Support::fromJsonValue(source["ExternalSeriesTimerId"]); + m_runTimeTicks = Jellyfin::Support::fromJsonValue>(source["RunTimeTicks"]); + m_programInfo = Jellyfin::Support::fromJsonValue>(source["ProgramInfo"]); + +} + +QJsonObject TimerInfoDto::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + result["ExternalId"] = Jellyfin::Support::toJsonValue(m_externalId); + result["ChannelId"] = Jellyfin::Support::toJsonValue(m_channelId); + result["ExternalChannelId"] = Jellyfin::Support::toJsonValue(m_externalChannelId); + result["ChannelName"] = Jellyfin::Support::toJsonValue(m_channelName); + result["ChannelPrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_channelPrimaryImageTag); + result["ProgramId"] = Jellyfin::Support::toJsonValue(m_programId); + result["ExternalProgramId"] = Jellyfin::Support::toJsonValue(m_externalProgramId); + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Overview"] = Jellyfin::Support::toJsonValue(m_overview); + result["StartDate"] = Jellyfin::Support::toJsonValue(m_startDate); + result["EndDate"] = Jellyfin::Support::toJsonValue(m_endDate); + result["ServiceName"] = Jellyfin::Support::toJsonValue(m_serviceName); + result["Priority"] = Jellyfin::Support::toJsonValue(m_priority); + result["PrePaddingSeconds"] = Jellyfin::Support::toJsonValue(m_prePaddingSeconds); + result["PostPaddingSeconds"] = Jellyfin::Support::toJsonValue(m_postPaddingSeconds); + result["IsPrePaddingRequired"] = Jellyfin::Support::toJsonValue(m_isPrePaddingRequired); + result["ParentBackdropItemId"] = Jellyfin::Support::toJsonValue(m_parentBackdropItemId); + result["ParentBackdropImageTags"] = Jellyfin::Support::toJsonValue(m_parentBackdropImageTags); + result["IsPostPaddingRequired"] = Jellyfin::Support::toJsonValue(m_isPostPaddingRequired); + result["KeepUntil"] = Jellyfin::Support::toJsonValue(m_keepUntil); + result["Status"] = Jellyfin::Support::toJsonValue(m_status); + result["SeriesTimerId"] = Jellyfin::Support::toJsonValue(m_seriesTimerId); + result["ExternalSeriesTimerId"] = Jellyfin::Support::toJsonValue(m_externalSeriesTimerId); + result["RunTimeTicks"] = Jellyfin::Support::toJsonValue>(m_runTimeTicks); + result["ProgramInfo"] = Jellyfin::Support::toJsonValue>(m_programInfo); + + return result; +} + +QString TimerInfoDto::jellyfinId() const { return m_jellyfinId; } + +void TimerInfoDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TimerInfoDto::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TimerInfoDto::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString TimerInfoDto::type() const { return m_type; } + +void TimerInfoDto::setType(QString newType) { + m_type = newType; +} +bool TimerInfoDto::typeNull() const { + return m_type.isNull(); +} + +void TimerInfoDto::setTypeNull() { + m_type.clear(); + +} +QString TimerInfoDto::serverId() const { return m_serverId; } + +void TimerInfoDto::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool TimerInfoDto::serverIdNull() const { + return m_serverId.isNull(); +} + +void TimerInfoDto::setServerIdNull() { + m_serverId.clear(); + +} +QString TimerInfoDto::externalId() const { return m_externalId; } + +void TimerInfoDto::setExternalId(QString newExternalId) { + m_externalId = newExternalId; +} +bool TimerInfoDto::externalIdNull() const { + return m_externalId.isNull(); +} + +void TimerInfoDto::setExternalIdNull() { + m_externalId.clear(); + +} +QString TimerInfoDto::channelId() const { return m_channelId; } + +void TimerInfoDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; +} + +QString TimerInfoDto::externalChannelId() const { return m_externalChannelId; } + +void TimerInfoDto::setExternalChannelId(QString newExternalChannelId) { + m_externalChannelId = newExternalChannelId; +} +bool TimerInfoDto::externalChannelIdNull() const { + return m_externalChannelId.isNull(); +} + +void TimerInfoDto::setExternalChannelIdNull() { + m_externalChannelId.clear(); + +} +QString TimerInfoDto::channelName() const { return m_channelName; } + +void TimerInfoDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; +} +bool TimerInfoDto::channelNameNull() const { + return m_channelName.isNull(); +} + +void TimerInfoDto::setChannelNameNull() { + m_channelName.clear(); + +} +QString TimerInfoDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } + +void TimerInfoDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; +} +bool TimerInfoDto::channelPrimaryImageTagNull() const { + return m_channelPrimaryImageTag.isNull(); +} + +void TimerInfoDto::setChannelPrimaryImageTagNull() { + m_channelPrimaryImageTag.clear(); + +} +QString TimerInfoDto::programId() const { return m_programId; } + +void TimerInfoDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; +} +bool TimerInfoDto::programIdNull() const { + return m_programId.isNull(); +} + +void TimerInfoDto::setProgramIdNull() { + m_programId.clear(); + +} +QString TimerInfoDto::externalProgramId() const { return m_externalProgramId; } + +void TimerInfoDto::setExternalProgramId(QString newExternalProgramId) { + m_externalProgramId = newExternalProgramId; +} +bool TimerInfoDto::externalProgramIdNull() const { + return m_externalProgramId.isNull(); +} + +void TimerInfoDto::setExternalProgramIdNull() { + m_externalProgramId.clear(); + +} +QString TimerInfoDto::name() const { return m_name; } + +void TimerInfoDto::setName(QString newName) { + m_name = newName; +} +bool TimerInfoDto::nameNull() const { + return m_name.isNull(); +} + +void TimerInfoDto::setNameNull() { + m_name.clear(); + +} +QString TimerInfoDto::overview() const { return m_overview; } + +void TimerInfoDto::setOverview(QString newOverview) { + m_overview = newOverview; +} +bool TimerInfoDto::overviewNull() const { + return m_overview.isNull(); +} + +void TimerInfoDto::setOverviewNull() { + m_overview.clear(); + +} +QDateTime TimerInfoDto::startDate() const { return m_startDate; } + +void TimerInfoDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; +} + +QDateTime TimerInfoDto::endDate() const { return m_endDate; } + +void TimerInfoDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; +} + +QString TimerInfoDto::serviceName() const { return m_serviceName; } + +void TimerInfoDto::setServiceName(QString newServiceName) { + m_serviceName = newServiceName; +} +bool TimerInfoDto::serviceNameNull() const { + return m_serviceName.isNull(); +} + +void TimerInfoDto::setServiceNameNull() { + m_serviceName.clear(); + +} +qint32 TimerInfoDto::priority() const { return m_priority; } + +void TimerInfoDto::setPriority(qint32 newPriority) { + m_priority = newPriority; +} + +qint32 TimerInfoDto::prePaddingSeconds() const { return m_prePaddingSeconds; } + +void TimerInfoDto::setPrePaddingSeconds(qint32 newPrePaddingSeconds) { + m_prePaddingSeconds = newPrePaddingSeconds; +} + +qint32 TimerInfoDto::postPaddingSeconds() const { return m_postPaddingSeconds; } + +void TimerInfoDto::setPostPaddingSeconds(qint32 newPostPaddingSeconds) { + m_postPaddingSeconds = newPostPaddingSeconds; +} + +bool TimerInfoDto::isPrePaddingRequired() const { return m_isPrePaddingRequired; } + +void TimerInfoDto::setIsPrePaddingRequired(bool newIsPrePaddingRequired) { + m_isPrePaddingRequired = newIsPrePaddingRequired; +} + +QString TimerInfoDto::parentBackdropItemId() const { return m_parentBackdropItemId; } + +void TimerInfoDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; +} +bool TimerInfoDto::parentBackdropItemIdNull() const { + return m_parentBackdropItemId.isNull(); +} + +void TimerInfoDto::setParentBackdropItemIdNull() { + m_parentBackdropItemId.clear(); + +} +QStringList TimerInfoDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } + +void TimerInfoDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; +} +bool TimerInfoDto::parentBackdropImageTagsNull() const { + return m_parentBackdropImageTags.size() == 0; +} + +void TimerInfoDto::setParentBackdropImageTagsNull() { + m_parentBackdropImageTags.clear(); + +} +bool TimerInfoDto::isPostPaddingRequired() const { return m_isPostPaddingRequired; } + +void TimerInfoDto::setIsPostPaddingRequired(bool newIsPostPaddingRequired) { + m_isPostPaddingRequired = newIsPostPaddingRequired; +} + +KeepUntil TimerInfoDto::keepUntil() const { return m_keepUntil; } + +void TimerInfoDto::setKeepUntil(KeepUntil newKeepUntil) { + m_keepUntil = newKeepUntil; +} + +RecordingStatus TimerInfoDto::status() const { return m_status; } + +void TimerInfoDto::setStatus(RecordingStatus newStatus) { + m_status = newStatus; +} + +QString TimerInfoDto::seriesTimerId() const { return m_seriesTimerId; } + +void TimerInfoDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; +} +bool TimerInfoDto::seriesTimerIdNull() const { + return m_seriesTimerId.isNull(); +} + +void TimerInfoDto::setSeriesTimerIdNull() { + m_seriesTimerId.clear(); + +} +QString TimerInfoDto::externalSeriesTimerId() const { return m_externalSeriesTimerId; } + +void TimerInfoDto::setExternalSeriesTimerId(QString newExternalSeriesTimerId) { + m_externalSeriesTimerId = newExternalSeriesTimerId; +} +bool TimerInfoDto::externalSeriesTimerIdNull() const { + return m_externalSeriesTimerId.isNull(); +} + +void TimerInfoDto::setExternalSeriesTimerIdNull() { + m_externalSeriesTimerId.clear(); + +} +std::optional TimerInfoDto::runTimeTicks() const { return m_runTimeTicks; } + +void TimerInfoDto::setRunTimeTicks(std::optional newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; +} +bool TimerInfoDto::runTimeTicksNull() const { + return !m_runTimeTicks.has_value(); +} + +void TimerInfoDto::setRunTimeTicksNull() { + m_runTimeTicks = std::nullopt; + +} +QSharedPointer TimerInfoDto::programInfo() const { return m_programInfo; } + +void TimerInfoDto::setProgramInfo(QSharedPointer newProgramInfo) { + m_programInfo = newProgramInfo; +} + + +} // NS DTO + +namespace Support { + +using TimerInfoDto = Jellyfin::DTO::TimerInfoDto; + +template <> +TimerInfoDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TimerInfoDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/timerinfodtoqueryresult.cpp b/core/src/dto/timerinfodtoqueryresult.cpp new file mode 100644 index 0000000..b8af595 --- /dev/null +++ b/core/src/dto/timerinfodtoqueryresult.cpp @@ -0,0 +1,112 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TimerInfoDtoQueryResult::TimerInfoDtoQueryResult() {} + +TimerInfoDtoQueryResult::TimerInfoDtoQueryResult(const TimerInfoDtoQueryResult &other) : + + m_items(other.m_items), + m_totalRecordCount(other.m_totalRecordCount), + m_startIndex(other.m_startIndex){} + + +void TimerInfoDtoQueryResult::replaceData(TimerInfoDtoQueryResult &other) { + m_items = other.m_items; + m_totalRecordCount = other.m_totalRecordCount; + m_startIndex = other.m_startIndex; +} + +TimerInfoDtoQueryResult TimerInfoDtoQueryResult::fromJson(QJsonObject source) { + TimerInfoDtoQueryResult instance; + instance.setFromJson(source); + return instance; +} + + +void TimerInfoDtoQueryResult::setFromJson(QJsonObject source) { + m_items = Jellyfin::Support::fromJsonValue>>(source["Items"]); + m_totalRecordCount = Jellyfin::Support::fromJsonValue(source["TotalRecordCount"]); + m_startIndex = Jellyfin::Support::fromJsonValue(source["StartIndex"]); + +} + +QJsonObject TimerInfoDtoQueryResult::toJson() { + QJsonObject result; + result["Items"] = Jellyfin::Support::toJsonValue>>(m_items); + result["TotalRecordCount"] = Jellyfin::Support::toJsonValue(m_totalRecordCount); + result["StartIndex"] = Jellyfin::Support::toJsonValue(m_startIndex); + + return result; +} + +QList> TimerInfoDtoQueryResult::items() const { return m_items; } + +void TimerInfoDtoQueryResult::setItems(QList> newItems) { + m_items = newItems; +} +bool TimerInfoDtoQueryResult::itemsNull() const { + return m_items.size() == 0; +} + +void TimerInfoDtoQueryResult::setItemsNull() { + m_items.clear(); + +} +qint32 TimerInfoDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } + +void TimerInfoDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; +} + +qint32 TimerInfoDtoQueryResult::startIndex() const { return m_startIndex; } + +void TimerInfoDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; +} + + +} // NS DTO + +namespace Support { + +using TimerInfoDtoQueryResult = Jellyfin::DTO::TimerInfoDtoQueryResult; + +template <> +TimerInfoDtoQueryResult fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TimerInfoDtoQueryResult::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/trailerinfo.cpp b/core/src/dto/trailerinfo.cpp new file mode 100644 index 0000000..473031f --- /dev/null +++ b/core/src/dto/trailerinfo.cpp @@ -0,0 +1,238 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TrailerInfo::TrailerInfo() {} + +TrailerInfo::TrailerInfo(const TrailerInfo &other) : + + m_name(other.m_name), + m_path(other.m_path), + m_metadataLanguage(other.m_metadataLanguage), + m_metadataCountryCode(other.m_metadataCountryCode), + m_providerIds(other.m_providerIds), + m_year(other.m_year), + m_indexNumber(other.m_indexNumber), + m_parentIndexNumber(other.m_parentIndexNumber), + m_premiereDate(other.m_premiereDate), + m_isAutomated(other.m_isAutomated){} + + +void TrailerInfo::replaceData(TrailerInfo &other) { + m_name = other.m_name; + m_path = other.m_path; + m_metadataLanguage = other.m_metadataLanguage; + m_metadataCountryCode = other.m_metadataCountryCode; + m_providerIds = other.m_providerIds; + m_year = other.m_year; + m_indexNumber = other.m_indexNumber; + m_parentIndexNumber = other.m_parentIndexNumber; + m_premiereDate = other.m_premiereDate; + m_isAutomated = other.m_isAutomated; +} + +TrailerInfo TrailerInfo::fromJson(QJsonObject source) { + TrailerInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TrailerInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_metadataLanguage = Jellyfin::Support::fromJsonValue(source["MetadataLanguage"]); + m_metadataCountryCode = Jellyfin::Support::fromJsonValue(source["MetadataCountryCode"]); + m_providerIds = Jellyfin::Support::fromJsonValue>(source["ProviderIds"]); + m_year = Jellyfin::Support::fromJsonValue>(source["Year"]); + m_indexNumber = Jellyfin::Support::fromJsonValue>(source["IndexNumber"]); + m_parentIndexNumber = Jellyfin::Support::fromJsonValue>(source["ParentIndexNumber"]); + m_premiereDate = Jellyfin::Support::fromJsonValue(source["PremiereDate"]); + m_isAutomated = Jellyfin::Support::fromJsonValue(source["IsAutomated"]); + +} + +QJsonObject TrailerInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["MetadataLanguage"] = Jellyfin::Support::toJsonValue(m_metadataLanguage); + result["MetadataCountryCode"] = Jellyfin::Support::toJsonValue(m_metadataCountryCode); + result["ProviderIds"] = Jellyfin::Support::toJsonValue>(m_providerIds); + result["Year"] = Jellyfin::Support::toJsonValue>(m_year); + result["IndexNumber"] = Jellyfin::Support::toJsonValue>(m_indexNumber); + result["ParentIndexNumber"] = Jellyfin::Support::toJsonValue>(m_parentIndexNumber); + result["PremiereDate"] = Jellyfin::Support::toJsonValue(m_premiereDate); + result["IsAutomated"] = Jellyfin::Support::toJsonValue(m_isAutomated); + + return result; +} + +QString TrailerInfo::name() const { return m_name; } + +void TrailerInfo::setName(QString newName) { + m_name = newName; +} +bool TrailerInfo::nameNull() const { + return m_name.isNull(); +} + +void TrailerInfo::setNameNull() { + m_name.clear(); + +} +QString TrailerInfo::path() const { return m_path; } + +void TrailerInfo::setPath(QString newPath) { + m_path = newPath; +} +bool TrailerInfo::pathNull() const { + return m_path.isNull(); +} + +void TrailerInfo::setPathNull() { + m_path.clear(); + +} +QString TrailerInfo::metadataLanguage() const { return m_metadataLanguage; } + +void TrailerInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; +} +bool TrailerInfo::metadataLanguageNull() const { + return m_metadataLanguage.isNull(); +} + +void TrailerInfo::setMetadataLanguageNull() { + m_metadataLanguage.clear(); + +} +QString TrailerInfo::metadataCountryCode() const { return m_metadataCountryCode; } + +void TrailerInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; +} +bool TrailerInfo::metadataCountryCodeNull() const { + return m_metadataCountryCode.isNull(); +} + +void TrailerInfo::setMetadataCountryCodeNull() { + m_metadataCountryCode.clear(); + +} +std::optional TrailerInfo::providerIds() const { return m_providerIds; } + +void TrailerInfo::setProviderIds(std::optional newProviderIds) { + m_providerIds = newProviderIds; +} +bool TrailerInfo::providerIdsNull() const { + return !m_providerIds.has_value(); +} + +void TrailerInfo::setProviderIdsNull() { + m_providerIds = std::nullopt; + +} +std::optional TrailerInfo::year() const { return m_year; } + +void TrailerInfo::setYear(std::optional newYear) { + m_year = newYear; +} +bool TrailerInfo::yearNull() const { + return !m_year.has_value(); +} + +void TrailerInfo::setYearNull() { + m_year = std::nullopt; + +} +std::optional TrailerInfo::indexNumber() const { return m_indexNumber; } + +void TrailerInfo::setIndexNumber(std::optional newIndexNumber) { + m_indexNumber = newIndexNumber; +} +bool TrailerInfo::indexNumberNull() const { + return !m_indexNumber.has_value(); +} + +void TrailerInfo::setIndexNumberNull() { + m_indexNumber = std::nullopt; + +} +std::optional TrailerInfo::parentIndexNumber() const { return m_parentIndexNumber; } + +void TrailerInfo::setParentIndexNumber(std::optional newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; +} +bool TrailerInfo::parentIndexNumberNull() const { + return !m_parentIndexNumber.has_value(); +} + +void TrailerInfo::setParentIndexNumberNull() { + m_parentIndexNumber = std::nullopt; + +} +QDateTime TrailerInfo::premiereDate() const { return m_premiereDate; } + +void TrailerInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; +} +bool TrailerInfo::premiereDateNull() const { + return m_premiereDate.isNull(); +} + +void TrailerInfo::setPremiereDateNull() { + m_premiereDate= QDateTime(); + +} +bool TrailerInfo::isAutomated() const { return m_isAutomated; } + +void TrailerInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; +} + + +} // NS DTO + +namespace Support { + +using TrailerInfo = Jellyfin::DTO::TrailerInfo; + +template <> +TrailerInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TrailerInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/trailerinforemotesearchquery.cpp b/core/src/dto/trailerinforemotesearchquery.cpp new file mode 100644 index 0000000..aac5f90 --- /dev/null +++ b/core/src/dto/trailerinforemotesearchquery.cpp @@ -0,0 +1,122 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery() {} + +TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery(const TrailerInfoRemoteSearchQuery &other) : + + m_searchInfo(other.m_searchInfo), + m_itemId(other.m_itemId), + m_searchProviderName(other.m_searchProviderName), + m_includeDisabledProviders(other.m_includeDisabledProviders){} + + +void TrailerInfoRemoteSearchQuery::replaceData(TrailerInfoRemoteSearchQuery &other) { + m_searchInfo = other.m_searchInfo; + m_itemId = other.m_itemId; + m_searchProviderName = other.m_searchProviderName; + m_includeDisabledProviders = other.m_includeDisabledProviders; +} + +TrailerInfoRemoteSearchQuery TrailerInfoRemoteSearchQuery::fromJson(QJsonObject source) { + TrailerInfoRemoteSearchQuery instance; + instance.setFromJson(source); + return instance; +} + + +void TrailerInfoRemoteSearchQuery::setFromJson(QJsonObject source) { + m_searchInfo = Jellyfin::Support::fromJsonValue>(source["SearchInfo"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_searchProviderName = Jellyfin::Support::fromJsonValue(source["SearchProviderName"]); + m_includeDisabledProviders = Jellyfin::Support::fromJsonValue(source["IncludeDisabledProviders"]); + +} + +QJsonObject TrailerInfoRemoteSearchQuery::toJson() { + QJsonObject result; + result["SearchInfo"] = Jellyfin::Support::toJsonValue>(m_searchInfo); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["SearchProviderName"] = Jellyfin::Support::toJsonValue(m_searchProviderName); + result["IncludeDisabledProviders"] = Jellyfin::Support::toJsonValue(m_includeDisabledProviders); + + return result; +} + +QSharedPointer TrailerInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } + +void TrailerInfoRemoteSearchQuery::setSearchInfo(QSharedPointer newSearchInfo) { + m_searchInfo = newSearchInfo; +} + +QString TrailerInfoRemoteSearchQuery::itemId() const { return m_itemId; } + +void TrailerInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; +} + +QString TrailerInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } + +void TrailerInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; +} +bool TrailerInfoRemoteSearchQuery::searchProviderNameNull() const { + return m_searchProviderName.isNull(); +} + +void TrailerInfoRemoteSearchQuery::setSearchProviderNameNull() { + m_searchProviderName.clear(); + +} +bool TrailerInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } + +void TrailerInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; +} + + +} // NS DTO + +namespace Support { + +using TrailerInfoRemoteSearchQuery = Jellyfin::DTO::TrailerInfoRemoteSearchQuery; + +template <> +TrailerInfoRemoteSearchQuery fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TrailerInfoRemoteSearchQuery::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/transcodereason.cpp b/core/src/dto/transcodereason.cpp new file mode 100644 index 0000000..6f37d5c --- /dev/null +++ b/core/src/dto/transcodereason.cpp @@ -0,0 +1,123 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TranscodeReasonClass::TranscodeReasonClass() {} + + +} // NS DTO + +namespace Support { + +using TranscodeReason = Jellyfin::DTO::TranscodeReason; + +template <> +TranscodeReason fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return TranscodeReason::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("ContainerNotSupported")) { + return TranscodeReason::ContainerNotSupported; + } + if (str == QStringLiteral("VideoCodecNotSupported")) { + return TranscodeReason::VideoCodecNotSupported; + } + if (str == QStringLiteral("AudioCodecNotSupported")) { + return TranscodeReason::AudioCodecNotSupported; + } + if (str == QStringLiteral("ContainerBitrateExceedsLimit")) { + return TranscodeReason::ContainerBitrateExceedsLimit; + } + if (str == QStringLiteral("AudioBitrateNotSupported")) { + return TranscodeReason::AudioBitrateNotSupported; + } + if (str == QStringLiteral("AudioChannelsNotSupported")) { + return TranscodeReason::AudioChannelsNotSupported; + } + if (str == QStringLiteral("VideoResolutionNotSupported")) { + return TranscodeReason::VideoResolutionNotSupported; + } + if (str == QStringLiteral("UnknownVideoStreamInfo")) { + return TranscodeReason::UnknownVideoStreamInfo; + } + if (str == QStringLiteral("UnknownAudioStreamInfo")) { + return TranscodeReason::UnknownAudioStreamInfo; + } + if (str == QStringLiteral("AudioProfileNotSupported")) { + return TranscodeReason::AudioProfileNotSupported; + } + if (str == QStringLiteral("AudioSampleRateNotSupported")) { + return TranscodeReason::AudioSampleRateNotSupported; + } + if (str == QStringLiteral("AnamorphicVideoNotSupported")) { + return TranscodeReason::AnamorphicVideoNotSupported; + } + if (str == QStringLiteral("InterlacedVideoNotSupported")) { + return TranscodeReason::InterlacedVideoNotSupported; + } + if (str == QStringLiteral("SecondaryAudioNotSupported")) { + return TranscodeReason::SecondaryAudioNotSupported; + } + if (str == QStringLiteral("RefFramesNotSupported")) { + return TranscodeReason::RefFramesNotSupported; + } + if (str == QStringLiteral("VideoBitDepthNotSupported")) { + return TranscodeReason::VideoBitDepthNotSupported; + } + if (str == QStringLiteral("VideoBitrateNotSupported")) { + return TranscodeReason::VideoBitrateNotSupported; + } + if (str == QStringLiteral("VideoFramerateNotSupported")) { + return TranscodeReason::VideoFramerateNotSupported; + } + if (str == QStringLiteral("VideoLevelNotSupported")) { + return TranscodeReason::VideoLevelNotSupported; + } + if (str == QStringLiteral("VideoProfileNotSupported")) { + return TranscodeReason::VideoProfileNotSupported; + } + if (str == QStringLiteral("AudioBitDepthNotSupported")) { + return TranscodeReason::AudioBitDepthNotSupported; + } + if (str == QStringLiteral("SubtitleCodecNotSupported")) { + return TranscodeReason::SubtitleCodecNotSupported; + } + if (str == QStringLiteral("DirectPlayError")) { + return TranscodeReason::DirectPlayError; + } + + return TranscodeReason::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/transcodeseekinfo.cpp b/core/src/dto/transcodeseekinfo.cpp new file mode 100644 index 0000000..3b3a45f --- /dev/null +++ b/core/src/dto/transcodeseekinfo.cpp @@ -0,0 +1,60 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TranscodeSeekInfoClass::TranscodeSeekInfoClass() {} + + +} // NS DTO + +namespace Support { + +using TranscodeSeekInfo = Jellyfin::DTO::TranscodeSeekInfo; + +template <> +TranscodeSeekInfo fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return TranscodeSeekInfo::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Auto")) { + return TranscodeSeekInfo::Auto; + } + if (str == QStringLiteral("Bytes")) { + return TranscodeSeekInfo::Bytes; + } + + return TranscodeSeekInfo::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/transcodinginfo.cpp b/core/src/dto/transcodinginfo.cpp new file mode 100644 index 0000000..846740c --- /dev/null +++ b/core/src/dto/transcodinginfo.cpp @@ -0,0 +1,265 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TranscodingInfo::TranscodingInfo() {} + +TranscodingInfo::TranscodingInfo(const TranscodingInfo &other) : + + m_audioCodec(other.m_audioCodec), + m_videoCodec(other.m_videoCodec), + m_container(other.m_container), + m_isVideoDirect(other.m_isVideoDirect), + m_isAudioDirect(other.m_isAudioDirect), + m_bitrate(other.m_bitrate), + m_framerate(other.m_framerate), + m_completionPercentage(other.m_completionPercentage), + m_width(other.m_width), + m_height(other.m_height), + m_audioChannels(other.m_audioChannels), + m_transcodeReasons(other.m_transcodeReasons){} + + +void TranscodingInfo::replaceData(TranscodingInfo &other) { + m_audioCodec = other.m_audioCodec; + m_videoCodec = other.m_videoCodec; + m_container = other.m_container; + m_isVideoDirect = other.m_isVideoDirect; + m_isAudioDirect = other.m_isAudioDirect; + m_bitrate = other.m_bitrate; + m_framerate = other.m_framerate; + m_completionPercentage = other.m_completionPercentage; + m_width = other.m_width; + m_height = other.m_height; + m_audioChannels = other.m_audioChannels; + m_transcodeReasons = other.m_transcodeReasons; +} + +TranscodingInfo TranscodingInfo::fromJson(QJsonObject source) { + TranscodingInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TranscodingInfo::setFromJson(QJsonObject source) { + m_audioCodec = Jellyfin::Support::fromJsonValue(source["AudioCodec"]); + m_videoCodec = Jellyfin::Support::fromJsonValue(source["VideoCodec"]); + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_isVideoDirect = Jellyfin::Support::fromJsonValue(source["IsVideoDirect"]); + m_isAudioDirect = Jellyfin::Support::fromJsonValue(source["IsAudioDirect"]); + m_bitrate = Jellyfin::Support::fromJsonValue>(source["Bitrate"]); + m_framerate = Jellyfin::Support::fromJsonValue>(source["Framerate"]); + m_completionPercentage = Jellyfin::Support::fromJsonValue>(source["CompletionPercentage"]); + m_width = Jellyfin::Support::fromJsonValue>(source["Width"]); + m_height = Jellyfin::Support::fromJsonValue>(source["Height"]); + m_audioChannels = Jellyfin::Support::fromJsonValue>(source["AudioChannels"]); + m_transcodeReasons = Jellyfin::Support::fromJsonValue>(source["TranscodeReasons"]); + +} + +QJsonObject TranscodingInfo::toJson() { + QJsonObject result; + result["AudioCodec"] = Jellyfin::Support::toJsonValue(m_audioCodec); + result["VideoCodec"] = Jellyfin::Support::toJsonValue(m_videoCodec); + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["IsVideoDirect"] = Jellyfin::Support::toJsonValue(m_isVideoDirect); + result["IsAudioDirect"] = Jellyfin::Support::toJsonValue(m_isAudioDirect); + result["Bitrate"] = Jellyfin::Support::toJsonValue>(m_bitrate); + result["Framerate"] = Jellyfin::Support::toJsonValue>(m_framerate); + result["CompletionPercentage"] = Jellyfin::Support::toJsonValue>(m_completionPercentage); + result["Width"] = Jellyfin::Support::toJsonValue>(m_width); + result["Height"] = Jellyfin::Support::toJsonValue>(m_height); + result["AudioChannels"] = Jellyfin::Support::toJsonValue>(m_audioChannels); + result["TranscodeReasons"] = Jellyfin::Support::toJsonValue>(m_transcodeReasons); + + return result; +} + +QString TranscodingInfo::audioCodec() const { return m_audioCodec; } + +void TranscodingInfo::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; +} +bool TranscodingInfo::audioCodecNull() const { + return m_audioCodec.isNull(); +} + +void TranscodingInfo::setAudioCodecNull() { + m_audioCodec.clear(); + +} +QString TranscodingInfo::videoCodec() const { return m_videoCodec; } + +void TranscodingInfo::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; +} +bool TranscodingInfo::videoCodecNull() const { + return m_videoCodec.isNull(); +} + +void TranscodingInfo::setVideoCodecNull() { + m_videoCodec.clear(); + +} +QString TranscodingInfo::container() const { return m_container; } + +void TranscodingInfo::setContainer(QString newContainer) { + m_container = newContainer; +} +bool TranscodingInfo::containerNull() const { + return m_container.isNull(); +} + +void TranscodingInfo::setContainerNull() { + m_container.clear(); + +} +bool TranscodingInfo::isVideoDirect() const { return m_isVideoDirect; } + +void TranscodingInfo::setIsVideoDirect(bool newIsVideoDirect) { + m_isVideoDirect = newIsVideoDirect; +} + +bool TranscodingInfo::isAudioDirect() const { return m_isAudioDirect; } + +void TranscodingInfo::setIsAudioDirect(bool newIsAudioDirect) { + m_isAudioDirect = newIsAudioDirect; +} + +std::optional TranscodingInfo::bitrate() const { return m_bitrate; } + +void TranscodingInfo::setBitrate(std::optional newBitrate) { + m_bitrate = newBitrate; +} +bool TranscodingInfo::bitrateNull() const { + return !m_bitrate.has_value(); +} + +void TranscodingInfo::setBitrateNull() { + m_bitrate = std::nullopt; + +} +std::optional TranscodingInfo::framerate() const { return m_framerate; } + +void TranscodingInfo::setFramerate(std::optional newFramerate) { + m_framerate = newFramerate; +} +bool TranscodingInfo::framerateNull() const { + return !m_framerate.has_value(); +} + +void TranscodingInfo::setFramerateNull() { + m_framerate = std::nullopt; + +} +std::optional TranscodingInfo::completionPercentage() const { return m_completionPercentage; } + +void TranscodingInfo::setCompletionPercentage(std::optional newCompletionPercentage) { + m_completionPercentage = newCompletionPercentage; +} +bool TranscodingInfo::completionPercentageNull() const { + return !m_completionPercentage.has_value(); +} + +void TranscodingInfo::setCompletionPercentageNull() { + m_completionPercentage = std::nullopt; + +} +std::optional TranscodingInfo::width() const { return m_width; } + +void TranscodingInfo::setWidth(std::optional newWidth) { + m_width = newWidth; +} +bool TranscodingInfo::widthNull() const { + return !m_width.has_value(); +} + +void TranscodingInfo::setWidthNull() { + m_width = std::nullopt; + +} +std::optional TranscodingInfo::height() const { return m_height; } + +void TranscodingInfo::setHeight(std::optional newHeight) { + m_height = newHeight; +} +bool TranscodingInfo::heightNull() const { + return !m_height.has_value(); +} + +void TranscodingInfo::setHeightNull() { + m_height = std::nullopt; + +} +std::optional TranscodingInfo::audioChannels() const { return m_audioChannels; } + +void TranscodingInfo::setAudioChannels(std::optional newAudioChannels) { + m_audioChannels = newAudioChannels; +} +bool TranscodingInfo::audioChannelsNull() const { + return !m_audioChannels.has_value(); +} + +void TranscodingInfo::setAudioChannelsNull() { + m_audioChannels = std::nullopt; + +} +QList TranscodingInfo::transcodeReasons() const { return m_transcodeReasons; } + +void TranscodingInfo::setTranscodeReasons(QList newTranscodeReasons) { + m_transcodeReasons = newTranscodeReasons; +} +bool TranscodingInfo::transcodeReasonsNull() const { + return m_transcodeReasons.size() == 0; +} + +void TranscodingInfo::setTranscodeReasonsNull() { + m_transcodeReasons.clear(); + +} + +} // NS DTO + +namespace Support { + +using TranscodingInfo = Jellyfin::DTO::TranscodingInfo; + +template <> +TranscodingInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TranscodingInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/transcodingprofile.cpp b/core/src/dto/transcodingprofile.cpp new file mode 100644 index 0000000..a10e5e7 --- /dev/null +++ b/core/src/dto/transcodingprofile.cpp @@ -0,0 +1,260 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TranscodingProfile::TranscodingProfile() {} + +TranscodingProfile::TranscodingProfile(const TranscodingProfile &other) : + + m_container(other.m_container), + m_type(other.m_type), + m_videoCodec(other.m_videoCodec), + m_audioCodec(other.m_audioCodec), + m_protocol(other.m_protocol), + m_estimateContentLength(other.m_estimateContentLength), + m_enableMpegtsM2TsMode(other.m_enableMpegtsM2TsMode), + m_transcodeSeekInfo(other.m_transcodeSeekInfo), + m_copyTimestamps(other.m_copyTimestamps), + m_context(other.m_context), + m_enableSubtitlesInManifest(other.m_enableSubtitlesInManifest), + m_maxAudioChannels(other.m_maxAudioChannels), + m_minSegments(other.m_minSegments), + m_segmentLength(other.m_segmentLength), + m_breakOnNonKeyFrames(other.m_breakOnNonKeyFrames){} + + +void TranscodingProfile::replaceData(TranscodingProfile &other) { + m_container = other.m_container; + m_type = other.m_type; + m_videoCodec = other.m_videoCodec; + m_audioCodec = other.m_audioCodec; + m_protocol = other.m_protocol; + m_estimateContentLength = other.m_estimateContentLength; + m_enableMpegtsM2TsMode = other.m_enableMpegtsM2TsMode; + m_transcodeSeekInfo = other.m_transcodeSeekInfo; + m_copyTimestamps = other.m_copyTimestamps; + m_context = other.m_context; + m_enableSubtitlesInManifest = other.m_enableSubtitlesInManifest; + m_maxAudioChannels = other.m_maxAudioChannels; + m_minSegments = other.m_minSegments; + m_segmentLength = other.m_segmentLength; + m_breakOnNonKeyFrames = other.m_breakOnNonKeyFrames; +} + +TranscodingProfile TranscodingProfile::fromJson(QJsonObject source) { + TranscodingProfile instance; + instance.setFromJson(source); + return instance; +} + + +void TranscodingProfile::setFromJson(QJsonObject source) { + m_container = Jellyfin::Support::fromJsonValue(source["Container"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_videoCodec = Jellyfin::Support::fromJsonValue(source["VideoCodec"]); + m_audioCodec = Jellyfin::Support::fromJsonValue(source["AudioCodec"]); + m_protocol = Jellyfin::Support::fromJsonValue(source["Protocol"]); + m_estimateContentLength = Jellyfin::Support::fromJsonValue(source["EstimateContentLength"]); + m_enableMpegtsM2TsMode = Jellyfin::Support::fromJsonValue(source["EnableMpegtsM2TsMode"]); + m_transcodeSeekInfo = Jellyfin::Support::fromJsonValue(source["TranscodeSeekInfo"]); + m_copyTimestamps = Jellyfin::Support::fromJsonValue(source["CopyTimestamps"]); + m_context = Jellyfin::Support::fromJsonValue(source["Context"]); + m_enableSubtitlesInManifest = Jellyfin::Support::fromJsonValue(source["EnableSubtitlesInManifest"]); + m_maxAudioChannels = Jellyfin::Support::fromJsonValue(source["MaxAudioChannels"]); + m_minSegments = Jellyfin::Support::fromJsonValue(source["MinSegments"]); + m_segmentLength = Jellyfin::Support::fromJsonValue(source["SegmentLength"]); + m_breakOnNonKeyFrames = Jellyfin::Support::fromJsonValue(source["BreakOnNonKeyFrames"]); + +} + +QJsonObject TranscodingProfile::toJson() { + QJsonObject result; + result["Container"] = Jellyfin::Support::toJsonValue(m_container); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["VideoCodec"] = Jellyfin::Support::toJsonValue(m_videoCodec); + result["AudioCodec"] = Jellyfin::Support::toJsonValue(m_audioCodec); + result["Protocol"] = Jellyfin::Support::toJsonValue(m_protocol); + result["EstimateContentLength"] = Jellyfin::Support::toJsonValue(m_estimateContentLength); + result["EnableMpegtsM2TsMode"] = Jellyfin::Support::toJsonValue(m_enableMpegtsM2TsMode); + result["TranscodeSeekInfo"] = Jellyfin::Support::toJsonValue(m_transcodeSeekInfo); + result["CopyTimestamps"] = Jellyfin::Support::toJsonValue(m_copyTimestamps); + result["Context"] = Jellyfin::Support::toJsonValue(m_context); + result["EnableSubtitlesInManifest"] = Jellyfin::Support::toJsonValue(m_enableSubtitlesInManifest); + result["MaxAudioChannels"] = Jellyfin::Support::toJsonValue(m_maxAudioChannels); + result["MinSegments"] = Jellyfin::Support::toJsonValue(m_minSegments); + result["SegmentLength"] = Jellyfin::Support::toJsonValue(m_segmentLength); + result["BreakOnNonKeyFrames"] = Jellyfin::Support::toJsonValue(m_breakOnNonKeyFrames); + + return result; +} + +QString TranscodingProfile::container() const { return m_container; } + +void TranscodingProfile::setContainer(QString newContainer) { + m_container = newContainer; +} +bool TranscodingProfile::containerNull() const { + return m_container.isNull(); +} + +void TranscodingProfile::setContainerNull() { + m_container.clear(); + +} +DlnaProfileType TranscodingProfile::type() const { return m_type; } + +void TranscodingProfile::setType(DlnaProfileType newType) { + m_type = newType; +} + +QString TranscodingProfile::videoCodec() const { return m_videoCodec; } + +void TranscodingProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; +} +bool TranscodingProfile::videoCodecNull() const { + return m_videoCodec.isNull(); +} + +void TranscodingProfile::setVideoCodecNull() { + m_videoCodec.clear(); + +} +QString TranscodingProfile::audioCodec() const { return m_audioCodec; } + +void TranscodingProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; +} +bool TranscodingProfile::audioCodecNull() const { + return m_audioCodec.isNull(); +} + +void TranscodingProfile::setAudioCodecNull() { + m_audioCodec.clear(); + +} +QString TranscodingProfile::protocol() const { return m_protocol; } + +void TranscodingProfile::setProtocol(QString newProtocol) { + m_protocol = newProtocol; +} +bool TranscodingProfile::protocolNull() const { + return m_protocol.isNull(); +} + +void TranscodingProfile::setProtocolNull() { + m_protocol.clear(); + +} +bool TranscodingProfile::estimateContentLength() const { return m_estimateContentLength; } + +void TranscodingProfile::setEstimateContentLength(bool newEstimateContentLength) { + m_estimateContentLength = newEstimateContentLength; +} + +bool TranscodingProfile::enableMpegtsM2TsMode() const { return m_enableMpegtsM2TsMode; } + +void TranscodingProfile::setEnableMpegtsM2TsMode(bool newEnableMpegtsM2TsMode) { + m_enableMpegtsM2TsMode = newEnableMpegtsM2TsMode; +} + +TranscodeSeekInfo TranscodingProfile::transcodeSeekInfo() const { return m_transcodeSeekInfo; } + +void TranscodingProfile::setTranscodeSeekInfo(TranscodeSeekInfo newTranscodeSeekInfo) { + m_transcodeSeekInfo = newTranscodeSeekInfo; +} + +bool TranscodingProfile::copyTimestamps() const { return m_copyTimestamps; } + +void TranscodingProfile::setCopyTimestamps(bool newCopyTimestamps) { + m_copyTimestamps = newCopyTimestamps; +} + +EncodingContext TranscodingProfile::context() const { return m_context; } + +void TranscodingProfile::setContext(EncodingContext newContext) { + m_context = newContext; +} + +bool TranscodingProfile::enableSubtitlesInManifest() const { return m_enableSubtitlesInManifest; } + +void TranscodingProfile::setEnableSubtitlesInManifest(bool newEnableSubtitlesInManifest) { + m_enableSubtitlesInManifest = newEnableSubtitlesInManifest; +} + +QString TranscodingProfile::maxAudioChannels() const { return m_maxAudioChannels; } + +void TranscodingProfile::setMaxAudioChannels(QString newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; +} +bool TranscodingProfile::maxAudioChannelsNull() const { + return m_maxAudioChannels.isNull(); +} + +void TranscodingProfile::setMaxAudioChannelsNull() { + m_maxAudioChannels.clear(); + +} +qint32 TranscodingProfile::minSegments() const { return m_minSegments; } + +void TranscodingProfile::setMinSegments(qint32 newMinSegments) { + m_minSegments = newMinSegments; +} + +qint32 TranscodingProfile::segmentLength() const { return m_segmentLength; } + +void TranscodingProfile::setSegmentLength(qint32 newSegmentLength) { + m_segmentLength = newSegmentLength; +} + +bool TranscodingProfile::breakOnNonKeyFrames() const { return m_breakOnNonKeyFrames; } + +void TranscodingProfile::setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames) { + m_breakOnNonKeyFrames = newBreakOnNonKeyFrames; +} + + +} // NS DTO + +namespace Support { + +using TranscodingProfile = Jellyfin::DTO::TranscodingProfile; + +template <> +TranscodingProfile fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TranscodingProfile::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/transportstreamtimestamp.cpp b/core/src/dto/transportstreamtimestamp.cpp new file mode 100644 index 0000000..be2b86b --- /dev/null +++ b/core/src/dto/transportstreamtimestamp.cpp @@ -0,0 +1,63 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TransportStreamTimestampClass::TransportStreamTimestampClass() {} + + +} // NS DTO + +namespace Support { + +using TransportStreamTimestamp = Jellyfin::DTO::TransportStreamTimestamp; + +template <> +TransportStreamTimestamp fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return TransportStreamTimestamp::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("None")) { + return TransportStreamTimestamp::None; + } + if (str == QStringLiteral("Zero")) { + return TransportStreamTimestamp::Zero; + } + if (str == QStringLiteral("Valid")) { + return TransportStreamTimestamp::Valid; + } + + return TransportStreamTimestamp::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/tunerchannelmapping.cpp b/core/src/dto/tunerchannelmapping.cpp new file mode 100644 index 0000000..24b1e0e --- /dev/null +++ b/core/src/dto/tunerchannelmapping.cpp @@ -0,0 +1,143 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TunerChannelMapping::TunerChannelMapping() {} + +TunerChannelMapping::TunerChannelMapping(const TunerChannelMapping &other) : + + m_name(other.m_name), + m_providerChannelName(other.m_providerChannelName), + m_providerChannelId(other.m_providerChannelId), + m_jellyfinId(other.m_jellyfinId){} + + +void TunerChannelMapping::replaceData(TunerChannelMapping &other) { + m_name = other.m_name; + m_providerChannelName = other.m_providerChannelName; + m_providerChannelId = other.m_providerChannelId; + m_jellyfinId = other.m_jellyfinId; +} + +TunerChannelMapping TunerChannelMapping::fromJson(QJsonObject source) { + TunerChannelMapping instance; + instance.setFromJson(source); + return instance; +} + + +void TunerChannelMapping::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_providerChannelName = Jellyfin::Support::fromJsonValue(source["ProviderChannelName"]); + m_providerChannelId = Jellyfin::Support::fromJsonValue(source["ProviderChannelId"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + +} + +QJsonObject TunerChannelMapping::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["ProviderChannelName"] = Jellyfin::Support::toJsonValue(m_providerChannelName); + result["ProviderChannelId"] = Jellyfin::Support::toJsonValue(m_providerChannelId); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + + return result; +} + +QString TunerChannelMapping::name() const { return m_name; } + +void TunerChannelMapping::setName(QString newName) { + m_name = newName; +} +bool TunerChannelMapping::nameNull() const { + return m_name.isNull(); +} + +void TunerChannelMapping::setNameNull() { + m_name.clear(); + +} +QString TunerChannelMapping::providerChannelName() const { return m_providerChannelName; } + +void TunerChannelMapping::setProviderChannelName(QString newProviderChannelName) { + m_providerChannelName = newProviderChannelName; +} +bool TunerChannelMapping::providerChannelNameNull() const { + return m_providerChannelName.isNull(); +} + +void TunerChannelMapping::setProviderChannelNameNull() { + m_providerChannelName.clear(); + +} +QString TunerChannelMapping::providerChannelId() const { return m_providerChannelId; } + +void TunerChannelMapping::setProviderChannelId(QString newProviderChannelId) { + m_providerChannelId = newProviderChannelId; +} +bool TunerChannelMapping::providerChannelIdNull() const { + return m_providerChannelId.isNull(); +} + +void TunerChannelMapping::setProviderChannelIdNull() { + m_providerChannelId.clear(); + +} +QString TunerChannelMapping::jellyfinId() const { return m_jellyfinId; } + +void TunerChannelMapping::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TunerChannelMapping::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TunerChannelMapping::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} + +} // NS DTO + +namespace Support { + +using TunerChannelMapping = Jellyfin::DTO::TunerChannelMapping; + +template <> +TunerChannelMapping fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TunerChannelMapping::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/tunerhostinfo.cpp b/core/src/dto/tunerhostinfo.cpp new file mode 100644 index 0000000..c39e4b5 --- /dev/null +++ b/core/src/dto/tunerhostinfo.cpp @@ -0,0 +1,234 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TunerHostInfo::TunerHostInfo() {} + +TunerHostInfo::TunerHostInfo(const TunerHostInfo &other) : + + m_jellyfinId(other.m_jellyfinId), + m_url(other.m_url), + m_type(other.m_type), + m_deviceId(other.m_deviceId), + m_friendlyName(other.m_friendlyName), + m_importFavoritesOnly(other.m_importFavoritesOnly), + m_allowHWTranscoding(other.m_allowHWTranscoding), + m_enableStreamLooping(other.m_enableStreamLooping), + m_source(other.m_source), + m_tunerCount(other.m_tunerCount), + m_userAgent(other.m_userAgent){} + + +void TunerHostInfo::replaceData(TunerHostInfo &other) { + m_jellyfinId = other.m_jellyfinId; + m_url = other.m_url; + m_type = other.m_type; + m_deviceId = other.m_deviceId; + m_friendlyName = other.m_friendlyName; + m_importFavoritesOnly = other.m_importFavoritesOnly; + m_allowHWTranscoding = other.m_allowHWTranscoding; + m_enableStreamLooping = other.m_enableStreamLooping; + m_source = other.m_source; + m_tunerCount = other.m_tunerCount; + m_userAgent = other.m_userAgent; +} + +TunerHostInfo TunerHostInfo::fromJson(QJsonObject source) { + TunerHostInfo instance; + instance.setFromJson(source); + return instance; +} + + +void TunerHostInfo::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_url = Jellyfin::Support::fromJsonValue(source["Url"]); + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_deviceId = Jellyfin::Support::fromJsonValue(source["DeviceId"]); + m_friendlyName = Jellyfin::Support::fromJsonValue(source["FriendlyName"]); + m_importFavoritesOnly = Jellyfin::Support::fromJsonValue(source["ImportFavoritesOnly"]); + m_allowHWTranscoding = Jellyfin::Support::fromJsonValue(source["AllowHWTranscoding"]); + m_enableStreamLooping = Jellyfin::Support::fromJsonValue(source["EnableStreamLooping"]); + m_source = Jellyfin::Support::fromJsonValue(source["Source"]); + m_tunerCount = Jellyfin::Support::fromJsonValue(source["TunerCount"]); + m_userAgent = Jellyfin::Support::fromJsonValue(source["UserAgent"]); + +} + +QJsonObject TunerHostInfo::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["Url"] = Jellyfin::Support::toJsonValue(m_url); + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["DeviceId"] = Jellyfin::Support::toJsonValue(m_deviceId); + result["FriendlyName"] = Jellyfin::Support::toJsonValue(m_friendlyName); + result["ImportFavoritesOnly"] = Jellyfin::Support::toJsonValue(m_importFavoritesOnly); + result["AllowHWTranscoding"] = Jellyfin::Support::toJsonValue(m_allowHWTranscoding); + result["EnableStreamLooping"] = Jellyfin::Support::toJsonValue(m_enableStreamLooping); + result["Source"] = Jellyfin::Support::toJsonValue(m_source); + result["TunerCount"] = Jellyfin::Support::toJsonValue(m_tunerCount); + result["UserAgent"] = Jellyfin::Support::toJsonValue(m_userAgent); + + return result; +} + +QString TunerHostInfo::jellyfinId() const { return m_jellyfinId; } + +void TunerHostInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} +bool TunerHostInfo::jellyfinIdNull() const { + return m_jellyfinId.isNull(); +} + +void TunerHostInfo::setJellyfinIdNull() { + m_jellyfinId.clear(); + +} +QString TunerHostInfo::url() const { return m_url; } + +void TunerHostInfo::setUrl(QString newUrl) { + m_url = newUrl; +} +bool TunerHostInfo::urlNull() const { + return m_url.isNull(); +} + +void TunerHostInfo::setUrlNull() { + m_url.clear(); + +} +QString TunerHostInfo::type() const { return m_type; } + +void TunerHostInfo::setType(QString newType) { + m_type = newType; +} +bool TunerHostInfo::typeNull() const { + return m_type.isNull(); +} + +void TunerHostInfo::setTypeNull() { + m_type.clear(); + +} +QString TunerHostInfo::deviceId() const { return m_deviceId; } + +void TunerHostInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; +} +bool TunerHostInfo::deviceIdNull() const { + return m_deviceId.isNull(); +} + +void TunerHostInfo::setDeviceIdNull() { + m_deviceId.clear(); + +} +QString TunerHostInfo::friendlyName() const { return m_friendlyName; } + +void TunerHostInfo::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; +} +bool TunerHostInfo::friendlyNameNull() const { + return m_friendlyName.isNull(); +} + +void TunerHostInfo::setFriendlyNameNull() { + m_friendlyName.clear(); + +} +bool TunerHostInfo::importFavoritesOnly() const { return m_importFavoritesOnly; } + +void TunerHostInfo::setImportFavoritesOnly(bool newImportFavoritesOnly) { + m_importFavoritesOnly = newImportFavoritesOnly; +} + +bool TunerHostInfo::allowHWTranscoding() const { return m_allowHWTranscoding; } + +void TunerHostInfo::setAllowHWTranscoding(bool newAllowHWTranscoding) { + m_allowHWTranscoding = newAllowHWTranscoding; +} + +bool TunerHostInfo::enableStreamLooping() const { return m_enableStreamLooping; } + +void TunerHostInfo::setEnableStreamLooping(bool newEnableStreamLooping) { + m_enableStreamLooping = newEnableStreamLooping; +} + +QString TunerHostInfo::source() const { return m_source; } + +void TunerHostInfo::setSource(QString newSource) { + m_source = newSource; +} +bool TunerHostInfo::sourceNull() const { + return m_source.isNull(); +} + +void TunerHostInfo::setSourceNull() { + m_source.clear(); + +} +qint32 TunerHostInfo::tunerCount() const { return m_tunerCount; } + +void TunerHostInfo::setTunerCount(qint32 newTunerCount) { + m_tunerCount = newTunerCount; +} + +QString TunerHostInfo::userAgent() const { return m_userAgent; } + +void TunerHostInfo::setUserAgent(QString newUserAgent) { + m_userAgent = newUserAgent; +} +bool TunerHostInfo::userAgentNull() const { + return m_userAgent.isNull(); +} + +void TunerHostInfo::setUserAgentNull() { + m_userAgent.clear(); + +} + +} // NS DTO + +namespace Support { + +using TunerHostInfo = Jellyfin::DTO::TunerHostInfo; + +template <> +TunerHostInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TunerHostInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/typeoptions.cpp b/core/src/dto/typeoptions.cpp new file mode 100644 index 0000000..01df1e5 --- /dev/null +++ b/core/src/dto/typeoptions.cpp @@ -0,0 +1,177 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TypeOptions::TypeOptions() {} + +TypeOptions::TypeOptions(const TypeOptions &other) : + + m_type(other.m_type), + m_metadataFetchers(other.m_metadataFetchers), + m_metadataFetcherOrder(other.m_metadataFetcherOrder), + m_imageFetchers(other.m_imageFetchers), + m_imageFetcherOrder(other.m_imageFetcherOrder), + m_imageOptions(other.m_imageOptions){} + + +void TypeOptions::replaceData(TypeOptions &other) { + m_type = other.m_type; + m_metadataFetchers = other.m_metadataFetchers; + m_metadataFetcherOrder = other.m_metadataFetcherOrder; + m_imageFetchers = other.m_imageFetchers; + m_imageFetcherOrder = other.m_imageFetcherOrder; + m_imageOptions = other.m_imageOptions; +} + +TypeOptions TypeOptions::fromJson(QJsonObject source) { + TypeOptions instance; + instance.setFromJson(source); + return instance; +} + + +void TypeOptions::setFromJson(QJsonObject source) { + m_type = Jellyfin::Support::fromJsonValue(source["Type"]); + m_metadataFetchers = Jellyfin::Support::fromJsonValue(source["MetadataFetchers"]); + m_metadataFetcherOrder = Jellyfin::Support::fromJsonValue(source["MetadataFetcherOrder"]); + m_imageFetchers = Jellyfin::Support::fromJsonValue(source["ImageFetchers"]); + m_imageFetcherOrder = Jellyfin::Support::fromJsonValue(source["ImageFetcherOrder"]); + m_imageOptions = Jellyfin::Support::fromJsonValue>>(source["ImageOptions"]); + +} + +QJsonObject TypeOptions::toJson() { + QJsonObject result; + result["Type"] = Jellyfin::Support::toJsonValue(m_type); + result["MetadataFetchers"] = Jellyfin::Support::toJsonValue(m_metadataFetchers); + result["MetadataFetcherOrder"] = Jellyfin::Support::toJsonValue(m_metadataFetcherOrder); + result["ImageFetchers"] = Jellyfin::Support::toJsonValue(m_imageFetchers); + result["ImageFetcherOrder"] = Jellyfin::Support::toJsonValue(m_imageFetcherOrder); + result["ImageOptions"] = Jellyfin::Support::toJsonValue>>(m_imageOptions); + + return result; +} + +QString TypeOptions::type() const { return m_type; } + +void TypeOptions::setType(QString newType) { + m_type = newType; +} +bool TypeOptions::typeNull() const { + return m_type.isNull(); +} + +void TypeOptions::setTypeNull() { + m_type.clear(); + +} +QStringList TypeOptions::metadataFetchers() const { return m_metadataFetchers; } + +void TypeOptions::setMetadataFetchers(QStringList newMetadataFetchers) { + m_metadataFetchers = newMetadataFetchers; +} +bool TypeOptions::metadataFetchersNull() const { + return m_metadataFetchers.size() == 0; +} + +void TypeOptions::setMetadataFetchersNull() { + m_metadataFetchers.clear(); + +} +QStringList TypeOptions::metadataFetcherOrder() const { return m_metadataFetcherOrder; } + +void TypeOptions::setMetadataFetcherOrder(QStringList newMetadataFetcherOrder) { + m_metadataFetcherOrder = newMetadataFetcherOrder; +} +bool TypeOptions::metadataFetcherOrderNull() const { + return m_metadataFetcherOrder.size() == 0; +} + +void TypeOptions::setMetadataFetcherOrderNull() { + m_metadataFetcherOrder.clear(); + +} +QStringList TypeOptions::imageFetchers() const { return m_imageFetchers; } + +void TypeOptions::setImageFetchers(QStringList newImageFetchers) { + m_imageFetchers = newImageFetchers; +} +bool TypeOptions::imageFetchersNull() const { + return m_imageFetchers.size() == 0; +} + +void TypeOptions::setImageFetchersNull() { + m_imageFetchers.clear(); + +} +QStringList TypeOptions::imageFetcherOrder() const { return m_imageFetcherOrder; } + +void TypeOptions::setImageFetcherOrder(QStringList newImageFetcherOrder) { + m_imageFetcherOrder = newImageFetcherOrder; +} +bool TypeOptions::imageFetcherOrderNull() const { + return m_imageFetcherOrder.size() == 0; +} + +void TypeOptions::setImageFetcherOrderNull() { + m_imageFetcherOrder.clear(); + +} +QList> TypeOptions::imageOptions() const { return m_imageOptions; } + +void TypeOptions::setImageOptions(QList> newImageOptions) { + m_imageOptions = newImageOptions; +} +bool TypeOptions::imageOptionsNull() const { + return m_imageOptions.size() == 0; +} + +void TypeOptions::setImageOptionsNull() { + m_imageOptions.clear(); + +} + +} // NS DTO + +namespace Support { + +using TypeOptions = Jellyfin::DTO::TypeOptions; + +template <> +TypeOptions fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return TypeOptions::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/unrateditem.cpp b/core/src/dto/unrateditem.cpp new file mode 100644 index 0000000..5d11b7f --- /dev/null +++ b/core/src/dto/unrateditem.cpp @@ -0,0 +1,81 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UnratedItemClass::UnratedItemClass() {} + + +} // NS DTO + +namespace Support { + +using UnratedItem = Jellyfin::DTO::UnratedItem; + +template <> +UnratedItem fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return UnratedItem::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("Movie")) { + return UnratedItem::Movie; + } + if (str == QStringLiteral("Trailer")) { + return UnratedItem::Trailer; + } + if (str == QStringLiteral("Series")) { + return UnratedItem::Series; + } + if (str == QStringLiteral("Music")) { + return UnratedItem::Music; + } + if (str == QStringLiteral("Book")) { + return UnratedItem::Book; + } + if (str == QStringLiteral("LiveTvChannel")) { + return UnratedItem::LiveTvChannel; + } + if (str == QStringLiteral("LiveTvProgram")) { + return UnratedItem::LiveTvProgram; + } + if (str == QStringLiteral("ChannelContent")) { + return UnratedItem::ChannelContent; + } + if (str == QStringLiteral("Other")) { + return UnratedItem::Other; + } + + return UnratedItem::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/updatelibraryoptionsdto.cpp b/core/src/dto/updatelibraryoptionsdto.cpp new file mode 100644 index 0000000..fbf0bf8 --- /dev/null +++ b/core/src/dto/updatelibraryoptionsdto.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateLibraryOptionsDto::UpdateLibraryOptionsDto() {} + +UpdateLibraryOptionsDto::UpdateLibraryOptionsDto(const UpdateLibraryOptionsDto &other) : + + m_jellyfinId(other.m_jellyfinId), + m_libraryOptions(other.m_libraryOptions){} + + +void UpdateLibraryOptionsDto::replaceData(UpdateLibraryOptionsDto &other) { + m_jellyfinId = other.m_jellyfinId; + m_libraryOptions = other.m_libraryOptions; +} + +UpdateLibraryOptionsDto UpdateLibraryOptionsDto::fromJson(QJsonObject source) { + UpdateLibraryOptionsDto instance; + instance.setFromJson(source); + return instance; +} + + +void UpdateLibraryOptionsDto::setFromJson(QJsonObject source) { + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_libraryOptions = Jellyfin::Support::fromJsonValue>(source["LibraryOptions"]); + +} + +QJsonObject UpdateLibraryOptionsDto::toJson() { + QJsonObject result; + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["LibraryOptions"] = Jellyfin::Support::toJsonValue>(m_libraryOptions); + + return result; +} + +QString UpdateLibraryOptionsDto::jellyfinId() const { return m_jellyfinId; } + +void UpdateLibraryOptionsDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QSharedPointer UpdateLibraryOptionsDto::libraryOptions() const { return m_libraryOptions; } + +void UpdateLibraryOptionsDto::setLibraryOptions(QSharedPointer newLibraryOptions) { + m_libraryOptions = newLibraryOptions; +} + + +} // NS DTO + +namespace Support { + +using UpdateLibraryOptionsDto = Jellyfin::DTO::UpdateLibraryOptionsDto; + +template <> +UpdateLibraryOptionsDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UpdateLibraryOptionsDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/updateusereasypassword.cpp b/core/src/dto/updateusereasypassword.cpp new file mode 100644 index 0000000..56859df --- /dev/null +++ b/core/src/dto/updateusereasypassword.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateUserEasyPassword::UpdateUserEasyPassword() {} + +UpdateUserEasyPassword::UpdateUserEasyPassword(const UpdateUserEasyPassword &other) : + + m_newPassword(other.m_newPassword), + m_newPw(other.m_newPw), + m_resetPassword(other.m_resetPassword){} + + +void UpdateUserEasyPassword::replaceData(UpdateUserEasyPassword &other) { + m_newPassword = other.m_newPassword; + m_newPw = other.m_newPw; + m_resetPassword = other.m_resetPassword; +} + +UpdateUserEasyPassword UpdateUserEasyPassword::fromJson(QJsonObject source) { + UpdateUserEasyPassword instance; + instance.setFromJson(source); + return instance; +} + + +void UpdateUserEasyPassword::setFromJson(QJsonObject source) { + m_newPassword = Jellyfin::Support::fromJsonValue(source["NewPassword"]); + m_newPw = Jellyfin::Support::fromJsonValue(source["NewPw"]); + m_resetPassword = Jellyfin::Support::fromJsonValue(source["ResetPassword"]); + +} + +QJsonObject UpdateUserEasyPassword::toJson() { + QJsonObject result; + result["NewPassword"] = Jellyfin::Support::toJsonValue(m_newPassword); + result["NewPw"] = Jellyfin::Support::toJsonValue(m_newPw); + result["ResetPassword"] = Jellyfin::Support::toJsonValue(m_resetPassword); + + return result; +} + +QString UpdateUserEasyPassword::newPassword() const { return m_newPassword; } + +void UpdateUserEasyPassword::setNewPassword(QString newNewPassword) { + m_newPassword = newNewPassword; +} +bool UpdateUserEasyPassword::newPasswordNull() const { + return m_newPassword.isNull(); +} + +void UpdateUserEasyPassword::setNewPasswordNull() { + m_newPassword.clear(); + +} +QString UpdateUserEasyPassword::newPw() const { return m_newPw; } + +void UpdateUserEasyPassword::setNewPw(QString newNewPw) { + m_newPw = newNewPw; +} +bool UpdateUserEasyPassword::newPwNull() const { + return m_newPw.isNull(); +} + +void UpdateUserEasyPassword::setNewPwNull() { + m_newPw.clear(); + +} +bool UpdateUserEasyPassword::resetPassword() const { return m_resetPassword; } + +void UpdateUserEasyPassword::setResetPassword(bool newResetPassword) { + m_resetPassword = newResetPassword; +} + + +} // NS DTO + +namespace Support { + +using UpdateUserEasyPassword = Jellyfin::DTO::UpdateUserEasyPassword; + +template <> +UpdateUserEasyPassword fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UpdateUserEasyPassword::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/updateuserpassword.cpp b/core/src/dto/updateuserpassword.cpp new file mode 100644 index 0000000..dcc7681 --- /dev/null +++ b/core/src/dto/updateuserpassword.cpp @@ -0,0 +1,136 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateUserPassword::UpdateUserPassword() {} + +UpdateUserPassword::UpdateUserPassword(const UpdateUserPassword &other) : + + m_currentPassword(other.m_currentPassword), + m_currentPw(other.m_currentPw), + m_newPw(other.m_newPw), + m_resetPassword(other.m_resetPassword){} + + +void UpdateUserPassword::replaceData(UpdateUserPassword &other) { + m_currentPassword = other.m_currentPassword; + m_currentPw = other.m_currentPw; + m_newPw = other.m_newPw; + m_resetPassword = other.m_resetPassword; +} + +UpdateUserPassword UpdateUserPassword::fromJson(QJsonObject source) { + UpdateUserPassword instance; + instance.setFromJson(source); + return instance; +} + + +void UpdateUserPassword::setFromJson(QJsonObject source) { + m_currentPassword = Jellyfin::Support::fromJsonValue(source["CurrentPassword"]); + m_currentPw = Jellyfin::Support::fromJsonValue(source["CurrentPw"]); + m_newPw = Jellyfin::Support::fromJsonValue(source["NewPw"]); + m_resetPassword = Jellyfin::Support::fromJsonValue(source["ResetPassword"]); + +} + +QJsonObject UpdateUserPassword::toJson() { + QJsonObject result; + result["CurrentPassword"] = Jellyfin::Support::toJsonValue(m_currentPassword); + result["CurrentPw"] = Jellyfin::Support::toJsonValue(m_currentPw); + result["NewPw"] = Jellyfin::Support::toJsonValue(m_newPw); + result["ResetPassword"] = Jellyfin::Support::toJsonValue(m_resetPassword); + + return result; +} + +QString UpdateUserPassword::currentPassword() const { return m_currentPassword; } + +void UpdateUserPassword::setCurrentPassword(QString newCurrentPassword) { + m_currentPassword = newCurrentPassword; +} +bool UpdateUserPassword::currentPasswordNull() const { + return m_currentPassword.isNull(); +} + +void UpdateUserPassword::setCurrentPasswordNull() { + m_currentPassword.clear(); + +} +QString UpdateUserPassword::currentPw() const { return m_currentPw; } + +void UpdateUserPassword::setCurrentPw(QString newCurrentPw) { + m_currentPw = newCurrentPw; +} +bool UpdateUserPassword::currentPwNull() const { + return m_currentPw.isNull(); +} + +void UpdateUserPassword::setCurrentPwNull() { + m_currentPw.clear(); + +} +QString UpdateUserPassword::newPw() const { return m_newPw; } + +void UpdateUserPassword::setNewPw(QString newNewPw) { + m_newPw = newNewPw; +} +bool UpdateUserPassword::newPwNull() const { + return m_newPw.isNull(); +} + +void UpdateUserPassword::setNewPwNull() { + m_newPw.clear(); + +} +bool UpdateUserPassword::resetPassword() const { return m_resetPassword; } + +void UpdateUserPassword::setResetPassword(bool newResetPassword) { + m_resetPassword = newResetPassword; +} + + +} // NS DTO + +namespace Support { + +using UpdateUserPassword = Jellyfin::DTO::UpdateUserPassword; + +template <> +UpdateUserPassword fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UpdateUserPassword::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/uploadsubtitledto.cpp b/core/src/dto/uploadsubtitledto.cpp new file mode 100644 index 0000000..abd9d1b --- /dev/null +++ b/core/src/dto/uploadsubtitledto.cpp @@ -0,0 +1,115 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UploadSubtitleDto::UploadSubtitleDto() {} + +UploadSubtitleDto::UploadSubtitleDto(const UploadSubtitleDto &other) : + + m_language(other.m_language), + m_format(other.m_format), + m_isForced(other.m_isForced), + m_data(other.m_data){} + + +void UploadSubtitleDto::replaceData(UploadSubtitleDto &other) { + m_language = other.m_language; + m_format = other.m_format; + m_isForced = other.m_isForced; + m_data = other.m_data; +} + +UploadSubtitleDto UploadSubtitleDto::fromJson(QJsonObject source) { + UploadSubtitleDto instance; + instance.setFromJson(source); + return instance; +} + + +void UploadSubtitleDto::setFromJson(QJsonObject source) { + m_language = Jellyfin::Support::fromJsonValue(source["Language"]); + m_format = Jellyfin::Support::fromJsonValue(source["Format"]); + m_isForced = Jellyfin::Support::fromJsonValue(source["IsForced"]); + m_data = Jellyfin::Support::fromJsonValue(source["Data"]); + +} + +QJsonObject UploadSubtitleDto::toJson() { + QJsonObject result; + result["Language"] = Jellyfin::Support::toJsonValue(m_language); + result["Format"] = Jellyfin::Support::toJsonValue(m_format); + result["IsForced"] = Jellyfin::Support::toJsonValue(m_isForced); + result["Data"] = Jellyfin::Support::toJsonValue(m_data); + + return result; +} + +QString UploadSubtitleDto::language() const { return m_language; } + +void UploadSubtitleDto::setLanguage(QString newLanguage) { + m_language = newLanguage; +} + +QString UploadSubtitleDto::format() const { return m_format; } + +void UploadSubtitleDto::setFormat(QString newFormat) { + m_format = newFormat; +} + +bool UploadSubtitleDto::isForced() const { return m_isForced; } + +void UploadSubtitleDto::setIsForced(bool newIsForced) { + m_isForced = newIsForced; +} + +QString UploadSubtitleDto::data() const { return m_data; } + +void UploadSubtitleDto::setData(QString newData) { + m_data = newData; +} + + +} // NS DTO + +namespace Support { + +using UploadSubtitleDto = Jellyfin::DTO::UploadSubtitleDto; + +template <> +UploadSubtitleDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UploadSubtitleDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/userconfiguration.cpp b/core/src/dto/userconfiguration.cpp new file mode 100644 index 0000000..504e4fc --- /dev/null +++ b/core/src/dto/userconfiguration.cpp @@ -0,0 +1,267 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UserConfiguration::UserConfiguration() {} + +UserConfiguration::UserConfiguration(const UserConfiguration &other) : + + m_audioLanguagePreference(other.m_audioLanguagePreference), + m_playDefaultAudioTrack(other.m_playDefaultAudioTrack), + m_subtitleLanguagePreference(other.m_subtitleLanguagePreference), + m_displayMissingEpisodes(other.m_displayMissingEpisodes), + m_groupedFolders(other.m_groupedFolders), + m_subtitleMode(other.m_subtitleMode), + m_displayCollectionsView(other.m_displayCollectionsView), + m_enableLocalPassword(other.m_enableLocalPassword), + m_orderedViews(other.m_orderedViews), + m_latestItemsExcludes(other.m_latestItemsExcludes), + m_myMediaExcludes(other.m_myMediaExcludes), + m_hidePlayedInLatest(other.m_hidePlayedInLatest), + m_rememberAudioSelections(other.m_rememberAudioSelections), + m_rememberSubtitleSelections(other.m_rememberSubtitleSelections), + m_enableNextEpisodeAutoPlay(other.m_enableNextEpisodeAutoPlay){} + + +void UserConfiguration::replaceData(UserConfiguration &other) { + m_audioLanguagePreference = other.m_audioLanguagePreference; + m_playDefaultAudioTrack = other.m_playDefaultAudioTrack; + m_subtitleLanguagePreference = other.m_subtitleLanguagePreference; + m_displayMissingEpisodes = other.m_displayMissingEpisodes; + m_groupedFolders = other.m_groupedFolders; + m_subtitleMode = other.m_subtitleMode; + m_displayCollectionsView = other.m_displayCollectionsView; + m_enableLocalPassword = other.m_enableLocalPassword; + m_orderedViews = other.m_orderedViews; + m_latestItemsExcludes = other.m_latestItemsExcludes; + m_myMediaExcludes = other.m_myMediaExcludes; + m_hidePlayedInLatest = other.m_hidePlayedInLatest; + m_rememberAudioSelections = other.m_rememberAudioSelections; + m_rememberSubtitleSelections = other.m_rememberSubtitleSelections; + m_enableNextEpisodeAutoPlay = other.m_enableNextEpisodeAutoPlay; +} + +UserConfiguration UserConfiguration::fromJson(QJsonObject source) { + UserConfiguration instance; + instance.setFromJson(source); + return instance; +} + + +void UserConfiguration::setFromJson(QJsonObject source) { + m_audioLanguagePreference = Jellyfin::Support::fromJsonValue(source["AudioLanguagePreference"]); + m_playDefaultAudioTrack = Jellyfin::Support::fromJsonValue(source["PlayDefaultAudioTrack"]); + m_subtitleLanguagePreference = Jellyfin::Support::fromJsonValue(source["SubtitleLanguagePreference"]); + m_displayMissingEpisodes = Jellyfin::Support::fromJsonValue(source["DisplayMissingEpisodes"]); + m_groupedFolders = Jellyfin::Support::fromJsonValue(source["GroupedFolders"]); + m_subtitleMode = Jellyfin::Support::fromJsonValue(source["SubtitleMode"]); + m_displayCollectionsView = Jellyfin::Support::fromJsonValue(source["DisplayCollectionsView"]); + m_enableLocalPassword = Jellyfin::Support::fromJsonValue(source["EnableLocalPassword"]); + m_orderedViews = Jellyfin::Support::fromJsonValue(source["OrderedViews"]); + m_latestItemsExcludes = Jellyfin::Support::fromJsonValue(source["LatestItemsExcludes"]); + m_myMediaExcludes = Jellyfin::Support::fromJsonValue(source["MyMediaExcludes"]); + m_hidePlayedInLatest = Jellyfin::Support::fromJsonValue(source["HidePlayedInLatest"]); + m_rememberAudioSelections = Jellyfin::Support::fromJsonValue(source["RememberAudioSelections"]); + m_rememberSubtitleSelections = Jellyfin::Support::fromJsonValue(source["RememberSubtitleSelections"]); + m_enableNextEpisodeAutoPlay = Jellyfin::Support::fromJsonValue(source["EnableNextEpisodeAutoPlay"]); + +} + +QJsonObject UserConfiguration::toJson() { + QJsonObject result; + result["AudioLanguagePreference"] = Jellyfin::Support::toJsonValue(m_audioLanguagePreference); + result["PlayDefaultAudioTrack"] = Jellyfin::Support::toJsonValue(m_playDefaultAudioTrack); + result["SubtitleLanguagePreference"] = Jellyfin::Support::toJsonValue(m_subtitleLanguagePreference); + result["DisplayMissingEpisodes"] = Jellyfin::Support::toJsonValue(m_displayMissingEpisodes); + result["GroupedFolders"] = Jellyfin::Support::toJsonValue(m_groupedFolders); + result["SubtitleMode"] = Jellyfin::Support::toJsonValue(m_subtitleMode); + result["DisplayCollectionsView"] = Jellyfin::Support::toJsonValue(m_displayCollectionsView); + result["EnableLocalPassword"] = Jellyfin::Support::toJsonValue(m_enableLocalPassword); + result["OrderedViews"] = Jellyfin::Support::toJsonValue(m_orderedViews); + result["LatestItemsExcludes"] = Jellyfin::Support::toJsonValue(m_latestItemsExcludes); + result["MyMediaExcludes"] = Jellyfin::Support::toJsonValue(m_myMediaExcludes); + result["HidePlayedInLatest"] = Jellyfin::Support::toJsonValue(m_hidePlayedInLatest); + result["RememberAudioSelections"] = Jellyfin::Support::toJsonValue(m_rememberAudioSelections); + result["RememberSubtitleSelections"] = Jellyfin::Support::toJsonValue(m_rememberSubtitleSelections); + result["EnableNextEpisodeAutoPlay"] = Jellyfin::Support::toJsonValue(m_enableNextEpisodeAutoPlay); + + return result; +} + +QString UserConfiguration::audioLanguagePreference() const { return m_audioLanguagePreference; } + +void UserConfiguration::setAudioLanguagePreference(QString newAudioLanguagePreference) { + m_audioLanguagePreference = newAudioLanguagePreference; +} +bool UserConfiguration::audioLanguagePreferenceNull() const { + return m_audioLanguagePreference.isNull(); +} + +void UserConfiguration::setAudioLanguagePreferenceNull() { + m_audioLanguagePreference.clear(); + +} +bool UserConfiguration::playDefaultAudioTrack() const { return m_playDefaultAudioTrack; } + +void UserConfiguration::setPlayDefaultAudioTrack(bool newPlayDefaultAudioTrack) { + m_playDefaultAudioTrack = newPlayDefaultAudioTrack; +} + +QString UserConfiguration::subtitleLanguagePreference() const { return m_subtitleLanguagePreference; } + +void UserConfiguration::setSubtitleLanguagePreference(QString newSubtitleLanguagePreference) { + m_subtitleLanguagePreference = newSubtitleLanguagePreference; +} +bool UserConfiguration::subtitleLanguagePreferenceNull() const { + return m_subtitleLanguagePreference.isNull(); +} + +void UserConfiguration::setSubtitleLanguagePreferenceNull() { + m_subtitleLanguagePreference.clear(); + +} +bool UserConfiguration::displayMissingEpisodes() const { return m_displayMissingEpisodes; } + +void UserConfiguration::setDisplayMissingEpisodes(bool newDisplayMissingEpisodes) { + m_displayMissingEpisodes = newDisplayMissingEpisodes; +} + +QStringList UserConfiguration::groupedFolders() const { return m_groupedFolders; } + +void UserConfiguration::setGroupedFolders(QStringList newGroupedFolders) { + m_groupedFolders = newGroupedFolders; +} +bool UserConfiguration::groupedFoldersNull() const { + return m_groupedFolders.size() == 0; +} + +void UserConfiguration::setGroupedFoldersNull() { + m_groupedFolders.clear(); + +} +SubtitlePlaybackMode UserConfiguration::subtitleMode() const { return m_subtitleMode; } + +void UserConfiguration::setSubtitleMode(SubtitlePlaybackMode newSubtitleMode) { + m_subtitleMode = newSubtitleMode; +} + +bool UserConfiguration::displayCollectionsView() const { return m_displayCollectionsView; } + +void UserConfiguration::setDisplayCollectionsView(bool newDisplayCollectionsView) { + m_displayCollectionsView = newDisplayCollectionsView; +} + +bool UserConfiguration::enableLocalPassword() const { return m_enableLocalPassword; } + +void UserConfiguration::setEnableLocalPassword(bool newEnableLocalPassword) { + m_enableLocalPassword = newEnableLocalPassword; +} + +QStringList UserConfiguration::orderedViews() const { return m_orderedViews; } + +void UserConfiguration::setOrderedViews(QStringList newOrderedViews) { + m_orderedViews = newOrderedViews; +} +bool UserConfiguration::orderedViewsNull() const { + return m_orderedViews.size() == 0; +} + +void UserConfiguration::setOrderedViewsNull() { + m_orderedViews.clear(); + +} +QStringList UserConfiguration::latestItemsExcludes() const { return m_latestItemsExcludes; } + +void UserConfiguration::setLatestItemsExcludes(QStringList newLatestItemsExcludes) { + m_latestItemsExcludes = newLatestItemsExcludes; +} +bool UserConfiguration::latestItemsExcludesNull() const { + return m_latestItemsExcludes.size() == 0; +} + +void UserConfiguration::setLatestItemsExcludesNull() { + m_latestItemsExcludes.clear(); + +} +QStringList UserConfiguration::myMediaExcludes() const { return m_myMediaExcludes; } + +void UserConfiguration::setMyMediaExcludes(QStringList newMyMediaExcludes) { + m_myMediaExcludes = newMyMediaExcludes; +} +bool UserConfiguration::myMediaExcludesNull() const { + return m_myMediaExcludes.size() == 0; +} + +void UserConfiguration::setMyMediaExcludesNull() { + m_myMediaExcludes.clear(); + +} +bool UserConfiguration::hidePlayedInLatest() const { return m_hidePlayedInLatest; } + +void UserConfiguration::setHidePlayedInLatest(bool newHidePlayedInLatest) { + m_hidePlayedInLatest = newHidePlayedInLatest; +} + +bool UserConfiguration::rememberAudioSelections() const { return m_rememberAudioSelections; } + +void UserConfiguration::setRememberAudioSelections(bool newRememberAudioSelections) { + m_rememberAudioSelections = newRememberAudioSelections; +} + +bool UserConfiguration::rememberSubtitleSelections() const { return m_rememberSubtitleSelections; } + +void UserConfiguration::setRememberSubtitleSelections(bool newRememberSubtitleSelections) { + m_rememberSubtitleSelections = newRememberSubtitleSelections; +} + +bool UserConfiguration::enableNextEpisodeAutoPlay() const { return m_enableNextEpisodeAutoPlay; } + +void UserConfiguration::setEnableNextEpisodeAutoPlay(bool newEnableNextEpisodeAutoPlay) { + m_enableNextEpisodeAutoPlay = newEnableNextEpisodeAutoPlay; +} + + +} // NS DTO + +namespace Support { + +using UserConfiguration = Jellyfin::DTO::UserConfiguration; + +template <> +UserConfiguration fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UserConfiguration::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/userdto.cpp b/core/src/dto/userdto.cpp new file mode 100644 index 0000000..dcf706b --- /dev/null +++ b/core/src/dto/userdto.cpp @@ -0,0 +1,271 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UserDto::UserDto() {} + +UserDto::UserDto(const UserDto &other) : + + m_name(other.m_name), + m_serverId(other.m_serverId), + m_serverName(other.m_serverName), + m_jellyfinId(other.m_jellyfinId), + m_primaryImageTag(other.m_primaryImageTag), + m_hasPassword(other.m_hasPassword), + m_hasConfiguredPassword(other.m_hasConfiguredPassword), + m_hasConfiguredEasyPassword(other.m_hasConfiguredEasyPassword), + m_enableAutoLogin(other.m_enableAutoLogin), + m_lastLoginDate(other.m_lastLoginDate), + m_lastActivityDate(other.m_lastActivityDate), + m_configuration(other.m_configuration), + m_policy(other.m_policy), + m_primaryImageAspectRatio(other.m_primaryImageAspectRatio){} + + +void UserDto::replaceData(UserDto &other) { + m_name = other.m_name; + m_serverId = other.m_serverId; + m_serverName = other.m_serverName; + m_jellyfinId = other.m_jellyfinId; + m_primaryImageTag = other.m_primaryImageTag; + m_hasPassword = other.m_hasPassword; + m_hasConfiguredPassword = other.m_hasConfiguredPassword; + m_hasConfiguredEasyPassword = other.m_hasConfiguredEasyPassword; + m_enableAutoLogin = other.m_enableAutoLogin; + m_lastLoginDate = other.m_lastLoginDate; + m_lastActivityDate = other.m_lastActivityDate; + m_configuration = other.m_configuration; + m_policy = other.m_policy; + m_primaryImageAspectRatio = other.m_primaryImageAspectRatio; +} + +UserDto UserDto::fromJson(QJsonObject source) { + UserDto instance; + instance.setFromJson(source); + return instance; +} + + +void UserDto::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_serverId = Jellyfin::Support::fromJsonValue(source["ServerId"]); + m_serverName = Jellyfin::Support::fromJsonValue(source["ServerName"]); + m_jellyfinId = Jellyfin::Support::fromJsonValue(source["Id"]); + m_primaryImageTag = Jellyfin::Support::fromJsonValue(source["PrimaryImageTag"]); + m_hasPassword = Jellyfin::Support::fromJsonValue(source["HasPassword"]); + m_hasConfiguredPassword = Jellyfin::Support::fromJsonValue(source["HasConfiguredPassword"]); + m_hasConfiguredEasyPassword = Jellyfin::Support::fromJsonValue(source["HasConfiguredEasyPassword"]); + m_enableAutoLogin = Jellyfin::Support::fromJsonValue>(source["EnableAutoLogin"]); + m_lastLoginDate = Jellyfin::Support::fromJsonValue(source["LastLoginDate"]); + m_lastActivityDate = Jellyfin::Support::fromJsonValue(source["LastActivityDate"]); + m_configuration = Jellyfin::Support::fromJsonValue>(source["Configuration"]); + m_policy = Jellyfin::Support::fromJsonValue>(source["Policy"]); + m_primaryImageAspectRatio = Jellyfin::Support::fromJsonValue>(source["PrimaryImageAspectRatio"]); + +} + +QJsonObject UserDto::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["ServerId"] = Jellyfin::Support::toJsonValue(m_serverId); + result["ServerName"] = Jellyfin::Support::toJsonValue(m_serverName); + result["Id"] = Jellyfin::Support::toJsonValue(m_jellyfinId); + result["PrimaryImageTag"] = Jellyfin::Support::toJsonValue(m_primaryImageTag); + result["HasPassword"] = Jellyfin::Support::toJsonValue(m_hasPassword); + result["HasConfiguredPassword"] = Jellyfin::Support::toJsonValue(m_hasConfiguredPassword); + result["HasConfiguredEasyPassword"] = Jellyfin::Support::toJsonValue(m_hasConfiguredEasyPassword); + result["EnableAutoLogin"] = Jellyfin::Support::toJsonValue>(m_enableAutoLogin); + result["LastLoginDate"] = Jellyfin::Support::toJsonValue(m_lastLoginDate); + result["LastActivityDate"] = Jellyfin::Support::toJsonValue(m_lastActivityDate); + result["Configuration"] = Jellyfin::Support::toJsonValue>(m_configuration); + result["Policy"] = Jellyfin::Support::toJsonValue>(m_policy); + result["PrimaryImageAspectRatio"] = Jellyfin::Support::toJsonValue>(m_primaryImageAspectRatio); + + return result; +} + +QString UserDto::name() const { return m_name; } + +void UserDto::setName(QString newName) { + m_name = newName; +} +bool UserDto::nameNull() const { + return m_name.isNull(); +} + +void UserDto::setNameNull() { + m_name.clear(); + +} +QString UserDto::serverId() const { return m_serverId; } + +void UserDto::setServerId(QString newServerId) { + m_serverId = newServerId; +} +bool UserDto::serverIdNull() const { + return m_serverId.isNull(); +} + +void UserDto::setServerIdNull() { + m_serverId.clear(); + +} +QString UserDto::serverName() const { return m_serverName; } + +void UserDto::setServerName(QString newServerName) { + m_serverName = newServerName; +} +bool UserDto::serverNameNull() const { + return m_serverName.isNull(); +} + +void UserDto::setServerNameNull() { + m_serverName.clear(); + +} +QString UserDto::jellyfinId() const { return m_jellyfinId; } + +void UserDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; +} + +QString UserDto::primaryImageTag() const { return m_primaryImageTag; } + +void UserDto::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; +} +bool UserDto::primaryImageTagNull() const { + return m_primaryImageTag.isNull(); +} + +void UserDto::setPrimaryImageTagNull() { + m_primaryImageTag.clear(); + +} +bool UserDto::hasPassword() const { return m_hasPassword; } + +void UserDto::setHasPassword(bool newHasPassword) { + m_hasPassword = newHasPassword; +} + +bool UserDto::hasConfiguredPassword() const { return m_hasConfiguredPassword; } + +void UserDto::setHasConfiguredPassword(bool newHasConfiguredPassword) { + m_hasConfiguredPassword = newHasConfiguredPassword; +} + +bool UserDto::hasConfiguredEasyPassword() const { return m_hasConfiguredEasyPassword; } + +void UserDto::setHasConfiguredEasyPassword(bool newHasConfiguredEasyPassword) { + m_hasConfiguredEasyPassword = newHasConfiguredEasyPassword; +} + +std::optional UserDto::enableAutoLogin() const { return m_enableAutoLogin; } + +void UserDto::setEnableAutoLogin(std::optional newEnableAutoLogin) { + m_enableAutoLogin = newEnableAutoLogin; +} +bool UserDto::enableAutoLoginNull() const { + return !m_enableAutoLogin.has_value(); +} + +void UserDto::setEnableAutoLoginNull() { + m_enableAutoLogin = std::nullopt; + +} +QDateTime UserDto::lastLoginDate() const { return m_lastLoginDate; } + +void UserDto::setLastLoginDate(QDateTime newLastLoginDate) { + m_lastLoginDate = newLastLoginDate; +} +bool UserDto::lastLoginDateNull() const { + return m_lastLoginDate.isNull(); +} + +void UserDto::setLastLoginDateNull() { + m_lastLoginDate= QDateTime(); + +} +QDateTime UserDto::lastActivityDate() const { return m_lastActivityDate; } + +void UserDto::setLastActivityDate(QDateTime newLastActivityDate) { + m_lastActivityDate = newLastActivityDate; +} +bool UserDto::lastActivityDateNull() const { + return m_lastActivityDate.isNull(); +} + +void UserDto::setLastActivityDateNull() { + m_lastActivityDate= QDateTime(); + +} +QSharedPointer UserDto::configuration() const { return m_configuration; } + +void UserDto::setConfiguration(QSharedPointer newConfiguration) { + m_configuration = newConfiguration; +} + +QSharedPointer UserDto::policy() const { return m_policy; } + +void UserDto::setPolicy(QSharedPointer newPolicy) { + m_policy = newPolicy; +} + +std::optional UserDto::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } + +void UserDto::setPrimaryImageAspectRatio(std::optional newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; +} +bool UserDto::primaryImageAspectRatioNull() const { + return !m_primaryImageAspectRatio.has_value(); +} + +void UserDto::setPrimaryImageAspectRatioNull() { + m_primaryImageAspectRatio = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using UserDto = Jellyfin::DTO::UserDto; + +template <> +UserDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UserDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/useritemdatadto.cpp b/core/src/dto/useritemdatadto.cpp new file mode 100644 index 0000000..d0269a0 --- /dev/null +++ b/core/src/dto/useritemdatadto.cpp @@ -0,0 +1,234 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UserItemDataDto::UserItemDataDto() {} + +UserItemDataDto::UserItemDataDto(const UserItemDataDto &other) : + + m_rating(other.m_rating), + m_playedPercentage(other.m_playedPercentage), + m_unplayedItemCount(other.m_unplayedItemCount), + m_playbackPositionTicks(other.m_playbackPositionTicks), + m_playCount(other.m_playCount), + m_isFavorite(other.m_isFavorite), + m_likes(other.m_likes), + m_lastPlayedDate(other.m_lastPlayedDate), + m_played(other.m_played), + m_key(other.m_key), + m_itemId(other.m_itemId){} + + +void UserItemDataDto::replaceData(UserItemDataDto &other) { + m_rating = other.m_rating; + m_playedPercentage = other.m_playedPercentage; + m_unplayedItemCount = other.m_unplayedItemCount; + m_playbackPositionTicks = other.m_playbackPositionTicks; + m_playCount = other.m_playCount; + m_isFavorite = other.m_isFavorite; + m_likes = other.m_likes; + m_lastPlayedDate = other.m_lastPlayedDate; + m_played = other.m_played; + m_key = other.m_key; + m_itemId = other.m_itemId; +} + +UserItemDataDto UserItemDataDto::fromJson(QJsonObject source) { + UserItemDataDto instance; + instance.setFromJson(source); + return instance; +} + + +void UserItemDataDto::setFromJson(QJsonObject source) { + m_rating = Jellyfin::Support::fromJsonValue>(source["Rating"]); + m_playedPercentage = Jellyfin::Support::fromJsonValue>(source["PlayedPercentage"]); + m_unplayedItemCount = Jellyfin::Support::fromJsonValue>(source["UnplayedItemCount"]); + m_playbackPositionTicks = Jellyfin::Support::fromJsonValue(source["PlaybackPositionTicks"]); + m_playCount = Jellyfin::Support::fromJsonValue(source["PlayCount"]); + m_isFavorite = Jellyfin::Support::fromJsonValue(source["IsFavorite"]); + m_likes = Jellyfin::Support::fromJsonValue>(source["Likes"]); + m_lastPlayedDate = Jellyfin::Support::fromJsonValue(source["LastPlayedDate"]); + m_played = Jellyfin::Support::fromJsonValue(source["Played"]); + m_key = Jellyfin::Support::fromJsonValue(source["Key"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + +} + +QJsonObject UserItemDataDto::toJson() { + QJsonObject result; + result["Rating"] = Jellyfin::Support::toJsonValue>(m_rating); + result["PlayedPercentage"] = Jellyfin::Support::toJsonValue>(m_playedPercentage); + result["UnplayedItemCount"] = Jellyfin::Support::toJsonValue>(m_unplayedItemCount); + result["PlaybackPositionTicks"] = Jellyfin::Support::toJsonValue(m_playbackPositionTicks); + result["PlayCount"] = Jellyfin::Support::toJsonValue(m_playCount); + result["IsFavorite"] = Jellyfin::Support::toJsonValue(m_isFavorite); + result["Likes"] = Jellyfin::Support::toJsonValue>(m_likes); + result["LastPlayedDate"] = Jellyfin::Support::toJsonValue(m_lastPlayedDate); + result["Played"] = Jellyfin::Support::toJsonValue(m_played); + result["Key"] = Jellyfin::Support::toJsonValue(m_key); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + + return result; +} + +std::optional UserItemDataDto::rating() const { return m_rating; } + +void UserItemDataDto::setRating(std::optional newRating) { + m_rating = newRating; +} +bool UserItemDataDto::ratingNull() const { + return !m_rating.has_value(); +} + +void UserItemDataDto::setRatingNull() { + m_rating = std::nullopt; + +} +std::optional UserItemDataDto::playedPercentage() const { return m_playedPercentage; } + +void UserItemDataDto::setPlayedPercentage(std::optional newPlayedPercentage) { + m_playedPercentage = newPlayedPercentage; +} +bool UserItemDataDto::playedPercentageNull() const { + return !m_playedPercentage.has_value(); +} + +void UserItemDataDto::setPlayedPercentageNull() { + m_playedPercentage = std::nullopt; + +} +std::optional UserItemDataDto::unplayedItemCount() const { return m_unplayedItemCount; } + +void UserItemDataDto::setUnplayedItemCount(std::optional newUnplayedItemCount) { + m_unplayedItemCount = newUnplayedItemCount; +} +bool UserItemDataDto::unplayedItemCountNull() const { + return !m_unplayedItemCount.has_value(); +} + +void UserItemDataDto::setUnplayedItemCountNull() { + m_unplayedItemCount = std::nullopt; + +} +qint64 UserItemDataDto::playbackPositionTicks() const { return m_playbackPositionTicks; } + +void UserItemDataDto::setPlaybackPositionTicks(qint64 newPlaybackPositionTicks) { + m_playbackPositionTicks = newPlaybackPositionTicks; +} + +qint32 UserItemDataDto::playCount() const { return m_playCount; } + +void UserItemDataDto::setPlayCount(qint32 newPlayCount) { + m_playCount = newPlayCount; +} + +bool UserItemDataDto::isFavorite() const { return m_isFavorite; } + +void UserItemDataDto::setIsFavorite(bool newIsFavorite) { + m_isFavorite = newIsFavorite; +} + +std::optional UserItemDataDto::likes() const { return m_likes; } + +void UserItemDataDto::setLikes(std::optional newLikes) { + m_likes = newLikes; +} +bool UserItemDataDto::likesNull() const { + return !m_likes.has_value(); +} + +void UserItemDataDto::setLikesNull() { + m_likes = std::nullopt; + +} +QDateTime UserItemDataDto::lastPlayedDate() const { return m_lastPlayedDate; } + +void UserItemDataDto::setLastPlayedDate(QDateTime newLastPlayedDate) { + m_lastPlayedDate = newLastPlayedDate; +} +bool UserItemDataDto::lastPlayedDateNull() const { + return m_lastPlayedDate.isNull(); +} + +void UserItemDataDto::setLastPlayedDateNull() { + m_lastPlayedDate= QDateTime(); + +} +bool UserItemDataDto::played() const { return m_played; } + +void UserItemDataDto::setPlayed(bool newPlayed) { + m_played = newPlayed; +} + +QString UserItemDataDto::key() const { return m_key; } + +void UserItemDataDto::setKey(QString newKey) { + m_key = newKey; +} +bool UserItemDataDto::keyNull() const { + return m_key.isNull(); +} + +void UserItemDataDto::setKeyNull() { + m_key.clear(); + +} +QString UserItemDataDto::itemId() const { return m_itemId; } + +void UserItemDataDto::setItemId(QString newItemId) { + m_itemId = newItemId; +} +bool UserItemDataDto::itemIdNull() const { + return m_itemId.isNull(); +} + +void UserItemDataDto::setItemIdNull() { + m_itemId.clear(); + +} + +} // NS DTO + +namespace Support { + +using UserItemDataDto = Jellyfin::DTO::UserItemDataDto; + +template <> +UserItemDataDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UserItemDataDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/userpolicy.cpp b/core/src/dto/userpolicy.cpp new file mode 100644 index 0000000..2ff38dc --- /dev/null +++ b/core/src/dto/userpolicy.cpp @@ -0,0 +1,549 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UserPolicy::UserPolicy() {} + +UserPolicy::UserPolicy(const UserPolicy &other) : + + m_isAdministrator(other.m_isAdministrator), + m_isHidden(other.m_isHidden), + m_isDisabled(other.m_isDisabled), + m_maxParentalRating(other.m_maxParentalRating), + m_blockedTags(other.m_blockedTags), + m_enableUserPreferenceAccess(other.m_enableUserPreferenceAccess), + m_accessSchedules(other.m_accessSchedules), + m_blockUnratedItems(other.m_blockUnratedItems), + m_enableRemoteControlOfOtherUsers(other.m_enableRemoteControlOfOtherUsers), + m_enableSharedDeviceControl(other.m_enableSharedDeviceControl), + m_enableRemoteAccess(other.m_enableRemoteAccess), + m_enableLiveTvManagement(other.m_enableLiveTvManagement), + m_enableLiveTvAccess(other.m_enableLiveTvAccess), + m_enableMediaPlayback(other.m_enableMediaPlayback), + m_enableAudioPlaybackTranscoding(other.m_enableAudioPlaybackTranscoding), + m_enableVideoPlaybackTranscoding(other.m_enableVideoPlaybackTranscoding), + m_enablePlaybackRemuxing(other.m_enablePlaybackRemuxing), + m_forceRemoteSourceTranscoding(other.m_forceRemoteSourceTranscoding), + m_enableContentDeletion(other.m_enableContentDeletion), + m_enableContentDeletionFromFolders(other.m_enableContentDeletionFromFolders), + m_enableContentDownloading(other.m_enableContentDownloading), + m_enableSyncTranscoding(other.m_enableSyncTranscoding), + m_enableMediaConversion(other.m_enableMediaConversion), + m_enabledDevices(other.m_enabledDevices), + m_enableAllDevices(other.m_enableAllDevices), + m_enabledChannels(other.m_enabledChannels), + m_enableAllChannels(other.m_enableAllChannels), + m_enabledFolders(other.m_enabledFolders), + m_enableAllFolders(other.m_enableAllFolders), + m_invalidLoginAttemptCount(other.m_invalidLoginAttemptCount), + m_loginAttemptsBeforeLockout(other.m_loginAttemptsBeforeLockout), + m_maxActiveSessions(other.m_maxActiveSessions), + m_enablePublicSharing(other.m_enablePublicSharing), + m_blockedMediaFolders(other.m_blockedMediaFolders), + m_blockedChannels(other.m_blockedChannels), + m_remoteClientBitrateLimit(other.m_remoteClientBitrateLimit), + m_authenticationProviderId(other.m_authenticationProviderId), + m_passwordResetProviderId(other.m_passwordResetProviderId), + m_syncPlayAccess(other.m_syncPlayAccess){} + + +void UserPolicy::replaceData(UserPolicy &other) { + m_isAdministrator = other.m_isAdministrator; + m_isHidden = other.m_isHidden; + m_isDisabled = other.m_isDisabled; + m_maxParentalRating = other.m_maxParentalRating; + m_blockedTags = other.m_blockedTags; + m_enableUserPreferenceAccess = other.m_enableUserPreferenceAccess; + m_accessSchedules = other.m_accessSchedules; + m_blockUnratedItems = other.m_blockUnratedItems; + m_enableRemoteControlOfOtherUsers = other.m_enableRemoteControlOfOtherUsers; + m_enableSharedDeviceControl = other.m_enableSharedDeviceControl; + m_enableRemoteAccess = other.m_enableRemoteAccess; + m_enableLiveTvManagement = other.m_enableLiveTvManagement; + m_enableLiveTvAccess = other.m_enableLiveTvAccess; + m_enableMediaPlayback = other.m_enableMediaPlayback; + m_enableAudioPlaybackTranscoding = other.m_enableAudioPlaybackTranscoding; + m_enableVideoPlaybackTranscoding = other.m_enableVideoPlaybackTranscoding; + m_enablePlaybackRemuxing = other.m_enablePlaybackRemuxing; + m_forceRemoteSourceTranscoding = other.m_forceRemoteSourceTranscoding; + m_enableContentDeletion = other.m_enableContentDeletion; + m_enableContentDeletionFromFolders = other.m_enableContentDeletionFromFolders; + m_enableContentDownloading = other.m_enableContentDownloading; + m_enableSyncTranscoding = other.m_enableSyncTranscoding; + m_enableMediaConversion = other.m_enableMediaConversion; + m_enabledDevices = other.m_enabledDevices; + m_enableAllDevices = other.m_enableAllDevices; + m_enabledChannels = other.m_enabledChannels; + m_enableAllChannels = other.m_enableAllChannels; + m_enabledFolders = other.m_enabledFolders; + m_enableAllFolders = other.m_enableAllFolders; + m_invalidLoginAttemptCount = other.m_invalidLoginAttemptCount; + m_loginAttemptsBeforeLockout = other.m_loginAttemptsBeforeLockout; + m_maxActiveSessions = other.m_maxActiveSessions; + m_enablePublicSharing = other.m_enablePublicSharing; + m_blockedMediaFolders = other.m_blockedMediaFolders; + m_blockedChannels = other.m_blockedChannels; + m_remoteClientBitrateLimit = other.m_remoteClientBitrateLimit; + m_authenticationProviderId = other.m_authenticationProviderId; + m_passwordResetProviderId = other.m_passwordResetProviderId; + m_syncPlayAccess = other.m_syncPlayAccess; +} + +UserPolicy UserPolicy::fromJson(QJsonObject source) { + UserPolicy instance; + instance.setFromJson(source); + return instance; +} + + +void UserPolicy::setFromJson(QJsonObject source) { + m_isAdministrator = Jellyfin::Support::fromJsonValue(source["IsAdministrator"]); + m_isHidden = Jellyfin::Support::fromJsonValue(source["IsHidden"]); + m_isDisabled = Jellyfin::Support::fromJsonValue(source["IsDisabled"]); + m_maxParentalRating = Jellyfin::Support::fromJsonValue>(source["MaxParentalRating"]); + m_blockedTags = Jellyfin::Support::fromJsonValue(source["BlockedTags"]); + m_enableUserPreferenceAccess = Jellyfin::Support::fromJsonValue(source["EnableUserPreferenceAccess"]); + m_accessSchedules = Jellyfin::Support::fromJsonValue>>(source["AccessSchedules"]); + m_blockUnratedItems = Jellyfin::Support::fromJsonValue>(source["BlockUnratedItems"]); + m_enableRemoteControlOfOtherUsers = Jellyfin::Support::fromJsonValue(source["EnableRemoteControlOfOtherUsers"]); + m_enableSharedDeviceControl = Jellyfin::Support::fromJsonValue(source["EnableSharedDeviceControl"]); + m_enableRemoteAccess = Jellyfin::Support::fromJsonValue(source["EnableRemoteAccess"]); + m_enableLiveTvManagement = Jellyfin::Support::fromJsonValue(source["EnableLiveTvManagement"]); + m_enableLiveTvAccess = Jellyfin::Support::fromJsonValue(source["EnableLiveTvAccess"]); + m_enableMediaPlayback = Jellyfin::Support::fromJsonValue(source["EnableMediaPlayback"]); + m_enableAudioPlaybackTranscoding = Jellyfin::Support::fromJsonValue(source["EnableAudioPlaybackTranscoding"]); + m_enableVideoPlaybackTranscoding = Jellyfin::Support::fromJsonValue(source["EnableVideoPlaybackTranscoding"]); + m_enablePlaybackRemuxing = Jellyfin::Support::fromJsonValue(source["EnablePlaybackRemuxing"]); + m_forceRemoteSourceTranscoding = Jellyfin::Support::fromJsonValue(source["ForceRemoteSourceTranscoding"]); + m_enableContentDeletion = Jellyfin::Support::fromJsonValue(source["EnableContentDeletion"]); + m_enableContentDeletionFromFolders = Jellyfin::Support::fromJsonValue(source["EnableContentDeletionFromFolders"]); + m_enableContentDownloading = Jellyfin::Support::fromJsonValue(source["EnableContentDownloading"]); + m_enableSyncTranscoding = Jellyfin::Support::fromJsonValue(source["EnableSyncTranscoding"]); + m_enableMediaConversion = Jellyfin::Support::fromJsonValue(source["EnableMediaConversion"]); + m_enabledDevices = Jellyfin::Support::fromJsonValue(source["EnabledDevices"]); + m_enableAllDevices = Jellyfin::Support::fromJsonValue(source["EnableAllDevices"]); + m_enabledChannels = Jellyfin::Support::fromJsonValue(source["EnabledChannels"]); + m_enableAllChannels = Jellyfin::Support::fromJsonValue(source["EnableAllChannels"]); + m_enabledFolders = Jellyfin::Support::fromJsonValue(source["EnabledFolders"]); + m_enableAllFolders = Jellyfin::Support::fromJsonValue(source["EnableAllFolders"]); + m_invalidLoginAttemptCount = Jellyfin::Support::fromJsonValue(source["InvalidLoginAttemptCount"]); + m_loginAttemptsBeforeLockout = Jellyfin::Support::fromJsonValue(source["LoginAttemptsBeforeLockout"]); + m_maxActiveSessions = Jellyfin::Support::fromJsonValue(source["MaxActiveSessions"]); + m_enablePublicSharing = Jellyfin::Support::fromJsonValue(source["EnablePublicSharing"]); + m_blockedMediaFolders = Jellyfin::Support::fromJsonValue(source["BlockedMediaFolders"]); + m_blockedChannels = Jellyfin::Support::fromJsonValue(source["BlockedChannels"]); + m_remoteClientBitrateLimit = Jellyfin::Support::fromJsonValue(source["RemoteClientBitrateLimit"]); + m_authenticationProviderId = Jellyfin::Support::fromJsonValue(source["AuthenticationProviderId"]); + m_passwordResetProviderId = Jellyfin::Support::fromJsonValue(source["PasswordResetProviderId"]); + m_syncPlayAccess = Jellyfin::Support::fromJsonValue(source["SyncPlayAccess"]); + +} + +QJsonObject UserPolicy::toJson() { + QJsonObject result; + result["IsAdministrator"] = Jellyfin::Support::toJsonValue(m_isAdministrator); + result["IsHidden"] = Jellyfin::Support::toJsonValue(m_isHidden); + result["IsDisabled"] = Jellyfin::Support::toJsonValue(m_isDisabled); + result["MaxParentalRating"] = Jellyfin::Support::toJsonValue>(m_maxParentalRating); + result["BlockedTags"] = Jellyfin::Support::toJsonValue(m_blockedTags); + result["EnableUserPreferenceAccess"] = Jellyfin::Support::toJsonValue(m_enableUserPreferenceAccess); + result["AccessSchedules"] = Jellyfin::Support::toJsonValue>>(m_accessSchedules); + result["BlockUnratedItems"] = Jellyfin::Support::toJsonValue>(m_blockUnratedItems); + result["EnableRemoteControlOfOtherUsers"] = Jellyfin::Support::toJsonValue(m_enableRemoteControlOfOtherUsers); + result["EnableSharedDeviceControl"] = Jellyfin::Support::toJsonValue(m_enableSharedDeviceControl); + result["EnableRemoteAccess"] = Jellyfin::Support::toJsonValue(m_enableRemoteAccess); + result["EnableLiveTvManagement"] = Jellyfin::Support::toJsonValue(m_enableLiveTvManagement); + result["EnableLiveTvAccess"] = Jellyfin::Support::toJsonValue(m_enableLiveTvAccess); + result["EnableMediaPlayback"] = Jellyfin::Support::toJsonValue(m_enableMediaPlayback); + result["EnableAudioPlaybackTranscoding"] = Jellyfin::Support::toJsonValue(m_enableAudioPlaybackTranscoding); + result["EnableVideoPlaybackTranscoding"] = Jellyfin::Support::toJsonValue(m_enableVideoPlaybackTranscoding); + result["EnablePlaybackRemuxing"] = Jellyfin::Support::toJsonValue(m_enablePlaybackRemuxing); + result["ForceRemoteSourceTranscoding"] = Jellyfin::Support::toJsonValue(m_forceRemoteSourceTranscoding); + result["EnableContentDeletion"] = Jellyfin::Support::toJsonValue(m_enableContentDeletion); + result["EnableContentDeletionFromFolders"] = Jellyfin::Support::toJsonValue(m_enableContentDeletionFromFolders); + result["EnableContentDownloading"] = Jellyfin::Support::toJsonValue(m_enableContentDownloading); + result["EnableSyncTranscoding"] = Jellyfin::Support::toJsonValue(m_enableSyncTranscoding); + result["EnableMediaConversion"] = Jellyfin::Support::toJsonValue(m_enableMediaConversion); + result["EnabledDevices"] = Jellyfin::Support::toJsonValue(m_enabledDevices); + result["EnableAllDevices"] = Jellyfin::Support::toJsonValue(m_enableAllDevices); + result["EnabledChannels"] = Jellyfin::Support::toJsonValue(m_enabledChannels); + result["EnableAllChannels"] = Jellyfin::Support::toJsonValue(m_enableAllChannels); + result["EnabledFolders"] = Jellyfin::Support::toJsonValue(m_enabledFolders); + result["EnableAllFolders"] = Jellyfin::Support::toJsonValue(m_enableAllFolders); + result["InvalidLoginAttemptCount"] = Jellyfin::Support::toJsonValue(m_invalidLoginAttemptCount); + result["LoginAttemptsBeforeLockout"] = Jellyfin::Support::toJsonValue(m_loginAttemptsBeforeLockout); + result["MaxActiveSessions"] = Jellyfin::Support::toJsonValue(m_maxActiveSessions); + result["EnablePublicSharing"] = Jellyfin::Support::toJsonValue(m_enablePublicSharing); + result["BlockedMediaFolders"] = Jellyfin::Support::toJsonValue(m_blockedMediaFolders); + result["BlockedChannels"] = Jellyfin::Support::toJsonValue(m_blockedChannels); + result["RemoteClientBitrateLimit"] = Jellyfin::Support::toJsonValue(m_remoteClientBitrateLimit); + result["AuthenticationProviderId"] = Jellyfin::Support::toJsonValue(m_authenticationProviderId); + result["PasswordResetProviderId"] = Jellyfin::Support::toJsonValue(m_passwordResetProviderId); + result["SyncPlayAccess"] = Jellyfin::Support::toJsonValue(m_syncPlayAccess); + + return result; +} + +bool UserPolicy::isAdministrator() const { return m_isAdministrator; } + +void UserPolicy::setIsAdministrator(bool newIsAdministrator) { + m_isAdministrator = newIsAdministrator; +} + +bool UserPolicy::isHidden() const { return m_isHidden; } + +void UserPolicy::setIsHidden(bool newIsHidden) { + m_isHidden = newIsHidden; +} + +bool UserPolicy::isDisabled() const { return m_isDisabled; } + +void UserPolicy::setIsDisabled(bool newIsDisabled) { + m_isDisabled = newIsDisabled; +} + +std::optional UserPolicy::maxParentalRating() const { return m_maxParentalRating; } + +void UserPolicy::setMaxParentalRating(std::optional newMaxParentalRating) { + m_maxParentalRating = newMaxParentalRating; +} +bool UserPolicy::maxParentalRatingNull() const { + return !m_maxParentalRating.has_value(); +} + +void UserPolicy::setMaxParentalRatingNull() { + m_maxParentalRating = std::nullopt; + +} +QStringList UserPolicy::blockedTags() const { return m_blockedTags; } + +void UserPolicy::setBlockedTags(QStringList newBlockedTags) { + m_blockedTags = newBlockedTags; +} +bool UserPolicy::blockedTagsNull() const { + return m_blockedTags.size() == 0; +} + +void UserPolicy::setBlockedTagsNull() { + m_blockedTags.clear(); + +} +bool UserPolicy::enableUserPreferenceAccess() const { return m_enableUserPreferenceAccess; } + +void UserPolicy::setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess) { + m_enableUserPreferenceAccess = newEnableUserPreferenceAccess; +} + +QList> UserPolicy::accessSchedules() const { return m_accessSchedules; } + +void UserPolicy::setAccessSchedules(QList> newAccessSchedules) { + m_accessSchedules = newAccessSchedules; +} +bool UserPolicy::accessSchedulesNull() const { + return m_accessSchedules.size() == 0; +} + +void UserPolicy::setAccessSchedulesNull() { + m_accessSchedules.clear(); + +} +QList UserPolicy::blockUnratedItems() const { return m_blockUnratedItems; } + +void UserPolicy::setBlockUnratedItems(QList newBlockUnratedItems) { + m_blockUnratedItems = newBlockUnratedItems; +} +bool UserPolicy::blockUnratedItemsNull() const { + return m_blockUnratedItems.size() == 0; +} + +void UserPolicy::setBlockUnratedItemsNull() { + m_blockUnratedItems.clear(); + +} +bool UserPolicy::enableRemoteControlOfOtherUsers() const { return m_enableRemoteControlOfOtherUsers; } + +void UserPolicy::setEnableRemoteControlOfOtherUsers(bool newEnableRemoteControlOfOtherUsers) { + m_enableRemoteControlOfOtherUsers = newEnableRemoteControlOfOtherUsers; +} + +bool UserPolicy::enableSharedDeviceControl() const { return m_enableSharedDeviceControl; } + +void UserPolicy::setEnableSharedDeviceControl(bool newEnableSharedDeviceControl) { + m_enableSharedDeviceControl = newEnableSharedDeviceControl; +} + +bool UserPolicy::enableRemoteAccess() const { return m_enableRemoteAccess; } + +void UserPolicy::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; +} + +bool UserPolicy::enableLiveTvManagement() const { return m_enableLiveTvManagement; } + +void UserPolicy::setEnableLiveTvManagement(bool newEnableLiveTvManagement) { + m_enableLiveTvManagement = newEnableLiveTvManagement; +} + +bool UserPolicy::enableLiveTvAccess() const { return m_enableLiveTvAccess; } + +void UserPolicy::setEnableLiveTvAccess(bool newEnableLiveTvAccess) { + m_enableLiveTvAccess = newEnableLiveTvAccess; +} + +bool UserPolicy::enableMediaPlayback() const { return m_enableMediaPlayback; } + +void UserPolicy::setEnableMediaPlayback(bool newEnableMediaPlayback) { + m_enableMediaPlayback = newEnableMediaPlayback; +} + +bool UserPolicy::enableAudioPlaybackTranscoding() const { return m_enableAudioPlaybackTranscoding; } + +void UserPolicy::setEnableAudioPlaybackTranscoding(bool newEnableAudioPlaybackTranscoding) { + m_enableAudioPlaybackTranscoding = newEnableAudioPlaybackTranscoding; +} + +bool UserPolicy::enableVideoPlaybackTranscoding() const { return m_enableVideoPlaybackTranscoding; } + +void UserPolicy::setEnableVideoPlaybackTranscoding(bool newEnableVideoPlaybackTranscoding) { + m_enableVideoPlaybackTranscoding = newEnableVideoPlaybackTranscoding; +} + +bool UserPolicy::enablePlaybackRemuxing() const { return m_enablePlaybackRemuxing; } + +void UserPolicy::setEnablePlaybackRemuxing(bool newEnablePlaybackRemuxing) { + m_enablePlaybackRemuxing = newEnablePlaybackRemuxing; +} + +bool UserPolicy::forceRemoteSourceTranscoding() const { return m_forceRemoteSourceTranscoding; } + +void UserPolicy::setForceRemoteSourceTranscoding(bool newForceRemoteSourceTranscoding) { + m_forceRemoteSourceTranscoding = newForceRemoteSourceTranscoding; +} + +bool UserPolicy::enableContentDeletion() const { return m_enableContentDeletion; } + +void UserPolicy::setEnableContentDeletion(bool newEnableContentDeletion) { + m_enableContentDeletion = newEnableContentDeletion; +} + +QStringList UserPolicy::enableContentDeletionFromFolders() const { return m_enableContentDeletionFromFolders; } + +void UserPolicy::setEnableContentDeletionFromFolders(QStringList newEnableContentDeletionFromFolders) { + m_enableContentDeletionFromFolders = newEnableContentDeletionFromFolders; +} +bool UserPolicy::enableContentDeletionFromFoldersNull() const { + return m_enableContentDeletionFromFolders.size() == 0; +} + +void UserPolicy::setEnableContentDeletionFromFoldersNull() { + m_enableContentDeletionFromFolders.clear(); + +} +bool UserPolicy::enableContentDownloading() const { return m_enableContentDownloading; } + +void UserPolicy::setEnableContentDownloading(bool newEnableContentDownloading) { + m_enableContentDownloading = newEnableContentDownloading; +} + +bool UserPolicy::enableSyncTranscoding() const { return m_enableSyncTranscoding; } + +void UserPolicy::setEnableSyncTranscoding(bool newEnableSyncTranscoding) { + m_enableSyncTranscoding = newEnableSyncTranscoding; +} + +bool UserPolicy::enableMediaConversion() const { return m_enableMediaConversion; } + +void UserPolicy::setEnableMediaConversion(bool newEnableMediaConversion) { + m_enableMediaConversion = newEnableMediaConversion; +} + +QStringList UserPolicy::enabledDevices() const { return m_enabledDevices; } + +void UserPolicy::setEnabledDevices(QStringList newEnabledDevices) { + m_enabledDevices = newEnabledDevices; +} +bool UserPolicy::enabledDevicesNull() const { + return m_enabledDevices.size() == 0; +} + +void UserPolicy::setEnabledDevicesNull() { + m_enabledDevices.clear(); + +} +bool UserPolicy::enableAllDevices() const { return m_enableAllDevices; } + +void UserPolicy::setEnableAllDevices(bool newEnableAllDevices) { + m_enableAllDevices = newEnableAllDevices; +} + +QStringList UserPolicy::enabledChannels() const { return m_enabledChannels; } + +void UserPolicy::setEnabledChannels(QStringList newEnabledChannels) { + m_enabledChannels = newEnabledChannels; +} +bool UserPolicy::enabledChannelsNull() const { + return m_enabledChannels.size() == 0; +} + +void UserPolicy::setEnabledChannelsNull() { + m_enabledChannels.clear(); + +} +bool UserPolicy::enableAllChannels() const { return m_enableAllChannels; } + +void UserPolicy::setEnableAllChannels(bool newEnableAllChannels) { + m_enableAllChannels = newEnableAllChannels; +} + +QStringList UserPolicy::enabledFolders() const { return m_enabledFolders; } + +void UserPolicy::setEnabledFolders(QStringList newEnabledFolders) { + m_enabledFolders = newEnabledFolders; +} +bool UserPolicy::enabledFoldersNull() const { + return m_enabledFolders.size() == 0; +} + +void UserPolicy::setEnabledFoldersNull() { + m_enabledFolders.clear(); + +} +bool UserPolicy::enableAllFolders() const { return m_enableAllFolders; } + +void UserPolicy::setEnableAllFolders(bool newEnableAllFolders) { + m_enableAllFolders = newEnableAllFolders; +} + +qint32 UserPolicy::invalidLoginAttemptCount() const { return m_invalidLoginAttemptCount; } + +void UserPolicy::setInvalidLoginAttemptCount(qint32 newInvalidLoginAttemptCount) { + m_invalidLoginAttemptCount = newInvalidLoginAttemptCount; +} + +qint32 UserPolicy::loginAttemptsBeforeLockout() const { return m_loginAttemptsBeforeLockout; } + +void UserPolicy::setLoginAttemptsBeforeLockout(qint32 newLoginAttemptsBeforeLockout) { + m_loginAttemptsBeforeLockout = newLoginAttemptsBeforeLockout; +} + +qint32 UserPolicy::maxActiveSessions() const { return m_maxActiveSessions; } + +void UserPolicy::setMaxActiveSessions(qint32 newMaxActiveSessions) { + m_maxActiveSessions = newMaxActiveSessions; +} + +bool UserPolicy::enablePublicSharing() const { return m_enablePublicSharing; } + +void UserPolicy::setEnablePublicSharing(bool newEnablePublicSharing) { + m_enablePublicSharing = newEnablePublicSharing; +} + +QStringList UserPolicy::blockedMediaFolders() const { return m_blockedMediaFolders; } + +void UserPolicy::setBlockedMediaFolders(QStringList newBlockedMediaFolders) { + m_blockedMediaFolders = newBlockedMediaFolders; +} +bool UserPolicy::blockedMediaFoldersNull() const { + return m_blockedMediaFolders.size() == 0; +} + +void UserPolicy::setBlockedMediaFoldersNull() { + m_blockedMediaFolders.clear(); + +} +QStringList UserPolicy::blockedChannels() const { return m_blockedChannels; } + +void UserPolicy::setBlockedChannels(QStringList newBlockedChannels) { + m_blockedChannels = newBlockedChannels; +} +bool UserPolicy::blockedChannelsNull() const { + return m_blockedChannels.size() == 0; +} + +void UserPolicy::setBlockedChannelsNull() { + m_blockedChannels.clear(); + +} +qint32 UserPolicy::remoteClientBitrateLimit() const { return m_remoteClientBitrateLimit; } + +void UserPolicy::setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit) { + m_remoteClientBitrateLimit = newRemoteClientBitrateLimit; +} + +QString UserPolicy::authenticationProviderId() const { return m_authenticationProviderId; } + +void UserPolicy::setAuthenticationProviderId(QString newAuthenticationProviderId) { + m_authenticationProviderId = newAuthenticationProviderId; +} +bool UserPolicy::authenticationProviderIdNull() const { + return m_authenticationProviderId.isNull(); +} + +void UserPolicy::setAuthenticationProviderIdNull() { + m_authenticationProviderId.clear(); + +} +QString UserPolicy::passwordResetProviderId() const { return m_passwordResetProviderId; } + +void UserPolicy::setPasswordResetProviderId(QString newPasswordResetProviderId) { + m_passwordResetProviderId = newPasswordResetProviderId; +} +bool UserPolicy::passwordResetProviderIdNull() const { + return m_passwordResetProviderId.isNull(); +} + +void UserPolicy::setPasswordResetProviderIdNull() { + m_passwordResetProviderId.clear(); + +} +SyncPlayUserAccessType UserPolicy::syncPlayAccess() const { return m_syncPlayAccess; } + +void UserPolicy::setSyncPlayAccess(SyncPlayUserAccessType newSyncPlayAccess) { + m_syncPlayAccess = newSyncPlayAccess; +} + + +} // NS DTO + +namespace Support { + +using UserPolicy = Jellyfin::DTO::UserPolicy; + +template <> +UserPolicy fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UserPolicy::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/utctimeresponse.cpp b/core/src/dto/utctimeresponse.cpp new file mode 100644 index 0000000..0864d2f --- /dev/null +++ b/core/src/dto/utctimeresponse.cpp @@ -0,0 +1,95 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UtcTimeResponse::UtcTimeResponse() {} + +UtcTimeResponse::UtcTimeResponse(const UtcTimeResponse &other) : + + m_requestReceptionTime(other.m_requestReceptionTime), + m_responseTransmissionTime(other.m_responseTransmissionTime){} + + +void UtcTimeResponse::replaceData(UtcTimeResponse &other) { + m_requestReceptionTime = other.m_requestReceptionTime; + m_responseTransmissionTime = other.m_responseTransmissionTime; +} + +UtcTimeResponse UtcTimeResponse::fromJson(QJsonObject source) { + UtcTimeResponse instance; + instance.setFromJson(source); + return instance; +} + + +void UtcTimeResponse::setFromJson(QJsonObject source) { + m_requestReceptionTime = Jellyfin::Support::fromJsonValue(source["RequestReceptionTime"]); + m_responseTransmissionTime = Jellyfin::Support::fromJsonValue(source["ResponseTransmissionTime"]); + +} + +QJsonObject UtcTimeResponse::toJson() { + QJsonObject result; + result["RequestReceptionTime"] = Jellyfin::Support::toJsonValue(m_requestReceptionTime); + result["ResponseTransmissionTime"] = Jellyfin::Support::toJsonValue(m_responseTransmissionTime); + + return result; +} + +QDateTime UtcTimeResponse::requestReceptionTime() const { return m_requestReceptionTime; } + +void UtcTimeResponse::setRequestReceptionTime(QDateTime newRequestReceptionTime) { + m_requestReceptionTime = newRequestReceptionTime; +} + +QDateTime UtcTimeResponse::responseTransmissionTime() const { return m_responseTransmissionTime; } + +void UtcTimeResponse::setResponseTransmissionTime(QDateTime newResponseTransmissionTime) { + m_responseTransmissionTime = newResponseTransmissionTime; +} + + +} // NS DTO + +namespace Support { + +using UtcTimeResponse = Jellyfin::DTO::UtcTimeResponse; + +template <> +UtcTimeResponse fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return UtcTimeResponse::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/validatepathdto.cpp b/core/src/dto/validatepathdto.cpp new file mode 100644 index 0000000..c27860f --- /dev/null +++ b/core/src/dto/validatepathdto.cpp @@ -0,0 +1,119 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ValidatePathDto::ValidatePathDto() {} + +ValidatePathDto::ValidatePathDto(const ValidatePathDto &other) : + + m_validateWritable(other.m_validateWritable), + m_path(other.m_path), + m_isFile(other.m_isFile){} + + +void ValidatePathDto::replaceData(ValidatePathDto &other) { + m_validateWritable = other.m_validateWritable; + m_path = other.m_path; + m_isFile = other.m_isFile; +} + +ValidatePathDto ValidatePathDto::fromJson(QJsonObject source) { + ValidatePathDto instance; + instance.setFromJson(source); + return instance; +} + + +void ValidatePathDto::setFromJson(QJsonObject source) { + m_validateWritable = Jellyfin::Support::fromJsonValue(source["ValidateWritable"]); + m_path = Jellyfin::Support::fromJsonValue(source["Path"]); + m_isFile = Jellyfin::Support::fromJsonValue>(source["IsFile"]); + +} + +QJsonObject ValidatePathDto::toJson() { + QJsonObject result; + result["ValidateWritable"] = Jellyfin::Support::toJsonValue(m_validateWritable); + result["Path"] = Jellyfin::Support::toJsonValue(m_path); + result["IsFile"] = Jellyfin::Support::toJsonValue>(m_isFile); + + return result; +} + +bool ValidatePathDto::validateWritable() const { return m_validateWritable; } + +void ValidatePathDto::setValidateWritable(bool newValidateWritable) { + m_validateWritable = newValidateWritable; +} + +QString ValidatePathDto::path() const { return m_path; } + +void ValidatePathDto::setPath(QString newPath) { + m_path = newPath; +} +bool ValidatePathDto::pathNull() const { + return m_path.isNull(); +} + +void ValidatePathDto::setPathNull() { + m_path.clear(); + +} +std::optional ValidatePathDto::isFile() const { return m_isFile; } + +void ValidatePathDto::setIsFile(std::optional newIsFile) { + m_isFile = newIsFile; +} +bool ValidatePathDto::isFileNull() const { + return !m_isFile.has_value(); +} + +void ValidatePathDto::setIsFileNull() { + m_isFile = std::nullopt; + +} + +} // NS DTO + +namespace Support { + +using ValidatePathDto = Jellyfin::DTO::ValidatePathDto; + +template <> +ValidatePathDto fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return ValidatePathDto::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/version.cpp b/core/src/dto/version.cpp new file mode 100644 index 0000000..3f40ec5 --- /dev/null +++ b/core/src/dto/version.cpp @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +Version::Version() {} + +Version::Version(const Version &other) : + + m_major(other.m_major), + m_minor(other.m_minor), + m_build(other.m_build), + m_revision(other.m_revision), + m_majorRevision(other.m_majorRevision), + m_minorRevision(other.m_minorRevision){} + + +void Version::replaceData(Version &other) { + m_major = other.m_major; + m_minor = other.m_minor; + m_build = other.m_build; + m_revision = other.m_revision; + m_majorRevision = other.m_majorRevision; + m_minorRevision = other.m_minorRevision; +} + +Version Version::fromJson(QJsonObject source) { + Version instance; + instance.setFromJson(source); + return instance; +} + + +void Version::setFromJson(QJsonObject source) { + m_major = Jellyfin::Support::fromJsonValue(source["Major"]); + m_minor = Jellyfin::Support::fromJsonValue(source["Minor"]); + m_build = Jellyfin::Support::fromJsonValue(source["Build"]); + m_revision = Jellyfin::Support::fromJsonValue(source["Revision"]); + m_majorRevision = Jellyfin::Support::fromJsonValue(source["MajorRevision"]); + m_minorRevision = Jellyfin::Support::fromJsonValue(source["MinorRevision"]); + +} + +QJsonObject Version::toJson() { + QJsonObject result; + result["Major"] = Jellyfin::Support::toJsonValue(m_major); + result["Minor"] = Jellyfin::Support::toJsonValue(m_minor); + result["Build"] = Jellyfin::Support::toJsonValue(m_build); + result["Revision"] = Jellyfin::Support::toJsonValue(m_revision); + result["MajorRevision"] = Jellyfin::Support::toJsonValue(m_majorRevision); + result["MinorRevision"] = Jellyfin::Support::toJsonValue(m_minorRevision); + + return result; +} + +qint32 Version::major() const { return m_major; } + +void Version::setMajor(qint32 newMajor) { + m_major = newMajor; +} + +qint32 Version::minor() const { return m_minor; } + +void Version::setMinor(qint32 newMinor) { + m_minor = newMinor; +} + +qint32 Version::build() const { return m_build; } + +void Version::setBuild(qint32 newBuild) { + m_build = newBuild; +} + +qint32 Version::revision() const { return m_revision; } + +void Version::setRevision(qint32 newRevision) { + m_revision = newRevision; +} + +qint32 Version::majorRevision() const { return m_majorRevision; } + +void Version::setMajorRevision(qint32 newMajorRevision) { + m_majorRevision = newMajorRevision; +} + +qint32 Version::minorRevision() const { return m_minorRevision; } + +void Version::setMinorRevision(qint32 newMinorRevision) { + m_minorRevision = newMinorRevision; +} + + +} // NS DTO + +namespace Support { + +using Version = Jellyfin::DTO::Version; + +template <> +Version fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return Version::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/versioninfo.cpp b/core/src/dto/versioninfo.cpp new file mode 100644 index 0000000..ae31723 --- /dev/null +++ b/core/src/dto/versioninfo.cpp @@ -0,0 +1,221 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +VersionInfo::VersionInfo() {} + +VersionInfo::VersionInfo(const VersionInfo &other) : + + m_version(other.m_version), + m_versionNumber(other.m_versionNumber), + m_changelog(other.m_changelog), + m_targetAbi(other.m_targetAbi), + m_sourceUrl(other.m_sourceUrl), + m_checksum(other.m_checksum), + m_timestamp(other.m_timestamp), + m_repositoryName(other.m_repositoryName), + m_repositoryUrl(other.m_repositoryUrl){} + + +void VersionInfo::replaceData(VersionInfo &other) { + m_version = other.m_version; + m_versionNumber = other.m_versionNumber; + m_changelog = other.m_changelog; + m_targetAbi = other.m_targetAbi; + m_sourceUrl = other.m_sourceUrl; + m_checksum = other.m_checksum; + m_timestamp = other.m_timestamp; + m_repositoryName = other.m_repositoryName; + m_repositoryUrl = other.m_repositoryUrl; +} + +VersionInfo VersionInfo::fromJson(QJsonObject source) { + VersionInfo instance; + instance.setFromJson(source); + return instance; +} + + +void VersionInfo::setFromJson(QJsonObject source) { + m_version = Jellyfin::Support::fromJsonValue(source["version"]); + m_versionNumber = Jellyfin::Support::fromJsonValue>(source["VersionNumber"]); + m_changelog = Jellyfin::Support::fromJsonValue(source["changelog"]); + m_targetAbi = Jellyfin::Support::fromJsonValue(source["targetAbi"]); + m_sourceUrl = Jellyfin::Support::fromJsonValue(source["sourceUrl"]); + m_checksum = Jellyfin::Support::fromJsonValue(source["checksum"]); + m_timestamp = Jellyfin::Support::fromJsonValue(source["timestamp"]); + m_repositoryName = Jellyfin::Support::fromJsonValue(source["repositoryName"]); + m_repositoryUrl = Jellyfin::Support::fromJsonValue(source["repositoryUrl"]); + +} + +QJsonObject VersionInfo::toJson() { + QJsonObject result; + result["version"] = Jellyfin::Support::toJsonValue(m_version); + result["VersionNumber"] = Jellyfin::Support::toJsonValue>(m_versionNumber); + result["changelog"] = Jellyfin::Support::toJsonValue(m_changelog); + result["targetAbi"] = Jellyfin::Support::toJsonValue(m_targetAbi); + result["sourceUrl"] = Jellyfin::Support::toJsonValue(m_sourceUrl); + result["checksum"] = Jellyfin::Support::toJsonValue(m_checksum); + result["timestamp"] = Jellyfin::Support::toJsonValue(m_timestamp); + result["repositoryName"] = Jellyfin::Support::toJsonValue(m_repositoryName); + result["repositoryUrl"] = Jellyfin::Support::toJsonValue(m_repositoryUrl); + + return result; +} + +QString VersionInfo::version() const { return m_version; } + +void VersionInfo::setVersion(QString newVersion) { + m_version = newVersion; +} +bool VersionInfo::versionNull() const { + return m_version.isNull(); +} + +void VersionInfo::setVersionNull() { + m_version.clear(); + +} +QSharedPointer VersionInfo::versionNumber() const { return m_versionNumber; } + +void VersionInfo::setVersionNumber(QSharedPointer newVersionNumber) { + m_versionNumber = newVersionNumber; +} + +QString VersionInfo::changelog() const { return m_changelog; } + +void VersionInfo::setChangelog(QString newChangelog) { + m_changelog = newChangelog; +} +bool VersionInfo::changelogNull() const { + return m_changelog.isNull(); +} + +void VersionInfo::setChangelogNull() { + m_changelog.clear(); + +} +QString VersionInfo::targetAbi() const { return m_targetAbi; } + +void VersionInfo::setTargetAbi(QString newTargetAbi) { + m_targetAbi = newTargetAbi; +} +bool VersionInfo::targetAbiNull() const { + return m_targetAbi.isNull(); +} + +void VersionInfo::setTargetAbiNull() { + m_targetAbi.clear(); + +} +QString VersionInfo::sourceUrl() const { return m_sourceUrl; } + +void VersionInfo::setSourceUrl(QString newSourceUrl) { + m_sourceUrl = newSourceUrl; +} +bool VersionInfo::sourceUrlNull() const { + return m_sourceUrl.isNull(); +} + +void VersionInfo::setSourceUrlNull() { + m_sourceUrl.clear(); + +} +QString VersionInfo::checksum() const { return m_checksum; } + +void VersionInfo::setChecksum(QString newChecksum) { + m_checksum = newChecksum; +} +bool VersionInfo::checksumNull() const { + return m_checksum.isNull(); +} + +void VersionInfo::setChecksumNull() { + m_checksum.clear(); + +} +QString VersionInfo::timestamp() const { return m_timestamp; } + +void VersionInfo::setTimestamp(QString newTimestamp) { + m_timestamp = newTimestamp; +} +bool VersionInfo::timestampNull() const { + return m_timestamp.isNull(); +} + +void VersionInfo::setTimestampNull() { + m_timestamp.clear(); + +} +QString VersionInfo::repositoryName() const { return m_repositoryName; } + +void VersionInfo::setRepositoryName(QString newRepositoryName) { + m_repositoryName = newRepositoryName; +} +bool VersionInfo::repositoryNameNull() const { + return m_repositoryName.isNull(); +} + +void VersionInfo::setRepositoryNameNull() { + m_repositoryName.clear(); + +} +QString VersionInfo::repositoryUrl() const { return m_repositoryUrl; } + +void VersionInfo::setRepositoryUrl(QString newRepositoryUrl) { + m_repositoryUrl = newRepositoryUrl; +} +bool VersionInfo::repositoryUrlNull() const { + return m_repositoryUrl.isNull(); +} + +void VersionInfo::setRepositoryUrlNull() { + m_repositoryUrl.clear(); + +} + +} // NS DTO + +namespace Support { + +using VersionInfo = Jellyfin::DTO::VersionInfo; + +template <> +VersionInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return VersionInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/video3dformat.cpp b/core/src/dto/video3dformat.cpp new file mode 100644 index 0000000..d583895 --- /dev/null +++ b/core/src/dto/video3dformat.cpp @@ -0,0 +1,69 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +Video3DFormatClass::Video3DFormatClass() {} + + +} // NS DTO + +namespace Support { + +using Video3DFormat = Jellyfin::DTO::Video3DFormat; + +template <> +Video3DFormat fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return Video3DFormat::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("HalfSideBySide")) { + return Video3DFormat::HalfSideBySide; + } + if (str == QStringLiteral("FullSideBySide")) { + return Video3DFormat::FullSideBySide; + } + if (str == QStringLiteral("FullTopAndBottom")) { + return Video3DFormat::FullTopAndBottom; + } + if (str == QStringLiteral("HalfTopAndBottom")) { + return Video3DFormat::HalfTopAndBottom; + } + if (str == QStringLiteral("MVC")) { + return Video3DFormat::MVC; + } + + return Video3DFormat::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/videotype.cpp b/core/src/dto/videotype.cpp new file mode 100644 index 0000000..a51081a --- /dev/null +++ b/core/src/dto/videotype.cpp @@ -0,0 +1,66 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +VideoTypeClass::VideoTypeClass() {} + + +} // NS DTO + +namespace Support { + +using VideoType = Jellyfin::DTO::VideoType; + +template <> +VideoType fromJsonValue(const QJsonValue &source) { + if (!source.isString()) return VideoType::EnumNotSet; + + QString str = source.toString(); + if (str == QStringLiteral("VideoFile")) { + return VideoType::VideoFile; + } + if (str == QStringLiteral("Iso")) { + return VideoType::Iso; + } + if (str == QStringLiteral("Dvd")) { + return VideoType::Dvd; + } + if (str == QStringLiteral("BluRay")) { + return VideoType::BluRay; + } + + return VideoType::EnumNotSet; +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/virtualfolderinfo.cpp b/core/src/dto/virtualfolderinfo.cpp new file mode 100644 index 0000000..042b0f3 --- /dev/null +++ b/core/src/dto/virtualfolderinfo.cpp @@ -0,0 +1,204 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +VirtualFolderInfo::VirtualFolderInfo() {} + +VirtualFolderInfo::VirtualFolderInfo(const VirtualFolderInfo &other) : + + m_name(other.m_name), + m_locations(other.m_locations), + m_collectionType(other.m_collectionType), + m_libraryOptions(other.m_libraryOptions), + m_itemId(other.m_itemId), + m_primaryImageItemId(other.m_primaryImageItemId), + m_refreshProgress(other.m_refreshProgress), + m_refreshStatus(other.m_refreshStatus){} + + +void VirtualFolderInfo::replaceData(VirtualFolderInfo &other) { + m_name = other.m_name; + m_locations = other.m_locations; + m_collectionType = other.m_collectionType; + m_libraryOptions = other.m_libraryOptions; + m_itemId = other.m_itemId; + m_primaryImageItemId = other.m_primaryImageItemId; + m_refreshProgress = other.m_refreshProgress; + m_refreshStatus = other.m_refreshStatus; +} + +VirtualFolderInfo VirtualFolderInfo::fromJson(QJsonObject source) { + VirtualFolderInfo instance; + instance.setFromJson(source); + return instance; +} + + +void VirtualFolderInfo::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_locations = Jellyfin::Support::fromJsonValue(source["Locations"]); + m_collectionType = Jellyfin::Support::fromJsonValue(source["CollectionType"]); + m_libraryOptions = Jellyfin::Support::fromJsonValue>(source["LibraryOptions"]); + m_itemId = Jellyfin::Support::fromJsonValue(source["ItemId"]); + m_primaryImageItemId = Jellyfin::Support::fromJsonValue(source["PrimaryImageItemId"]); + m_refreshProgress = Jellyfin::Support::fromJsonValue>(source["RefreshProgress"]); + m_refreshStatus = Jellyfin::Support::fromJsonValue(source["RefreshStatus"]); + +} + +QJsonObject VirtualFolderInfo::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Locations"] = Jellyfin::Support::toJsonValue(m_locations); + result["CollectionType"] = Jellyfin::Support::toJsonValue(m_collectionType); + result["LibraryOptions"] = Jellyfin::Support::toJsonValue>(m_libraryOptions); + result["ItemId"] = Jellyfin::Support::toJsonValue(m_itemId); + result["PrimaryImageItemId"] = Jellyfin::Support::toJsonValue(m_primaryImageItemId); + result["RefreshProgress"] = Jellyfin::Support::toJsonValue>(m_refreshProgress); + result["RefreshStatus"] = Jellyfin::Support::toJsonValue(m_refreshStatus); + + return result; +} + +QString VirtualFolderInfo::name() const { return m_name; } + +void VirtualFolderInfo::setName(QString newName) { + m_name = newName; +} +bool VirtualFolderInfo::nameNull() const { + return m_name.isNull(); +} + +void VirtualFolderInfo::setNameNull() { + m_name.clear(); + +} +QStringList VirtualFolderInfo::locations() const { return m_locations; } + +void VirtualFolderInfo::setLocations(QStringList newLocations) { + m_locations = newLocations; +} +bool VirtualFolderInfo::locationsNull() const { + return m_locations.size() == 0; +} + +void VirtualFolderInfo::setLocationsNull() { + m_locations.clear(); + +} +QString VirtualFolderInfo::collectionType() const { return m_collectionType; } + +void VirtualFolderInfo::setCollectionType(QString newCollectionType) { + m_collectionType = newCollectionType; +} +bool VirtualFolderInfo::collectionTypeNull() const { + return m_collectionType.isNull(); +} + +void VirtualFolderInfo::setCollectionTypeNull() { + m_collectionType.clear(); + +} +QSharedPointer VirtualFolderInfo::libraryOptions() const { return m_libraryOptions; } + +void VirtualFolderInfo::setLibraryOptions(QSharedPointer newLibraryOptions) { + m_libraryOptions = newLibraryOptions; +} + +QString VirtualFolderInfo::itemId() const { return m_itemId; } + +void VirtualFolderInfo::setItemId(QString newItemId) { + m_itemId = newItemId; +} +bool VirtualFolderInfo::itemIdNull() const { + return m_itemId.isNull(); +} + +void VirtualFolderInfo::setItemIdNull() { + m_itemId.clear(); + +} +QString VirtualFolderInfo::primaryImageItemId() const { return m_primaryImageItemId; } + +void VirtualFolderInfo::setPrimaryImageItemId(QString newPrimaryImageItemId) { + m_primaryImageItemId = newPrimaryImageItemId; +} +bool VirtualFolderInfo::primaryImageItemIdNull() const { + return m_primaryImageItemId.isNull(); +} + +void VirtualFolderInfo::setPrimaryImageItemIdNull() { + m_primaryImageItemId.clear(); + +} +std::optional VirtualFolderInfo::refreshProgress() const { return m_refreshProgress; } + +void VirtualFolderInfo::setRefreshProgress(std::optional newRefreshProgress) { + m_refreshProgress = newRefreshProgress; +} +bool VirtualFolderInfo::refreshProgressNull() const { + return !m_refreshProgress.has_value(); +} + +void VirtualFolderInfo::setRefreshProgressNull() { + m_refreshProgress = std::nullopt; + +} +QString VirtualFolderInfo::refreshStatus() const { return m_refreshStatus; } + +void VirtualFolderInfo::setRefreshStatus(QString newRefreshStatus) { + m_refreshStatus = newRefreshStatus; +} +bool VirtualFolderInfo::refreshStatusNull() const { + return m_refreshStatus.isNull(); +} + +void VirtualFolderInfo::setRefreshStatusNull() { + m_refreshStatus.clear(); + +} + +} // NS DTO + +namespace Support { + +using VirtualFolderInfo = Jellyfin::DTO::VirtualFolderInfo; + +template <> +VirtualFolderInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return VirtualFolderInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/wakeonlaninfo.cpp b/core/src/dto/wakeonlaninfo.cpp new file mode 100644 index 0000000..86dfd09 --- /dev/null +++ b/core/src/dto/wakeonlaninfo.cpp @@ -0,0 +1,102 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +WakeOnLanInfo::WakeOnLanInfo() {} + +WakeOnLanInfo::WakeOnLanInfo(const WakeOnLanInfo &other) : + + m_macAddress(other.m_macAddress), + m_port(other.m_port){} + + +void WakeOnLanInfo::replaceData(WakeOnLanInfo &other) { + m_macAddress = other.m_macAddress; + m_port = other.m_port; +} + +WakeOnLanInfo WakeOnLanInfo::fromJson(QJsonObject source) { + WakeOnLanInfo instance; + instance.setFromJson(source); + return instance; +} + + +void WakeOnLanInfo::setFromJson(QJsonObject source) { + m_macAddress = Jellyfin::Support::fromJsonValue(source["MacAddress"]); + m_port = Jellyfin::Support::fromJsonValue(source["Port"]); + +} + +QJsonObject WakeOnLanInfo::toJson() { + QJsonObject result; + result["MacAddress"] = Jellyfin::Support::toJsonValue(m_macAddress); + result["Port"] = Jellyfin::Support::toJsonValue(m_port); + + return result; +} + +QString WakeOnLanInfo::macAddress() const { return m_macAddress; } + +void WakeOnLanInfo::setMacAddress(QString newMacAddress) { + m_macAddress = newMacAddress; +} +bool WakeOnLanInfo::macAddressNull() const { + return m_macAddress.isNull(); +} + +void WakeOnLanInfo::setMacAddressNull() { + m_macAddress.clear(); + +} +qint32 WakeOnLanInfo::port() const { return m_port; } + +void WakeOnLanInfo::setPort(qint32 newPort) { + m_port = newPort; +} + + +} // NS DTO + +namespace Support { + +using WakeOnLanInfo = Jellyfin::DTO::WakeOnLanInfo; + +template <> +WakeOnLanInfo fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return WakeOnLanInfo::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/dto/xmlattribute.cpp b/core/src/dto/xmlattribute.cpp new file mode 100644 index 0000000..64ea2e5 --- /dev/null +++ b/core/src/dto/xmlattribute.cpp @@ -0,0 +1,109 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +XmlAttribute::XmlAttribute() {} + +XmlAttribute::XmlAttribute(const XmlAttribute &other) : + + m_name(other.m_name), + m_value(other.m_value){} + + +void XmlAttribute::replaceData(XmlAttribute &other) { + m_name = other.m_name; + m_value = other.m_value; +} + +XmlAttribute XmlAttribute::fromJson(QJsonObject source) { + XmlAttribute instance; + instance.setFromJson(source); + return instance; +} + + +void XmlAttribute::setFromJson(QJsonObject source) { + m_name = Jellyfin::Support::fromJsonValue(source["Name"]); + m_value = Jellyfin::Support::fromJsonValue(source["Value"]); + +} + +QJsonObject XmlAttribute::toJson() { + QJsonObject result; + result["Name"] = Jellyfin::Support::toJsonValue(m_name); + result["Value"] = Jellyfin::Support::toJsonValue(m_value); + + return result; +} + +QString XmlAttribute::name() const { return m_name; } + +void XmlAttribute::setName(QString newName) { + m_name = newName; +} +bool XmlAttribute::nameNull() const { + return m_name.isNull(); +} + +void XmlAttribute::setNameNull() { + m_name.clear(); + +} +QString XmlAttribute::value() const { return m_value; } + +void XmlAttribute::setValue(QString newValue) { + m_value = newValue; +} +bool XmlAttribute::valueNull() const { + return m_value.isNull(); +} + +void XmlAttribute::setValueNull() { + m_value.clear(); + +} + +} // NS DTO + +namespace Support { + +using XmlAttribute = Jellyfin::DTO::XmlAttribute; + +template <> +XmlAttribute fromJsonValue(const QJsonValue &source) { + if (!source.isObject()) throw new ParseException("Expected JSON Object"); + return XmlAttribute::fromJson(source.toObject()); +} + +} // NS DTO +} // NS Jellyfin diff --git a/core/src/eventbus.cpp b/core/src/eventbus.cpp new file mode 100644 index 0000000..98f0c1b --- /dev/null +++ b/core/src/eventbus.cpp @@ -0,0 +1,26 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include + +namespace Jellyfin { + +EventBus::EventBus(QObject *parent) + : QObject(parent) {} + +} diff --git a/core/src/jellyfin.cpp b/core/src/jellyfin.cpp index f489f47..1056d64 100644 --- a/core/src/jellyfin.cpp +++ b/core/src/jellyfin.cpp @@ -1,37 +1,34 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin contributes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include "JellyfinQt/jellyfin.h" namespace Jellyfin { void registerTypes(const char *uri) { - // Singletons are perhaps bad, but they are convenient :) - qmlRegisterSingletonType(uri, 1, 0, "ApiClient", [](QQmlEngine *eng, QJSEngine *js) { - Q_UNUSED(eng) - Q_UNUSED(js) - return dynamic_cast(new Jellyfin::ApiClient()); - }); - qmlRegisterType(uri, 1, 0, "ServerDiscoveryModel"); - qmlRegisterType(uri, 1, 0, "PlaybackManager"); + qmlRegisterType(uri, 1, 0, "ApiClient"); + qmlRegisterType(uri, 1, 0, "ServerDiscoveryModel"); + qmlRegisterType(uri, 1, 0, "Item"); + qmlRegisterType(uri, 1, 0, "PlaybackManager"); + qmlRegisterUncreatableType(uri, 1, 0, "GeneralCommandType", "Is an enum"); // API models Jellyfin::registerModels(uri); //Jellyfin::DTO::registerTypes(uri); - Jellyfin::registerRemoteTypes(uri); + Jellyfin::ViewModel::registerRemoteTypes(uri); } } diff --git a/core/src/loader/http/activate.cpp b/core/src/loader/http/activate.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addlistingprovider.cpp b/core/src/loader/http/addlistingprovider.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addmediapath.cpp b/core/src/loader/http/addmediapath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addtocollection.cpp b/core/src/loader/http/addtocollection.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addtoplaylist.cpp b/core/src/loader/http/addtoplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addtunerhost.cpp b/core/src/loader/http/addtunerhost.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addusertosession.cpp b/core/src/loader/http/addusertosession.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/addvirtualfolder.cpp b/core/src/loader/http/addvirtualfolder.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/applysearchcriteria.cpp b/core/src/loader/http/applysearchcriteria.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/authenticateuser.cpp b/core/src/loader/http/authenticateuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/authenticateuserbyname.cpp b/core/src/loader/http/authenticateuserbyname.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/authenticatewithquickconnect.cpp b/core/src/loader/http/authenticatewithquickconnect.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/authorize.cpp b/core/src/loader/http/authorize.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/available.cpp b/core/src/loader/http/available.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/cancelpackageinstallation.cpp b/core/src/loader/http/cancelpackageinstallation.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/cancelseriestimer.cpp b/core/src/loader/http/cancelseriestimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/canceltimer.cpp b/core/src/loader/http/canceltimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/closelivestream.cpp b/core/src/loader/http/closelivestream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/completewizard.cpp b/core/src/loader/http/completewizard.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/connect.cpp b/core/src/loader/http/connect.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createadminnotification.cpp b/core/src/loader/http/createadminnotification.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createcollection.cpp b/core/src/loader/http/createcollection.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createkey.cpp b/core/src/loader/http/createkey.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createplaylist.cpp b/core/src/loader/http/createplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createprofile.cpp b/core/src/loader/http/createprofile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createseriestimer.cpp b/core/src/loader/http/createseriestimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createtimer.cpp b/core/src/loader/http/createtimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/createuserbyname.cpp b/core/src/loader/http/createuserbyname.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deauthorize.cpp b/core/src/loader/http/deauthorize.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deletealternatesources.cpp b/core/src/loader/http/deletealternatesources.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deletedevice.cpp b/core/src/loader/http/deletedevice.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteitem.cpp b/core/src/loader/http/deleteitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteitemimage.cpp b/core/src/loader/http/deleteitemimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteitemimagebyindex.cpp b/core/src/loader/http/deleteitemimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteitems.cpp b/core/src/loader/http/deleteitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deletelistingprovider.cpp b/core/src/loader/http/deletelistingprovider.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteprofile.cpp b/core/src/loader/http/deleteprofile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleterecording.cpp b/core/src/loader/http/deleterecording.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deletesubtitle.cpp b/core/src/loader/http/deletesubtitle.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deletetunerhost.cpp b/core/src/loader/http/deletetunerhost.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteuser.cpp b/core/src/loader/http/deleteuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteuserimage.cpp b/core/src/loader/http/deleteuserimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteuserimagebyindex.cpp b/core/src/loader/http/deleteuserimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/deleteuseritemrating.cpp b/core/src/loader/http/deleteuseritemrating.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/disableplugin.cpp b/core/src/loader/http/disableplugin.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/discovertuners.cpp b/core/src/loader/http/discovertuners.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/discvovertuners.cpp b/core/src/loader/http/discvovertuners.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/displaycontent.cpp b/core/src/loader/http/displaycontent.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/downloadremoteimage.cpp b/core/src/loader/http/downloadremoteimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/downloadremotesubtitles.cpp b/core/src/loader/http/downloadremotesubtitles.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/enableplugin.cpp b/core/src/loader/http/enableplugin.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/forgotpassword.cpp b/core/src/loader/http/forgotpassword.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/forgotpasswordpin.cpp b/core/src/loader/http/forgotpasswordpin.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/get.cpp b/core/src/loader/http/get.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getadditionalpart.cpp b/core/src/loader/http/getadditionalpart.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getalbumartists.cpp b/core/src/loader/http/getalbumartists.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getallchannelfeatures.cpp b/core/src/loader/http/getallchannelfeatures.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getancestors.cpp b/core/src/loader/http/getancestors.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getartistbyname.cpp b/core/src/loader/http/getartistbyname.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getartistimage.cpp b/core/src/loader/http/getartistimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getartists.cpp b/core/src/loader/http/getartists.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getattachment.cpp b/core/src/loader/http/getattachment.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getaudiostream.cpp b/core/src/loader/http/getaudiostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getaudiostreambycontainer.cpp b/core/src/loader/http/getaudiostreambycontainer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getauthproviders.cpp b/core/src/loader/http/getauthproviders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getbitratetestbytes.cpp b/core/src/loader/http/getbitratetestbytes.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getbookremotesearchresults.cpp b/core/src/loader/http/getbookremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getboxsetremotesearchresults.cpp b/core/src/loader/http/getboxsetremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getbrandingcss.cpp b/core/src/loader/http/getbrandingcss.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getbrandingcss_2.cpp b/core/src/loader/http/getbrandingcss_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getbrandingoptions.cpp b/core/src/loader/http/getbrandingoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getchannel.cpp b/core/src/loader/http/getchannel.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getchannelfeatures.cpp b/core/src/loader/http/getchannelfeatures.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getchannelitems.cpp b/core/src/loader/http/getchannelitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getchannelmappingoptions.cpp b/core/src/loader/http/getchannelmappingoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getchannels.cpp b/core/src/loader/http/getchannels.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getconfiguration.cpp b/core/src/loader/http/getconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getconfigurationpages.cpp b/core/src/loader/http/getconfigurationpages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getconnectionmanager.cpp b/core/src/loader/http/getconnectionmanager.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getconnectionmanager_2.cpp b/core/src/loader/http/getconnectionmanager_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getconnectionmanager_3.cpp b/core/src/loader/http/getconnectionmanager_3.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcontentdirectory.cpp b/core/src/loader/http/getcontentdirectory.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcontentdirectory_2.cpp b/core/src/loader/http/getcontentdirectory_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcontentdirectory_3.cpp b/core/src/loader/http/getcontentdirectory_3.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcountries.cpp b/core/src/loader/http/getcountries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcriticreviews.cpp b/core/src/loader/http/getcriticreviews.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcultures.cpp b/core/src/loader/http/getcultures.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getcurrentuser.cpp b/core/src/loader/http/getcurrentuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdashboardconfigurationpage.cpp b/core/src/loader/http/getdashboardconfigurationpage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdefaultdirectorybrowser.cpp b/core/src/loader/http/getdefaultdirectorybrowser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdefaultlistingprovider.cpp b/core/src/loader/http/getdefaultlistingprovider.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdefaultmetadataoptions.cpp b/core/src/loader/http/getdefaultmetadataoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdefaultprofile.cpp b/core/src/loader/http/getdefaultprofile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdefaulttimer.cpp b/core/src/loader/http/getdefaulttimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdescriptionxml.cpp b/core/src/loader/http/getdescriptionxml.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdescriptionxml_2.cpp b/core/src/loader/http/getdescriptionxml_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdeviceinfo.cpp b/core/src/loader/http/getdeviceinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdeviceoptions.cpp b/core/src/loader/http/getdeviceoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdevices.cpp b/core/src/loader/http/getdevices.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdirectorycontents.cpp b/core/src/loader/http/getdirectorycontents.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdisplaypreferences.cpp b/core/src/loader/http/getdisplaypreferences.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdownload.cpp b/core/src/loader/http/getdownload.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getdrives.cpp b/core/src/loader/http/getdrives.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getendpointinfo.cpp b/core/src/loader/http/getendpointinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getepisodes.cpp b/core/src/loader/http/getepisodes.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getexternalidinfos.cpp b/core/src/loader/http/getexternalidinfos.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getfallbackfont.cpp b/core/src/loader/http/getfallbackfont.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getfallbackfontlist.cpp b/core/src/loader/http/getfallbackfontlist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getfile.cpp b/core/src/loader/http/getfile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getfirstuser.cpp b/core/src/loader/http/getfirstuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getfirstuser_2.cpp b/core/src/loader/http/getfirstuser_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgeneralimage.cpp b/core/src/loader/http/getgeneralimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgeneralimages.cpp b/core/src/loader/http/getgeneralimages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgenre.cpp b/core/src/loader/http/getgenre.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgenreimage.cpp b/core/src/loader/http/getgenreimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgenreimagebyindex.cpp b/core/src/loader/http/getgenreimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgenres.cpp b/core/src/loader/http/getgenres.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getgroupingoptions.cpp b/core/src/loader/http/getgroupingoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getguideinfo.cpp b/core/src/loader/http/getguideinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsaudiosegment.cpp b/core/src/loader/http/gethlsaudiosegment.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsaudiosegmentlegacyaac.cpp b/core/src/loader/http/gethlsaudiosegmentlegacyaac.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsaudiosegmentlegacymp3.cpp b/core/src/loader/http/gethlsaudiosegmentlegacymp3.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsplaylistlegacy.cpp b/core/src/loader/http/gethlsplaylistlegacy.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsvideosegment.cpp b/core/src/loader/http/gethlsvideosegment.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gethlsvideosegmentlegacy.cpp b/core/src/loader/http/gethlsvideosegmentlegacy.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/geticon.cpp b/core/src/loader/http/geticon.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/geticonid.cpp b/core/src/loader/http/geticonid.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfromalbum.cpp b/core/src/loader/http/getinstantmixfromalbum.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfromartists.cpp b/core/src/loader/http/getinstantmixfromartists.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfromitem.cpp b/core/src/loader/http/getinstantmixfromitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfrommusicgenre.cpp b/core/src/loader/http/getinstantmixfrommusicgenre.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfrommusicgenres.cpp b/core/src/loader/http/getinstantmixfrommusicgenres.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfromplaylist.cpp b/core/src/loader/http/getinstantmixfromplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getinstantmixfromsong.cpp b/core/src/loader/http/getinstantmixfromsong.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getintros.cpp b/core/src/loader/http/getintros.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitem.cpp b/core/src/loader/http/getitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemcounts.cpp b/core/src/loader/http/getitemcounts.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemimage.cpp b/core/src/loader/http/getitemimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemimage2.cpp b/core/src/loader/http/getitemimage2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemimagebyindex.cpp b/core/src/loader/http/getitemimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemimageinfos.cpp b/core/src/loader/http/getitemimageinfos.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitems.cpp b/core/src/loader/http/getitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getitemsbyuserid.cpp b/core/src/loader/http/getitemsbyuserid.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getkeys.cpp b/core/src/loader/http/getkeys.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlatestchannelitems.cpp b/core/src/loader/http/getlatestchannelitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlatestmedia.cpp b/core/src/loader/http/getlatestmedia.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlibraryoptionsinfo.cpp b/core/src/loader/http/getlibraryoptionsinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlineups.cpp b/core/src/loader/http/getlineups.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlivehlsstream.cpp b/core/src/loader/http/getlivehlsstream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getliverecordingfile.cpp b/core/src/loader/http/getliverecordingfile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlivestreamfile.cpp b/core/src/loader/http/getlivestreamfile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlivetvchannels.cpp b/core/src/loader/http/getlivetvchannels.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlivetvinfo.cpp b/core/src/loader/http/getlivetvinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlivetvprograms.cpp b/core/src/loader/http/getlivetvprograms.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlocalizationoptions.cpp b/core/src/loader/http/getlocalizationoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlocaltrailers.cpp b/core/src/loader/http/getlocaltrailers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlogentries.cpp b/core/src/loader/http/getlogentries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getlogfile.cpp b/core/src/loader/http/getlogfile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmasterhlsaudioplaylist.cpp b/core/src/loader/http/getmasterhlsaudioplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmasterhlsvideoplaylist.cpp b/core/src/loader/http/getmasterhlsvideoplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediafolders.cpp b/core/src/loader/http/getmediafolders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediainfoimage.cpp b/core/src/loader/http/getmediainfoimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediainfoimages.cpp b/core/src/loader/http/getmediainfoimages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediareceiverregistrar.cpp b/core/src/loader/http/getmediareceiverregistrar.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediareceiverregistrar_2.cpp b/core/src/loader/http/getmediareceiverregistrar_2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmediareceiverregistrar_3.cpp b/core/src/loader/http/getmediareceiverregistrar_3.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmetadataeditorinfo.cpp b/core/src/loader/http/getmetadataeditorinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmovierecommendations.cpp b/core/src/loader/http/getmovierecommendations.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmovieremotesearchresults.cpp b/core/src/loader/http/getmovieremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicalbumremotesearchresults.cpp b/core/src/loader/http/getmusicalbumremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicartistremotesearchresults.cpp b/core/src/loader/http/getmusicartistremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicgenre.cpp b/core/src/loader/http/getmusicgenre.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicgenreimage.cpp b/core/src/loader/http/getmusicgenreimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicgenreimagebyindex.cpp b/core/src/loader/http/getmusicgenreimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicgenres.cpp b/core/src/loader/http/getmusicgenres.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getmusicvideoremotesearchresults.cpp b/core/src/loader/http/getmusicvideoremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnamedconfiguration.cpp b/core/src/loader/http/getnamedconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnetworkshares.cpp b/core/src/loader/http/getnetworkshares.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnextup.cpp b/core/src/loader/http/getnextup.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnotifications.cpp b/core/src/loader/http/getnotifications.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnotificationservices.cpp b/core/src/loader/http/getnotificationservices.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnotificationssummary.cpp b/core/src/loader/http/getnotificationssummary.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getnotificationtypes.cpp b/core/src/loader/http/getnotificationtypes.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpackageinfo.cpp b/core/src/loader/http/getpackageinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpackages.cpp b/core/src/loader/http/getpackages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getparentalratings.cpp b/core/src/loader/http/getparentalratings.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getparentpath.cpp b/core/src/loader/http/getparentpath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpasswordresetproviders.cpp b/core/src/loader/http/getpasswordresetproviders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getperson.cpp b/core/src/loader/http/getperson.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpersonimage.cpp b/core/src/loader/http/getpersonimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpersonimagebyindex.cpp b/core/src/loader/http/getpersonimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpersonremotesearchresults.cpp b/core/src/loader/http/getpersonremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpersons.cpp b/core/src/loader/http/getpersons.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getphysicalpaths.cpp b/core/src/loader/http/getphysicalpaths.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpingsystem.cpp b/core/src/loader/http/getpingsystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getplaybackinfo.cpp b/core/src/loader/http/getplaybackinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getplaylistitems.cpp b/core/src/loader/http/getplaylistitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpluginconfiguration.cpp b/core/src/loader/http/getpluginconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpluginimage.cpp b/core/src/loader/http/getpluginimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpluginmanifest.cpp b/core/src/loader/http/getpluginmanifest.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getplugins.cpp b/core/src/loader/http/getplugins.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpostedplaybackinfo.cpp b/core/src/loader/http/getpostedplaybackinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getprofile.cpp b/core/src/loader/http/getprofile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getprofileinfos.cpp b/core/src/loader/http/getprofileinfos.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getprogram.cpp b/core/src/loader/http/getprogram.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getprograms.cpp b/core/src/loader/http/getprograms.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpublicsysteminfo.cpp b/core/src/loader/http/getpublicsysteminfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getpublicusers.cpp b/core/src/loader/http/getpublicusers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getqueryfilters.cpp b/core/src/loader/http/getqueryfilters.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getqueryfilterslegacy.cpp b/core/src/loader/http/getqueryfilterslegacy.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getratingimage.cpp b/core/src/loader/http/getratingimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getratingimages.cpp b/core/src/loader/http/getratingimages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecommendedprograms.cpp b/core/src/loader/http/getrecommendedprograms.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecording.cpp b/core/src/loader/http/getrecording.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecordingfolders.cpp b/core/src/loader/http/getrecordingfolders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecordinggroup.cpp b/core/src/loader/http/getrecordinggroup.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecordinggroups.cpp b/core/src/loader/http/getrecordinggroups.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecordings.cpp b/core/src/loader/http/getrecordings.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrecordingsseries.cpp b/core/src/loader/http/getrecordingsseries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getremoteimage.cpp b/core/src/loader/http/getremoteimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getremoteimageproviders.cpp b/core/src/loader/http/getremoteimageproviders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getremoteimages.cpp b/core/src/loader/http/getremoteimages.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getremotesearchimage.cpp b/core/src/loader/http/getremotesearchimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getremotesubtitles.cpp b/core/src/loader/http/getremotesubtitles.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrepositories.cpp b/core/src/loader/http/getrepositories.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getresumeitems.cpp b/core/src/loader/http/getresumeitems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getrootfolder.cpp b/core/src/loader/http/getrootfolder.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getschedulesdirectcountries.cpp b/core/src/loader/http/getschedulesdirectcountries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getseasons.cpp b/core/src/loader/http/getseasons.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getseriesremotesearchresults.cpp b/core/src/loader/http/getseriesremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getseriestimer.cpp b/core/src/loader/http/getseriestimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getseriestimers.cpp b/core/src/loader/http/getseriestimers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getserverlogs.cpp b/core/src/loader/http/getserverlogs.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsessions.cpp b/core/src/loader/http/getsessions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilaralbums.cpp b/core/src/loader/http/getsimilaralbums.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilarartists.cpp b/core/src/loader/http/getsimilarartists.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilaritems.cpp b/core/src/loader/http/getsimilaritems.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilarmovies.cpp b/core/src/loader/http/getsimilarmovies.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilarshows.cpp b/core/src/loader/http/getsimilarshows.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsimilartrailers.cpp b/core/src/loader/http/getsimilartrailers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getspecialfeatures.cpp b/core/src/loader/http/getspecialfeatures.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstartupconfiguration.cpp b/core/src/loader/http/getstartupconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstatus.cpp b/core/src/loader/http/getstatus.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstudio.cpp b/core/src/loader/http/getstudio.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstudioimage.cpp b/core/src/loader/http/getstudioimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstudioimagebyindex.cpp b/core/src/loader/http/getstudioimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getstudios.cpp b/core/src/loader/http/getstudios.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsubtitle.cpp b/core/src/loader/http/getsubtitle.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsubtitleplaylist.cpp b/core/src/loader/http/getsubtitleplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsubtitlewithticks.cpp b/core/src/loader/http/getsubtitlewithticks.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsuggestions.cpp b/core/src/loader/http/getsuggestions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getsysteminfo.cpp b/core/src/loader/http/getsysteminfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettask.cpp b/core/src/loader/http/gettask.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettasks.cpp b/core/src/loader/http/gettasks.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getthememedia.cpp b/core/src/loader/http/getthememedia.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getthemesongs.cpp b/core/src/loader/http/getthemesongs.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getthemevideos.cpp b/core/src/loader/http/getthemevideos.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettimer.cpp b/core/src/loader/http/gettimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettimers.cpp b/core/src/loader/http/gettimers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettrailerremotesearchresults.cpp b/core/src/loader/http/gettrailerremotesearchresults.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettrailers.cpp b/core/src/loader/http/gettrailers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/gettunerhosttypes.cpp b/core/src/loader/http/gettunerhosttypes.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getuniversalaudiostream.cpp b/core/src/loader/http/getuniversalaudiostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getupcomingepisodes.cpp b/core/src/loader/http/getupcomingepisodes.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getuserbyid.cpp b/core/src/loader/http/getuserbyid.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getuserimage.cpp b/core/src/loader/http/getuserimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getuserimagebyindex.cpp b/core/src/loader/http/getuserimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getusers.cpp b/core/src/loader/http/getusers.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getuserviews.cpp b/core/src/loader/http/getuserviews.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getutctime.cpp b/core/src/loader/http/getutctime.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getvarianthlsaudioplaylist.cpp b/core/src/loader/http/getvarianthlsaudioplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getvarianthlsvideoplaylist.cpp b/core/src/loader/http/getvarianthlsvideoplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getvideostream.cpp b/core/src/loader/http/getvideostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getvideostreambycontainer.cpp b/core/src/loader/http/getvideostreambycontainer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getvirtualfolders.cpp b/core/src/loader/http/getvirtualfolders.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getwakeonlaninfo.cpp b/core/src/loader/http/getwakeonlaninfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getyear.cpp b/core/src/loader/http/getyear.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/getyears.cpp b/core/src/loader/http/getyears.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headartistimage.cpp b/core/src/loader/http/headartistimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headaudiostream.cpp b/core/src/loader/http/headaudiostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headaudiostreambycontainer.cpp b/core/src/loader/http/headaudiostreambycontainer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headgenreimage.cpp b/core/src/loader/http/headgenreimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headgenreimagebyindex.cpp b/core/src/loader/http/headgenreimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headitemimage.cpp b/core/src/loader/http/headitemimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headitemimage2.cpp b/core/src/loader/http/headitemimage2.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headitemimagebyindex.cpp b/core/src/loader/http/headitemimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headmasterhlsaudioplaylist.cpp b/core/src/loader/http/headmasterhlsaudioplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headmasterhlsvideoplaylist.cpp b/core/src/loader/http/headmasterhlsvideoplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headmusicgenreimage.cpp b/core/src/loader/http/headmusicgenreimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headmusicgenreimagebyindex.cpp b/core/src/loader/http/headmusicgenreimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headpersonimage.cpp b/core/src/loader/http/headpersonimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headpersonimagebyindex.cpp b/core/src/loader/http/headpersonimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headstudioimage.cpp b/core/src/loader/http/headstudioimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headstudioimagebyindex.cpp b/core/src/loader/http/headstudioimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headuniversalaudiostream.cpp b/core/src/loader/http/headuniversalaudiostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headuserimage.cpp b/core/src/loader/http/headuserimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headuserimagebyindex.cpp b/core/src/loader/http/headuserimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headvideostream.cpp b/core/src/loader/http/headvideostream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/headvideostreambycontainer.cpp b/core/src/loader/http/headvideostreambycontainer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/initiate.cpp b/core/src/loader/http/initiate.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/installpackage.cpp b/core/src/loader/http/installpackage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/markfavoriteitem.cpp b/core/src/loader/http/markfavoriteitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/markplayeditem.cpp b/core/src/loader/http/markplayeditem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/markunplayeditem.cpp b/core/src/loader/http/markunplayeditem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/mergeversions.cpp b/core/src/loader/http/mergeversions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/moveitem.cpp b/core/src/loader/http/moveitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/onplaybackprogress.cpp b/core/src/loader/http/onplaybackprogress.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/onplaybackstart.cpp b/core/src/loader/http/onplaybackstart.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/onplaybackstopped.cpp b/core/src/loader/http/onplaybackstopped.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/openlivestream.cpp b/core/src/loader/http/openlivestream.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/pingplaybacksession.cpp b/core/src/loader/http/pingplaybacksession.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/play.cpp b/core/src/loader/http/play.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/post.cpp b/core/src/loader/http/post.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postaddedmovies.cpp b/core/src/loader/http/postaddedmovies.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postaddedseries.cpp b/core/src/loader/http/postaddedseries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postcapabilities.cpp b/core/src/loader/http/postcapabilities.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postfullcapabilities.cpp b/core/src/loader/http/postfullcapabilities.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postpingsystem.cpp b/core/src/loader/http/postpingsystem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postupdatedmedia.cpp b/core/src/loader/http/postupdatedmedia.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postupdatedmovies.cpp b/core/src/loader/http/postupdatedmovies.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postupdatedseries.cpp b/core/src/loader/http/postupdatedseries.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postuserimage.cpp b/core/src/loader/http/postuserimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/postuserimagebyindex.cpp b/core/src/loader/http/postuserimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/processconnectionmanagercontrolrequest.cpp b/core/src/loader/http/processconnectionmanagercontrolrequest.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/processcontentdirectorycontrolrequest.cpp b/core/src/loader/http/processcontentdirectorycontrolrequest.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/processmediareceiverregistrarcontrolrequest.cpp b/core/src/loader/http/processmediareceiverregistrarcontrolrequest.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/refreshlibrary.cpp b/core/src/loader/http/refreshlibrary.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/removefromcollection.cpp b/core/src/loader/http/removefromcollection.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/removefromplaylist.cpp b/core/src/loader/http/removefromplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/removemediapath.cpp b/core/src/loader/http/removemediapath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/removeuserfromsession.cpp b/core/src/loader/http/removeuserfromsession.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/removevirtualfolder.cpp b/core/src/loader/http/removevirtualfolder.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/renamevirtualfolder.cpp b/core/src/loader/http/renamevirtualfolder.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/reportplaybackprogress.cpp b/core/src/loader/http/reportplaybackprogress.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/reportplaybackstart.cpp b/core/src/loader/http/reportplaybackstart.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/reportplaybackstopped.cpp b/core/src/loader/http/reportplaybackstopped.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/reportsessionended.cpp b/core/src/loader/http/reportsessionended.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/reportviewing.cpp b/core/src/loader/http/reportviewing.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/resettuner.cpp b/core/src/loader/http/resettuner.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/restartapplication.cpp b/core/src/loader/http/restartapplication.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/revokekey.cpp b/core/src/loader/http/revokekey.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/searchremotesubtitles.cpp b/core/src/loader/http/searchremotesubtitles.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/sendfullgeneralcommand.cpp b/core/src/loader/http/sendfullgeneralcommand.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/sendgeneralcommand.cpp b/core/src/loader/http/sendgeneralcommand.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/sendmessagecommand.cpp b/core/src/loader/http/sendmessagecommand.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/sendplaystatecommand.cpp b/core/src/loader/http/sendplaystatecommand.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/sendsystemcommand.cpp b/core/src/loader/http/sendsystemcommand.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setchannelmapping.cpp b/core/src/loader/http/setchannelmapping.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setitemimage.cpp b/core/src/loader/http/setitemimage.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setitemimagebyindex.cpp b/core/src/loader/http/setitemimagebyindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setread.cpp b/core/src/loader/http/setread.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setremoteaccess.cpp b/core/src/loader/http/setremoteaccess.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setrepositories.cpp b/core/src/loader/http/setrepositories.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/setunread.cpp b/core/src/loader/http/setunread.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/shutdownapplication.cpp b/core/src/loader/http/shutdownapplication.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/starttask.cpp b/core/src/loader/http/starttask.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/stopencodingprocess.cpp b/core/src/loader/http/stopencodingprocess.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/stoptask.cpp b/core/src/loader/http/stoptask.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaybuffering.cpp b/core/src/loader/http/syncplaybuffering.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaycreategroup.cpp b/core/src/loader/http/syncplaycreategroup.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaygetgroups.cpp b/core/src/loader/http/syncplaygetgroups.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayjoingroup.cpp b/core/src/loader/http/syncplayjoingroup.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayleavegroup.cpp b/core/src/loader/http/syncplayleavegroup.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaymoveplaylistitem.cpp b/core/src/loader/http/syncplaymoveplaylistitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaynextitem.cpp b/core/src/loader/http/syncplaynextitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaypause.cpp b/core/src/loader/http/syncplaypause.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayping.cpp b/core/src/loader/http/syncplayping.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaypreviousitem.cpp b/core/src/loader/http/syncplaypreviousitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayqueue.cpp b/core/src/loader/http/syncplayqueue.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayready.cpp b/core/src/loader/http/syncplayready.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayremovefromplaylist.cpp b/core/src/loader/http/syncplayremovefromplaylist.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayseek.cpp b/core/src/loader/http/syncplayseek.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaysetignorewait.cpp b/core/src/loader/http/syncplaysetignorewait.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaysetnewqueue.cpp b/core/src/loader/http/syncplaysetnewqueue.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaysetplaylistitem.cpp b/core/src/loader/http/syncplaysetplaylistitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaysetrepeatmode.cpp b/core/src/loader/http/syncplaysetrepeatmode.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaysetshufflemode.cpp b/core/src/loader/http/syncplaysetshufflemode.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplaystop.cpp b/core/src/loader/http/syncplaystop.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/syncplayunpause.cpp b/core/src/loader/http/syncplayunpause.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/uninstallplugin.cpp b/core/src/loader/http/uninstallplugin.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/uninstallpluginbyversion.cpp b/core/src/loader/http/uninstallpluginbyversion.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/unmarkfavoriteitem.cpp b/core/src/loader/http/unmarkfavoriteitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateconfiguration.cpp b/core/src/loader/http/updateconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatedeviceoptions.cpp b/core/src/loader/http/updatedeviceoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatedisplaypreferences.cpp b/core/src/loader/http/updatedisplaypreferences.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateinitialconfiguration.cpp b/core/src/loader/http/updateinitialconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateitem.cpp b/core/src/loader/http/updateitem.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateitemcontenttype.cpp b/core/src/loader/http/updateitemcontenttype.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateitemimageindex.cpp b/core/src/loader/http/updateitemimageindex.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatelibraryoptions.cpp b/core/src/loader/http/updatelibraryoptions.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatemediaencoderpath.cpp b/core/src/loader/http/updatemediaencoderpath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatemediapath.cpp b/core/src/loader/http/updatemediapath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatenamedconfiguration.cpp b/core/src/loader/http/updatenamedconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatepluginconfiguration.cpp b/core/src/loader/http/updatepluginconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatepluginsecurityinfo.cpp b/core/src/loader/http/updatepluginsecurityinfo.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateprofile.cpp b/core/src/loader/http/updateprofile.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateseriestimer.cpp b/core/src/loader/http/updateseriestimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatestartupuser.cpp b/core/src/loader/http/updatestartupuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatetask.cpp b/core/src/loader/http/updatetask.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updatetimer.cpp b/core/src/loader/http/updatetimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateuser.cpp b/core/src/loader/http/updateuser.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateuserconfiguration.cpp b/core/src/loader/http/updateuserconfiguration.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateusereasypassword.cpp b/core/src/loader/http/updateusereasypassword.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateuseritemrating.cpp b/core/src/loader/http/updateuseritemrating.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateuserpassword.cpp b/core/src/loader/http/updateuserpassword.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/updateuserpolicy.cpp b/core/src/loader/http/updateuserpolicy.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/uploadsubtitle.cpp b/core/src/loader/http/uploadsubtitle.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/loader/http/validatepath.cpp b/core/src/loader/http/validatepath.cpp new file mode 100644 index 0000000..e69de29 diff --git a/core/src/model/item.cpp b/core/src/model/item.cpp index 3870609..a80426b 100644 --- a/core/src/model/item.cpp +++ b/core/src/model/item.cpp @@ -1,10 +1,69 @@ -#include "JellyfinQt/model/item.h" +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include namespace Jellyfin { namespace Model { -Item::Item(QObject *parent) - : QObject(parent) {} +Item::Item(const DTO::BaseItemDto &data, ApiClient *apiClient) + : DTO::BaseItemDto(data), m_apiClient(apiClient) { + if (m_apiClient != nullptr) { + m_apiClientConnections.append(QObject::connect( + m_apiClient->eventbus(), + &EventBus::itemUserDataUpdated, + [&](auto itemId, auto userData) { + onUserDataUpdated(itemId, userData); + })); + } +} + +Item::~Item() { + for(auto it = m_apiClientConnections.begin(); it != m_apiClientConnections.end(); it++) { + QObject::disconnect(*it); + } +} + +bool Item::sameAs(const Item &other) { + return jellyfinId() == other.jellyfinId(); +} + +void Item::setApiClient(ApiClient *apiClient) { + if (m_apiClient != nullptr) { + for(auto it = m_apiClientConnections.begin(); it != m_apiClientConnections.end(); it++) { + QObject::disconnect(*it); + } + m_apiClientConnections.clear(); + } + this->m_apiClient = apiClient; + if (apiClient != nullptr) { + m_apiClientConnections.append(QObject::connect( + m_apiClient->eventbus(), + &EventBus::itemUserDataUpdated, + [&](auto itemId, auto userData) { + onUserDataUpdated(itemId, userData); + })); + } +} +void Item::onUserDataUpdated(const QString &itemId, const DTO::UserItemDataDto &userData) { + +} } } diff --git a/core/src/remotedata.cpp b/core/src/remotedata.cpp deleted file mode 100644 index 8e53ed4..0000000 --- a/core/src/remotedata.cpp +++ /dev/null @@ -1,304 +0,0 @@ -/* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "JellyfinQt/remotedata.h" -#include "JellyfinQt/apiclient.h" - -namespace Jellyfin { - -/*const QRegularExpression JsonSerializable::m_listExpression = QRegularExpression("^QList<\\s*([a-zA-Z0-9]*)\\s*\\*?\\s*>$"); -const QRegularExpression JsonSerializable::m_hashExpression = QRegularExpression("^QHash<\\s*([a-zA-Z0-9]*)\\s*\\*?\\s*,\\s*([a-zA-Z0-9]*)\\s*\\*?\\s*>$"); -JsonSerializable::JsonSerializable(QObject *parent) : QObject(parent) { } -JsonSerializable::~JsonSerializable() { - if (parent() == nullptr) { - qDebug() << "Deleting" << metaObject()->className() << ", parent: nullptr, ownership: " << QQmlEngine::objectOwnership(this); - } else { - qDebug() << "Deleting" << metaObject()->className() << ", parent: " << parent()->metaObject()->className() - << ", ownership: " << QQmlEngine::objectOwnership(this); - } -} - -void JsonSerializable::deserialize(const QJsonObject &jObj) { - const QMetaObject *obj = this->metaObject(); - - // Loop over each property, - for (int i = 0; i < obj->propertyCount(); i++) { - QMetaProperty prop = obj->property(i); - // Skip properties which are not stored (usually derrived of other properties) - if (!prop.isStored()) continue; - if (!prop.isWritable()) continue; - - // Hardcoded exception for the property id, since its special inside QML - if (QString(prop.name()) == "jellyfinId" && jObj.contains("Id")) { - QJsonValue val = jObj["Id"]; - prop.write(this, jsonToVariant(prop, val, jObj)); - } else if (jObj.contains(toPascalCase(prop.name()))) { - QJsonValue val = jObj[toPascalCase(prop.name())]; - prop.write(this, jsonToVariant(prop, val, jObj)); - } else if (QString(prop.name()).startsWith("__list__")) { - // QML doesn't like it if we expose properties of type QList - // we need to explicitly cast them to QList or QQmlListProperty, which sucks. - // That's why we have a special case for properties starting with __list__. This contains - // the actual QList, so that qml can access the object with its real name. - QString realName = toPascalCase(prop.name() + 8); - if (!jObj.contains(realName)) { - continue; - } - QJsonValue val = jObj[realName]; - QMetaProperty realProp = obj->property(obj->indexOfProperty(prop.name() + 8)); - if (!realProp.write(this, jsonToVariant(prop, val, jObj))) { - qDebug() << "Write to " << prop.name() << "failed"; - } - } - } -} - -QVariant JsonSerializable::jsonToVariant(QMetaProperty prop, const QJsonValue &val, const QJsonObject &root) { - switch(val.type()) { - case QJsonValue::Null: - case QJsonValue::Undefined: - return QVariant(); - case QJsonValue::Bool: - case QJsonValue::String: - return val.toVariant(); - case QJsonValue::Double: - if (prop.type() == QVariant::LongLong) { - return static_cast(val.toDouble(-1)); - } if (prop.type() == QVariant::Int) { - return val.toInt(); - } else { - return val.toDouble(); - } - case QJsonValue::Array: - { - QJsonArray arr = val.toArray(); - QVariantList varArr; - for (auto it = arr.constBegin(); it < arr.constEnd(); it++) { - QVariant variant = jsonToVariant(prop, *it, root); - varArr.append(variant); - } - return QVariant(varArr); - } - case QJsonValue::Object: - QJsonObject innerObj = val.toObject(); - if (prop.userType() == QMetaType::QJsonObject) { - QJsonArray tmp = {innerObj }; - JsonHelper::convertToCamelCase(QJsonValueRef(&tmp, 0)); - return QVariant(innerObj); - } else { - return deserializeQObject(innerObj, prop); - } - } - return QVariant(); -} - -QVariant JsonSerializable::deserializeQObject(const QJsonObject &innerObj, const QMetaProperty &prop) { - int typeNo = prop.userType(); - const QMetaObject *metaType = QMetaType::metaObjectForType(prop.userType()); - if (metaType == nullptr) { - // Try to determine if the type is a qlist - QRegularExpressionMatch listMatch = m_listExpression.match(prop.typeName()); - QRegularExpressionMatch hashMatch = m_hashExpression.match(prop.typeName()); - if (listMatch.hasMatch()) { - // It is a qList! Now extract the inner type - // There should be an easier way, shouldn't there? - QString listType = listMatch.captured(1); - typeNo = findTypeIdForProperty(listType); - metaType = QMetaType::metaObjectForType(typeNo); - } else { - qDebug() << "No metaObject for " << prop.typeName() << ", " << prop.type() << ", " << prop.userType(); - return QVariant(); - } - } - QObject *deserializedInnerObj = metaType->newInstance(); - deserializedInnerObj->setParent(this); - if (JsonSerializable *ser = dynamic_cast(deserializedInnerObj)) { - // qDebug() << "Deserializing user type " << deserializedInnerObj->metaObject()->className(); - ser->deserialize(innerObj); - return QVariant(typeNo, &ser); - } else { - deserializedInnerObj->deleteLater(); - qDebug() << "Object is not a serializable one!"; - return QVariant(); - } -} - -int JsonSerializable::findTypeIdForProperty(QString type) { - // UGLY CODE HERE WE COME - // We assume the type is either in no namespace (Qt Types) or in the Jellyfin::DTO namespace. - int typeNo = QMetaType::type(type.toUtf8()); - if (typeNo == QMetaType::UnknownType) { - typeNo = QMetaType::type(type.prepend("Jellyfin::DTO::").append("*").toUtf8()); - if (typeNo == QMetaType::UnknownType) { - qDebug() << "Unknown type: " << type; - return typeNo; - } - } - return typeNo; -} - -QJsonObject JsonSerializable::serialize(bool capitalize) const { - QJsonObject result; - const QMetaObject *obj = this->metaObject(); - for (int i = 0; i < obj->propertyCount(); i++) { - QMetaProperty prop = obj->property(i); - if (QString(prop.name()) == "jellyfinId") { - result["Id"] = variantToJson(prop.read(this)); - } else { - result[capitalize ? toPascalCase(prop.name()) : prop.name()] = variantToJson(prop.read(this)); - } - } - return result; -} - -QJsonValue JsonSerializable::variantToJson(const QVariant var) const { - switch(var.type()) { - case QVariant::Invalid: - return QJsonValue(); - case QVariant::UserType: - if (var.canConvert()) { - JsonSerializable * obj = var.value(); - return obj->serialize(); - } else { - qWarning() << "Not serializable: " << var.typeName(); - return QJsonValue(); - } - case QVariant::Bool: - return var.toBool(); - case QVariant::List: - { - QVariantList list = var.toList(); - QJsonArray arr; - for (auto it = list.begin(); it < list.end(); it++) { - arr << variantToJson(*it); - } - return arr; - } - default: - if (var.canConvert(QVariant::Double)) { - return var.toDouble(); - } if (var.canConvert(QVariant::String)) { - return var.toString(); - } else { - return QJsonValue(); - } - } -} - -QString JsonSerializable::toPascalCase(QString str) { - str[0] = str[0].toUpper(); - return str; -} - -QString JsonSerializable::fromPascalCase(QString str) { - str[0] = str[0].toLower(); - return str; -}*/ - - -// RemoteData - -bool RemoteDataBase::canReload() const { - return m_apiClient != nullptr && !m_isParsing; -} - -void RemoteDataBase::setStatus(Status newStatus) { - m_status = newStatus; - emit statusChanged(newStatus); - if (newStatus == Ready) emit ready(); -} - -void RemoteDataBase::setError(QNetworkReply::NetworkError error) { - m_error = error; - emit errorChanged(error); -} - -void RemoteDataBase::setErrorString(const QString &newErrorString) { - m_errorString = newErrorString; - emit errorStringChanged(newErrorString); -} - -void RemoteDataBase::setApiClient(ApiClient *newApiClient) { - m_apiClient = newApiClient; - emit apiClientChanged(newApiClient); - if (canReload()) reload(); -} - -void RemoteDataBase::setExtraFields(const QStringList &extraFields) { - if (extraFields != m_extraFields) { - emit extraFieldsChanged(extraFields); - if (canReload()) reload(); - } -} - -void RemoteDataBase::reload() { - if (!canReload() || m_apiClient == nullptr) { - setStatus(Uninitialised); - return; - } else { - setStatus(Loading); - } - QUrlQuery params; - if (m_extraFields.length() > 0) { - params.addQueryItem("fields", m_extraFields.join(",")); - } - QNetworkReply *rep = m_apiClient->get(getDataUrl() + QStringLiteral("?") + params.toString(QUrl::EncodeReserved)); - QObject::connect(rep, &QNetworkReply::finished, this, [this, rep]() { - rep->deleteLater(); - - QJsonParseError error; - QString data(rep->readAll()); - data = data.normalized(QString::NormalizationForm_D); - QJsonDocument doc = QJsonDocument::fromJson(data.toUtf8(), &error); - if (doc.isNull()) { - this->setError(QNetworkReply::ProtocolFailure); - this->setErrorString(error.errorString()); - return; - } - if (!doc.isObject()) { - this->setError(QNetworkReply::ProtocolFailure); - this->setErrorString(tr("Invalid response from the server: root element is not an object.")); - return; - } - this->dataFetched(doc.object()); - this->setStatus(Ready); - }); - QObject::connect(rep, static_cast(&QNetworkReply::error), - this, [this, rep](QNetworkReply::NetworkError error) { - this->setError(error); - this->setErrorString(rep->errorString()); - this->setStatus(Error); - rep->deleteLater(); - }); -} - - -/*RemoteItem::RemoteItem(QObject *parent) - : RemoteData(parent) { } -RemoteItem::RemoteItem(QString itemId, ApiClient *apiClient, QObject *parent) - : RemoteData(parent) {*/ - /*m_data = new BaseItemDto(this); - m_data->setJellyfinId(itemId); - m_apiClient = apiClient; - connect(m_data, &BaseItemDto::jellyfinIdChanged, this, &RemoteItem::jellyfinIdChanged);*/ -//} - -void registerRemoteTypes(const char *uri) { - //qmlRegisterUncreatableType(uri, 1, 0, "JellyfinItem", "Please use RemoteItem instead"); - //qmlRegisterType(uri, 1, 0, "JellyfinItem"); -} - -} // NS Jellyfin diff --git a/core/src/support/jsonconv.cpp b/core/src/support/jsonconv.cpp index b2ed1e9..83b9850 100644 --- a/core/src/support/jsonconv.cpp +++ b/core/src/support/jsonconv.cpp @@ -1,3 +1,21 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ #include "JellyfinQt/support/jsonconv.h" namespace Jellyfin { diff --git a/core/src/support/loader.cpp b/core/src/support/loader.cpp index 85354cf..dcf6175 100644 --- a/core/src/support/loader.cpp +++ b/core/src/support/loader.cpp @@ -1 +1,29 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ #include + +namespace Jellyfin { +namespace Support { + +const char *LoadException::what() const noexcept { + return m_message.c_str(); +} + +} +} diff --git a/core/src/viewmodel/item.cpp b/core/src/viewmodel/item.cpp new file mode 100644 index 0000000..2901e4c --- /dev/null +++ b/core/src/viewmodel/item.cpp @@ -0,0 +1,34 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +#include "JellyfinQt/viewmodel/item.h" + +namespace Jellyfin { +namespace ViewModel { + +Item::Item(QSharedPointer data, QObject *parent) + : QObject(parent), m_data(data){} + +void Item::setData(QSharedPointer newData) { + Model::Item oldData = *m_data.data(); + m_data = newData; +} + +} + +} diff --git a/core/src/viewmodel/loader.cpp b/core/src/viewmodel/loader.cpp new file mode 100644 index 0000000..0fb654e --- /dev/null +++ b/core/src/viewmodel/loader.cpp @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "JellyfinQt/viewmodel/loader.h" +#include "JellyfinQt/apiclient.h" + +namespace Jellyfin { +namespace ViewModel { + +bool LoaderBase::canReload() const { + return m_apiClient != nullptr && !m_isParsing; +} + +void LoaderBase::setStatus(Status newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); + if (newStatus == Ready) emit ready(); +} + +void LoaderBase::setErrorString(const QString &newErrorString) { + m_errorString = newErrorString; + emit errorStringChanged(newErrorString); +} + +void LoaderBase::setApiClient(ApiClient *newApiClient) { + m_apiClient = newApiClient; + emit apiClientChanged(newApiClient); + if (canReload()) reload(); +} + +void LoaderBase::emitDataChanged() { + emit viewModelChanged(); +} + +void registerRemoteTypes(const char *uri) { + //qmlRegisterUncreatableType(uri, 1, 0, "JellyfinItem", "Please use RemoteItem instead"); + //qmlRegisterType(uri, 1, 0, "JellyfinItem"); +} + +} // NS ViewModel +} // NS Jellyfin diff --git a/core/src/playbackmanager.cpp b/core/src/viewmodel/playbackmanager.cpp similarity index 86% rename from core/src/playbackmanager.cpp rename to core/src/viewmodel/playbackmanager.cpp index 8614e52..cbc1d44 100644 --- a/core/src/playbackmanager.cpp +++ b/core/src/viewmodel/playbackmanager.cpp @@ -1,29 +1,28 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#include "JellyfinQt/playbackmanager.h" +#include "JellyfinQt/viewmodel/playbackmanager.h" #include "JellyfinQt/apimodel.h" // #include "JellyfinQt/DTO/dto.h" #include -#include namespace Jellyfin { class ItemModel; @@ -32,9 +31,13 @@ namespace DTO { using UserData = UserItemDataDto; } +namespace ViewModel { + PlaybackManager::PlaybackManager(QObject *parent) - : QObject(parent), m_mediaPlayer1(new QMediaPlayer(this)), m_mediaPlayer2(new QMediaPlayer(this)), - m_item(new Model::Item(this)){ + : QObject(parent), + m_item(nullptr), + m_mediaPlayer1(new QMediaPlayer(this)), + m_mediaPlayer2(new QMediaPlayer(this)) { // Set up connections. swapMediaPlayer(); m_updateTimer.setInterval(10000); // 10 seconds @@ -43,7 +46,7 @@ PlaybackManager::PlaybackManager(QObject *parent) } void PlaybackManager::setApiClient(ApiClient *apiClient) { - //m_item->setApiClient(apiClient); + m_item->setApiClient(apiClient); } void PlaybackManager::fetchStreamUrl(const Model::Item *item, bool autoOpen, const FetchCallback &callback) { @@ -51,11 +54,11 @@ void PlaybackManager::fetchStreamUrl(const Model::Item *item, bool autoOpen, con qDebug() << "Item or apiClient not set"; return; } - QString itemId(Support::uuidToString(item->jellyfinId())); + QString itemId(item->jellyfinId()); m_resumePosition = 0; - if (m_resumePlayback && !item->property("userData").isNull()) { - QSharedPointer userData = m_item->data()->userData(); - if (userData != nullptr) { + if (m_resumePlayback && !item->userData().isNull()) { + QSharedPointer userData = m_item->userData(); + if (!userData.isNull()) { m_resumePosition = userData->playbackPositionTicks(); } } @@ -80,19 +83,19 @@ void PlaybackManager::fetchStreamUrl(const Model::Item *item, bool autoOpen, con if (this->m_autoOpen) { QJsonArray mediaSources = root["MediaSources"].toArray(); QJsonObject firstMediaSource = mediaSources[0].toObject(); - //FIXME: relies on the fact that the returned transcode url always has a query! + //FIXME: relies on the fact that the returned transcode url always has at least one result! if (firstMediaSource.isEmpty()) { qWarning() << "No media source found"; } else if (firstMediaSource["SupportsDirectStream"].toBool()) { QUrlQuery query; query.addQueryItem("mediaSourceId", firstMediaSource["Id"].toString()); - query.addQueryItem("deviceId", m_apiClient->m_deviceId); + query.addQueryItem("deviceId", m_apiClient->deviceId()); query.addQueryItem("api_key", m_apiClient->token()); query.addQueryItem("Static", "True"); QString mediaType = "unknown"; - if (m_item->data()->mediaType() == "Audio") { + if (m_item->mediaType() == "Audio") { mediaType = "Audio"; - } else if (m_item->data()->mediaType() == "Video") { + } else if (m_item->mediaType() == "Video") { mediaType = "Videos"; } QString streamUrl = this->m_apiClient->baseUrl() + "/" + mediaType + "/" + itemId + "/stream." @@ -126,10 +129,13 @@ void PlaybackManager::fetchAndSetStreamUrl(const Model::Item *item) { } -void PlaybackManager::setItem(Model::Item *newItem) { +void PlaybackManager::setItem(ViewModel::Item *newItem) { if (m_mediaPlayer != nullptr) m_mediaPlayer->stop(); - this->m_item = newItem; + + if (newItem != nullptr) { + this->m_item = newItem->data(); + } //emit itemChanged(newItem); if (m_apiClient == nullptr) { @@ -139,7 +145,7 @@ void PlaybackManager::setItem(Model::Item *newItem) { // Deinitialize the streamUrl setStreamUrl(""); if (newItem != nullptr) { - fetchAndSetStreamUrl(newItem); + fetchAndSetStreamUrl(m_item.data()); } } @@ -348,9 +354,10 @@ void PlaybackManager::setQueue(ItemModel *model) { void PlaybackManager::componentComplete() { if (m_apiClient == nullptr) qWarning() << "No ApiClient set for PlaybackManager"; m_qmlIsParsingComponent = false; - if (m_item != nullptr) { - fetchAndSetStreamUrl(m_item); + if (!m_item.isNull()) { + fetchAndSetStreamUrl(m_item.data()); } } -} +} // NS ViewModel +} // NS Jellyfin diff --git a/qtquick/CMakeLists.txt b/qtquick/CMakeLists.txt index 34dbf06..70cc46a 100644 --- a/qtquick/CMakeLists.txt +++ b/qtquick/CMakeLists.txt @@ -4,7 +4,7 @@ set(sailfin_SOURCES qt5_add_resources(sailfin_RESOURCES qml.qrc) add_executable(sailfin ${sailfin_SOURCES} ${sailfin_RESOURCES}) -target_link_libraries(sailfin PUBLIC Qt5::Gui Qt5::Qml Qt5::Quick jellyfin-qt) +target_link_libraries(sailfin PUBLIC Qt5::Gui Qt5::Qml Qt5::Quick JellyfinQt) install(TARGETS sailfin RUNTIME DESTINATION bin diff --git a/qtquick/qml.qrc b/qtquick/qml.qrc index 6307c82..8b7e0a5 100644 --- a/qtquick/qml.qrc +++ b/qtquick/qml.qrc @@ -16,5 +16,7 @@ qml/pages/setup/LoginPage.qml qml/pages/MainPage.qml qml/pages/DetailPage.qml + qml/ApiClient.qml + qml/qmldir diff --git a/qtquick/qml/ApiClient.qml b/qtquick/qml/ApiClient.qml new file mode 100644 index 0000000..4d636e4 --- /dev/null +++ b/qtquick/qml/ApiClient.qml @@ -0,0 +1,7 @@ +pragma Singleton +import QtQuick 2.12 +import nl.netsoj.chris.Jellyfin 1.0 as J + +J.ApiClient { + supportedCommands: [J.GeneralCommandType.Play] +} diff --git a/qtquick/qml/main.qml b/qtquick/qml/main.qml index 0418b9f..9212e5c 100644 --- a/qtquick/qml/main.qml +++ b/qtquick/qml/main.qml @@ -2,10 +2,11 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQuick.Window 2.12 -import nl.netsoj.chris.Jellyfin 1.0 +import nl.netsoj.chris.Jellyfin 1.0 as J import "components" import ".." +import "." ApplicationWindow { id: appWindow diff --git a/qtquick/qml/pages/MainPage.qml b/qtquick/qml/pages/MainPage.qml index d373ad2..dda07f8 100644 --- a/qtquick/qml/pages/MainPage.qml +++ b/qtquick/qml/pages/MainPage.qml @@ -2,7 +2,7 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQuick.Window 2.12 -import nl.netsoj.chris.Jellyfin 1.0 +import nl.netsoj.chris.Jellyfin 1.0 as J import "../components" import "../.." @@ -18,7 +18,7 @@ Page { } } - UserViewModel { + J.UserViewModel { id: mediaLibraryModel apiClient: ApiClient } @@ -33,7 +33,7 @@ Page { model: mediaLibraryModel Column { width: parent.width - UserItemLatestModel { + J.UserItemLatestModel { id: userItemModel apiClient: ApiClient parentId: model.id diff --git a/qtquick/qml/pages/setup/LoginPage.qml b/qtquick/qml/pages/setup/LoginPage.qml index c09e3aa..5dbfd88 100644 --- a/qtquick/qml/pages/setup/LoginPage.qml +++ b/qtquick/qml/pages/setup/LoginPage.qml @@ -1,10 +1,11 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 -import nl.netsoj.chris.Jellyfin 1.0 +import nl.netsoj.chris.Jellyfin 1.0 as J import "../../components" import "../../.." +import "../.." Page { property string loginMessage diff --git a/qtquick/qml/pages/setup/ServerSelectPage.qml b/qtquick/qml/pages/setup/ServerSelectPage.qml index dd8fd32..ed0a23d 100644 --- a/qtquick/qml/pages/setup/ServerSelectPage.qml +++ b/qtquick/qml/pages/setup/ServerSelectPage.qml @@ -1,10 +1,11 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 -import nl.netsoj.chris.Jellyfin 1.0 +import nl.netsoj.chris.Jellyfin 1.0 as J import "../../components" import "../../.." +import "../.." Page { property string selectedServerName @@ -52,7 +53,7 @@ Page { } } - ServerDiscoveryModel { + J.ServerDiscoveryModel { id: discoveryModel } diff --git a/qtquick/qml/qmldir b/qtquick/qml/qmldir new file mode 100644 index 0000000..1e0e2bb --- /dev/null +++ b/qtquick/qml/qmldir @@ -0,0 +1 @@ +singleton ApiClient 1.0 ApiClient.qml