From 40d8793bd8d35cbd69b2340d27b54bf4d12eb1bc Mon Sep 17 00:00:00 2001 From: Chris Josten Date: Sun, 21 Feb 2021 05:02:05 +0100 Subject: [PATCH] WIP: autogenerate models based on OpenAPI --- core/CMakeLists.txt | 27 +- core/GeneratedSources.cmake | 1056 ++++++------- core/include/JellyfinQt/DTO/accessschedule.h | 100 ++ .../include/JellyfinQt/DTO/activitylogentry.h | 146 ++ .../DTO/activitylogentryqueryresult.h | 86 ++ .../JellyfinQt/DTO/addvirtualfolderdto.h | 63 + core/include/JellyfinQt/DTO/albuminfo.h | 163 ++ .../DTO/albuminforemotesearchquery.h | 88 ++ .../JellyfinQt/DTO/allthememediaresult.h | 77 + core/include/JellyfinQt/DTO/architecture.h | 57 + core/include/JellyfinQt/DTO/artistinfo.h | 145 ++ .../DTO/artistinforemotesearchquery.h | 88 ++ .../JellyfinQt/DTO/authenticateuserbyname.h | 83 ++ .../JellyfinQt/DTO/authenticationinfo.h | 159 ++ .../DTO/authenticationinfoqueryresult.h | 86 ++ .../JellyfinQt/DTO/authenticationresult.h | 83 ++ core/include/JellyfinQt/DTO/baseitem.h | 130 ++ core/include/JellyfinQt/DTO/baseitemdto.h | 1310 +++++++++++++++++ .../JellyfinQt/DTO/baseitemdtoqueryresult.h | 86 ++ core/include/JellyfinQt/DTO/baseitemperson.h | 110 ++ .../JellyfinQt/DTO/basepluginconfiguration.h | 0 core/include/JellyfinQt/DTO/bookinfo.h | 141 ++ .../DTO/bookinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/boxsetinfo.h | 135 ++ .../DTO/boxsetinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/brandingoptions.h | 74 + .../include/JellyfinQt/DTO/bufferrequestdto.h | 93 ++ core/include/JellyfinQt/DTO/channelfeatures.h | 170 +++ .../JellyfinQt/DTO/channelitemsortfield.h | 59 + .../JellyfinQt/DTO/channelmappingoptionsdto.h | 98 ++ .../JellyfinQt/DTO/channelmediacontenttype.h | 60 + .../include/JellyfinQt/DTO/channelmediatype.h | 55 + core/include/JellyfinQt/DTO/channeltype.h | 54 + core/include/JellyfinQt/DTO/chapterinfo.h | 96 ++ .../JellyfinQt/DTO/clientcapabilities.h | 122 ++ .../JellyfinQt/DTO/clientcapabilitiesdto.h | 149 ++ core/include/JellyfinQt/DTO/codecprofile.h | 93 ++ core/include/JellyfinQt/DTO/codectype.h | 55 + .../JellyfinQt/DTO/collectioncreationresult.h | 62 + .../JellyfinQt/DTO/configurationpageinfo.h | 118 ++ .../JellyfinQt/DTO/configurationpagetype.h | 54 + .../include/JellyfinQt/DTO/containerprofile.h | 80 + core/include/JellyfinQt/DTO/controlresponse.h | 74 + core/include/JellyfinQt/DTO/countryinfo.h | 92 ++ .../JellyfinQt/DTO/createplaylistdto.h | 94 ++ .../include/JellyfinQt/DTO/createuserbyname.h | 74 + core/include/JellyfinQt/DTO/culturedto.h | 100 ++ core/include/JellyfinQt/DTO/dayofweek.h | 59 + core/include/JellyfinQt/DTO/daypattern.h | 55 + .../DTO/defaultdirectorybrowserinfodto.h | 65 + .../JellyfinQt/DTO/deviceidentification.h | 141 ++ core/include/JellyfinQt/DTO/deviceinfo.h | 131 ++ .../JellyfinQt/DTO/deviceinfoqueryresult.h | 86 ++ core/include/JellyfinQt/DTO/deviceoptions.h | 62 + core/include/JellyfinQt/DTO/deviceprofile.h | 415 ++++++ .../JellyfinQt/DTO/deviceprofileinfo.h | 82 ++ .../JellyfinQt/DTO/deviceprofiletype.h | 54 + .../JellyfinQt/DTO/directplayprofile.h | 82 ++ .../JellyfinQt/DTO/displaypreferencesdto.h | 179 +++ core/include/JellyfinQt/DTO/dlnaprofiletype.h | 55 + .../include/JellyfinQt/DTO/dynamicdayofweek.h | 62 + core/include/JellyfinQt/DTO/encodingcontext.h | 54 + core/include/JellyfinQt/DTO/endpointinfo.h | 67 + core/include/JellyfinQt/DTO/externalidinfo.h | 91 ++ .../JellyfinQt/DTO/externalidmediatype.h | 64 + core/include/JellyfinQt/DTO/externalurl.h | 74 + core/include/JellyfinQt/DTO/ffmpeglocation.h | 56 + .../JellyfinQt/DTO/filesystementryinfo.h | 82 ++ .../JellyfinQt/DTO/filesystementrytype.h | 56 + core/include/JellyfinQt/DTO/fontfile.h | 93 ++ .../JellyfinQt/DTO/forgotpasswordaction.h | 55 + .../JellyfinQt/DTO/forgotpassworddto.h | 65 + .../JellyfinQt/DTO/forgotpasswordresult.h | 83 ++ core/include/JellyfinQt/DTO/generalcommand.h | 76 + .../JellyfinQt/DTO/generalcommandtype.h | 93 ++ core/include/JellyfinQt/DTO/getprogramsdto.h | 326 ++++ core/include/JellyfinQt/DTO/groupinfodto.h | 103 ++ core/include/JellyfinQt/DTO/groupqueuemode.h | 54 + core/include/JellyfinQt/DTO/grouprepeatmode.h | 55 + .../include/JellyfinQt/DTO/groupshufflemode.h | 54 + core/include/JellyfinQt/DTO/groupstatetype.h | 56 + core/include/JellyfinQt/DTO/groupupdatetype.h | 63 + core/include/JellyfinQt/DTO/guideinfo.h | 74 + core/include/JellyfinQt/DTO/headermatchtype.h | 55 + core/include/JellyfinQt/DTO/httpheaderinfo.h | 76 + .../JellyfinQt/DTO/ignorewaitrequestdto.h | 64 + core/include/JellyfinQt/DTO/imagebynameinfo.h | 101 ++ core/include/JellyfinQt/DTO/imageformat.h | 57 + core/include/JellyfinQt/DTO/imageinfo.h | 127 ++ core/include/JellyfinQt/DTO/imageoption.h | 81 + .../include/JellyfinQt/DTO/imageorientation.h | 60 + .../JellyfinQt/DTO/imageproviderinfo.h | 78 + .../JellyfinQt/DTO/imagesavingconvention.h | 54 + core/include/JellyfinQt/DTO/imagetype.h | 65 + .../include/JellyfinQt/DTO/installationinfo.h | 109 ++ core/include/JellyfinQt/DTO/iplugin.h | 118 ++ core/include/JellyfinQt/DTO/isotype.h | 54 + core/include/JellyfinQt/DTO/item.h | 319 +--- core/include/JellyfinQt/DTO/itemcounts.h | 163 ++ core/include/JellyfinQt/DTO/itemfields.h | 113 ++ core/include/JellyfinQt/DTO/itemfilter.h | 61 + .../JellyfinQt/DTO/joingrouprequestdto.h | 65 + core/include/JellyfinQt/DTO/keepuntil.h | 56 + .../JellyfinQt/DTO/libraryoptioninfodto.h | 74 + core/include/JellyfinQt/DTO/libraryoptions.h | 217 +++ .../JellyfinQt/DTO/libraryoptionsresultdto.h | 98 ++ .../JellyfinQt/DTO/librarytypeoptionsdto.h | 109 ++ .../JellyfinQt/DTO/libraryupdateinfo.h | 115 ++ .../JellyfinQt/DTO/listingsproviderinfo.h | 168 +++ .../JellyfinQt/DTO/livestreamresponse.h | 63 + core/include/JellyfinQt/DTO/livetvinfo.h | 86 ++ .../JellyfinQt/DTO/livetvserviceinfo.h | 126 ++ .../JellyfinQt/DTO/livetvservicestatus.h | 54 + .../JellyfinQt/DTO/localizationoption.h | 68 + core/include/JellyfinQt/DTO/locationtype.h | 56 + core/include/JellyfinQt/DTO/logfile.h | 93 ++ core/include/JellyfinQt/DTO/loglevel.h | 59 + core/include/JellyfinQt/DTO/mediaattachment.h | 119 ++ .../JellyfinQt/DTO/mediaencoderpathdto.h | 74 + core/include/JellyfinQt/DTO/mediapathdto.h | 82 ++ core/include/JellyfinQt/DTO/mediapathinfo.h | 68 + core/include/JellyfinQt/DTO/mediaprotocol.h | 59 + core/include/JellyfinQt/DTO/mediasourceinfo.h | 323 ++++ core/include/JellyfinQt/DTO/mediasourcetype.h | 55 + core/include/JellyfinQt/DTO/mediastream.h | 488 +++++- core/include/JellyfinQt/DTO/mediastreamtype.h | 56 + .../JellyfinQt/DTO/mediaupdateinfodto.h | 75 + core/include/JellyfinQt/DTO/mediaurl.h | 68 + .../JellyfinQt/DTO/metadataeditorinfo.h | 100 ++ core/include/JellyfinQt/DTO/metadatafield.h | 61 + core/include/JellyfinQt/DTO/metadataoptions.h | 100 ++ .../JellyfinQt/DTO/metadatarefreshmode.h | 56 + .../DTO/moveplaylistitemrequestdto.h | 74 + core/include/JellyfinQt/DTO/movieinfo.h | 135 ++ .../DTO/movieinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/musicvideoinfo.h | 143 ++ .../DTO/musicvideoinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/namedguidpair.h | 50 - core/include/JellyfinQt/DTO/nameguidpair.h | 68 + core/include/JellyfinQt/DTO/nameidpair.h | 74 + core/include/JellyfinQt/DTO/namevaluepair.h | 74 + .../JellyfinQt/DTO/newgrouprequestdto.h | 65 + .../JellyfinQt/DTO/nextitemrequestdto.h | 65 + core/include/JellyfinQt/DTO/notificationdto.h | 128 ++ .../JellyfinQt/DTO/notificationlevel.h | 55 + .../JellyfinQt/DTO/notificationresultdto.h | 77 + .../JellyfinQt/DTO/notificationssummarydto.h | 72 + .../JellyfinQt/DTO/notificationtypeinfo.h | 86 ++ .../JellyfinQt/DTO/objectgroupupdate.h | 83 ++ .../JellyfinQt/DTO/openlivestreamdto.h | 176 +++ core/include/JellyfinQt/DTO/packageinfo.h | 133 ++ core/include/JellyfinQt/DTO/parentalrating.h | 74 + .../include/JellyfinQt/DTO/pathsubstitution.h | 74 + .../include/JellyfinQt/DTO/personlookupinfo.h | 135 ++ .../DTO/personlookupinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/pingrequestdto.h | 64 + core/include/JellyfinQt/DTO/pinredeemresult.h | 76 + core/include/JellyfinQt/DTO/playaccess.h | 54 + .../JellyfinQt/DTO/playbackerrorcode.h | 55 + core/include/JellyfinQt/DTO/playbackinfodto.h | 190 +++ .../JellyfinQt/DTO/playbackinforesponse.h | 86 ++ .../JellyfinQt/DTO/playbackprogressinfo.h | 220 +++ .../JellyfinQt/DTO/playbackstartinfo.h | 220 +++ .../include/JellyfinQt/DTO/playbackstopinfo.h | 148 ++ core/include/JellyfinQt/DTO/playcommand.h | 57 + core/include/JellyfinQt/DTO/playerstateinfo.h | 143 ++ .../JellyfinQt/DTO/playlistcreationresult.h | 62 + core/include/JellyfinQt/DTO/playmethod.h | 55 + core/include/JellyfinQt/DTO/playrequest.h | 117 ++ core/include/JellyfinQt/DTO/playrequestdto.h | 85 ++ .../include/JellyfinQt/DTO/playstatecommand.h | 61 + .../include/JellyfinQt/DTO/playstaterequest.h | 79 + core/include/JellyfinQt/DTO/plugininfo.h | 126 ++ .../JellyfinQt/DTO/pluginsecurityinfo.h | 74 + core/include/JellyfinQt/DTO/pluginstatus.h | 59 + .../JellyfinQt/DTO/previousitemrequestdto.h | 65 + core/include/JellyfinQt/DTO/problemdetails.h | 86 ++ .../include/JellyfinQt/DTO/profilecondition.h | 83 ++ .../JellyfinQt/DTO/profileconditiontype.h | 57 + .../JellyfinQt/DTO/profileconditionvalue.h | 75 + core/include/JellyfinQt/DTO/programaudio.h | 58 + .../include/JellyfinQt/DTO/publicsysteminfo.h | 119 ++ core/include/JellyfinQt/DTO/queryfilters.h | 71 + .../JellyfinQt/DTO/queryfilterslegacy.h | 82 ++ core/include/JellyfinQt/DTO/queueitem.h | 68 + core/include/JellyfinQt/DTO/queuerequestdto.h | 75 + core/include/JellyfinQt/DTO/quickconnectdto.h | 65 + .../JellyfinQt/DTO/quickconnectresult.h | 111 ++ .../JellyfinQt/DTO/quickconnectstate.h | 55 + core/include/JellyfinQt/DTO/ratingtype.h | 54 + core/include/JellyfinQt/DTO/readyrequestdto.h | 93 ++ .../JellyfinQt/DTO/recommendationdto.h | 86 ++ .../JellyfinQt/DTO/recommendationtype.h | 58 + core/include/JellyfinQt/DTO/recordingstatus.h | 59 + core/include/JellyfinQt/DTO/remoteimageinfo.h | 143 ++ .../JellyfinQt/DTO/remoteimageresult.h | 86 ++ .../JellyfinQt/DTO/remotesearchresult.h | 141 ++ .../JellyfinQt/DTO/remotesubtitleinfo.h | 123 ++ .../DTO/removefromplaylistrequestdto.h | 67 + core/include/JellyfinQt/DTO/repeatmode.h | 55 + core/include/JellyfinQt/DTO/repositoryinfo.h | 83 ++ core/include/JellyfinQt/DTO/responseprofile.h | 104 ++ core/include/JellyfinQt/DTO/scrolldirection.h | 54 + core/include/JellyfinQt/DTO/searchhint.h | 302 ++++ .../include/JellyfinQt/DTO/searchhintresult.h | 77 + core/include/JellyfinQt/DTO/seekrequestdto.h | 64 + core/include/JellyfinQt/DTO/sendcommand.h | 110 ++ core/include/JellyfinQt/DTO/sendcommandtype.h | 56 + core/include/JellyfinQt/DTO/seriesinfo.h | 135 ++ .../DTO/seriesinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/seriesstatus.h | 54 + .../JellyfinQt/DTO/seriestimerinfodto.h | 360 +++++ .../DTO/seriestimerinfodtoqueryresult.h | 86 ++ .../JellyfinQt/DTO/serverconfiguration.h | 766 ++++++++++ core/include/JellyfinQt/DTO/sessioninfo.h | 280 ++++ core/include/JellyfinQt/DTO/sessionuserinfo.h | 74 + .../JellyfinQt/DTO/setchannelmappingdto.h | 83 ++ .../DTO/setplaylistitemrequestdto.h | 65 + .../JellyfinQt/DTO/setrepeatmoderequestdto.h | 63 + .../JellyfinQt/DTO/setshufflemoderequestdto.h | 63 + core/include/JellyfinQt/DTO/songinfo.h | 155 ++ core/include/JellyfinQt/DTO/sortorder.h | 54 + .../JellyfinQt/DTO/specialviewoptiondto.h | 74 + .../JellyfinQt/DTO/startupconfigurationdto.h | 83 ++ .../JellyfinQt/DTO/startupremoteaccessdto.h | 73 + core/include/JellyfinQt/DTO/startupuserdto.h | 74 + .../JellyfinQt/DTO/subtitledeliverymethod.h | 56 + .../JellyfinQt/DTO/subtitleplaybackmode.h | 57 + core/include/JellyfinQt/DTO/subtitleprofile.h | 88 ++ .../JellyfinQt/DTO/syncplayuseraccesstype.h | 55 + core/include/JellyfinQt/DTO/systeminfo.h | 285 ++++ .../JellyfinQt/DTO/taskcompletionstatus.h | 56 + core/include/JellyfinQt/DTO/taskinfo.h | 147 ++ core/include/JellyfinQt/DTO/taskresult.h | 128 ++ core/include/JellyfinQt/DTO/taskstate.h | 55 + core/include/JellyfinQt/DTO/tasktriggerinfo.h | 100 ++ .../include/JellyfinQt/DTO/thememediaresult.h | 96 ++ core/include/JellyfinQt/DTO/timereventinfo.h | 68 + core/include/JellyfinQt/DTO/timerinfodto.h | 301 ++++ .../JellyfinQt/DTO/timerinfodtoqueryresult.h | 86 ++ core/include/JellyfinQt/DTO/trailerinfo.h | 135 ++ .../DTO/trailerinforemotesearchquery.h | 88 ++ core/include/JellyfinQt/DTO/transcodereason.h | 75 + .../JellyfinQt/DTO/transcodeseekinfo.h | 54 + core/include/JellyfinQt/DTO/transcodinginfo.h | 132 ++ .../JellyfinQt/DTO/transcodingprofile.h | 150 ++ .../JellyfinQt/DTO/transportstreamtimestamp.h | 55 + .../JellyfinQt/DTO/tunerchannelmapping.h | 80 + core/include/JellyfinQt/DTO/tunerhostinfo.h | 122 ++ core/include/JellyfinQt/DTO/typeoptions.h | 96 ++ core/include/JellyfinQt/DTO/types.h | 41 - core/include/JellyfinQt/DTO/unrateditem.h | 61 + .../JellyfinQt/DTO/updatelibraryoptionsdto.h | 73 + .../JellyfinQt/DTO/updateusereasypassword.h | 83 ++ .../JellyfinQt/DTO/updateuserpassword.h | 92 ++ .../JellyfinQt/DTO/uploadsubtitledto.h | 92 ++ core/include/JellyfinQt/DTO/user.h | 92 +- .../JellyfinQt/DTO/userconfiguration.h | 159 ++ core/include/JellyfinQt/DTO/userdata.h | 108 +- core/include/JellyfinQt/DTO/userdto.h | 181 +++ core/include/JellyfinQt/DTO/useritemdatadto.h | 156 ++ core/include/JellyfinQt/DTO/userpolicy.h | 312 ++++ core/include/JellyfinQt/DTO/utctimeresponse.h | 74 + core/include/JellyfinQt/DTO/validatepathdto.h | 83 ++ core/include/JellyfinQt/DTO/version.h | 91 ++ core/include/JellyfinQt/DTO/versioninfo.h | 136 ++ core/include/JellyfinQt/DTO/video3dformat.h | 57 + core/include/JellyfinQt/DTO/videotype.h | 56 + .../JellyfinQt/DTO/virtualfolderinfo.h | 123 ++ core/include/JellyfinQt/DTO/wakeonlaninfo.h | 74 + core/include/JellyfinQt/DTO/xmlattribute.h | 74 + core/include/JellyfinQt/apiclient.h | 3 +- core/include/JellyfinQt/apimodel.h | 11 +- core/include/JellyfinQt/jellyfin.h | 12 +- core/include/JellyfinQt/playbackmanager.h | 23 +- .../JellyfinQt/{DTO/dto.h => remotedata.h} | 114 +- core/include/JellyfinQt/websocket.h | 3 +- core/openapigenerator.d | 89 +- core/src/DTO/accessschedule.cpp | 85 ++ core/src/DTO/activitylogentry.cpp | 115 ++ core/src/DTO/activitylogentryqueryresult.cpp | 71 + core/src/DTO/addvirtualfolderdto.cpp | 59 + core/src/DTO/albuminfo.cpp | 131 ++ core/src/DTO/albuminforemotesearchquery.cpp | 77 + core/src/DTO/allthememediaresult.cpp | 71 + core/src/DTO/architecture.cpp | 38 + core/src/DTO/artistinfo.cpp | 119 ++ core/src/DTO/artistinforemotesearchquery.cpp | 77 + core/src/DTO/authenticateuserbyname.cpp | 71 + core/src/DTO/authenticationinfo.cpp | 125 ++ .../src/DTO/authenticationinfoqueryresult.cpp | 71 + core/src/DTO/authenticationresult.cpp | 77 + core/src/DTO/baseitem.cpp | 119 ++ core/src/DTO/baseitemdto.cpp | 970 ++++++++++++ core/src/DTO/baseitemdtoqueryresult.cpp | 71 + core/src/DTO/baseitemperson.cpp | 89 ++ core/src/DTO/basepluginconfiguration.cpp | 0 core/src/DTO/bookinfo.cpp | 119 ++ core/src/DTO/bookinforemotesearchquery.cpp | 77 + core/src/DTO/boxsetinfo.cpp | 113 ++ core/src/DTO/boxsetinforemotesearchquery.cpp | 77 + core/src/DTO/brandingoptions.cpp | 65 + core/src/DTO/bufferrequestdto.cpp | 77 + core/src/DTO/channelfeatures.cpp | 129 ++ core/src/DTO/channelitemsortfield.cpp | 38 + core/src/DTO/channelmappingoptionsdto.cpp | 77 + core/src/DTO/channelmediacontenttype.cpp | 38 + core/src/DTO/channelmediatype.cpp | 38 + core/src/DTO/channeltype.cpp | 38 + core/src/DTO/chapterinfo.cpp | 83 ++ core/src/DTO/clientcapabilities.cpp | 115 ++ core/src/DTO/clientcapabilitiesdto.cpp | 115 ++ core/src/DTO/codecprofile.cpp | 85 ++ core/src/DTO/codectype.cpp | 38 + core/src/DTO/collectioncreationresult.cpp | 59 + core/src/DTO/configurationpageinfo.cpp | 97 ++ core/src/DTO/configurationpagetype.cpp | 38 + core/src/DTO/containerprofile.cpp | 73 + core/src/DTO/controlresponse.cpp | 71 + core/src/DTO/countryinfo.cpp | 77 + core/src/DTO/createplaylistdto.cpp | 77 + core/src/DTO/createuserbyname.cpp | 65 + core/src/DTO/culturedto.cpp | 83 ++ core/src/DTO/dayofweek.cpp | 38 + core/src/DTO/daypattern.cpp | 38 + .../DTO/defaultdirectorybrowserinfodto.cpp | 59 + core/src/DTO/deviceidentification.cpp | 107 ++ core/src/DTO/deviceinfo.cpp | 107 ++ core/src/DTO/deviceinfoqueryresult.cpp | 71 + core/src/DTO/deviceoptions.cpp | 59 + core/src/DTO/deviceprofile.cpp | 287 ++++ core/src/DTO/deviceprofileinfo.cpp | 73 + core/src/DTO/deviceprofiletype.cpp | 38 + core/src/DTO/directplayprofile.cpp | 79 + core/src/DTO/displaypreferencesdto.cpp | 140 ++ core/src/DTO/dlnaprofiletype.cpp | 38 + core/src/DTO/dynamicdayofweek.cpp | 38 + core/src/DTO/encodingcontext.cpp | 38 + core/src/DTO/endpointinfo.cpp | 65 + core/src/DTO/externalidinfo.cpp | 79 + core/src/DTO/externalidmediatype.cpp | 38 + core/src/DTO/externalurl.cpp | 65 + core/src/DTO/ffmpeglocation.cpp | 38 + core/src/DTO/filesystementryinfo.cpp | 73 + core/src/DTO/filesystementrytype.cpp | 38 + core/src/DTO/fontfile.cpp | 77 + core/src/DTO/forgotpasswordaction.cpp | 38 + core/src/DTO/forgotpassworddto.cpp | 59 + core/src/DTO/forgotpasswordresult.cpp | 73 + core/src/DTO/generalcommand.cpp | 73 + core/src/DTO/generalcommandtype.cpp | 38 + core/src/DTO/getprogramsdto.cpp | 218 +++ core/src/DTO/groupinfodto.cpp | 85 ++ core/src/DTO/groupqueuemode.cpp | 38 + core/src/DTO/grouprepeatmode.cpp | 38 + core/src/DTO/groupshufflemode.cpp | 38 + core/src/DTO/groupstatetype.cpp | 38 + core/src/DTO/groupupdatetype.cpp | 38 + core/src/DTO/guideinfo.cpp | 65 + core/src/DTO/headermatchtype.cpp | 38 + core/src/DTO/httpheaderinfo.cpp | 73 + core/src/DTO/ignorewaitrequestdto.cpp | 59 + core/src/DTO/imagebynameinfo.cpp | 83 ++ core/src/DTO/imageformat.cpp | 38 + core/src/DTO/imageinfo.cpp | 103 ++ core/src/DTO/imageoption.cpp | 73 + core/src/DTO/imageorientation.cpp | 38 + core/src/DTO/imageproviderinfo.cpp | 67 + core/src/DTO/imagesavingconvention.cpp | 38 + core/src/DTO/imagetype.cpp | 38 + core/src/DTO/installationinfo.cpp | 89 ++ core/src/DTO/iplugin.cpp | 95 ++ core/src/DTO/isotype.cpp | 38 + core/src/DTO/item.cpp | 63 - core/src/DTO/itemcounts.cpp | 125 ++ core/src/DTO/itemfields.cpp | 38 + core/src/DTO/itemfilter.cpp | 38 + core/src/DTO/joingrouprequestdto.cpp | 59 + core/src/DTO/keepuntil.cpp | 38 + core/src/DTO/libraryoptioninfodto.cpp | 65 + core/src/DTO/libraryoptions.cpp | 203 +++ core/src/DTO/libraryoptionsresultdto.cpp | 77 + core/src/DTO/librarytypeoptionsdto.cpp | 85 ++ core/src/DTO/libraryupdateinfo.cpp | 95 ++ core/src/DTO/listingsproviderinfo.cpp | 161 ++ core/src/DTO/livestreamresponse.cpp | 59 + core/src/DTO/livetvinfo.cpp | 71 + core/src/DTO/livetvserviceinfo.cpp | 103 ++ core/src/DTO/livetvservicestatus.cpp | 38 + core/src/DTO/localizationoption.cpp | 65 + core/src/DTO/locationtype.cpp | 38 + core/src/DTO/logfile.cpp | 77 + core/src/DTO/loglevel.cpp | 38 + core/src/DTO/mediaattachment.cpp | 95 ++ core/src/DTO/mediaencoderpathdto.cpp | 65 + core/src/DTO/mediapathdto.cpp | 71 + core/src/DTO/mediapathinfo.cpp | 65 + core/src/DTO/mediaprotocol.cpp | 38 + core/src/DTO/mediasourceinfo.cpp | 312 ++++ core/src/DTO/mediasourcetype.cpp | 38 + core/src/DTO/mediastream.cpp | 361 ++++- core/src/DTO/mediastreamtype.cpp | 38 + core/src/DTO/mediaupdateinfodto.cpp | 65 + core/src/DTO/mediaurl.cpp | 65 + core/src/DTO/metadataeditorinfo.cpp | 89 ++ core/src/DTO/metadatafield.cpp | 38 + core/src/DTO/metadataoptions.cpp | 95 ++ core/src/DTO/metadatarefreshmode.cpp | 38 + core/src/DTO/moveplaylistitemrequestdto.cpp | 65 + core/src/DTO/movieinfo.cpp | 113 ++ core/src/DTO/movieinforemotesearchquery.cpp | 77 + core/src/DTO/musicvideoinfo.cpp | 119 ++ .../DTO/musicvideoinforemotesearchquery.cpp | 77 + core/src/DTO/namedguidpair.cpp | 27 - core/src/DTO/nameguidpair.cpp | 65 + core/src/DTO/nameidpair.cpp | 65 + core/src/DTO/namevaluepair.cpp | 65 + core/src/DTO/newgrouprequestdto.cpp | 59 + core/src/DTO/nextitemrequestdto.cpp | 59 + core/src/DTO/notificationdto.cpp | 103 ++ core/src/DTO/notificationlevel.cpp | 38 + core/src/DTO/notificationresultdto.cpp | 65 + core/src/DTO/notificationssummarydto.cpp | 67 + core/src/DTO/notificationtypeinfo.cpp | 83 ++ core/src/DTO/objectgroupupdate.cpp | 73 + core/src/DTO/openlivestreamdto.cpp | 133 ++ core/src/DTO/packageinfo.cpp | 101 ++ core/src/DTO/parentalrating.cpp | 65 + core/src/DTO/pathsubstitution.cpp | 65 + core/src/DTO/personlookupinfo.cpp | 113 ++ .../DTO/personlookupinforemotesearchquery.cpp | 77 + core/src/DTO/pingrequestdto.cpp | 59 + core/src/DTO/pinredeemresult.cpp | 65 + core/src/DTO/playaccess.cpp | 38 + core/src/DTO/playbackerrorcode.cpp | 38 + core/src/DTO/playbackinfodto.cpp | 143 ++ core/src/DTO/playbackinforesponse.cpp | 73 + core/src/DTO/playbackprogressinfo.cpp | 176 +++ core/src/DTO/playbackstartinfo.cpp | 176 +++ core/src/DTO/playbackstopinfo.cpp | 119 ++ core/src/DTO/playcommand.cpp | 38 + core/src/DTO/playerstateinfo.cpp | 116 ++ core/src/DTO/playlistcreationresult.cpp | 59 + core/src/DTO/playmethod.cpp | 38 + core/src/DTO/playrequest.cpp | 103 ++ core/src/DTO/playrequestdto.cpp | 71 + core/src/DTO/playstatecommand.cpp | 38 + core/src/DTO/playstaterequest.cpp | 73 + core/src/DTO/plugininfo.cpp | 103 ++ core/src/DTO/pluginsecurityinfo.cpp | 65 + core/src/DTO/pluginstatus.cpp | 38 + core/src/DTO/previousitemrequestdto.cpp | 59 + core/src/DTO/problemdetails.cpp | 83 ++ core/src/DTO/profilecondition.cpp | 80 + core/src/DTO/profileconditiontype.cpp | 38 + core/src/DTO/profileconditionvalue.cpp | 38 + core/src/DTO/programaudio.cpp | 38 + core/src/DTO/publicsysteminfo.cpp | 95 ++ core/src/DTO/queryfilters.cpp | 65 + core/src/DTO/queryfilterslegacy.cpp | 77 + core/src/DTO/queueitem.cpp | 65 + core/src/DTO/queuerequestdto.cpp | 67 + core/src/DTO/quickconnectdto.cpp | 59 + core/src/DTO/quickconnectresult.cpp | 89 ++ core/src/DTO/quickconnectstate.cpp | 38 + core/src/DTO/ratingtype.cpp | 38 + core/src/DTO/readyrequestdto.cpp | 77 + core/src/DTO/recommendationdto.cpp | 79 + core/src/DTO/recommendationtype.cpp | 38 + core/src/DTO/recordingstatus.cpp | 38 + core/src/DTO/remoteimageinfo.cpp | 116 ++ core/src/DTO/remoteimageresult.cpp | 71 + core/src/DTO/remotesearchresult.cpp | 125 ++ core/src/DTO/remotesubtitleinfo.cpp | 119 ++ core/src/DTO/removefromplaylistrequestdto.cpp | 59 + core/src/DTO/repeatmode.cpp | 38 + core/src/DTO/repositoryinfo.cpp | 71 + core/src/DTO/responseprofile.cpp | 97 ++ core/src/DTO/scrolldirection.cpp | 38 + core/src/DTO/searchhint.cpp | 227 +++ core/src/DTO/searchhintresult.cpp | 65 + core/src/DTO/seekrequestdto.cpp | 59 + core/src/DTO/sendcommand.cpp | 91 ++ core/src/DTO/sendcommandtype.cpp | 38 + core/src/DTO/seriesinfo.cpp | 113 ++ core/src/DTO/seriesinforemotesearchquery.cpp | 77 + core/src/DTO/seriesstatus.cpp | 38 + core/src/DTO/seriestimerinfodto.cpp | 267 ++++ .../src/DTO/seriestimerinfodtoqueryresult.cpp | 71 + core/src/DTO/serverconfiguration.cpp | 565 +++++++ core/src/DTO/sessioninfo.cpp | 223 +++ core/src/DTO/sessionuserinfo.cpp | 65 + core/src/DTO/setchannelmappingdto.cpp | 71 + core/src/DTO/setplaylistitemrequestdto.cpp | 59 + core/src/DTO/setrepeatmoderequestdto.cpp | 61 + core/src/DTO/setshufflemoderequestdto.cpp | 61 + core/src/DTO/songinfo.cpp | 131 ++ core/src/DTO/sortorder.cpp | 38 + core/src/DTO/specialviewoptiondto.cpp | 65 + core/src/DTO/startupconfigurationdto.cpp | 71 + core/src/DTO/startupremoteaccessdto.cpp | 65 + core/src/DTO/startupuserdto.cpp | 65 + core/src/DTO/subtitledeliverymethod.cpp | 38 + core/src/DTO/subtitleplaybackmode.cpp | 38 + core/src/DTO/subtitleprofile.cpp | 85 ++ core/src/DTO/syncplayuseraccesstype.cpp | 38 + core/src/DTO/systeminfo.cpp | 212 +++ core/src/DTO/taskcompletionstatus.cpp | 38 + core/src/DTO/taskinfo.cpp | 115 ++ core/src/DTO/taskresult.cpp | 103 ++ core/src/DTO/taskstate.cpp | 38 + core/src/DTO/tasktriggerinfo.cpp | 85 ++ core/src/DTO/thememediaresult.cpp | 77 + core/src/DTO/timereventinfo.cpp | 65 + core/src/DTO/timerinfodto.cpp | 224 +++ core/src/DTO/timerinfodtoqueryresult.cpp | 71 + core/src/DTO/trailerinfo.cpp | 113 ++ core/src/DTO/trailerinforemotesearchquery.cpp | 77 + core/src/DTO/transcodereason.cpp | 38 + core/src/DTO/transcodeseekinfo.cpp | 38 + core/src/DTO/transcodinginfo.cpp | 127 ++ core/src/DTO/transcodingprofile.cpp | 147 ++ core/src/DTO/transportstreamtimestamp.cpp | 38 + core/src/DTO/tunerchannelmapping.cpp | 77 + core/src/DTO/tunerhostinfo.cpp | 119 ++ core/src/DTO/typeoptions.cpp | 89 ++ core/src/DTO/types.cpp | 36 - core/src/DTO/unrateditem.cpp | 38 + core/src/DTO/updatelibraryoptionsdto.cpp | 65 + core/src/DTO/updateusereasypassword.cpp | 71 + core/src/DTO/updateuserpassword.cpp | 77 + core/src/DTO/uploadsubtitledto.cpp | 77 + core/src/DTO/user.cpp | 36 - core/src/DTO/userconfiguration.cpp | 145 ++ core/src/DTO/userdata.cpp | 58 - core/src/DTO/userdto.cpp | 137 ++ core/src/DTO/useritemdatadto.cpp | 119 ++ core/src/DTO/userpolicy.cpp | 290 ++++ core/src/DTO/utctimeresponse.cpp | 65 + core/src/DTO/validatepathdto.cpp | 71 + core/src/DTO/version.cpp | 89 ++ core/src/DTO/versioninfo.cpp | 107 ++ core/src/DTO/video3dformat.cpp | 38 + core/src/DTO/videotype.cpp | 38 + core/src/DTO/virtualfolderinfo.cpp | 101 ++ core/src/DTO/wakeonlaninfo.cpp | 65 + core/src/DTO/xmlattribute.cpp | 65 + core/src/apimodel.cpp | 14 +- core/src/jellyfin.cpp | 3 +- core/src/playbackmanager.cpp | 64 +- core/src/{DTO/dto.cpp => remotedata.cpp} | 55 +- core/src/websocket.cpp | 6 +- sailfish/src/harbour-sailfin.cpp | 4 +- 553 files changed, 50785 insertions(+), 1500 deletions(-) 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/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 delete mode 100644 core/include/JellyfinQt/DTO/namedguidpair.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 delete mode 100644 core/include/JellyfinQt/DTO/types.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 rename core/include/JellyfinQt/{DTO/dto.h => remotedata.h} (66%) 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/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 delete mode 100644 core/src/DTO/namedguidpair.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 delete mode 100644 core/src/DTO/types.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 rename core/src/{DTO/dto.cpp => remotedata.cpp} (86%) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 7ac62dc..c35270c 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -5,13 +5,7 @@ include(GNUInstallDirs) include(GeneratedSources.cmake) set(jellyfin-qt_SOURCES - src/DTO/dto.cpp - src/DTO/item.cpp - src/DTO/namedguidpair.cpp - src/DTO/mediastream.cpp - src/DTO/types.cpp - src/DTO/user.cpp - src/DTO/userdata.cpp + # src/DTO/dto.cpp src/apiclient.cpp src/apimodel.cpp src/credentialmanager.cpp @@ -19,19 +13,14 @@ set(jellyfin-qt_SOURCES src/jellyfin.cpp src/jsonhelper.cpp src/playbackmanager.cpp + src/remotedata.cpp src/serverdiscoverymodel.cpp src/websocket.cpp) -list(APPEND jellyfin-qt_SOURCES openapi_HEADERS) +list(APPEND jellyfin-qt_SOURCES ${openapi_SOURCES}) set(jellyfin-qt_HEADERS - include/JellyfinQt/DTO/dto.h - include/JellyfinQt/DTO/item.h - include/JellyfinQt/DTO/mediastream.h - include/JellyfinQt/DTO/namedguidpair.h - include/JellyfinQt/DTO/types.h - include/JellyfinQt/DTO/userdata.h - include/JellyfinQt/DTO/user.h + # include/JellyfinQt/DTO/dto.h include/JellyfinQt/apiclient.h include/JellyfinQt/apimodel.h include/JellyfinQt/credentialmanager.h @@ -39,18 +28,22 @@ set(jellyfin-qt_HEADERS include/JellyfinQt/jellyfin.h include/JellyfinQt/jsonhelper.h include/JellyfinQt/playbackmanager.h + include/JellyfinQt/remotedata.h include/JellyfinQt/serverdiscoverymodel.h include/JellyfinQt/websocket.h) -list(APPEND jellyfin-qt_SOURCES openapi_SOURCES) +list(APPEND jellyfin-qt_SOURCES ${openapi_HEADERS}) add_definitions(-DSAILFIN_VERSION=\"${SAILFIN_VERSION}\") if (PLATFORM_SAILFISHOS) add_definitions(-DPLATFORM_SAILFISHOS=1) endif() add_library(jellyfin-qt ${jellyfin-qt_SOURCES} ${jellyfin-qt_HEADERS}) +if(${CMAKE_VERSION} VERSION_GREATER "3.16.0") + target_precompile_headers(jellyfin-qt PRIVATE ${jellyfin-qt_HEADERS}) +endif() target_include_directories(jellyfin-qt - PUBLIC "include" + PUBLIC "include" "generated/include" ) target_link_libraries(jellyfin-qt PUBLIC Qt5::Core Qt5::Multimedia Qt5::Network Qt5::Qml Qt5::WebSockets) set_target_properties(jellyfin-qt PROPERTIES CXX_VISIBILITY_PRESET default) diff --git a/core/GeneratedSources.cmake b/core/GeneratedSources.cmake index 4528ae6..34c476a 100644 --- a/core/GeneratedSources.cmake +++ b/core/GeneratedSources.cmake @@ -31,533 +31,533 @@ cmake_minimum_required(VERSION 3.0) ]] set(openapi_HEADERS - generated/include/JellyfinQt/DTO/loglevel.h - generated/include/JellyfinQt/DTO/activitylogentry.h - generated/include/JellyfinQt/DTO/activitylogentryqueryresult.h - generated/include/JellyfinQt/DTO/authenticationinfo.h - generated/include/JellyfinQt/DTO/authenticationinfoqueryresult.h - generated/include/JellyfinQt/DTO/itemfields.h - generated/include/JellyfinQt/DTO/itemfilter.h - generated/include/JellyfinQt/DTO/imagetype.h - generated/include/JellyfinQt/DTO/video3dformat.h - generated/include/JellyfinQt/DTO/externalurl.h - generated/include/JellyfinQt/DTO/mediaprotocol.h - generated/include/JellyfinQt/DTO/mediasourcetype.h - generated/include/JellyfinQt/DTO/videotype.h - generated/include/JellyfinQt/DTO/isotype.h - generated/include/JellyfinQt/DTO/mediastreamtype.h - generated/include/JellyfinQt/DTO/subtitledeliverymethod.h - generated/include/JellyfinQt/DTO/mediastream.h - generated/include/JellyfinQt/DTO/mediaattachment.h - generated/include/JellyfinQt/DTO/transportstreamtimestamp.h - generated/include/JellyfinQt/DTO/mediasourceinfo.h - generated/include/JellyfinQt/DTO/playaccess.h - generated/include/JellyfinQt/DTO/mediaurl.h - generated/include/JellyfinQt/DTO/baseitemperson.h - generated/include/JellyfinQt/DTO/nameguidpair.h - generated/include/JellyfinQt/DTO/useritemdatadto.h - generated/include/JellyfinQt/DTO/dayofweek.h - generated/include/JellyfinQt/DTO/chapterinfo.h - generated/include/JellyfinQt/DTO/locationtype.h - generated/include/JellyfinQt/DTO/metadatafield.h - generated/include/JellyfinQt/DTO/imageorientation.h - generated/include/JellyfinQt/DTO/channeltype.h - generated/include/JellyfinQt/DTO/programaudio.h - generated/include/JellyfinQt/DTO/baseitemdto.h - generated/include/JellyfinQt/DTO/baseitemdtoqueryresult.h - generated/include/JellyfinQt/DTO/encodingcontext.h - generated/include/JellyfinQt/DTO/brandingoptions.h - generated/include/JellyfinQt/DTO/channelmediatype.h - generated/include/JellyfinQt/DTO/channelmediacontenttype.h - generated/include/JellyfinQt/DTO/channelitemsortfield.h - generated/include/JellyfinQt/DTO/channelfeatures.h - generated/include/JellyfinQt/DTO/collectioncreationresult.h - generated/include/JellyfinQt/DTO/version.h - generated/include/JellyfinQt/DTO/imagesavingconvention.h - generated/include/JellyfinQt/DTO/metadataoptions.h - generated/include/JellyfinQt/DTO/namevaluepair.h - generated/include/JellyfinQt/DTO/repositoryinfo.h - generated/include/JellyfinQt/DTO/pathsubstitution.h - generated/include/JellyfinQt/DTO/serverconfiguration.h - generated/include/JellyfinQt/DTO/mediaencoderpathdto.h - generated/include/JellyfinQt/DTO/problemdetails.h - generated/include/JellyfinQt/DTO/configurationpagetype.h - generated/include/JellyfinQt/DTO/configurationpageinfo.h - generated/include/JellyfinQt/DTO/generalcommandtype.h - generated/include/JellyfinQt/DTO/headermatchtype.h - generated/include/JellyfinQt/DTO/httpheaderinfo.h - generated/include/JellyfinQt/DTO/deviceidentification.h - generated/include/JellyfinQt/DTO/xmlattribute.h - generated/include/JellyfinQt/DTO/dlnaprofiletype.h - generated/include/JellyfinQt/DTO/directplayprofile.h - generated/include/JellyfinQt/DTO/transcodeseekinfo.h - generated/include/JellyfinQt/DTO/transcodingprofile.h - generated/include/JellyfinQt/DTO/profileconditiontype.h - generated/include/JellyfinQt/DTO/profileconditionvalue.h - generated/include/JellyfinQt/DTO/profilecondition.h - generated/include/JellyfinQt/DTO/containerprofile.h - generated/include/JellyfinQt/DTO/codectype.h - generated/include/JellyfinQt/DTO/codecprofile.h - generated/include/JellyfinQt/DTO/responseprofile.h - generated/include/JellyfinQt/DTO/subtitleprofile.h - generated/include/JellyfinQt/DTO/deviceprofile.h - generated/include/JellyfinQt/DTO/clientcapabilities.h - generated/include/JellyfinQt/DTO/deviceinfo.h - generated/include/JellyfinQt/DTO/deviceinfoqueryresult.h - generated/include/JellyfinQt/DTO/deviceoptions.h - generated/include/JellyfinQt/DTO/scrolldirection.h - generated/include/JellyfinQt/DTO/sortorder.h - generated/include/JellyfinQt/DTO/displaypreferencesdto.h - generated/include/JellyfinQt/DTO/deviceprofiletype.h - generated/include/JellyfinQt/DTO/deviceprofileinfo.h - generated/include/JellyfinQt/DTO/controlresponse.h - generated/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h - generated/include/JellyfinQt/DTO/filesystementrytype.h - generated/include/JellyfinQt/DTO/filesystementryinfo.h - generated/include/JellyfinQt/DTO/validatepathdto.h - generated/include/JellyfinQt/DTO/queryfilterslegacy.h - generated/include/JellyfinQt/DTO/queryfilters.h - generated/include/JellyfinQt/DTO/imageformat.h - generated/include/JellyfinQt/DTO/imageinfo.h - generated/include/JellyfinQt/DTO/imagebynameinfo.h - generated/include/JellyfinQt/DTO/externalidmediatype.h - generated/include/JellyfinQt/DTO/externalidinfo.h - generated/include/JellyfinQt/DTO/remotesearchresult.h - generated/include/JellyfinQt/DTO/bookinfo.h - generated/include/JellyfinQt/DTO/bookinforemotesearchquery.h - generated/include/JellyfinQt/DTO/boxsetinfo.h - generated/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h - generated/include/JellyfinQt/DTO/movieinfo.h - generated/include/JellyfinQt/DTO/movieinforemotesearchquery.h - generated/include/JellyfinQt/DTO/songinfo.h - generated/include/JellyfinQt/DTO/albuminfo.h - generated/include/JellyfinQt/DTO/albuminforemotesearchquery.h - generated/include/JellyfinQt/DTO/artistinfo.h - generated/include/JellyfinQt/DTO/artistinforemotesearchquery.h - generated/include/JellyfinQt/DTO/musicvideoinfo.h - generated/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.h - generated/include/JellyfinQt/DTO/personlookupinfo.h - generated/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h - generated/include/JellyfinQt/DTO/seriesinfo.h - generated/include/JellyfinQt/DTO/seriesinforemotesearchquery.h - generated/include/JellyfinQt/DTO/trailerinfo.h - generated/include/JellyfinQt/DTO/trailerinforemotesearchquery.h - generated/include/JellyfinQt/DTO/metadatarefreshmode.h - generated/include/JellyfinQt/DTO/seriesstatus.h - generated/include/JellyfinQt/DTO/parentalrating.h - generated/include/JellyfinQt/DTO/countryinfo.h - generated/include/JellyfinQt/DTO/culturedto.h - generated/include/JellyfinQt/DTO/metadataeditorinfo.h - generated/include/JellyfinQt/DTO/thememediaresult.h - generated/include/JellyfinQt/DTO/allthememediaresult.h - generated/include/JellyfinQt/DTO/itemcounts.h - generated/include/JellyfinQt/DTO/libraryoptioninfodto.h - generated/include/JellyfinQt/DTO/imageoption.h - generated/include/JellyfinQt/DTO/librarytypeoptionsdto.h - generated/include/JellyfinQt/DTO/libraryoptionsresultdto.h - generated/include/JellyfinQt/DTO/mediaupdateinfodto.h - generated/include/JellyfinQt/DTO/mediapathinfo.h - generated/include/JellyfinQt/DTO/typeoptions.h - generated/include/JellyfinQt/DTO/libraryoptions.h - generated/include/JellyfinQt/DTO/virtualfolderinfo.h - generated/include/JellyfinQt/DTO/addvirtualfolderdto.h - generated/include/JellyfinQt/DTO/updatelibraryoptionsdto.h - generated/include/JellyfinQt/DTO/mediapathdto.h - generated/include/JellyfinQt/DTO/tunerchannelmapping.h - generated/include/JellyfinQt/DTO/nameidpair.h - generated/include/JellyfinQt/DTO/channelmappingoptionsdto.h - generated/include/JellyfinQt/DTO/setchannelmappingdto.h - generated/include/JellyfinQt/DTO/guideinfo.h - generated/include/JellyfinQt/DTO/livetvservicestatus.h - generated/include/JellyfinQt/DTO/livetvserviceinfo.h - generated/include/JellyfinQt/DTO/livetvinfo.h - generated/include/JellyfinQt/DTO/listingsproviderinfo.h - generated/include/JellyfinQt/DTO/getprogramsdto.h - generated/include/JellyfinQt/DTO/recordingstatus.h - generated/include/JellyfinQt/DTO/keepuntil.h - generated/include/JellyfinQt/DTO/daypattern.h - generated/include/JellyfinQt/DTO/seriestimerinfodto.h - generated/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.h - generated/include/JellyfinQt/DTO/timerinfodto.h - generated/include/JellyfinQt/DTO/timerinfodtoqueryresult.h - generated/include/JellyfinQt/DTO/tunerhostinfo.h - generated/include/JellyfinQt/DTO/localizationoption.h - generated/include/JellyfinQt/DTO/playbackerrorcode.h - generated/include/JellyfinQt/DTO/playbackinforesponse.h - generated/include/JellyfinQt/DTO/playbackinfodto.h - generated/include/JellyfinQt/DTO/openlivestreamdto.h - generated/include/JellyfinQt/DTO/livestreamresponse.h - generated/include/JellyfinQt/DTO/recommendationtype.h - generated/include/JellyfinQt/DTO/recommendationdto.h - generated/include/JellyfinQt/DTO/notificationlevel.h - generated/include/JellyfinQt/DTO/notificationdto.h - generated/include/JellyfinQt/DTO/notificationresultdto.h - generated/include/JellyfinQt/DTO/notificationssummarydto.h - generated/include/JellyfinQt/DTO/notificationtypeinfo.h - generated/include/JellyfinQt/DTO/versioninfo.h - generated/include/JellyfinQt/DTO/packageinfo.h - generated/include/JellyfinQt/DTO/createplaylistdto.h - generated/include/JellyfinQt/DTO/playlistcreationresult.h - generated/include/JellyfinQt/DTO/playmethod.h - generated/include/JellyfinQt/DTO/repeatmode.h - generated/include/JellyfinQt/DTO/queueitem.h - generated/include/JellyfinQt/DTO/playbackstartinfo.h - generated/include/JellyfinQt/DTO/playbackprogressinfo.h - generated/include/JellyfinQt/DTO/playbackstopinfo.h - generated/include/JellyfinQt/DTO/pluginstatus.h - generated/include/JellyfinQt/DTO/plugininfo.h - generated/include/JellyfinQt/DTO/basepluginconfiguration.h - generated/include/JellyfinQt/DTO/pluginsecurityinfo.h - generated/include/JellyfinQt/DTO/quickconnectstate.h - generated/include/JellyfinQt/DTO/quickconnectresult.h - generated/include/JellyfinQt/DTO/ratingtype.h - generated/include/JellyfinQt/DTO/remoteimageinfo.h - generated/include/JellyfinQt/DTO/remoteimageresult.h - generated/include/JellyfinQt/DTO/imageproviderinfo.h - generated/include/JellyfinQt/DTO/taskstate.h - generated/include/JellyfinQt/DTO/taskcompletionstatus.h - generated/include/JellyfinQt/DTO/taskresult.h - generated/include/JellyfinQt/DTO/tasktriggerinfo.h - generated/include/JellyfinQt/DTO/taskinfo.h - generated/include/JellyfinQt/DTO/searchhint.h - generated/include/JellyfinQt/DTO/searchhintresult.h - generated/include/JellyfinQt/DTO/playerstateinfo.h - generated/include/JellyfinQt/DTO/sessionuserinfo.h - generated/include/JellyfinQt/DTO/baseitem.h - generated/include/JellyfinQt/DTO/transcodereason.h - generated/include/JellyfinQt/DTO/transcodinginfo.h - generated/include/JellyfinQt/DTO/sessioninfo.h - generated/include/JellyfinQt/DTO/generalcommand.h - generated/include/JellyfinQt/DTO/playcommand.h - generated/include/JellyfinQt/DTO/playstatecommand.h - generated/include/JellyfinQt/DTO/clientcapabilitiesdto.h - generated/include/JellyfinQt/DTO/startupconfigurationdto.h - generated/include/JellyfinQt/DTO/startupuserdto.h - generated/include/JellyfinQt/DTO/startupremoteaccessdto.h - generated/include/JellyfinQt/DTO/fontfile.h - generated/include/JellyfinQt/DTO/remotesubtitleinfo.h - generated/include/JellyfinQt/DTO/uploadsubtitledto.h - generated/include/JellyfinQt/DTO/bufferrequestdto.h - generated/include/JellyfinQt/DTO/joingrouprequestdto.h - generated/include/JellyfinQt/DTO/groupstatetype.h - generated/include/JellyfinQt/DTO/groupinfodto.h - generated/include/JellyfinQt/DTO/moveplaylistitemrequestdto.h - generated/include/JellyfinQt/DTO/newgrouprequestdto.h - generated/include/JellyfinQt/DTO/nextitemrequestdto.h - generated/include/JellyfinQt/DTO/pingrequestdto.h - generated/include/JellyfinQt/DTO/previousitemrequestdto.h - generated/include/JellyfinQt/DTO/groupqueuemode.h - generated/include/JellyfinQt/DTO/queuerequestdto.h - generated/include/JellyfinQt/DTO/readyrequestdto.h - generated/include/JellyfinQt/DTO/removefromplaylistrequestdto.h - generated/include/JellyfinQt/DTO/seekrequestdto.h - generated/include/JellyfinQt/DTO/ignorewaitrequestdto.h - generated/include/JellyfinQt/DTO/playrequestdto.h - generated/include/JellyfinQt/DTO/setplaylistitemrequestdto.h - generated/include/JellyfinQt/DTO/grouprepeatmode.h - generated/include/JellyfinQt/DTO/setrepeatmoderequestdto.h - generated/include/JellyfinQt/DTO/groupshufflemode.h - generated/include/JellyfinQt/DTO/setshufflemoderequestdto.h - generated/include/JellyfinQt/DTO/endpointinfo.h - generated/include/JellyfinQt/DTO/installationinfo.h - generated/include/JellyfinQt/DTO/ffmpeglocation.h - generated/include/JellyfinQt/DTO/architecture.h - generated/include/JellyfinQt/DTO/systeminfo.h - generated/include/JellyfinQt/DTO/publicsysteminfo.h - generated/include/JellyfinQt/DTO/logfile.h - generated/include/JellyfinQt/DTO/wakeonlaninfo.h - generated/include/JellyfinQt/DTO/utctimeresponse.h - generated/include/JellyfinQt/DTO/subtitleplaybackmode.h - generated/include/JellyfinQt/DTO/userconfiguration.h - generated/include/JellyfinQt/DTO/dynamicdayofweek.h - generated/include/JellyfinQt/DTO/accessschedule.h - generated/include/JellyfinQt/DTO/unrateditem.h - generated/include/JellyfinQt/DTO/syncplayuseraccesstype.h - generated/include/JellyfinQt/DTO/userpolicy.h - generated/include/JellyfinQt/DTO/userdto.h - generated/include/JellyfinQt/DTO/authenticationresult.h - generated/include/JellyfinQt/DTO/updateusereasypassword.h - generated/include/JellyfinQt/DTO/updateuserpassword.h - generated/include/JellyfinQt/DTO/authenticateuserbyname.h - generated/include/JellyfinQt/DTO/quickconnectdto.h - generated/include/JellyfinQt/DTO/forgotpassworddto.h - generated/include/JellyfinQt/DTO/forgotpasswordaction.h - generated/include/JellyfinQt/DTO/forgotpasswordresult.h - generated/include/JellyfinQt/DTO/pinredeemresult.h - generated/include/JellyfinQt/DTO/createuserbyname.h - generated/include/JellyfinQt/DTO/specialviewoptiondto.h - generated/include/JellyfinQt/DTO/libraryupdateinfo.h - generated/include/JellyfinQt/DTO/iplugin.h - generated/include/JellyfinQt/DTO/playrequest.h - generated/include/JellyfinQt/DTO/playstaterequest.h - generated/include/JellyfinQt/DTO/timereventinfo.h - generated/include/JellyfinQt/DTO/sendcommandtype.h - generated/include/JellyfinQt/DTO/sendcommand.h - generated/include/JellyfinQt/DTO/groupupdatetype.h - generated/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) set(openapi_SOURCES - generated/src/DTO/loglevel.cpp - generated/src/DTO/activitylogentry.cpp - generated/src/DTO/activitylogentryqueryresult.cpp - generated/src/DTO/authenticationinfo.cpp - generated/src/DTO/authenticationinfoqueryresult.cpp - generated/src/DTO/itemfields.cpp - generated/src/DTO/itemfilter.cpp - generated/src/DTO/imagetype.cpp - generated/src/DTO/video3dformat.cpp - generated/src/DTO/externalurl.cpp - generated/src/DTO/mediaprotocol.cpp - generated/src/DTO/mediasourcetype.cpp - generated/src/DTO/videotype.cpp - generated/src/DTO/isotype.cpp - generated/src/DTO/mediastreamtype.cpp - generated/src/DTO/subtitledeliverymethod.cpp - generated/src/DTO/mediastream.cpp - generated/src/DTO/mediaattachment.cpp - generated/src/DTO/transportstreamtimestamp.cpp - generated/src/DTO/mediasourceinfo.cpp - generated/src/DTO/playaccess.cpp - generated/src/DTO/mediaurl.cpp - generated/src/DTO/baseitemperson.cpp - generated/src/DTO/nameguidpair.cpp - generated/src/DTO/useritemdatadto.cpp - generated/src/DTO/dayofweek.cpp - generated/src/DTO/chapterinfo.cpp - generated/src/DTO/locationtype.cpp - generated/src/DTO/metadatafield.cpp - generated/src/DTO/imageorientation.cpp - generated/src/DTO/channeltype.cpp - generated/src/DTO/programaudio.cpp - generated/src/DTO/baseitemdto.cpp - generated/src/DTO/baseitemdtoqueryresult.cpp - generated/src/DTO/encodingcontext.cpp - generated/src/DTO/brandingoptions.cpp - generated/src/DTO/channelmediatype.cpp - generated/src/DTO/channelmediacontenttype.cpp - generated/src/DTO/channelitemsortfield.cpp - generated/src/DTO/channelfeatures.cpp - generated/src/DTO/collectioncreationresult.cpp - generated/src/DTO/version.cpp - generated/src/DTO/imagesavingconvention.cpp - generated/src/DTO/metadataoptions.cpp - generated/src/DTO/namevaluepair.cpp - generated/src/DTO/repositoryinfo.cpp - generated/src/DTO/pathsubstitution.cpp - generated/src/DTO/serverconfiguration.cpp - generated/src/DTO/mediaencoderpathdto.cpp - generated/src/DTO/problemdetails.cpp - generated/src/DTO/configurationpagetype.cpp - generated/src/DTO/configurationpageinfo.cpp - generated/src/DTO/generalcommandtype.cpp - generated/src/DTO/headermatchtype.cpp - generated/src/DTO/httpheaderinfo.cpp - generated/src/DTO/deviceidentification.cpp - generated/src/DTO/xmlattribute.cpp - generated/src/DTO/dlnaprofiletype.cpp - generated/src/DTO/directplayprofile.cpp - generated/src/DTO/transcodeseekinfo.cpp - generated/src/DTO/transcodingprofile.cpp - generated/src/DTO/profileconditiontype.cpp - generated/src/DTO/profileconditionvalue.cpp - generated/src/DTO/profilecondition.cpp - generated/src/DTO/containerprofile.cpp - generated/src/DTO/codectype.cpp - generated/src/DTO/codecprofile.cpp - generated/src/DTO/responseprofile.cpp - generated/src/DTO/subtitleprofile.cpp - generated/src/DTO/deviceprofile.cpp - generated/src/DTO/clientcapabilities.cpp - generated/src/DTO/deviceinfo.cpp - generated/src/DTO/deviceinfoqueryresult.cpp - generated/src/DTO/deviceoptions.cpp - generated/src/DTO/scrolldirection.cpp - generated/src/DTO/sortorder.cpp - generated/src/DTO/displaypreferencesdto.cpp - generated/src/DTO/deviceprofiletype.cpp - generated/src/DTO/deviceprofileinfo.cpp - generated/src/DTO/controlresponse.cpp - generated/src/DTO/defaultdirectorybrowserinfodto.cpp - generated/src/DTO/filesystementrytype.cpp - generated/src/DTO/filesystementryinfo.cpp - generated/src/DTO/validatepathdto.cpp - generated/src/DTO/queryfilterslegacy.cpp - generated/src/DTO/queryfilters.cpp - generated/src/DTO/imageformat.cpp - generated/src/DTO/imageinfo.cpp - generated/src/DTO/imagebynameinfo.cpp - generated/src/DTO/externalidmediatype.cpp - generated/src/DTO/externalidinfo.cpp - generated/src/DTO/remotesearchresult.cpp - generated/src/DTO/bookinfo.cpp - generated/src/DTO/bookinforemotesearchquery.cpp - generated/src/DTO/boxsetinfo.cpp - generated/src/DTO/boxsetinforemotesearchquery.cpp - generated/src/DTO/movieinfo.cpp - generated/src/DTO/movieinforemotesearchquery.cpp - generated/src/DTO/songinfo.cpp - generated/src/DTO/albuminfo.cpp - generated/src/DTO/albuminforemotesearchquery.cpp - generated/src/DTO/artistinfo.cpp - generated/src/DTO/artistinforemotesearchquery.cpp - generated/src/DTO/musicvideoinfo.cpp - generated/src/DTO/musicvideoinforemotesearchquery.cpp - generated/src/DTO/personlookupinfo.cpp - generated/src/DTO/personlookupinforemotesearchquery.cpp - generated/src/DTO/seriesinfo.cpp - generated/src/DTO/seriesinforemotesearchquery.cpp - generated/src/DTO/trailerinfo.cpp - generated/src/DTO/trailerinforemotesearchquery.cpp - generated/src/DTO/metadatarefreshmode.cpp - generated/src/DTO/seriesstatus.cpp - generated/src/DTO/parentalrating.cpp - generated/src/DTO/countryinfo.cpp - generated/src/DTO/culturedto.cpp - generated/src/DTO/metadataeditorinfo.cpp - generated/src/DTO/thememediaresult.cpp - generated/src/DTO/allthememediaresult.cpp - generated/src/DTO/itemcounts.cpp - generated/src/DTO/libraryoptioninfodto.cpp - generated/src/DTO/imageoption.cpp - generated/src/DTO/librarytypeoptionsdto.cpp - generated/src/DTO/libraryoptionsresultdto.cpp - generated/src/DTO/mediaupdateinfodto.cpp - generated/src/DTO/mediapathinfo.cpp - generated/src/DTO/typeoptions.cpp - generated/src/DTO/libraryoptions.cpp - generated/src/DTO/virtualfolderinfo.cpp - generated/src/DTO/addvirtualfolderdto.cpp - generated/src/DTO/updatelibraryoptionsdto.cpp - generated/src/DTO/mediapathdto.cpp - generated/src/DTO/tunerchannelmapping.cpp - generated/src/DTO/nameidpair.cpp - generated/src/DTO/channelmappingoptionsdto.cpp - generated/src/DTO/setchannelmappingdto.cpp - generated/src/DTO/guideinfo.cpp - generated/src/DTO/livetvservicestatus.cpp - generated/src/DTO/livetvserviceinfo.cpp - generated/src/DTO/livetvinfo.cpp - generated/src/DTO/listingsproviderinfo.cpp - generated/src/DTO/getprogramsdto.cpp - generated/src/DTO/recordingstatus.cpp - generated/src/DTO/keepuntil.cpp - generated/src/DTO/daypattern.cpp - generated/src/DTO/seriestimerinfodto.cpp - generated/src/DTO/seriestimerinfodtoqueryresult.cpp - generated/src/DTO/timerinfodto.cpp - generated/src/DTO/timerinfodtoqueryresult.cpp - generated/src/DTO/tunerhostinfo.cpp - generated/src/DTO/localizationoption.cpp - generated/src/DTO/playbackerrorcode.cpp - generated/src/DTO/playbackinforesponse.cpp - generated/src/DTO/playbackinfodto.cpp - generated/src/DTO/openlivestreamdto.cpp - generated/src/DTO/livestreamresponse.cpp - generated/src/DTO/recommendationtype.cpp - generated/src/DTO/recommendationdto.cpp - generated/src/DTO/notificationlevel.cpp - generated/src/DTO/notificationdto.cpp - generated/src/DTO/notificationresultdto.cpp - generated/src/DTO/notificationssummarydto.cpp - generated/src/DTO/notificationtypeinfo.cpp - generated/src/DTO/versioninfo.cpp - generated/src/DTO/packageinfo.cpp - generated/src/DTO/createplaylistdto.cpp - generated/src/DTO/playlistcreationresult.cpp - generated/src/DTO/playmethod.cpp - generated/src/DTO/repeatmode.cpp - generated/src/DTO/queueitem.cpp - generated/src/DTO/playbackstartinfo.cpp - generated/src/DTO/playbackprogressinfo.cpp - generated/src/DTO/playbackstopinfo.cpp - generated/src/DTO/pluginstatus.cpp - generated/src/DTO/plugininfo.cpp - generated/src/DTO/basepluginconfiguration.cpp - generated/src/DTO/pluginsecurityinfo.cpp - generated/src/DTO/quickconnectstate.cpp - generated/src/DTO/quickconnectresult.cpp - generated/src/DTO/ratingtype.cpp - generated/src/DTO/remoteimageinfo.cpp - generated/src/DTO/remoteimageresult.cpp - generated/src/DTO/imageproviderinfo.cpp - generated/src/DTO/taskstate.cpp - generated/src/DTO/taskcompletionstatus.cpp - generated/src/DTO/taskresult.cpp - generated/src/DTO/tasktriggerinfo.cpp - generated/src/DTO/taskinfo.cpp - generated/src/DTO/searchhint.cpp - generated/src/DTO/searchhintresult.cpp - generated/src/DTO/playerstateinfo.cpp - generated/src/DTO/sessionuserinfo.cpp - generated/src/DTO/baseitem.cpp - generated/src/DTO/transcodereason.cpp - generated/src/DTO/transcodinginfo.cpp - generated/src/DTO/sessioninfo.cpp - generated/src/DTO/generalcommand.cpp - generated/src/DTO/playcommand.cpp - generated/src/DTO/playstatecommand.cpp - generated/src/DTO/clientcapabilitiesdto.cpp - generated/src/DTO/startupconfigurationdto.cpp - generated/src/DTO/startupuserdto.cpp - generated/src/DTO/startupremoteaccessdto.cpp - generated/src/DTO/fontfile.cpp - generated/src/DTO/remotesubtitleinfo.cpp - generated/src/DTO/uploadsubtitledto.cpp - generated/src/DTO/bufferrequestdto.cpp - generated/src/DTO/joingrouprequestdto.cpp - generated/src/DTO/groupstatetype.cpp - generated/src/DTO/groupinfodto.cpp - generated/src/DTO/moveplaylistitemrequestdto.cpp - generated/src/DTO/newgrouprequestdto.cpp - generated/src/DTO/nextitemrequestdto.cpp - generated/src/DTO/pingrequestdto.cpp - generated/src/DTO/previousitemrequestdto.cpp - generated/src/DTO/groupqueuemode.cpp - generated/src/DTO/queuerequestdto.cpp - generated/src/DTO/readyrequestdto.cpp - generated/src/DTO/removefromplaylistrequestdto.cpp - generated/src/DTO/seekrequestdto.cpp - generated/src/DTO/ignorewaitrequestdto.cpp - generated/src/DTO/playrequestdto.cpp - generated/src/DTO/setplaylistitemrequestdto.cpp - generated/src/DTO/grouprepeatmode.cpp - generated/src/DTO/setrepeatmoderequestdto.cpp - generated/src/DTO/groupshufflemode.cpp - generated/src/DTO/setshufflemoderequestdto.cpp - generated/src/DTO/endpointinfo.cpp - generated/src/DTO/installationinfo.cpp - generated/src/DTO/ffmpeglocation.cpp - generated/src/DTO/architecture.cpp - generated/src/DTO/systeminfo.cpp - generated/src/DTO/publicsysteminfo.cpp - generated/src/DTO/logfile.cpp - generated/src/DTO/wakeonlaninfo.cpp - generated/src/DTO/utctimeresponse.cpp - generated/src/DTO/subtitleplaybackmode.cpp - generated/src/DTO/userconfiguration.cpp - generated/src/DTO/dynamicdayofweek.cpp - generated/src/DTO/accessschedule.cpp - generated/src/DTO/unrateditem.cpp - generated/src/DTO/syncplayuseraccesstype.cpp - generated/src/DTO/userpolicy.cpp - generated/src/DTO/userdto.cpp - generated/src/DTO/authenticationresult.cpp - generated/src/DTO/updateusereasypassword.cpp - generated/src/DTO/updateuserpassword.cpp - generated/src/DTO/authenticateuserbyname.cpp - generated/src/DTO/quickconnectdto.cpp - generated/src/DTO/forgotpassworddto.cpp - generated/src/DTO/forgotpasswordaction.cpp - generated/src/DTO/forgotpasswordresult.cpp - generated/src/DTO/pinredeemresult.cpp - generated/src/DTO/createuserbyname.cpp - generated/src/DTO/specialviewoptiondto.cpp - generated/src/DTO/libraryupdateinfo.cpp - generated/src/DTO/iplugin.cpp - generated/src/DTO/playrequest.cpp - generated/src/DTO/playstaterequest.cpp - generated/src/DTO/timereventinfo.cpp - generated/src/DTO/sendcommandtype.cpp - generated/src/DTO/sendcommand.cpp - generated/src/DTO/groupupdatetype.cpp - generated/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) diff --git a/core/include/JellyfinQt/DTO/accessschedule.h b/core/include/JellyfinQt/DTO/accessschedule.h new file mode 100644 index 0000000..de0bfaf --- /dev/null +++ b/core/include/JellyfinQt/DTO/accessschedule.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_ACCESSSCHEDULE_H +#define JELLYFIN_DTO_ACCESSSCHEDULE_H + +#include +#include +#include + +#include "JellyfinQt/DTO/dynamicdayofweek.h" + +namespace Jellyfin { +namespace DTO { + +class AccessSchedule : public QObject { + Q_OBJECT +public: + explicit AccessSchedule(QObject *parent = nullptr); + static AccessSchedule *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the id of this instance. + */ + Q_PROPERTY(qint32 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the id of the associated user. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + Q_PROPERTY(DynamicDayOfWeek dayOfWeek READ dayOfWeek WRITE setDayOfWeek NOTIFY dayOfWeekChanged) + /** + * @brief Gets or sets the start hour. + */ + Q_PROPERTY(double startHour READ startHour WRITE setStartHour NOTIFY startHourChanged) + /** + * @brief Gets or sets the end hour. + */ + Q_PROPERTY(double endHour READ endHour WRITE setEndHour NOTIFY endHourChanged) + + qint32 jellyfinId() const; + void setJellyfinId(qint32 newJellyfinId); + + QString userId() const; + void setUserId(QString newUserId); + + DynamicDayOfWeek dayOfWeek() const; + void setDayOfWeek(DynamicDayOfWeek newDayOfWeek); + + double startHour() const; + void setStartHour(double newStartHour); + + double endHour() const; + void setEndHour(double newEndHour); + +signals: + void jellyfinIdChanged(qint32 newJellyfinId); + void userIdChanged(QString newUserId); + void dayOfWeekChanged(DynamicDayOfWeek newDayOfWeek); + void startHourChanged(double newStartHour); + void endHourChanged(double newEndHour); +protected: + qint32 m_jellyfinId; + QString m_userId; + DynamicDayOfWeek m_dayOfWeek; + double m_startHour; + double m_endHour; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ACCESSSCHEDULE_H diff --git a/core/include/JellyfinQt/DTO/activitylogentry.h b/core/include/JellyfinQt/DTO/activitylogentry.h new file mode 100644 index 0000000..2116b83 --- /dev/null +++ b/core/include/JellyfinQt/DTO/activitylogentry.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_ACTIVITYLOGENTRY_H +#define JELLYFIN_DTO_ACTIVITYLOGENTRY_H + +#include +#include +#include +#include + +#include "JellyfinQt/DTO/loglevel.h" + +namespace Jellyfin { +namespace DTO { + +class ActivityLogEntry : public QObject { + Q_OBJECT +public: + explicit ActivityLogEntry(QObject *parent = nullptr); + static ActivityLogEntry *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(qint64 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the overview. + */ + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + /** + * @brief Gets or sets the short overview. + */ + Q_PROPERTY(QString shortOverview READ shortOverview WRITE setShortOverview NOTIFY shortOverviewChanged) + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets the date. + */ + Q_PROPERTY(QDateTime date READ date WRITE setDate NOTIFY dateChanged) + /** + * @brief Gets or sets the user identifier. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the user primary image tag. + */ + Q_PROPERTY(QString userPrimaryImageTag READ userPrimaryImageTag WRITE setUserPrimaryImageTag NOTIFY userPrimaryImageTagChanged) + Q_PROPERTY(LogLevel severity READ severity WRITE setSeverity NOTIFY severityChanged) + + qint64 jellyfinId() const; + void setJellyfinId(qint64 newJellyfinId); + + QString name() const; + void setName(QString newName); + + QString overview() const; + void setOverview(QString newOverview); + + QString shortOverview() const; + void setShortOverview(QString newShortOverview); + + QString type() const; + void setType(QString newType); + + QString itemId() const; + void setItemId(QString newItemId); + + QDateTime date() const; + void setDate(QDateTime newDate); + + QString userId() const; + void setUserId(QString newUserId); + + QString userPrimaryImageTag() const; + void setUserPrimaryImageTag(QString newUserPrimaryImageTag); + + LogLevel severity() const; + void setSeverity(LogLevel newSeverity); + +signals: + void jellyfinIdChanged(qint64 newJellyfinId); + void nameChanged(QString newName); + void overviewChanged(QString newOverview); + void shortOverviewChanged(QString newShortOverview); + void typeChanged(QString newType); + void itemIdChanged(QString newItemId); + void dateChanged(QDateTime newDate); + void userIdChanged(QString newUserId); + void userPrimaryImageTagChanged(QString newUserPrimaryImageTag); + void severityChanged(LogLevel newSeverity); +protected: + qint64 m_jellyfinId; + QString m_name; + QString m_overview; + QString m_shortOverview; + QString m_type; + QString m_itemId; + QDateTime m_date; + QString m_userId; + QString m_userPrimaryImageTag; + LogLevel m_severity; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ACTIVITYLOGENTRY_H diff --git a/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h b/core/include/JellyfinQt/DTO/activitylogentryqueryresult.h new file mode 100644 index 0000000..cffc94a --- /dev/null +++ b/core/include/JellyfinQt/DTO/activitylogentryqueryresult.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_ACTIVITYLOGENTRYQUERYRESULT_H +#define JELLYFIN_DTO_ACTIVITYLOGENTRYQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ActivityLogEntry; + +class ActivityLogEntryQueryResult : public QObject { + Q_OBJECT +public: + explicit ActivityLogEntryQueryResult(QObject *parent = nullptr); + static ActivityLogEntryQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..ce001ef --- /dev/null +++ b/core/include/JellyfinQt/DTO/addvirtualfolderdto.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_ADDVIRTUALFOLDERDTO_H +#define JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryOptions; + +class AddVirtualFolderDto : public QObject { + Q_OBJECT +public: + explicit AddVirtualFolderDto(QObject *parent = nullptr); + static AddVirtualFolderDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(LibraryOptions * libraryOptions READ libraryOptions WRITE setLibraryOptions NOTIFY libraryOptionsChanged) + + LibraryOptions * libraryOptions() const; + void setLibraryOptions(LibraryOptions * newLibraryOptions); + +signals: + void libraryOptionsChanged(LibraryOptions * newLibraryOptions); +protected: + LibraryOptions * m_libraryOptions = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ADDVIRTUALFOLDERDTO_H diff --git a/core/include/JellyfinQt/DTO/albuminfo.h b/core/include/JellyfinQt/DTO/albuminfo.h new file mode 100644 index 0000000..9102e4e --- /dev/null +++ b/core/include/JellyfinQt/DTO/albuminfo.h @@ -0,0 +1,163 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ALBUMINFO_H +#define JELLYFIN_DTO_ALBUMINFO_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SongInfo; + +class AlbumInfo : public QObject { + Q_OBJECT +public: + explicit AlbumInfo(QObject *parent = nullptr); + static AlbumInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + /** + * @brief Gets or sets the album artist. + */ + Q_PROPERTY(QStringList albumArtists READ albumArtists WRITE setAlbumArtists NOTIFY albumArtistsChanged) + /** + * @brief Gets or sets the artist provider ids. + */ + Q_PROPERTY(QJsonObject artistProviderIds READ artistProviderIds WRITE setArtistProviderIds NOTIFY artistProviderIdsChanged) + Q_PROPERTY(QList songInfos READ songInfos WRITE setSongInfos NOTIFY songInfosChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + + QStringList albumArtists() const; + void setAlbumArtists(QStringList newAlbumArtists); + + QJsonObject artistProviderIds() const; + void setArtistProviderIds(QJsonObject newArtistProviderIds); + + QList songInfos() const; + void setSongInfos(QList newSongInfos); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); + void albumArtistsChanged(QStringList newAlbumArtists); + void artistProviderIdsChanged(QJsonObject newArtistProviderIds); + void songInfosChanged(QList newSongInfos); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_albumArtists; + QJsonObject m_artistProviderIds; + QList m_songInfos; +}; + +} // NS Jellyfin +} // NS DTO + +#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..1f13c22 --- /dev/null +++ b/core/include/JellyfinQt/DTO/albuminforemotesearchquery.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_ALBUMINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class AlbumInfo; + +class AlbumInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit AlbumInfoRemoteSearchQuery(QObject *parent = nullptr); + static AlbumInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(AlbumInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + AlbumInfo * searchInfo() const; + void setSearchInfo(AlbumInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(AlbumInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + AlbumInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ALBUMINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/DTO/allthememediaresult.h b/core/include/JellyfinQt/DTO/allthememediaresult.h new file mode 100644 index 0000000..25f3dc7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/allthememediaresult.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_ALLTHEMEMEDIARESULT_H +#define JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ThemeMediaResult; +class ThemeMediaResult; +class ThemeMediaResult; + +class AllThemeMediaResult : public QObject { + Q_OBJECT +public: + explicit AllThemeMediaResult(QObject *parent = nullptr); + static AllThemeMediaResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ThemeMediaResult * themeVideosResult READ themeVideosResult WRITE setThemeVideosResult NOTIFY themeVideosResultChanged) + Q_PROPERTY(ThemeMediaResult * themeSongsResult READ themeSongsResult WRITE setThemeSongsResult NOTIFY themeSongsResultChanged) + Q_PROPERTY(ThemeMediaResult * soundtrackSongsResult READ soundtrackSongsResult WRITE setSoundtrackSongsResult NOTIFY soundtrackSongsResultChanged) + + ThemeMediaResult * themeVideosResult() const; + void setThemeVideosResult(ThemeMediaResult * newThemeVideosResult); + + ThemeMediaResult * themeSongsResult() const; + void setThemeSongsResult(ThemeMediaResult * newThemeSongsResult); + + ThemeMediaResult * soundtrackSongsResult() const; + void setSoundtrackSongsResult(ThemeMediaResult * newSoundtrackSongsResult); + +signals: + void themeVideosResultChanged(ThemeMediaResult * newThemeVideosResult); + void themeSongsResultChanged(ThemeMediaResult * newThemeSongsResult); + void soundtrackSongsResultChanged(ThemeMediaResult * newSoundtrackSongsResult); +protected: + ThemeMediaResult * m_themeVideosResult = nullptr; + ThemeMediaResult * m_themeSongsResult = nullptr; + ThemeMediaResult * m_soundtrackSongsResult = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ALLTHEMEMEDIARESULT_H diff --git a/core/include/JellyfinQt/DTO/architecture.h b/core/include/JellyfinQt/DTO/architecture.h new file mode 100644 index 0000000..6810a47 --- /dev/null +++ b/core/include/JellyfinQt/DTO/architecture.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ARCHITECTURE_H +#define JELLYFIN_DTO_ARCHITECTURE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ArchitectureClass { + Q_GADGET +public: + enum Value { + X86, + X64, + Arm, + Arm64, + Wasm, + }; + Q_ENUM(Value) +private: + explicit ArchitectureClass(); +}; +typedef ArchitectureClass::Value Architecture; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ARCHITECTURE_H diff --git a/core/include/JellyfinQt/DTO/artistinfo.h b/core/include/JellyfinQt/DTO/artistinfo.h new file mode 100644 index 0000000..645b964 --- /dev/null +++ b/core/include/JellyfinQt/DTO/artistinfo.h @@ -0,0 +1,145 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ARTISTINFO_H +#define JELLYFIN_DTO_ARTISTINFO_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SongInfo; + +class ArtistInfo : public QObject { + Q_OBJECT +public: + explicit ArtistInfo(QObject *parent = nullptr); + static ArtistInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + Q_PROPERTY(QList songInfos READ songInfos WRITE setSongInfos NOTIFY songInfosChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + + QList songInfos() const; + void setSongInfos(QList newSongInfos); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); + void songInfosChanged(QList newSongInfos); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; + QList m_songInfos; +}; + +} // NS Jellyfin +} // NS DTO + +#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..505f17d --- /dev/null +++ b/core/include/JellyfinQt/DTO/artistinforemotesearchquery.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_ARTISTINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ArtistInfo; + +class ArtistInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit ArtistInfoRemoteSearchQuery(QObject *parent = nullptr); + static ArtistInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ArtistInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + ArtistInfo * searchInfo() const; + void setSearchInfo(ArtistInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(ArtistInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + ArtistInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ARTISTINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/DTO/authenticateuserbyname.h b/core/include/JellyfinQt/DTO/authenticateuserbyname.h new file mode 100644 index 0000000..0c9bd54 --- /dev/null +++ b/core/include/JellyfinQt/DTO/authenticateuserbyname.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H +#define JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class AuthenticateUserByName : public QObject { + Q_OBJECT +public: + explicit AuthenticateUserByName(QObject *parent = nullptr); + static AuthenticateUserByName *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the username. + */ + Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged) + /** + * @brief Gets or sets the plain text password. + */ + Q_PROPERTY(QString pw READ pw WRITE setPw NOTIFY pwChanged) + /** + * @brief Gets or sets the sha1-hashed password. + */ + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + + QString username() const; + void setUsername(QString newUsername); + + QString pw() const; + void setPw(QString newPw); + + QString password() const; + void setPassword(QString newPassword); + +signals: + void usernameChanged(QString newUsername); + void pwChanged(QString newPw); + void passwordChanged(QString newPassword); +protected: + QString m_username; + QString m_pw; + QString m_password; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_AUTHENTICATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/DTO/authenticationinfo.h b/core/include/JellyfinQt/DTO/authenticationinfo.h new file mode 100644 index 0000000..5aec874 --- /dev/null +++ b/core/include/JellyfinQt/DTO/authenticationinfo.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_AUTHENTICATIONINFO_H +#define JELLYFIN_DTO_AUTHENTICATIONINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class AuthenticationInfo : public QObject { + Q_OBJECT +public: + explicit AuthenticationInfo(QObject *parent = nullptr); + static AuthenticationInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(qint64 jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the access token. + */ + Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged) + /** + * @brief Gets or sets the device identifier. + */ + Q_PROPERTY(QString deviceId READ deviceId WRITE setDeviceId NOTIFY deviceIdChanged) + /** + * @brief Gets or sets the name of the application. + */ + Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged) + /** + * @brief Gets or sets the application version. + */ + Q_PROPERTY(QString appVersion READ appVersion WRITE setAppVersion NOTIFY appVersionChanged) + /** + * @brief Gets or sets the name of the device. + */ + Q_PROPERTY(QString deviceName READ deviceName WRITE setDeviceName NOTIFY deviceNameChanged) + /** + * @brief Gets or sets the user identifier. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets a value indicating whether this instance is active. + */ + Q_PROPERTY(bool isActive READ isActive WRITE setIsActive NOTIFY isActiveChanged) + /** + * @brief Gets or sets the date created. + */ + Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged) + /** + * @brief Gets or sets the date revoked. + */ + Q_PROPERTY(QDateTime dateRevoked READ dateRevoked WRITE setDateRevoked NOTIFY dateRevokedChanged) + Q_PROPERTY(QDateTime dateLastActivity READ dateLastActivity WRITE setDateLastActivity NOTIFY dateLastActivityChanged) + Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + + qint64 jellyfinId() const; + void setJellyfinId(qint64 newJellyfinId); + + QString accessToken() const; + void setAccessToken(QString newAccessToken); + + QString deviceId() const; + void setDeviceId(QString newDeviceId); + + QString appName() const; + void setAppName(QString newAppName); + + QString appVersion() const; + void setAppVersion(QString newAppVersion); + + QString deviceName() const; + void setDeviceName(QString newDeviceName); + + QString userId() const; + void setUserId(QString newUserId); + + bool isActive() const; + void setIsActive(bool newIsActive); + + QDateTime dateCreated() const; + void setDateCreated(QDateTime newDateCreated); + + QDateTime dateRevoked() const; + void setDateRevoked(QDateTime newDateRevoked); + + QDateTime dateLastActivity() const; + void setDateLastActivity(QDateTime newDateLastActivity); + + QString userName() const; + void setUserName(QString newUserName); + +signals: + void jellyfinIdChanged(qint64 newJellyfinId); + void accessTokenChanged(QString newAccessToken); + void deviceIdChanged(QString newDeviceId); + void appNameChanged(QString newAppName); + void appVersionChanged(QString newAppVersion); + void deviceNameChanged(QString newDeviceName); + void userIdChanged(QString newUserId); + void isActiveChanged(bool newIsActive); + void dateCreatedChanged(QDateTime newDateCreated); + void dateRevokedChanged(QDateTime newDateRevoked); + void dateLastActivityChanged(QDateTime newDateLastActivity); + void userNameChanged(QString newUserName); +protected: + qint64 m_jellyfinId; + QString m_accessToken; + QString m_deviceId; + QString m_appName; + QString m_appVersion; + QString m_deviceName; + QString m_userId; + bool m_isActive; + QDateTime m_dateCreated; + QDateTime m_dateRevoked; + QDateTime m_dateLastActivity; + QString m_userName; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_AUTHENTICATIONINFO_H diff --git a/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h b/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.h new file mode 100644 index 0000000..381d592 --- /dev/null +++ b/core/include/JellyfinQt/DTO/authenticationinfoqueryresult.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_AUTHENTICATIONINFOQUERYRESULT_H +#define JELLYFIN_DTO_AUTHENTICATIONINFOQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class AuthenticationInfo; + +class AuthenticationInfoQueryResult : public QObject { + Q_OBJECT +public: + explicit AuthenticationInfoQueryResult(QObject *parent = nullptr); + static AuthenticationInfoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..9804036 --- /dev/null +++ b/core/include/JellyfinQt/DTO/authenticationresult.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_AUTHENTICATIONRESULT_H +#define JELLYFIN_DTO_AUTHENTICATIONRESULT_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SessionInfo; +class UserDto; + +class AuthenticationResult : public QObject { + Q_OBJECT +public: + explicit AuthenticationResult(QObject *parent = nullptr); + static AuthenticationResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(UserDto * user READ user WRITE setUser NOTIFY userChanged) + Q_PROPERTY(SessionInfo * sessionInfo READ sessionInfo WRITE setSessionInfo NOTIFY sessionInfoChanged) + Q_PROPERTY(QString accessToken READ accessToken WRITE setAccessToken NOTIFY accessTokenChanged) + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + + UserDto * user() const; + void setUser(UserDto * newUser); + + SessionInfo * sessionInfo() const; + void setSessionInfo(SessionInfo * newSessionInfo); + + QString accessToken() const; + void setAccessToken(QString newAccessToken); + + QString serverId() const; + void setServerId(QString newServerId); + +signals: + void userChanged(UserDto * newUser); + void sessionInfoChanged(SessionInfo * newSessionInfo); + void accessTokenChanged(QString newAccessToken); + void serverIdChanged(QString newServerId); +protected: + UserDto * m_user = nullptr; + SessionInfo * m_sessionInfo = nullptr; + QString m_accessToken; + QString m_serverId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_AUTHENTICATIONRESULT_H diff --git a/core/include/JellyfinQt/DTO/baseitem.h b/core/include/JellyfinQt/DTO/baseitem.h new file mode 100644 index 0000000..46c1c65 --- /dev/null +++ b/core/include/JellyfinQt/DTO/baseitem.h @@ -0,0 +1,130 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEM_H +#define JELLYFIN_DTO_BASEITEM_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaUrl; + +class BaseItem : public QObject { + Q_OBJECT +public: + explicit BaseItem(QObject *parent = nullptr); + static BaseItem *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(QDateTime dateLastSaved READ dateLastSaved WRITE setDateLastSaved NOTIFY dateLastSavedChanged) + /** + * @brief Gets or sets the remote trailers. + */ + Q_PROPERTY(QList remoteTrailers READ remoteTrailers WRITE setRemoteTrailers NOTIFY remoteTrailersChanged) + Q_PROPERTY(bool isHD READ isHD WRITE setIsHD NOTIFY isHDChanged) + Q_PROPERTY(bool isShortcut READ isShortcut WRITE setIsShortcut NOTIFY isShortcutChanged) + Q_PROPERTY(QString shortcutPath READ shortcutPath WRITE setShortcutPath NOTIFY shortcutPathChanged) + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + Q_PROPERTY(QStringList extraIds READ extraIds WRITE setExtraIds NOTIFY extraIdsChanged) + Q_PROPERTY(bool supportsExternalTransfer READ supportsExternalTransfer WRITE setSupportsExternalTransfer NOTIFY supportsExternalTransferChanged) + + qint64 size() const; + void setSize(qint64 newSize); + + QString container() const; + void setContainer(QString newContainer); + + QDateTime dateLastSaved() const; + void setDateLastSaved(QDateTime newDateLastSaved); + + QList remoteTrailers() const; + void setRemoteTrailers(QList newRemoteTrailers); + + bool isHD() const; + void setIsHD(bool newIsHD); + + bool isShortcut() const; + void setIsShortcut(bool newIsShortcut); + + QString shortcutPath() const; + void setShortcutPath(QString newShortcutPath); + + qint32 width() const; + void setWidth(qint32 newWidth); + + qint32 height() const; + void setHeight(qint32 newHeight); + + QStringList extraIds() const; + void setExtraIds(QStringList newExtraIds); + + bool supportsExternalTransfer() const; + void setSupportsExternalTransfer(bool newSupportsExternalTransfer); + +signals: + void sizeChanged(qint64 newSize); + void containerChanged(QString newContainer); + void dateLastSavedChanged(QDateTime newDateLastSaved); + void remoteTrailersChanged(QList newRemoteTrailers); + void isHDChanged(bool newIsHD); + void isShortcutChanged(bool newIsShortcut); + void shortcutPathChanged(QString newShortcutPath); + void widthChanged(qint32 newWidth); + void heightChanged(qint32 newHeight); + void extraIdsChanged(QStringList newExtraIds); + void supportsExternalTransferChanged(bool newSupportsExternalTransfer); +protected: + qint64 m_size; + QString m_container; + QDateTime m_dateLastSaved; + QList m_remoteTrailers; + bool m_isHD; + bool m_isShortcut; + QString m_shortcutPath; + qint32 m_width; + qint32 m_height; + QStringList m_extraIds; + bool m_supportsExternalTransfer; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BASEITEM_H diff --git a/core/include/JellyfinQt/DTO/baseitemdto.h b/core/include/JellyfinQt/DTO/baseitemdto.h new file mode 100644 index 0000000..e33fb93 --- /dev/null +++ b/core/include/JellyfinQt/DTO/baseitemdto.h @@ -0,0 +1,1310 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/channeltype.h" +#include "JellyfinQt/DTO/dayofweek.h" +#include "JellyfinQt/DTO/imageorientation.h" +#include "JellyfinQt/DTO/isotype.h" +#include "JellyfinQt/DTO/locationtype.h" +#include "JellyfinQt/DTO/metadatafield.h" +#include "JellyfinQt/DTO/playaccess.h" +#include "JellyfinQt/DTO/programaudio.h" +#include "JellyfinQt/DTO/video3dformat.h" +#include "JellyfinQt/DTO/videotype.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItemPerson; +class ChapterInfo; +class ExternalUrl; +class MediaSourceInfo; +class MediaStream; +class MediaUrl; +class NameGuidPair; +class NameGuidPair; +class NameGuidPair; +class NameGuidPair; +class UserItemDataDto; + +class BaseItemDto : public QObject { + Q_OBJECT +public: + explicit BaseItemDto(QObject *parent = nullptr); + static BaseItemDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString originalTitle READ originalTitle WRITE setOriginalTitle NOTIFY originalTitleChanged) + /** + * @brief Gets or sets the server identifier. + */ + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the etag. + */ + Q_PROPERTY(QString etag READ etag WRITE setEtag NOTIFY etagChanged) + /** + * @brief Gets or sets the type of the source. + */ + Q_PROPERTY(QString sourceType READ sourceType WRITE setSourceType NOTIFY sourceTypeChanged) + /** + * @brief Gets or sets the playlist item identifier. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + /** + * @brief Gets or sets the date created. + */ + Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged) + Q_PROPERTY(QDateTime dateLastMediaAdded READ dateLastMediaAdded WRITE setDateLastMediaAdded NOTIFY dateLastMediaAddedChanged) + Q_PROPERTY(QString extraType READ extraType WRITE setExtraType NOTIFY extraTypeChanged) + Q_PROPERTY(qint32 airsBeforeSeasonNumber READ airsBeforeSeasonNumber WRITE setAirsBeforeSeasonNumber NOTIFY airsBeforeSeasonNumberChanged) + Q_PROPERTY(qint32 airsAfterSeasonNumber READ airsAfterSeasonNumber WRITE setAirsAfterSeasonNumber NOTIFY airsAfterSeasonNumberChanged) + Q_PROPERTY(qint32 airsBeforeEpisodeNumber READ airsBeforeEpisodeNumber WRITE setAirsBeforeEpisodeNumber NOTIFY airsBeforeEpisodeNumberChanged) + Q_PROPERTY(bool canDelete READ canDelete WRITE setCanDelete NOTIFY canDeleteChanged) + Q_PROPERTY(bool canDownload READ canDownload WRITE setCanDownload NOTIFY canDownloadChanged) + Q_PROPERTY(bool hasSubtitles READ hasSubtitles WRITE setHasSubtitles NOTIFY hasSubtitlesChanged) + Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage WRITE setPreferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) + Q_PROPERTY(QString preferredMetadataCountryCode READ preferredMetadataCountryCode WRITE setPreferredMetadataCountryCode NOTIFY preferredMetadataCountryCodeChanged) + /** + * @brief Gets or sets a value indicating whether [supports synchronize]. + */ + Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + /** + * @brief Gets or sets the name of the sort. + */ + Q_PROPERTY(QString sortName READ sortName WRITE setSortName NOTIFY sortNameChanged) + Q_PROPERTY(QString forcedSortName READ forcedSortName WRITE setForcedSortName NOTIFY forcedSortNameChanged) + Q_PROPERTY(Video3DFormat video3DFormat READ video3DFormat WRITE setVideo3DFormat NOTIFY video3DFormatChanged) + /** + * @brief Gets or sets the premiere date. + */ + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + /** + * @brief Gets or sets the external urls. + */ + Q_PROPERTY(QList externalUrls READ externalUrls WRITE setExternalUrls NOTIFY externalUrlsChanged) + /** + * @brief Gets or sets the media versions. + */ + Q_PROPERTY(QList mediaSources READ mediaSources WRITE setMediaSources NOTIFY mediaSourcesChanged) + /** + * @brief Gets or sets the critic rating. + */ + Q_PROPERTY(float criticRating READ criticRating WRITE setCriticRating NOTIFY criticRatingChanged) + Q_PROPERTY(QStringList productionLocations READ productionLocations WRITE setProductionLocations NOTIFY productionLocationsChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(bool enableMediaSourceDisplay READ enableMediaSourceDisplay WRITE setEnableMediaSourceDisplay NOTIFY enableMediaSourceDisplayChanged) + /** + * @brief Gets or sets the official rating. + */ + Q_PROPERTY(QString officialRating READ officialRating WRITE setOfficialRating NOTIFY officialRatingChanged) + /** + * @brief Gets or sets the custom rating. + */ + Q_PROPERTY(QString customRating READ customRating WRITE setCustomRating NOTIFY customRatingChanged) + /** + * @brief Gets or sets the channel identifier. + */ + Q_PROPERTY(QString channelId READ channelId WRITE setChannelId NOTIFY channelIdChanged) + Q_PROPERTY(QString channelName READ channelName WRITE setChannelName NOTIFY channelNameChanged) + /** + * @brief Gets or sets the overview. + */ + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + /** + * @brief Gets or sets the taglines. + */ + Q_PROPERTY(QStringList taglines READ taglines WRITE setTaglines NOTIFY taglinesChanged) + /** + * @brief Gets or sets the genres. + */ + Q_PROPERTY(QStringList genres READ genres WRITE setGenres NOTIFY genresChanged) + /** + * @brief Gets or sets the community rating. + */ + Q_PROPERTY(float communityRating READ communityRating WRITE setCommunityRating NOTIFY communityRatingChanged) + /** + * @brief Gets or sets the cumulative run time ticks. + */ + Q_PROPERTY(qint64 cumulativeRunTimeTicks READ cumulativeRunTimeTicks WRITE setCumulativeRunTimeTicks NOTIFY cumulativeRunTimeTicksChanged) + /** + * @brief Gets or sets the run time ticks. + */ + Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged) + Q_PROPERTY(PlayAccess playAccess READ playAccess WRITE setPlayAccess NOTIFY playAccessChanged) + /** + * @brief Gets or sets the aspect ratio. + */ + Q_PROPERTY(QString aspectRatio READ aspectRatio WRITE setAspectRatio NOTIFY aspectRatioChanged) + /** + * @brief Gets or sets the production year. + */ + Q_PROPERTY(qint32 productionYear READ productionYear WRITE setProductionYear NOTIFY productionYearChanged) + /** + * @brief Gets or sets a value indicating whether this instance is place holder. + */ + Q_PROPERTY(bool isPlaceHolder READ isPlaceHolder WRITE setIsPlaceHolder NOTIFY isPlaceHolderChanged) + /** + * @brief Gets or sets the number. + */ + Q_PROPERTY(QString number READ number WRITE setNumber NOTIFY numberChanged) + Q_PROPERTY(QString channelNumber READ channelNumber WRITE setChannelNumber NOTIFY channelNumberChanged) + /** + * @brief Gets or sets the index number. + */ + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + /** + * @brief Gets or sets the index number end. + */ + Q_PROPERTY(qint32 indexNumberEnd READ indexNumberEnd WRITE setIndexNumberEnd NOTIFY indexNumberEndChanged) + /** + * @brief Gets or sets the parent index number. + */ + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + /** + * @brief Gets or sets the trailer urls. + */ + Q_PROPERTY(QList remoteTrailers READ remoteTrailers WRITE setRemoteTrailers NOTIFY remoteTrailersChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is HD. + */ + Q_PROPERTY(bool isHD READ isHD WRITE setIsHD NOTIFY isHDChanged) + /** + * @brief Gets or sets a value indicating whether this instance is folder. + */ + Q_PROPERTY(bool isFolder READ isFolder WRITE setIsFolder NOTIFY isFolderChanged) + /** + * @brief Gets or sets the parent id. + */ + Q_PROPERTY(QString parentId READ parentId WRITE setParentId NOTIFY parentIdChanged) + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the people. + */ + Q_PROPERTY(QList people READ people WRITE setPeople NOTIFY peopleChanged) + /** + * @brief Gets or sets the studios. + */ + Q_PROPERTY(QList studios READ studios WRITE setStudios NOTIFY studiosChanged) + Q_PROPERTY(QList genreItems READ genreItems WRITE setGenreItems NOTIFY genreItemsChanged) + /** + * @brief If the item does not have a logo, this will hold the Id of the Parent that has one. + */ + Q_PROPERTY(QString parentLogoItemId READ parentLogoItemId WRITE setParentLogoItemId NOTIFY parentLogoItemIdChanged) + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + Q_PROPERTY(QString parentBackdropItemId READ parentBackdropItemId WRITE setParentBackdropItemId NOTIFY parentBackdropItemIdChanged) + /** + * @brief Gets or sets the parent backdrop image tags. + */ + Q_PROPERTY(QStringList parentBackdropImageTags READ parentBackdropImageTags WRITE setParentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) + /** + * @brief Gets or sets the local trailer count. + */ + Q_PROPERTY(qint32 localTrailerCount READ localTrailerCount WRITE setLocalTrailerCount NOTIFY localTrailerCountChanged) + Q_PROPERTY(UserItemDataDto * userData READ userData WRITE setUserData NOTIFY userDataChanged) + /** + * @brief Gets or sets the recursive item count. + */ + Q_PROPERTY(qint32 recursiveItemCount READ recursiveItemCount WRITE setRecursiveItemCount NOTIFY recursiveItemCountChanged) + /** + * @brief Gets or sets the child count. + */ + Q_PROPERTY(qint32 childCount READ childCount WRITE setChildCount NOTIFY childCountChanged) + /** + * @brief Gets or sets the name of the series. + */ + Q_PROPERTY(QString seriesName READ seriesName WRITE setSeriesName NOTIFY seriesNameChanged) + /** + * @brief Gets or sets the series id. + */ + Q_PROPERTY(QString seriesId READ seriesId WRITE setSeriesId NOTIFY seriesIdChanged) + /** + * @brief Gets or sets the season identifier. + */ + Q_PROPERTY(QString seasonId READ seasonId WRITE setSeasonId NOTIFY seasonIdChanged) + /** + * @brief Gets or sets the special feature count. + */ + Q_PROPERTY(qint32 specialFeatureCount READ specialFeatureCount WRITE setSpecialFeatureCount NOTIFY specialFeatureCountChanged) + /** + * @brief Gets or sets the display preferences id. + */ + Q_PROPERTY(QString displayPreferencesId READ displayPreferencesId WRITE setDisplayPreferencesId NOTIFY displayPreferencesIdChanged) + /** + * @brief Gets or sets the status. + */ + Q_PROPERTY(QString status READ status WRITE setStatus NOTIFY statusChanged) + /** + * @brief Gets or sets the air time. + */ + Q_PROPERTY(QString airTime READ airTime WRITE setAirTime NOTIFY airTimeChanged) + /** + * @brief Gets or sets the air days. + */ + Q_PROPERTY(QList airDays READ airDays WRITE setAirDays NOTIFY airDaysChanged) + /** + * @brief Gets or sets the tags. + */ + Q_PROPERTY(QStringList tags READ tags WRITE setTags NOTIFY tagsChanged) + /** + * @brief Gets or sets the primary image aspect ratio, after image enhancements. + */ + Q_PROPERTY(double primaryImageAspectRatio READ primaryImageAspectRatio WRITE setPrimaryImageAspectRatio NOTIFY primaryImageAspectRatioChanged) + /** + * @brief Gets or sets the artists. + */ + Q_PROPERTY(QStringList artists READ artists WRITE setArtists NOTIFY artistsChanged) + /** + * @brief Gets or sets the artist items. + */ + Q_PROPERTY(QList artistItems READ artistItems WRITE setArtistItems NOTIFY artistItemsChanged) + /** + * @brief Gets or sets the album. + */ + Q_PROPERTY(QString album READ album WRITE setAlbum NOTIFY albumChanged) + /** + * @brief Gets or sets the type of the collection. + */ + Q_PROPERTY(QString collectionType READ collectionType WRITE setCollectionType NOTIFY collectionTypeChanged) + /** + * @brief Gets or sets the display order. + */ + Q_PROPERTY(QString displayOrder READ displayOrder WRITE setDisplayOrder NOTIFY displayOrderChanged) + /** + * @brief Gets or sets the album id. + */ + Q_PROPERTY(QString albumId READ albumId WRITE setAlbumId NOTIFY albumIdChanged) + /** + * @brief Gets or sets the album image tag. + */ + Q_PROPERTY(QString albumPrimaryImageTag READ albumPrimaryImageTag WRITE setAlbumPrimaryImageTag NOTIFY albumPrimaryImageTagChanged) + /** + * @brief Gets or sets the series primary image tag. + */ + Q_PROPERTY(QString seriesPrimaryImageTag READ seriesPrimaryImageTag WRITE setSeriesPrimaryImageTag NOTIFY seriesPrimaryImageTagChanged) + /** + * @brief Gets or sets the album artist. + */ + Q_PROPERTY(QString albumArtist READ albumArtist WRITE setAlbumArtist NOTIFY albumArtistChanged) + /** + * @brief Gets or sets the album artists. + */ + Q_PROPERTY(QList albumArtists READ albumArtists WRITE setAlbumArtists NOTIFY albumArtistsChanged) + /** + * @brief Gets or sets the name of the season. + */ + Q_PROPERTY(QString seasonName READ seasonName WRITE setSeasonName NOTIFY seasonNameChanged) + /** + * @brief Gets or sets the media streams. + */ + Q_PROPERTY(QList mediaStreams READ mediaStreams WRITE setMediaStreams NOTIFY mediaStreamsChanged) + Q_PROPERTY(VideoType videoType READ videoType WRITE setVideoType NOTIFY videoTypeChanged) + /** + * @brief Gets or sets the part count. + */ + Q_PROPERTY(qint32 partCount READ partCount WRITE setPartCount NOTIFY partCountChanged) + Q_PROPERTY(qint32 mediaSourceCount READ mediaSourceCount WRITE setMediaSourceCount NOTIFY mediaSourceCountChanged) + /** + * @brief Gets or sets the image tags. + */ + Q_PROPERTY(QJsonObject imageTags READ imageTags WRITE setImageTags NOTIFY imageTagsChanged) + /** + * @brief Gets or sets the backdrop image tags. + */ + Q_PROPERTY(QStringList backdropImageTags READ backdropImageTags WRITE setBackdropImageTags NOTIFY backdropImageTagsChanged) + /** + * @brief Gets or sets the screenshot image tags. + */ + Q_PROPERTY(QStringList screenshotImageTags READ screenshotImageTags WRITE setScreenshotImageTags NOTIFY screenshotImageTagsChanged) + /** + * @brief Gets or sets the parent logo image tag. + */ + Q_PROPERTY(QString parentLogoImageTag READ parentLogoImageTag WRITE setParentLogoImageTag NOTIFY parentLogoImageTagChanged) + /** + * @brief If the item does not have a art, this will hold the Id of the Parent that has one. + */ + Q_PROPERTY(QString parentArtItemId READ parentArtItemId WRITE setParentArtItemId NOTIFY parentArtItemIdChanged) + /** + * @brief Gets or sets the parent art image tag. + */ + Q_PROPERTY(QString parentArtImageTag READ parentArtImageTag WRITE setParentArtImageTag NOTIFY parentArtImageTagChanged) + /** + * @brief Gets or sets the series thumb image tag. + */ + Q_PROPERTY(QString seriesThumbImageTag READ seriesThumbImageTag WRITE setSeriesThumbImageTag NOTIFY seriesThumbImageTagChanged) + /** + * @brief Gets or sets the blurhashes for the image tags. +Maps image type to dictionary mapping image tag to blurhash value. + */ + Q_PROPERTY(QJsonObject imageBlurHashes READ imageBlurHashes WRITE setImageBlurHashes NOTIFY imageBlurHashesChanged) + /** + * @brief Gets or sets the series studio. + */ + Q_PROPERTY(QString seriesStudio READ seriesStudio WRITE setSeriesStudio NOTIFY seriesStudioChanged) + /** + * @brief Gets or sets the parent thumb item id. + */ + Q_PROPERTY(QString parentThumbItemId READ parentThumbItemId WRITE setParentThumbItemId NOTIFY parentThumbItemIdChanged) + /** + * @brief Gets or sets the parent thumb image tag. + */ + Q_PROPERTY(QString parentThumbImageTag READ parentThumbImageTag WRITE setParentThumbImageTag NOTIFY parentThumbImageTagChanged) + /** + * @brief Gets or sets the parent primary image item identifier. + */ + Q_PROPERTY(QString parentPrimaryImageItemId READ parentPrimaryImageItemId WRITE setParentPrimaryImageItemId NOTIFY parentPrimaryImageItemIdChanged) + /** + * @brief Gets or sets the parent primary image tag. + */ + Q_PROPERTY(QString parentPrimaryImageTag READ parentPrimaryImageTag WRITE setParentPrimaryImageTag NOTIFY parentPrimaryImageTagChanged) + /** + * @brief Gets or sets the chapters. + */ + Q_PROPERTY(QList chapters READ chapters WRITE setChapters NOTIFY chaptersChanged) + Q_PROPERTY(LocationType locationType READ locationType WRITE setLocationType NOTIFY locationTypeChanged) + Q_PROPERTY(IsoType isoType READ isoType WRITE setIsoType NOTIFY isoTypeChanged) + /** + * @brief Gets or sets the type of the media. + */ + Q_PROPERTY(QString mediaType READ mediaType WRITE setMediaType NOTIFY mediaTypeChanged) + /** + * @brief Gets or sets the end date. + */ + Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged) + /** + * @brief Gets or sets the locked fields. + */ + Q_PROPERTY(QList lockedFields READ lockedFields WRITE setLockedFields NOTIFY lockedFieldsChanged) + /** + * @brief Gets or sets the trailer count. + */ + Q_PROPERTY(qint32 trailerCount READ trailerCount WRITE setTrailerCount NOTIFY trailerCountChanged) + /** + * @brief Gets or sets the movie count. + */ + Q_PROPERTY(qint32 movieCount READ movieCount WRITE setMovieCount NOTIFY movieCountChanged) + /** + * @brief Gets or sets the series count. + */ + Q_PROPERTY(qint32 seriesCount READ seriesCount WRITE setSeriesCount NOTIFY seriesCountChanged) + Q_PROPERTY(qint32 programCount READ programCount WRITE setProgramCount NOTIFY programCountChanged) + /** + * @brief Gets or sets the episode count. + */ + Q_PROPERTY(qint32 episodeCount READ episodeCount WRITE setEpisodeCount NOTIFY episodeCountChanged) + /** + * @brief Gets or sets the song count. + */ + Q_PROPERTY(qint32 songCount READ songCount WRITE setSongCount NOTIFY songCountChanged) + /** + * @brief Gets or sets the album count. + */ + Q_PROPERTY(qint32 albumCount READ albumCount WRITE setAlbumCount NOTIFY albumCountChanged) + Q_PROPERTY(qint32 artistCount READ artistCount WRITE setArtistCount NOTIFY artistCountChanged) + /** + * @brief Gets or sets the music video count. + */ + Q_PROPERTY(qint32 musicVideoCount READ musicVideoCount WRITE setMusicVideoCount NOTIFY musicVideoCountChanged) + /** + * @brief Gets or sets a value indicating whether [enable internet providers]. + */ + Q_PROPERTY(bool lockData READ lockData WRITE setLockData NOTIFY lockDataChanged) + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + Q_PROPERTY(QString cameraMake READ cameraMake WRITE setCameraMake NOTIFY cameraMakeChanged) + Q_PROPERTY(QString cameraModel READ cameraModel WRITE setCameraModel NOTIFY cameraModelChanged) + Q_PROPERTY(QString software READ software WRITE setSoftware NOTIFY softwareChanged) + Q_PROPERTY(double exposureTime READ exposureTime WRITE setExposureTime NOTIFY exposureTimeChanged) + Q_PROPERTY(double focalLength READ focalLength WRITE setFocalLength NOTIFY focalLengthChanged) + Q_PROPERTY(ImageOrientation imageOrientation READ imageOrientation WRITE setImageOrientation NOTIFY imageOrientationChanged) + Q_PROPERTY(double aperture READ aperture WRITE setAperture NOTIFY apertureChanged) + Q_PROPERTY(double shutterSpeed READ shutterSpeed WRITE setShutterSpeed NOTIFY shutterSpeedChanged) + Q_PROPERTY(double latitude READ latitude WRITE setLatitude NOTIFY latitudeChanged) + Q_PROPERTY(double longitude READ longitude WRITE setLongitude NOTIFY longitudeChanged) + Q_PROPERTY(double altitude READ altitude WRITE setAltitude NOTIFY altitudeChanged) + Q_PROPERTY(qint32 isoSpeedRating READ isoSpeedRating WRITE setIsoSpeedRating NOTIFY isoSpeedRatingChanged) + /** + * @brief Gets or sets the series timer identifier. + */ + Q_PROPERTY(QString seriesTimerId READ seriesTimerId WRITE setSeriesTimerId NOTIFY seriesTimerIdChanged) + /** + * @brief Gets or sets the program identifier. + */ + Q_PROPERTY(QString programId READ programId WRITE setProgramId NOTIFY programIdChanged) + /** + * @brief Gets or sets the channel primary image tag. + */ + Q_PROPERTY(QString channelPrimaryImageTag READ channelPrimaryImageTag WRITE setChannelPrimaryImageTag NOTIFY channelPrimaryImageTagChanged) + /** + * @brief The start date of the recording, in UTC. + */ + Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged) + /** + * @brief Gets or sets the completion percentage. + */ + Q_PROPERTY(double completionPercentage READ completionPercentage WRITE setCompletionPercentage NOTIFY completionPercentageChanged) + /** + * @brief Gets or sets a value indicating whether this instance is repeat. + */ + Q_PROPERTY(bool isRepeat READ isRepeat WRITE setIsRepeat NOTIFY isRepeatChanged) + /** + * @brief Gets or sets the episode title. + */ + Q_PROPERTY(QString episodeTitle READ episodeTitle WRITE setEpisodeTitle NOTIFY episodeTitleChanged) + Q_PROPERTY(ChannelType channelType READ channelType WRITE setChannelType NOTIFY channelTypeChanged) + Q_PROPERTY(ProgramAudio audio READ audio WRITE setAudio NOTIFY audioChanged) + /** + * @brief Gets or sets a value indicating whether this instance is movie. + */ + Q_PROPERTY(bool isMovie READ isMovie WRITE setIsMovie NOTIFY isMovieChanged) + /** + * @brief Gets or sets a value indicating whether this instance is sports. + */ + Q_PROPERTY(bool isSports READ isSports WRITE setIsSports NOTIFY isSportsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is series. + */ + Q_PROPERTY(bool isSeries READ isSeries WRITE setIsSeries NOTIFY isSeriesChanged) + /** + * @brief Gets or sets a value indicating whether this instance is live. + */ + Q_PROPERTY(bool isLive READ isLive WRITE setIsLive NOTIFY isLiveChanged) + /** + * @brief Gets or sets a value indicating whether this instance is news. + */ + Q_PROPERTY(bool isNews READ isNews WRITE setIsNews NOTIFY isNewsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is kids. + */ + Q_PROPERTY(bool isKids READ isKids WRITE setIsKids NOTIFY isKidsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is premiere. + */ + Q_PROPERTY(bool isPremiere READ isPremiere WRITE setIsPremiere NOTIFY isPremiereChanged) + /** + * @brief Gets or sets the timer identifier. + */ + Q_PROPERTY(QString timerId READ timerId WRITE setTimerId NOTIFY timerIdChanged) + Q_PROPERTY(BaseItemDto * currentProgram READ currentProgram WRITE setCurrentProgram NOTIFY currentProgramChanged) + + QString name() const; + void setName(QString newName); + + QString originalTitle() const; + void setOriginalTitle(QString newOriginalTitle); + + QString serverId() const; + void setServerId(QString newServerId); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString etag() const; + void setEtag(QString newEtag); + + QString sourceType() const; + void setSourceType(QString newSourceType); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + + QDateTime dateCreated() const; + void setDateCreated(QDateTime newDateCreated); + + QDateTime dateLastMediaAdded() const; + void setDateLastMediaAdded(QDateTime newDateLastMediaAdded); + + QString extraType() const; + void setExtraType(QString newExtraType); + + qint32 airsBeforeSeasonNumber() const; + void setAirsBeforeSeasonNumber(qint32 newAirsBeforeSeasonNumber); + + qint32 airsAfterSeasonNumber() const; + void setAirsAfterSeasonNumber(qint32 newAirsAfterSeasonNumber); + + qint32 airsBeforeEpisodeNumber() const; + void setAirsBeforeEpisodeNumber(qint32 newAirsBeforeEpisodeNumber); + + bool canDelete() const; + void setCanDelete(bool newCanDelete); + + bool canDownload() const; + void setCanDownload(bool newCanDownload); + + bool hasSubtitles() const; + void setHasSubtitles(bool newHasSubtitles); + + QString preferredMetadataLanguage() const; + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + + QString preferredMetadataCountryCode() const; + void setPreferredMetadataCountryCode(QString newPreferredMetadataCountryCode); + + bool supportsSync() const; + void setSupportsSync(bool newSupportsSync); + + QString container() const; + void setContainer(QString newContainer); + + QString sortName() const; + void setSortName(QString newSortName); + + QString forcedSortName() const; + void setForcedSortName(QString newForcedSortName); + + Video3DFormat video3DFormat() const; + void setVideo3DFormat(Video3DFormat newVideo3DFormat); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + QList externalUrls() const; + void setExternalUrls(QList newExternalUrls); + + QList mediaSources() const; + void setMediaSources(QList newMediaSources); + + float criticRating() const; + void setCriticRating(float newCriticRating); + + QStringList productionLocations() const; + void setProductionLocations(QStringList newProductionLocations); + + QString path() const; + void setPath(QString newPath); + + bool enableMediaSourceDisplay() const; + void setEnableMediaSourceDisplay(bool newEnableMediaSourceDisplay); + + QString officialRating() const; + void setOfficialRating(QString newOfficialRating); + + QString customRating() const; + void setCustomRating(QString newCustomRating); + + QString channelId() const; + void setChannelId(QString newChannelId); + + QString channelName() const; + void setChannelName(QString newChannelName); + + QString overview() const; + void setOverview(QString newOverview); + + QStringList taglines() const; + void setTaglines(QStringList newTaglines); + + QStringList genres() const; + void setGenres(QStringList newGenres); + + float communityRating() const; + void setCommunityRating(float newCommunityRating); + + qint64 cumulativeRunTimeTicks() const; + void setCumulativeRunTimeTicks(qint64 newCumulativeRunTimeTicks); + + qint64 runTimeTicks() const; + void setRunTimeTicks(qint64 newRunTimeTicks); + + PlayAccess playAccess() const; + void setPlayAccess(PlayAccess newPlayAccess); + + QString aspectRatio() const; + void setAspectRatio(QString newAspectRatio); + + qint32 productionYear() const; + void setProductionYear(qint32 newProductionYear); + + bool isPlaceHolder() const; + void setIsPlaceHolder(bool newIsPlaceHolder); + + QString number() const; + void setNumber(QString newNumber); + + QString channelNumber() const; + void setChannelNumber(QString newChannelNumber); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 indexNumberEnd() const; + void setIndexNumberEnd(qint32 newIndexNumberEnd); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QList remoteTrailers() const; + void setRemoteTrailers(QList newRemoteTrailers); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + bool isHD() const; + void setIsHD(bool newIsHD); + + bool isFolder() const; + void setIsFolder(bool newIsFolder); + + QString parentId() const; + void setParentId(QString newParentId); + + QString type() const; + void setType(QString newType); + + QList people() const; + void setPeople(QList newPeople); + + QList studios() const; + void setStudios(QList newStudios); + + QList genreItems() const; + void setGenreItems(QList newGenreItems); + + QString parentLogoItemId() const; + void setParentLogoItemId(QString newParentLogoItemId); + + QString parentBackdropItemId() const; + void setParentBackdropItemId(QString newParentBackdropItemId); + + QStringList parentBackdropImageTags() const; + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + + qint32 localTrailerCount() const; + void setLocalTrailerCount(qint32 newLocalTrailerCount); + + UserItemDataDto * userData() const; + void setUserData(UserItemDataDto * newUserData); + + qint32 recursiveItemCount() const; + void setRecursiveItemCount(qint32 newRecursiveItemCount); + + qint32 childCount() const; + void setChildCount(qint32 newChildCount); + + QString seriesName() const; + void setSeriesName(QString newSeriesName); + + QString seriesId() const; + void setSeriesId(QString newSeriesId); + + QString seasonId() const; + void setSeasonId(QString newSeasonId); + + qint32 specialFeatureCount() const; + void setSpecialFeatureCount(qint32 newSpecialFeatureCount); + + QString displayPreferencesId() const; + void setDisplayPreferencesId(QString newDisplayPreferencesId); + + QString status() const; + void setStatus(QString newStatus); + + QString airTime() const; + void setAirTime(QString newAirTime); + + QList airDays() const; + void setAirDays(QList newAirDays); + + QStringList tags() const; + void setTags(QStringList newTags); + + double primaryImageAspectRatio() const; + void setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio); + + QStringList artists() const; + void setArtists(QStringList newArtists); + + QList artistItems() const; + void setArtistItems(QList newArtistItems); + + QString album() const; + void setAlbum(QString newAlbum); + + QString collectionType() const; + void setCollectionType(QString newCollectionType); + + QString displayOrder() const; + void setDisplayOrder(QString newDisplayOrder); + + QString albumId() const; + void setAlbumId(QString newAlbumId); + + QString albumPrimaryImageTag() const; + void setAlbumPrimaryImageTag(QString newAlbumPrimaryImageTag); + + QString seriesPrimaryImageTag() const; + void setSeriesPrimaryImageTag(QString newSeriesPrimaryImageTag); + + QString albumArtist() const; + void setAlbumArtist(QString newAlbumArtist); + + QList albumArtists() const; + void setAlbumArtists(QList newAlbumArtists); + + QString seasonName() const; + void setSeasonName(QString newSeasonName); + + QList mediaStreams() const; + void setMediaStreams(QList newMediaStreams); + + VideoType videoType() const; + void setVideoType(VideoType newVideoType); + + qint32 partCount() const; + void setPartCount(qint32 newPartCount); + + qint32 mediaSourceCount() const; + void setMediaSourceCount(qint32 newMediaSourceCount); + + QJsonObject imageTags() const; + void setImageTags(QJsonObject newImageTags); + + QStringList backdropImageTags() const; + void setBackdropImageTags(QStringList newBackdropImageTags); + + QStringList screenshotImageTags() const; + void setScreenshotImageTags(QStringList newScreenshotImageTags); + + QString parentLogoImageTag() const; + void setParentLogoImageTag(QString newParentLogoImageTag); + + QString parentArtItemId() const; + void setParentArtItemId(QString newParentArtItemId); + + QString parentArtImageTag() const; + void setParentArtImageTag(QString newParentArtImageTag); + + QString seriesThumbImageTag() const; + void setSeriesThumbImageTag(QString newSeriesThumbImageTag); + + QJsonObject imageBlurHashes() const; + void setImageBlurHashes(QJsonObject newImageBlurHashes); + + QString seriesStudio() const; + void setSeriesStudio(QString newSeriesStudio); + + QString parentThumbItemId() const; + void setParentThumbItemId(QString newParentThumbItemId); + + QString parentThumbImageTag() const; + void setParentThumbImageTag(QString newParentThumbImageTag); + + QString parentPrimaryImageItemId() const; + void setParentPrimaryImageItemId(QString newParentPrimaryImageItemId); + + QString parentPrimaryImageTag() const; + void setParentPrimaryImageTag(QString newParentPrimaryImageTag); + + QList chapters() const; + void setChapters(QList newChapters); + + LocationType locationType() const; + void setLocationType(LocationType newLocationType); + + IsoType isoType() const; + void setIsoType(IsoType newIsoType); + + QString mediaType() const; + void setMediaType(QString newMediaType); + + QDateTime endDate() const; + void setEndDate(QDateTime newEndDate); + + QList lockedFields() const; + void setLockedFields(QList newLockedFields); + + qint32 trailerCount() const; + void setTrailerCount(qint32 newTrailerCount); + + qint32 movieCount() const; + void setMovieCount(qint32 newMovieCount); + + qint32 seriesCount() const; + void setSeriesCount(qint32 newSeriesCount); + + qint32 programCount() const; + void setProgramCount(qint32 newProgramCount); + + qint32 episodeCount() const; + void setEpisodeCount(qint32 newEpisodeCount); + + qint32 songCount() const; + void setSongCount(qint32 newSongCount); + + qint32 albumCount() const; + void setAlbumCount(qint32 newAlbumCount); + + qint32 artistCount() const; + void setArtistCount(qint32 newArtistCount); + + qint32 musicVideoCount() const; + void setMusicVideoCount(qint32 newMusicVideoCount); + + bool lockData() const; + void setLockData(bool newLockData); + + qint32 width() const; + void setWidth(qint32 newWidth); + + qint32 height() const; + void setHeight(qint32 newHeight); + + QString cameraMake() const; + void setCameraMake(QString newCameraMake); + + QString cameraModel() const; + void setCameraModel(QString newCameraModel); + + QString software() const; + void setSoftware(QString newSoftware); + + double exposureTime() const; + void setExposureTime(double newExposureTime); + + double focalLength() const; + void setFocalLength(double newFocalLength); + + ImageOrientation imageOrientation() const; + void setImageOrientation(ImageOrientation newImageOrientation); + + double aperture() const; + void setAperture(double newAperture); + + double shutterSpeed() const; + void setShutterSpeed(double newShutterSpeed); + + double latitude() const; + void setLatitude(double newLatitude); + + double longitude() const; + void setLongitude(double newLongitude); + + double altitude() const; + void setAltitude(double newAltitude); + + qint32 isoSpeedRating() const; + void setIsoSpeedRating(qint32 newIsoSpeedRating); + + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId); + + QString programId() const; + void setProgramId(QString newProgramId); + + QString channelPrimaryImageTag() const; + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + + QDateTime startDate() const; + void setStartDate(QDateTime newStartDate); + + double completionPercentage() const; + void setCompletionPercentage(double newCompletionPercentage); + + bool isRepeat() const; + void setIsRepeat(bool newIsRepeat); + + QString episodeTitle() const; + void setEpisodeTitle(QString newEpisodeTitle); + + ChannelType channelType() const; + void setChannelType(ChannelType newChannelType); + + ProgramAudio audio() const; + void setAudio(ProgramAudio newAudio); + + bool isMovie() const; + void setIsMovie(bool newIsMovie); + + bool isSports() const; + void setIsSports(bool newIsSports); + + bool isSeries() const; + void setIsSeries(bool newIsSeries); + + bool isLive() const; + void setIsLive(bool newIsLive); + + bool isNews() const; + void setIsNews(bool newIsNews); + + bool isKids() const; + void setIsKids(bool newIsKids); + + bool isPremiere() const; + void setIsPremiere(bool newIsPremiere); + + QString timerId() const; + void setTimerId(QString newTimerId); + + BaseItemDto * currentProgram() const; + void setCurrentProgram(BaseItemDto * newCurrentProgram); + +signals: + void nameChanged(QString newName); + void originalTitleChanged(QString newOriginalTitle); + void serverIdChanged(QString newServerId); + void jellyfinIdChanged(QString newJellyfinId); + void etagChanged(QString newEtag); + void sourceTypeChanged(QString newSourceType); + void playlistItemIdChanged(QString newPlaylistItemId); + void dateCreatedChanged(QDateTime newDateCreated); + void dateLastMediaAddedChanged(QDateTime newDateLastMediaAdded); + void extraTypeChanged(QString newExtraType); + void airsBeforeSeasonNumberChanged(qint32 newAirsBeforeSeasonNumber); + void airsAfterSeasonNumberChanged(qint32 newAirsAfterSeasonNumber); + void airsBeforeEpisodeNumberChanged(qint32 newAirsBeforeEpisodeNumber); + void canDeleteChanged(bool newCanDelete); + void canDownloadChanged(bool newCanDownload); + void hasSubtitlesChanged(bool newHasSubtitles); + void preferredMetadataLanguageChanged(QString newPreferredMetadataLanguage); + void preferredMetadataCountryCodeChanged(QString newPreferredMetadataCountryCode); + void supportsSyncChanged(bool newSupportsSync); + void containerChanged(QString newContainer); + void sortNameChanged(QString newSortName); + void forcedSortNameChanged(QString newForcedSortName); + void video3DFormatChanged(Video3DFormat newVideo3DFormat); + void premiereDateChanged(QDateTime newPremiereDate); + void externalUrlsChanged(QList newExternalUrls); + void mediaSourcesChanged(QList newMediaSources); + void criticRatingChanged(float newCriticRating); + void productionLocationsChanged(QStringList newProductionLocations); + void pathChanged(QString newPath); + void enableMediaSourceDisplayChanged(bool newEnableMediaSourceDisplay); + void officialRatingChanged(QString newOfficialRating); + void customRatingChanged(QString newCustomRating); + void channelIdChanged(QString newChannelId); + void channelNameChanged(QString newChannelName); + void overviewChanged(QString newOverview); + void taglinesChanged(QStringList newTaglines); + void genresChanged(QStringList newGenres); + void communityRatingChanged(float newCommunityRating); + void cumulativeRunTimeTicksChanged(qint64 newCumulativeRunTimeTicks); + void runTimeTicksChanged(qint64 newRunTimeTicks); + void playAccessChanged(PlayAccess newPlayAccess); + void aspectRatioChanged(QString newAspectRatio); + void productionYearChanged(qint32 newProductionYear); + void isPlaceHolderChanged(bool newIsPlaceHolder); + void numberChanged(QString newNumber); + void channelNumberChanged(QString newChannelNumber); + void indexNumberChanged(qint32 newIndexNumber); + void indexNumberEndChanged(qint32 newIndexNumberEnd); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void remoteTrailersChanged(QList newRemoteTrailers); + void providerIdsChanged(QJsonObject newProviderIds); + void isHDChanged(bool newIsHD); + void isFolderChanged(bool newIsFolder); + void parentIdChanged(QString newParentId); + void typeChanged(QString newType); + void peopleChanged(QList newPeople); + void studiosChanged(QList newStudios); + void genreItemsChanged(QList newGenreItems); + void parentLogoItemIdChanged(QString newParentLogoItemId); + void parentBackdropItemIdChanged(QString newParentBackdropItemId); + void parentBackdropImageTagsChanged(QStringList newParentBackdropImageTags); + void localTrailerCountChanged(qint32 newLocalTrailerCount); + void userDataChanged(UserItemDataDto * newUserData); + void recursiveItemCountChanged(qint32 newRecursiveItemCount); + void childCountChanged(qint32 newChildCount); + void seriesNameChanged(QString newSeriesName); + void seriesIdChanged(QString newSeriesId); + void seasonIdChanged(QString newSeasonId); + void specialFeatureCountChanged(qint32 newSpecialFeatureCount); + void displayPreferencesIdChanged(QString newDisplayPreferencesId); + void statusChanged(QString newStatus); + void airTimeChanged(QString newAirTime); + void airDaysChanged(QList newAirDays); + void tagsChanged(QStringList newTags); + void primaryImageAspectRatioChanged(double newPrimaryImageAspectRatio); + void artistsChanged(QStringList newArtists); + void artistItemsChanged(QList newArtistItems); + void albumChanged(QString newAlbum); + void collectionTypeChanged(QString newCollectionType); + void displayOrderChanged(QString newDisplayOrder); + void albumIdChanged(QString newAlbumId); + void albumPrimaryImageTagChanged(QString newAlbumPrimaryImageTag); + void seriesPrimaryImageTagChanged(QString newSeriesPrimaryImageTag); + void albumArtistChanged(QString newAlbumArtist); + void albumArtistsChanged(QList newAlbumArtists); + void seasonNameChanged(QString newSeasonName); + void mediaStreamsChanged(QList newMediaStreams); + void videoTypeChanged(VideoType newVideoType); + void partCountChanged(qint32 newPartCount); + void mediaSourceCountChanged(qint32 newMediaSourceCount); + void imageTagsChanged(QJsonObject newImageTags); + void backdropImageTagsChanged(QStringList newBackdropImageTags); + void screenshotImageTagsChanged(QStringList newScreenshotImageTags); + void parentLogoImageTagChanged(QString newParentLogoImageTag); + void parentArtItemIdChanged(QString newParentArtItemId); + void parentArtImageTagChanged(QString newParentArtImageTag); + void seriesThumbImageTagChanged(QString newSeriesThumbImageTag); + void imageBlurHashesChanged(QJsonObject newImageBlurHashes); + void seriesStudioChanged(QString newSeriesStudio); + void parentThumbItemIdChanged(QString newParentThumbItemId); + void parentThumbImageTagChanged(QString newParentThumbImageTag); + void parentPrimaryImageItemIdChanged(QString newParentPrimaryImageItemId); + void parentPrimaryImageTagChanged(QString newParentPrimaryImageTag); + void chaptersChanged(QList newChapters); + void locationTypeChanged(LocationType newLocationType); + void isoTypeChanged(IsoType newIsoType); + void mediaTypeChanged(QString newMediaType); + void endDateChanged(QDateTime newEndDate); + void lockedFieldsChanged(QList newLockedFields); + void trailerCountChanged(qint32 newTrailerCount); + void movieCountChanged(qint32 newMovieCount); + void seriesCountChanged(qint32 newSeriesCount); + void programCountChanged(qint32 newProgramCount); + void episodeCountChanged(qint32 newEpisodeCount); + void songCountChanged(qint32 newSongCount); + void albumCountChanged(qint32 newAlbumCount); + void artistCountChanged(qint32 newArtistCount); + void musicVideoCountChanged(qint32 newMusicVideoCount); + void lockDataChanged(bool newLockData); + void widthChanged(qint32 newWidth); + void heightChanged(qint32 newHeight); + void cameraMakeChanged(QString newCameraMake); + void cameraModelChanged(QString newCameraModel); + void softwareChanged(QString newSoftware); + void exposureTimeChanged(double newExposureTime); + void focalLengthChanged(double newFocalLength); + void imageOrientationChanged(ImageOrientation newImageOrientation); + void apertureChanged(double newAperture); + void shutterSpeedChanged(double newShutterSpeed); + void latitudeChanged(double newLatitude); + void longitudeChanged(double newLongitude); + void altitudeChanged(double newAltitude); + void isoSpeedRatingChanged(qint32 newIsoSpeedRating); + void seriesTimerIdChanged(QString newSeriesTimerId); + void programIdChanged(QString newProgramId); + void channelPrimaryImageTagChanged(QString newChannelPrimaryImageTag); + void startDateChanged(QDateTime newStartDate); + void completionPercentageChanged(double newCompletionPercentage); + void isRepeatChanged(bool newIsRepeat); + void episodeTitleChanged(QString newEpisodeTitle); + void channelTypeChanged(ChannelType newChannelType); + void audioChanged(ProgramAudio newAudio); + void isMovieChanged(bool newIsMovie); + void isSportsChanged(bool newIsSports); + void isSeriesChanged(bool newIsSeries); + void isLiveChanged(bool newIsLive); + void isNewsChanged(bool newIsNews); + void isKidsChanged(bool newIsKids); + void isPremiereChanged(bool newIsPremiere); + void timerIdChanged(QString newTimerId); + void currentProgramChanged(BaseItemDto * 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; + qint32 m_airsBeforeSeasonNumber; + qint32 m_airsAfterSeasonNumber; + qint32 m_airsBeforeEpisodeNumber; + bool m_canDelete; + bool m_canDownload; + bool m_hasSubtitles; + QString m_preferredMetadataLanguage; + QString m_preferredMetadataCountryCode; + bool m_supportsSync; + QString m_container; + QString m_sortName; + QString m_forcedSortName; + Video3DFormat m_video3DFormat; + QDateTime m_premiereDate; + QList m_externalUrls; + QList m_mediaSources; + float m_criticRating; + QStringList m_productionLocations; + QString m_path; + bool m_enableMediaSourceDisplay; + QString m_officialRating; + QString m_customRating; + QString m_channelId; + QString m_channelName; + QString m_overview; + QStringList m_taglines; + QStringList m_genres; + float m_communityRating; + qint64 m_cumulativeRunTimeTicks; + qint64 m_runTimeTicks; + PlayAccess m_playAccess; + QString m_aspectRatio; + qint32 m_productionYear; + bool m_isPlaceHolder; + QString m_number; + QString m_channelNumber; + qint32 m_indexNumber; + qint32 m_indexNumberEnd; + qint32 m_parentIndexNumber; + QList m_remoteTrailers; + QJsonObject m_providerIds; + bool m_isHD; + bool m_isFolder; + QString m_parentId; + QString m_type; + QList m_people; + QList m_studios; + QList m_genreItems; + QString m_parentLogoItemId; + QString m_parentBackdropItemId; + QStringList m_parentBackdropImageTags; + qint32 m_localTrailerCount; + UserItemDataDto * m_userData = nullptr; + qint32 m_recursiveItemCount; + qint32 m_childCount; + QString m_seriesName; + QString m_seriesId; + QString m_seasonId; + qint32 m_specialFeatureCount; + QString m_displayPreferencesId; + QString m_status; + QString m_airTime; + QList m_airDays; + QStringList m_tags; + double m_primaryImageAspectRatio; + 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; + qint32 m_partCount; + qint32 m_mediaSourceCount; + QJsonObject m_imageTags; + QStringList m_backdropImageTags; + QStringList m_screenshotImageTags; + QString m_parentLogoImageTag; + QString m_parentArtItemId; + QString m_parentArtImageTag; + QString m_seriesThumbImageTag; + QJsonObject m_imageBlurHashes; + 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; + qint32 m_trailerCount; + qint32 m_movieCount; + qint32 m_seriesCount; + qint32 m_programCount; + qint32 m_episodeCount; + qint32 m_songCount; + qint32 m_albumCount; + qint32 m_artistCount; + qint32 m_musicVideoCount; + bool m_lockData; + qint32 m_width; + qint32 m_height; + QString m_cameraMake; + QString m_cameraModel; + QString m_software; + double m_exposureTime; + double m_focalLength; + ImageOrientation m_imageOrientation; + double m_aperture; + double m_shutterSpeed; + double m_latitude; + double m_longitude; + double m_altitude; + qint32 m_isoSpeedRating; + QString m_seriesTimerId; + QString m_programId; + QString m_channelPrimaryImageTag; + QDateTime m_startDate; + double m_completionPercentage; + bool m_isRepeat; + QString m_episodeTitle; + ChannelType m_channelType; + ProgramAudio m_audio; + bool m_isMovie; + bool m_isSports; + bool m_isSeries; + bool m_isLive; + bool m_isNews; + bool m_isKids; + bool m_isPremiere; + QString m_timerId; + BaseItemDto * m_currentProgram = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#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..cc61ca3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/baseitemdtoqueryresult.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_BASEITEMDTOQUERYRESULT_H +#define JELLYFIN_DTO_BASEITEMDTOQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; + +class BaseItemDtoQueryResult : public QObject { + Q_OBJECT +public: + explicit BaseItemDtoQueryResult(QObject *parent = nullptr); + static BaseItemDtoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..8bd2397 --- /dev/null +++ b/core/include/JellyfinQt/DTO/baseitemperson.h @@ -0,0 +1,110 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BASEITEMPERSON_H +#define JELLYFIN_DTO_BASEITEMPERSON_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BaseItemPerson : public QObject { + Q_OBJECT +public: + explicit BaseItemPerson(QObject *parent = nullptr); + static BaseItemPerson *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the role. + */ + Q_PROPERTY(QString role READ role WRITE setRole NOTIFY roleChanged) + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the primary image tag. + */ + Q_PROPERTY(QString primaryImageTag READ primaryImageTag WRITE setPrimaryImageTag NOTIFY primaryImageTagChanged) + /** + * @brief Gets or sets the primary image blurhash. + */ + Q_PROPERTY(QJsonObject imageBlurHashes READ imageBlurHashes WRITE setImageBlurHashes NOTIFY imageBlurHashesChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString role() const; + void setRole(QString newRole); + + QString type() const; + void setType(QString newType); + + QString primaryImageTag() const; + void setPrimaryImageTag(QString newPrimaryImageTag); + + QJsonObject imageBlurHashes() const; + void setImageBlurHashes(QJsonObject newImageBlurHashes); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); + void roleChanged(QString newRole); + void typeChanged(QString newType); + void primaryImageTagChanged(QString newPrimaryImageTag); + void imageBlurHashesChanged(QJsonObject newImageBlurHashes); +protected: + QString m_name; + QString m_jellyfinId; + QString m_role; + QString m_type; + QString m_primaryImageTag; + QJsonObject m_imageBlurHashes; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BASEITEMPERSON_H 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..920321d --- /dev/null +++ b/core/include/JellyfinQt/DTO/bookinfo.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_BOOKINFO_H +#define JELLYFIN_DTO_BOOKINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BookInfo : public QObject { + Q_OBJECT +public: + explicit BookInfo(QObject *parent = nullptr); + static BookInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + Q_PROPERTY(QString seriesName READ seriesName WRITE setSeriesName NOTIFY seriesNameChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + + QString seriesName() const; + void setSeriesName(QString newSeriesName); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); + void seriesNameChanged(QString newSeriesName); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; + QString m_seriesName; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BOOKINFO_H diff --git a/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h b/core/include/JellyfinQt/DTO/bookinforemotesearchquery.h new file mode 100644 index 0000000..0e26c66 --- /dev/null +++ b/core/include/JellyfinQt/DTO/bookinforemotesearchquery.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_BOOKINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BookInfo; + +class BookInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit BookInfoRemoteSearchQuery(QObject *parent = nullptr); + static BookInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(BookInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + BookInfo * searchInfo() const; + void setSearchInfo(BookInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(BookInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + BookInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BOOKINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/DTO/boxsetinfo.h b/core/include/JellyfinQt/DTO/boxsetinfo.h new file mode 100644 index 0000000..f08d424 --- /dev/null +++ b/core/include/JellyfinQt/DTO/boxsetinfo.h @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_BOXSETINFO_H +#define JELLYFIN_DTO_BOXSETINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BoxSetInfo : public QObject { + Q_OBJECT +public: + explicit BoxSetInfo(QObject *parent = nullptr); + static BoxSetInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BOXSETINFO_H diff --git a/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h b/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.h new file mode 100644 index 0000000..0fa7db2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/boxsetinforemotesearchquery.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_BOXSETINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BoxSetInfo; + +class BoxSetInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit BoxSetInfoRemoteSearchQuery(QObject *parent = nullptr); + static BoxSetInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(BoxSetInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + BoxSetInfo * searchInfo() const; + void setSearchInfo(BoxSetInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(BoxSetInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + BoxSetInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BOXSETINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/DTO/brandingoptions.h b/core/include/JellyfinQt/DTO/brandingoptions.h new file mode 100644 index 0000000..8a46e52 --- /dev/null +++ b/core/include/JellyfinQt/DTO/brandingoptions.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_BRANDINGOPTIONS_H +#define JELLYFIN_DTO_BRANDINGOPTIONS_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BrandingOptions : public QObject { + Q_OBJECT +public: + explicit BrandingOptions(QObject *parent = nullptr); + static BrandingOptions *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the login disclaimer. + */ + Q_PROPERTY(QString loginDisclaimer READ loginDisclaimer WRITE setLoginDisclaimer NOTIFY loginDisclaimerChanged) + /** + * @brief Gets or sets the custom CSS. + */ + Q_PROPERTY(QString customCss READ customCss WRITE setCustomCss NOTIFY customCssChanged) + + QString loginDisclaimer() const; + void setLoginDisclaimer(QString newLoginDisclaimer); + + QString customCss() const; + void setCustomCss(QString newCustomCss); + +signals: + void loginDisclaimerChanged(QString newLoginDisclaimer); + void customCssChanged(QString newCustomCss); +protected: + QString m_loginDisclaimer; + QString m_customCss; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BRANDINGOPTIONS_H diff --git a/core/include/JellyfinQt/DTO/bufferrequestdto.h b/core/include/JellyfinQt/DTO/bufferrequestdto.h new file mode 100644 index 0000000..c178ecd --- /dev/null +++ b/core/include/JellyfinQt/DTO/bufferrequestdto.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_BUFFERREQUESTDTO_H +#define JELLYFIN_DTO_BUFFERREQUESTDTO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BufferRequestDto : public QObject { + Q_OBJECT +public: + explicit BufferRequestDto(QObject *parent = nullptr); + static BufferRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets when the request has been made by the client. + */ + Q_PROPERTY(QDateTime when READ when WRITE setWhen NOTIFY whenChanged) + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + Q_PROPERTY(bool isPlaying READ isPlaying WRITE setIsPlaying NOTIFY isPlayingChanged) + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QDateTime when() const; + void setWhen(QDateTime newWhen); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + bool isPlaying() const; + void setIsPlaying(bool newIsPlaying); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void whenChanged(QDateTime newWhen); + void positionTicksChanged(qint64 newPositionTicks); + void isPlayingChanged(bool newIsPlaying); + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QDateTime m_when; + qint64 m_positionTicks; + bool m_isPlaying; + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_BUFFERREQUESTDTO_H diff --git a/core/include/JellyfinQt/DTO/channelfeatures.h b/core/include/JellyfinQt/DTO/channelfeatures.h new file mode 100644 index 0000000..b8f823e --- /dev/null +++ b/core/include/JellyfinQt/DTO/channelfeatures.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_CHANNELFEATURES_H +#define JELLYFIN_DTO_CHANNELFEATURES_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/channelitemsortfield.h" +#include "JellyfinQt/DTO/channelmediacontenttype.h" +#include "JellyfinQt/DTO/channelmediatype.h" + +namespace Jellyfin { +namespace DTO { + +class ChannelFeatures : public QObject { + Q_OBJECT +public: + explicit ChannelFeatures(QObject *parent = nullptr); + static ChannelFeatures *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets a value indicating whether this instance can search. + */ + Q_PROPERTY(bool canSearch READ canSearch WRITE setCanSearch NOTIFY canSearchChanged) + /** + * @brief Gets or sets the media types. + */ + Q_PROPERTY(QList mediaTypes READ mediaTypes WRITE setMediaTypes NOTIFY mediaTypesChanged) + /** + * @brief Gets or sets the content types. + */ + Q_PROPERTY(QList contentTypes READ contentTypes WRITE setContentTypes NOTIFY contentTypesChanged) + /** + * @brief Represents the maximum number of records the channel allows retrieving at a time. + */ + Q_PROPERTY(qint32 maxPageSize READ maxPageSize WRITE setMaxPageSize NOTIFY maxPageSizeChanged) + /** + * @brief Gets or sets the automatic refresh levels. + */ + Q_PROPERTY(qint32 autoRefreshLevels READ autoRefreshLevels WRITE setAutoRefreshLevels NOTIFY autoRefreshLevelsChanged) + /** + * @brief Gets or sets the default sort orders. + */ + Q_PROPERTY(QList defaultSortFields READ defaultSortFields WRITE setDefaultSortFields NOTIFY defaultSortFieldsChanged) + /** + * @brief Indicates if a sort ascending/descending toggle is supported or not. + */ + Q_PROPERTY(bool supportsSortOrderToggle READ supportsSortOrderToggle WRITE setSupportsSortOrderToggle NOTIFY supportsSortOrderToggleChanged) + /** + * @brief Gets or sets a value indicating whether [supports latest media]. + */ + Q_PROPERTY(bool supportsLatestMedia READ supportsLatestMedia WRITE setSupportsLatestMedia NOTIFY supportsLatestMediaChanged) + /** + * @brief Gets or sets a value indicating whether this instance can filter. + */ + Q_PROPERTY(bool canFilter READ canFilter WRITE setCanFilter NOTIFY canFilterChanged) + /** + * @brief Gets or sets a value indicating whether [supports content downloading]. + */ + Q_PROPERTY(bool supportsContentDownloading READ supportsContentDownloading WRITE setSupportsContentDownloading NOTIFY supportsContentDownloadingChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + bool canSearch() const; + void setCanSearch(bool newCanSearch); + + QList mediaTypes() const; + void setMediaTypes(QList newMediaTypes); + + QList contentTypes() const; + void setContentTypes(QList newContentTypes); + + qint32 maxPageSize() const; + void setMaxPageSize(qint32 newMaxPageSize); + + qint32 autoRefreshLevels() const; + void setAutoRefreshLevels(qint32 newAutoRefreshLevels); + + QList defaultSortFields() const; + void setDefaultSortFields(QList newDefaultSortFields); + + bool supportsSortOrderToggle() const; + void setSupportsSortOrderToggle(bool newSupportsSortOrderToggle); + + bool supportsLatestMedia() const; + void setSupportsLatestMedia(bool newSupportsLatestMedia); + + bool canFilter() const; + void setCanFilter(bool newCanFilter); + + bool supportsContentDownloading() const; + void setSupportsContentDownloading(bool newSupportsContentDownloading); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); + void canSearchChanged(bool newCanSearch); + void mediaTypesChanged(QList newMediaTypes); + void contentTypesChanged(QList newContentTypes); + void maxPageSizeChanged(qint32 newMaxPageSize); + void autoRefreshLevelsChanged(qint32 newAutoRefreshLevels); + void defaultSortFieldsChanged(QList newDefaultSortFields); + void supportsSortOrderToggleChanged(bool newSupportsSortOrderToggle); + void supportsLatestMediaChanged(bool newSupportsLatestMedia); + void canFilterChanged(bool newCanFilter); + void supportsContentDownloadingChanged(bool newSupportsContentDownloading); +protected: + QString m_name; + QString m_jellyfinId; + bool m_canSearch; + QList m_mediaTypes; + QList m_contentTypes; + qint32 m_maxPageSize; + qint32 m_autoRefreshLevels; + QList m_defaultSortFields; + bool m_supportsSortOrderToggle; + bool m_supportsLatestMedia; + bool m_canFilter; + bool m_supportsContentDownloading; +}; + +} // NS Jellyfin +} // NS DTO + +#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..aa5aec8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/channelitemsortfield.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELITEMSORTFIELD_H +#define JELLYFIN_DTO_CHANNELITEMSORTFIELD_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ChannelItemSortFieldClass { + Q_GADGET +public: + enum Value { + Name, + CommunityRating, + PremiereDate, + DateCreated, + Runtime, + PlayCount, + CommunityPlayCount, + }; + Q_ENUM(Value) +private: + explicit ChannelItemSortFieldClass(); +}; +typedef ChannelItemSortFieldClass::Value ChannelItemSortField; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CHANNELITEMSORTFIELD_H diff --git a/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h b/core/include/JellyfinQt/DTO/channelmappingoptionsdto.h new file mode 100644 index 0000000..6215f18 --- /dev/null +++ b/core/include/JellyfinQt/DTO/channelmappingoptionsdto.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_CHANNELMAPPINGOPTIONSDTO_H +#define JELLYFIN_DTO_CHANNELMAPPINGOPTIONSDTO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameIdPair; +class NameValuePair; +class TunerChannelMapping; + +class ChannelMappingOptionsDto : public QObject { + Q_OBJECT +public: + explicit ChannelMappingOptionsDto(QObject *parent = nullptr); + static ChannelMappingOptionsDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets list of tuner channels. + */ + Q_PROPERTY(QList tunerChannels READ tunerChannels WRITE setTunerChannels NOTIFY tunerChannelsChanged) + /** + * @brief Gets or sets list of provider channels. + */ + Q_PROPERTY(QList providerChannels READ providerChannels WRITE setProviderChannels NOTIFY providerChannelsChanged) + /** + * @brief Gets or sets list of mappings. + */ + Q_PROPERTY(QList mappings READ mappings WRITE setMappings NOTIFY mappingsChanged) + /** + * @brief Gets or sets provider name. + */ + Q_PROPERTY(QString providerName READ providerName WRITE setProviderName NOTIFY providerNameChanged) + + QList tunerChannels() const; + void setTunerChannels(QList newTunerChannels); + + QList providerChannels() const; + void setProviderChannels(QList newProviderChannels); + + QList mappings() const; + void setMappings(QList newMappings); + + QString providerName() const; + void setProviderName(QString newProviderName); + +signals: + void tunerChannelsChanged(QList newTunerChannels); + void providerChannelsChanged(QList newProviderChannels); + void mappingsChanged(QList newMappings); + void providerNameChanged(QString newProviderName); +protected: + QList m_tunerChannels; + QList m_providerChannels; + QList m_mappings; + QString m_providerName; +}; + +} // NS Jellyfin +} // NS DTO + +#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..f310729 --- /dev/null +++ b/core/include/JellyfinQt/DTO/channelmediacontenttype.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_CHANNELMEDIACONTENTTYPE_H +#define JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ChannelMediaContentTypeClass { + Q_GADGET +public: + enum Value { + Clip, + Podcast, + Trailer, + Movie, + Episode, + Song, + MovieExtra, + TvExtra, + }; + Q_ENUM(Value) +private: + explicit ChannelMediaContentTypeClass(); +}; +typedef ChannelMediaContentTypeClass::Value ChannelMediaContentType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CHANNELMEDIACONTENTTYPE_H diff --git a/core/include/JellyfinQt/DTO/channelmediatype.h b/core/include/JellyfinQt/DTO/channelmediatype.h new file mode 100644 index 0000000..4913e18 --- /dev/null +++ b/core/include/JellyfinQt/DTO/channelmediatype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELMEDIATYPE_H +#define JELLYFIN_DTO_CHANNELMEDIATYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ChannelMediaTypeClass { + Q_GADGET +public: + enum Value { + Audio, + Video, + Photo, + }; + Q_ENUM(Value) +private: + explicit ChannelMediaTypeClass(); +}; +typedef ChannelMediaTypeClass::Value ChannelMediaType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CHANNELMEDIATYPE_H diff --git a/core/include/JellyfinQt/DTO/channeltype.h b/core/include/JellyfinQt/DTO/channeltype.h new file mode 100644 index 0000000..ce11729 --- /dev/null +++ b/core/include/JellyfinQt/DTO/channeltype.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CHANNELTYPE_H +#define JELLYFIN_DTO_CHANNELTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ChannelTypeClass { + Q_GADGET +public: + enum Value { + TV, + Radio, + }; + Q_ENUM(Value) +private: + explicit ChannelTypeClass(); +}; +typedef ChannelTypeClass::Value ChannelType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CHANNELTYPE_H diff --git a/core/include/JellyfinQt/DTO/chapterinfo.h b/core/include/JellyfinQt/DTO/chapterinfo.h new file mode 100644 index 0000000..28ce872 --- /dev/null +++ b/core/include/JellyfinQt/DTO/chapterinfo.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_CHAPTERINFO_H +#define JELLYFIN_DTO_CHAPTERINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ChapterInfo : public QObject { + Q_OBJECT +public: + explicit ChapterInfo(QObject *parent = nullptr); + static ChapterInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the start position ticks. + */ + Q_PROPERTY(qint64 startPositionTicks READ startPositionTicks WRITE setStartPositionTicks NOTIFY startPositionTicksChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the image path. + */ + Q_PROPERTY(QString imagePath READ imagePath WRITE setImagePath NOTIFY imagePathChanged) + Q_PROPERTY(QDateTime imageDateModified READ imageDateModified WRITE setImageDateModified NOTIFY imageDateModifiedChanged) + Q_PROPERTY(QString imageTag READ imageTag WRITE setImageTag NOTIFY imageTagChanged) + + qint64 startPositionTicks() const; + void setStartPositionTicks(qint64 newStartPositionTicks); + + QString name() const; + void setName(QString newName); + + QString imagePath() const; + void setImagePath(QString newImagePath); + + QDateTime imageDateModified() const; + void setImageDateModified(QDateTime newImageDateModified); + + QString imageTag() const; + void setImageTag(QString newImageTag); + +signals: + void startPositionTicksChanged(qint64 newStartPositionTicks); + void nameChanged(QString newName); + void imagePathChanged(QString newImagePath); + void imageDateModifiedChanged(QDateTime newImageDateModified); + void imageTagChanged(QString newImageTag); +protected: + qint64 m_startPositionTicks; + QString m_name; + QString m_imagePath; + QDateTime m_imageDateModified; + QString m_imageTag; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CHAPTERINFO_H diff --git a/core/include/JellyfinQt/DTO/clientcapabilities.h b/core/include/JellyfinQt/DTO/clientcapabilities.h new file mode 100644 index 0000000..5d6a398 --- /dev/null +++ b/core/include/JellyfinQt/DTO/clientcapabilities.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_CLIENTCAPABILITIES_H +#define JELLYFIN_DTO_CLIENTCAPABILITIES_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/generalcommandtype.h" + +namespace Jellyfin { +namespace DTO { + +class DeviceProfile; + +class ClientCapabilities : public QObject { + Q_OBJECT +public: + explicit ClientCapabilities(QObject *parent = nullptr); + static ClientCapabilities *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QStringList playableMediaTypes READ playableMediaTypes WRITE setPlayableMediaTypes NOTIFY playableMediaTypesChanged) + Q_PROPERTY(QList supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged) + Q_PROPERTY(bool supportsMediaControl READ supportsMediaControl WRITE setSupportsMediaControl NOTIFY supportsMediaControlChanged) + Q_PROPERTY(bool supportsContentUploading READ supportsContentUploading WRITE setSupportsContentUploading NOTIFY supportsContentUploadingChanged) + Q_PROPERTY(QString messageCallbackUrl READ messageCallbackUrl WRITE setMessageCallbackUrl NOTIFY messageCallbackUrlChanged) + Q_PROPERTY(bool supportsPersistentIdentifier READ supportsPersistentIdentifier WRITE setSupportsPersistentIdentifier NOTIFY supportsPersistentIdentifierChanged) + Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged) + Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged) + Q_PROPERTY(QString appStoreUrl READ appStoreUrl WRITE setAppStoreUrl NOTIFY appStoreUrlChanged) + Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged) + + QStringList playableMediaTypes() const; + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + + QList supportedCommands() const; + void setSupportedCommands(QList newSupportedCommands); + + bool supportsMediaControl() const; + void setSupportsMediaControl(bool newSupportsMediaControl); + + bool supportsContentUploading() const; + void setSupportsContentUploading(bool newSupportsContentUploading); + + QString messageCallbackUrl() const; + void setMessageCallbackUrl(QString newMessageCallbackUrl); + + bool supportsPersistentIdentifier() const; + void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier); + + bool supportsSync() const; + void setSupportsSync(bool newSupportsSync); + + DeviceProfile * deviceProfile() const; + void setDeviceProfile(DeviceProfile * newDeviceProfile); + + QString appStoreUrl() const; + void setAppStoreUrl(QString newAppStoreUrl); + + QString iconUrl() const; + void setIconUrl(QString newIconUrl); + +signals: + void playableMediaTypesChanged(QStringList newPlayableMediaTypes); + void supportedCommandsChanged(QList newSupportedCommands); + void supportsMediaControlChanged(bool newSupportsMediaControl); + void supportsContentUploadingChanged(bool newSupportsContentUploading); + void messageCallbackUrlChanged(QString newMessageCallbackUrl); + void supportsPersistentIdentifierChanged(bool newSupportsPersistentIdentifier); + void supportsSyncChanged(bool newSupportsSync); + void deviceProfileChanged(DeviceProfile * newDeviceProfile); + void appStoreUrlChanged(QString newAppStoreUrl); + void iconUrlChanged(QString newIconUrl); +protected: + QStringList m_playableMediaTypes; + QList m_supportedCommands; + bool m_supportsMediaControl; + bool m_supportsContentUploading; + QString m_messageCallbackUrl; + bool m_supportsPersistentIdentifier; + bool m_supportsSync; + DeviceProfile * m_deviceProfile = nullptr; + QString m_appStoreUrl; + QString m_iconUrl; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CLIENTCAPABILITIES_H diff --git a/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h b/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h new file mode 100644 index 0000000..e420fbd --- /dev/null +++ b/core/include/JellyfinQt/DTO/clientcapabilitiesdto.h @@ -0,0 +1,149 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H +#define JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/generalcommandtype.h" + +namespace Jellyfin { +namespace DTO { + +class DeviceProfile; + +class ClientCapabilitiesDto : public QObject { + Q_OBJECT +public: + explicit ClientCapabilitiesDto(QObject *parent = nullptr); + static ClientCapabilitiesDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the list of playable media types. + */ + Q_PROPERTY(QStringList playableMediaTypes READ playableMediaTypes WRITE setPlayableMediaTypes NOTIFY playableMediaTypesChanged) + /** + * @brief Gets or sets the list of supported commands. + */ + Q_PROPERTY(QList supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged) + /** + * @brief Gets or sets a value indicating whether session supports media control. + */ + Q_PROPERTY(bool supportsMediaControl READ supportsMediaControl WRITE setSupportsMediaControl NOTIFY supportsMediaControlChanged) + /** + * @brief Gets or sets a value indicating whether session supports content uploading. + */ + Q_PROPERTY(bool supportsContentUploading READ supportsContentUploading WRITE setSupportsContentUploading NOTIFY supportsContentUploadingChanged) + /** + * @brief Gets or sets the message callback url. + */ + Q_PROPERTY(QString messageCallbackUrl READ messageCallbackUrl WRITE setMessageCallbackUrl NOTIFY messageCallbackUrlChanged) + /** + * @brief Gets or sets a value indicating whether session supports a persistent identifier. + */ + Q_PROPERTY(bool supportsPersistentIdentifier READ supportsPersistentIdentifier WRITE setSupportsPersistentIdentifier NOTIFY supportsPersistentIdentifierChanged) + /** + * @brief Gets or sets a value indicating whether session supports sync. + */ + Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged) + Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged) + /** + * @brief Gets or sets the app store url. + */ + Q_PROPERTY(QString appStoreUrl READ appStoreUrl WRITE setAppStoreUrl NOTIFY appStoreUrlChanged) + /** + * @brief Gets or sets the icon url. + */ + Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged) + + QStringList playableMediaTypes() const; + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + + QList supportedCommands() const; + void setSupportedCommands(QList newSupportedCommands); + + bool supportsMediaControl() const; + void setSupportsMediaControl(bool newSupportsMediaControl); + + bool supportsContentUploading() const; + void setSupportsContentUploading(bool newSupportsContentUploading); + + QString messageCallbackUrl() const; + void setMessageCallbackUrl(QString newMessageCallbackUrl); + + bool supportsPersistentIdentifier() const; + void setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier); + + bool supportsSync() const; + void setSupportsSync(bool newSupportsSync); + + DeviceProfile * deviceProfile() const; + void setDeviceProfile(DeviceProfile * newDeviceProfile); + + QString appStoreUrl() const; + void setAppStoreUrl(QString newAppStoreUrl); + + QString iconUrl() const; + void setIconUrl(QString newIconUrl); + +signals: + void playableMediaTypesChanged(QStringList newPlayableMediaTypes); + void supportedCommandsChanged(QList newSupportedCommands); + void supportsMediaControlChanged(bool newSupportsMediaControl); + void supportsContentUploadingChanged(bool newSupportsContentUploading); + void messageCallbackUrlChanged(QString newMessageCallbackUrl); + void supportsPersistentIdentifierChanged(bool newSupportsPersistentIdentifier); + void supportsSyncChanged(bool newSupportsSync); + void deviceProfileChanged(DeviceProfile * newDeviceProfile); + void appStoreUrlChanged(QString newAppStoreUrl); + void iconUrlChanged(QString newIconUrl); +protected: + QStringList m_playableMediaTypes; + QList m_supportedCommands; + bool m_supportsMediaControl; + bool m_supportsContentUploading; + QString m_messageCallbackUrl; + bool m_supportsPersistentIdentifier; + bool m_supportsSync; + DeviceProfile * m_deviceProfile = nullptr; + QString m_appStoreUrl; + QString m_iconUrl; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CLIENTCAPABILITIESDTO_H diff --git a/core/include/JellyfinQt/DTO/codecprofile.h b/core/include/JellyfinQt/DTO/codecprofile.h new file mode 100644 index 0000000..94c08cb --- /dev/null +++ b/core/include/JellyfinQt/DTO/codecprofile.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_CODECPROFILE_H +#define JELLYFIN_DTO_CODECPROFILE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/codectype.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileCondition; +class ProfileCondition; + +class CodecProfile : public QObject { + Q_OBJECT +public: + explicit CodecProfile(QObject *parent = nullptr); + static CodecProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(CodecType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QList conditions READ conditions WRITE setConditions NOTIFY conditionsChanged) + Q_PROPERTY(QList applyConditions READ applyConditions WRITE setApplyConditions NOTIFY applyConditionsChanged) + Q_PROPERTY(QString codec READ codec WRITE setCodec NOTIFY codecChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + + CodecType type() const; + void setType(CodecType newType); + + QList conditions() const; + void setConditions(QList newConditions); + + QList applyConditions() const; + void setApplyConditions(QList newApplyConditions); + + QString codec() const; + void setCodec(QString newCodec); + + QString container() const; + void setContainer(QString newContainer); + +signals: + void typeChanged(CodecType newType); + void conditionsChanged(QList newConditions); + void applyConditionsChanged(QList newApplyConditions); + void codecChanged(QString newCodec); + void containerChanged(QString newContainer); +protected: + CodecType m_type; + QList m_conditions; + QList m_applyConditions; + QString m_codec; + QString m_container; +}; + +} // NS Jellyfin +} // NS DTO + +#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..6f71e20 --- /dev/null +++ b/core/include/JellyfinQt/DTO/codectype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CODECTYPE_H +#define JELLYFIN_DTO_CODECTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class CodecTypeClass { + Q_GADGET +public: + enum Value { + Video, + VideoAudio, + Audio, + }; + Q_ENUM(Value) +private: + explicit CodecTypeClass(); +}; +typedef CodecTypeClass::Value CodecType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CODECTYPE_H diff --git a/core/include/JellyfinQt/DTO/collectioncreationresult.h b/core/include/JellyfinQt/DTO/collectioncreationresult.h new file mode 100644 index 0000000..b64fc31 --- /dev/null +++ b/core/include/JellyfinQt/DTO/collectioncreationresult.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_COLLECTIONCREATIONRESULT_H +#define JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CollectionCreationResult : public QObject { + Q_OBJECT +public: + explicit CollectionCreationResult(QObject *parent = nullptr); + static CollectionCreationResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_COLLECTIONCREATIONRESULT_H diff --git a/core/include/JellyfinQt/DTO/configurationpageinfo.h b/core/include/JellyfinQt/DTO/configurationpageinfo.h new file mode 100644 index 0000000..f26f6c2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/configurationpageinfo.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_CONFIGURATIONPAGEINFO_H +#define JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/configurationpagetype.h" + +namespace Jellyfin { +namespace DTO { + +class ConfigurationPageInfo : public QObject { + Q_OBJECT +public: + explicit ConfigurationPageInfo(QObject *parent = nullptr); + static ConfigurationPageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets a value indicating whether the configurations page is enabled in the main menu. + */ + Q_PROPERTY(bool enableInMainMenu READ enableInMainMenu WRITE setEnableInMainMenu NOTIFY enableInMainMenuChanged) + /** + * @brief Gets or sets the menu section. + */ + Q_PROPERTY(QString menuSection READ menuSection WRITE setMenuSection NOTIFY menuSectionChanged) + /** + * @brief Gets or sets the menu icon. + */ + Q_PROPERTY(QString menuIcon READ menuIcon WRITE setMenuIcon NOTIFY menuIconChanged) + /** + * @brief Gets or sets the display name. + */ + Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged) + Q_PROPERTY(ConfigurationPageType configurationPageType READ configurationPageType WRITE setConfigurationPageType NOTIFY configurationPageTypeChanged) + /** + * @brief Gets or sets the plugin id. + */ + Q_PROPERTY(QString pluginId READ pluginId WRITE setPluginId NOTIFY pluginIdChanged) + + QString name() const; + void setName(QString newName); + + bool enableInMainMenu() const; + void setEnableInMainMenu(bool newEnableInMainMenu); + + QString menuSection() const; + void setMenuSection(QString newMenuSection); + + QString menuIcon() const; + void setMenuIcon(QString newMenuIcon); + + QString displayName() const; + void setDisplayName(QString newDisplayName); + + ConfigurationPageType configurationPageType() const; + void setConfigurationPageType(ConfigurationPageType newConfigurationPageType); + + QString pluginId() const; + void setPluginId(QString newPluginId); + +signals: + void nameChanged(QString newName); + void enableInMainMenuChanged(bool newEnableInMainMenu); + void menuSectionChanged(QString newMenuSection); + void menuIconChanged(QString newMenuIcon); + void displayNameChanged(QString newDisplayName); + void configurationPageTypeChanged(ConfigurationPageType newConfigurationPageType); + void pluginIdChanged(QString newPluginId); +protected: + QString m_name; + bool m_enableInMainMenu; + QString m_menuSection; + QString m_menuIcon; + QString m_displayName; + ConfigurationPageType m_configurationPageType; + QString m_pluginId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CONFIGURATIONPAGEINFO_H diff --git a/core/include/JellyfinQt/DTO/configurationpagetype.h b/core/include/JellyfinQt/DTO/configurationpagetype.h new file mode 100644 index 0000000..4e1c489 --- /dev/null +++ b/core/include/JellyfinQt/DTO/configurationpagetype.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H +#define JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ConfigurationPageTypeClass { + Q_GADGET +public: + enum Value { + PluginConfiguration, + None, + }; + Q_ENUM(Value) +private: + explicit ConfigurationPageTypeClass(); +}; +typedef ConfigurationPageTypeClass::Value ConfigurationPageType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CONFIGURATIONPAGETYPE_H diff --git a/core/include/JellyfinQt/DTO/containerprofile.h b/core/include/JellyfinQt/DTO/containerprofile.h new file mode 100644 index 0000000..b97c696 --- /dev/null +++ b/core/include/JellyfinQt/DTO/containerprofile.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_CONTAINERPROFILE_H +#define JELLYFIN_DTO_CONTAINERPROFILE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/dlnaprofiletype.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileCondition; + +class ContainerProfile : public QObject { + Q_OBJECT +public: + explicit ContainerProfile(QObject *parent = nullptr); + static ContainerProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QList conditions READ conditions WRITE setConditions NOTIFY conditionsChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + + DlnaProfileType type() const; + void setType(DlnaProfileType newType); + + QList conditions() const; + void setConditions(QList newConditions); + + QString container() const; + void setContainer(QString newContainer); + +signals: + void typeChanged(DlnaProfileType newType); + void conditionsChanged(QList newConditions); + void containerChanged(QString newContainer); +protected: + DlnaProfileType m_type; + QList m_conditions; + QString m_container; +}; + +} // NS Jellyfin +} // NS DTO + +#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..39f6bb5 --- /dev/null +++ b/core/include/JellyfinQt/DTO/controlresponse.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_CONTROLRESPONSE_H +#define JELLYFIN_DTO_CONTROLRESPONSE_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ControlResponse : public QObject { + Q_OBJECT +public: + explicit ControlResponse(QObject *parent = nullptr); + static ControlResponse *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QJsonObject headers READ headers WRITE setHeaders NOTIFY headersChanged) + Q_PROPERTY(QString xml READ xml WRITE setXml NOTIFY xmlChanged) + Q_PROPERTY(bool isSuccessful READ isSuccessful WRITE setIsSuccessful NOTIFY isSuccessfulChanged) + + QJsonObject headers() const; + void setHeaders(QJsonObject newHeaders); + + QString xml() const; + void setXml(QString newXml); + + bool isSuccessful() const; + void setIsSuccessful(bool newIsSuccessful); + +signals: + void headersChanged(QJsonObject newHeaders); + void xmlChanged(QString newXml); + void isSuccessfulChanged(bool newIsSuccessful); +protected: + QJsonObject m_headers; + QString m_xml; + bool m_isSuccessful; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CONTROLRESPONSE_H diff --git a/core/include/JellyfinQt/DTO/countryinfo.h b/core/include/JellyfinQt/DTO/countryinfo.h new file mode 100644 index 0000000..54fd6bd --- /dev/null +++ b/core/include/JellyfinQt/DTO/countryinfo.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_COUNTRYINFO_H +#define JELLYFIN_DTO_COUNTRYINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CountryInfo : public QObject { + Q_OBJECT +public: + explicit CountryInfo(QObject *parent = nullptr); + static CountryInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the display name. + */ + Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged) + /** + * @brief Gets or sets the name of the two letter ISO region. + */ + Q_PROPERTY(QString twoLetterISORegionName READ twoLetterISORegionName WRITE setTwoLetterISORegionName NOTIFY twoLetterISORegionNameChanged) + /** + * @brief Gets or sets the name of the three letter ISO region. + */ + Q_PROPERTY(QString threeLetterISORegionName READ threeLetterISORegionName WRITE setThreeLetterISORegionName NOTIFY threeLetterISORegionNameChanged) + + QString name() const; + void setName(QString newName); + + QString displayName() const; + void setDisplayName(QString newDisplayName); + + QString twoLetterISORegionName() const; + void setTwoLetterISORegionName(QString newTwoLetterISORegionName); + + QString threeLetterISORegionName() const; + void setThreeLetterISORegionName(QString newThreeLetterISORegionName); + +signals: + void nameChanged(QString newName); + void displayNameChanged(QString newDisplayName); + void twoLetterISORegionNameChanged(QString newTwoLetterISORegionName); + void threeLetterISORegionNameChanged(QString newThreeLetterISORegionName); +protected: + QString m_name; + QString m_displayName; + QString m_twoLetterISORegionName; + QString m_threeLetterISORegionName; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_COUNTRYINFO_H diff --git a/core/include/JellyfinQt/DTO/createplaylistdto.h b/core/include/JellyfinQt/DTO/createplaylistdto.h new file mode 100644 index 0000000..783a5dd --- /dev/null +++ b/core/include/JellyfinQt/DTO/createplaylistdto.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_CREATEPLAYLISTDTO_H +#define JELLYFIN_DTO_CREATEPLAYLISTDTO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CreatePlaylistDto : public QObject { + Q_OBJECT +public: + explicit CreatePlaylistDto(QObject *parent = nullptr); + static CreatePlaylistDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name of the new playlist. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets item ids to add to the playlist. + */ + Q_PROPERTY(QStringList ids READ ids WRITE setIds NOTIFY idsChanged) + /** + * @brief Gets or sets the user id. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the media type. + */ + Q_PROPERTY(QString mediaType READ mediaType WRITE setMediaType NOTIFY mediaTypeChanged) + + QString name() const; + void setName(QString newName); + + QStringList ids() const; + void setIds(QStringList newIds); + + QString userId() const; + void setUserId(QString newUserId); + + QString mediaType() const; + void setMediaType(QString newMediaType); + +signals: + void nameChanged(QString newName); + void idsChanged(QStringList newIds); + void userIdChanged(QString newUserId); + void mediaTypeChanged(QString newMediaType); +protected: + QString m_name; + QStringList m_ids; + QString m_userId; + QString m_mediaType; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CREATEPLAYLISTDTO_H diff --git a/core/include/JellyfinQt/DTO/createuserbyname.h b/core/include/JellyfinQt/DTO/createuserbyname.h new file mode 100644 index 0000000..dfb5cf4 --- /dev/null +++ b/core/include/JellyfinQt/DTO/createuserbyname.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_CREATEUSERBYNAME_H +#define JELLYFIN_DTO_CREATEUSERBYNAME_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CreateUserByName : public QObject { + Q_OBJECT +public: + explicit CreateUserByName(QObject *parent = nullptr); + static CreateUserByName *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the username. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the password. + */ + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + + QString name() const; + void setName(QString newName); + + QString password() const; + void setPassword(QString newPassword); + +signals: + void nameChanged(QString newName); + void passwordChanged(QString newPassword); +protected: + QString m_name; + QString m_password; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CREATEUSERBYNAME_H diff --git a/core/include/JellyfinQt/DTO/culturedto.h b/core/include/JellyfinQt/DTO/culturedto.h new file mode 100644 index 0000000..8d37650 --- /dev/null +++ b/core/include/JellyfinQt/DTO/culturedto.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_CULTUREDTO_H +#define JELLYFIN_DTO_CULTUREDTO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CultureDto : public QObject { + Q_OBJECT +public: + explicit CultureDto(QObject *parent = nullptr); + static CultureDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the display name. + */ + Q_PROPERTY(QString displayName READ displayName WRITE setDisplayName NOTIFY displayNameChanged) + /** + * @brief Gets or sets the name of the two letter ISO language. + */ + Q_PROPERTY(QString twoLetterISOLanguageName READ twoLetterISOLanguageName WRITE setTwoLetterISOLanguageName NOTIFY twoLetterISOLanguageNameChanged) + /** + * @brief Gets or sets the name of the three letter ISO language. + */ + Q_PROPERTY(QString threeLetterISOLanguageName READ threeLetterISOLanguageName WRITE setThreeLetterISOLanguageName NOTIFY threeLetterISOLanguageNameChanged) + Q_PROPERTY(QStringList threeLetterISOLanguageNames READ threeLetterISOLanguageNames WRITE setThreeLetterISOLanguageNames NOTIFY threeLetterISOLanguageNamesChanged) + + QString name() const; + void setName(QString newName); + + QString displayName() const; + void setDisplayName(QString newDisplayName); + + QString twoLetterISOLanguageName() const; + void setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName); + + QString threeLetterISOLanguageName() const; + void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName); + + QStringList threeLetterISOLanguageNames() const; + void setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames); + +signals: + void nameChanged(QString newName); + void displayNameChanged(QString newDisplayName); + void twoLetterISOLanguageNameChanged(QString newTwoLetterISOLanguageName); + void threeLetterISOLanguageNameChanged(QString newThreeLetterISOLanguageName); + void threeLetterISOLanguageNamesChanged(QStringList newThreeLetterISOLanguageNames); +protected: + QString m_name; + QString m_displayName; + QString m_twoLetterISOLanguageName; + QString m_threeLetterISOLanguageName; + QStringList m_threeLetterISOLanguageNames; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_CULTUREDTO_H diff --git a/core/include/JellyfinQt/DTO/dayofweek.h b/core/include/JellyfinQt/DTO/dayofweek.h new file mode 100644 index 0000000..3dede3e --- /dev/null +++ b/core/include/JellyfinQt/DTO/dayofweek.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DAYOFWEEK_H +#define JELLYFIN_DTO_DAYOFWEEK_H + +#include + +namespace Jellyfin { +namespace DTO { + +class DayOfWeekClass { + Q_GADGET +public: + enum Value { + Sunday, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + }; + Q_ENUM(Value) +private: + explicit DayOfWeekClass(); +}; +typedef DayOfWeekClass::Value DayOfWeek; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DAYOFWEEK_H diff --git a/core/include/JellyfinQt/DTO/daypattern.h b/core/include/JellyfinQt/DTO/daypattern.h new file mode 100644 index 0000000..b8ee2c8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/daypattern.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DAYPATTERN_H +#define JELLYFIN_DTO_DAYPATTERN_H + +#include + +namespace Jellyfin { +namespace DTO { + +class DayPatternClass { + Q_GADGET +public: + enum Value { + Daily, + Weekdays, + Weekends, + }; + Q_ENUM(Value) +private: + explicit DayPatternClass(); +}; +typedef DayPatternClass::Value DayPattern; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DAYPATTERN_H diff --git a/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h b/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.h new file mode 100644 index 0000000..7521995 --- /dev/null +++ b/core/include/JellyfinQt/DTO/defaultdirectorybrowserinfodto.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_DEFAULTDIRECTORYBROWSERINFODTO_H +#define JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class DefaultDirectoryBrowserInfoDto : public QObject { + Q_OBJECT +public: + explicit DefaultDirectoryBrowserInfoDto(QObject *parent = nullptr); + static DefaultDirectoryBrowserInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + + QString path() const; + void setPath(QString newPath); + +signals: + void pathChanged(QString newPath); +protected: + QString m_path; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DEFAULTDIRECTORYBROWSERINFODTO_H diff --git a/core/include/JellyfinQt/DTO/deviceidentification.h b/core/include/JellyfinQt/DTO/deviceidentification.h new file mode 100644 index 0000000..a012516 --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceidentification.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_DEVICEIDENTIFICATION_H +#define JELLYFIN_DTO_DEVICEIDENTIFICATION_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class HttpHeaderInfo; + +class DeviceIdentification : public QObject { + Q_OBJECT +public: + explicit DeviceIdentification(QObject *parent = nullptr); + static DeviceIdentification *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name of the friendly. + */ + Q_PROPERTY(QString friendlyName READ friendlyName WRITE setFriendlyName NOTIFY friendlyNameChanged) + /** + * @brief Gets or sets the model number. + */ + Q_PROPERTY(QString modelNumber READ modelNumber WRITE setModelNumber NOTIFY modelNumberChanged) + /** + * @brief Gets or sets the serial number. + */ + Q_PROPERTY(QString serialNumber READ serialNumber WRITE setSerialNumber NOTIFY serialNumberChanged) + /** + * @brief Gets or sets the name of the model. + */ + Q_PROPERTY(QString modelName READ modelName WRITE setModelName NOTIFY modelNameChanged) + /** + * @brief Gets or sets the model description. + */ + Q_PROPERTY(QString modelDescription READ modelDescription WRITE setModelDescription NOTIFY modelDescriptionChanged) + /** + * @brief Gets or sets the model URL. + */ + Q_PROPERTY(QString modelUrl READ modelUrl WRITE setModelUrl NOTIFY modelUrlChanged) + /** + * @brief Gets or sets the manufacturer. + */ + Q_PROPERTY(QString manufacturer READ manufacturer WRITE setManufacturer NOTIFY manufacturerChanged) + /** + * @brief Gets or sets the manufacturer URL. + */ + Q_PROPERTY(QString manufacturerUrl READ manufacturerUrl WRITE setManufacturerUrl NOTIFY manufacturerUrlChanged) + /** + * @brief Gets or sets the headers. + */ + Q_PROPERTY(QList headers READ headers WRITE setHeaders NOTIFY headersChanged) + + QString friendlyName() const; + void setFriendlyName(QString newFriendlyName); + + QString modelNumber() const; + void setModelNumber(QString newModelNumber); + + QString serialNumber() const; + void setSerialNumber(QString newSerialNumber); + + QString modelName() const; + void setModelName(QString newModelName); + + QString modelDescription() const; + void setModelDescription(QString newModelDescription); + + QString modelUrl() const; + void setModelUrl(QString newModelUrl); + + QString manufacturer() const; + void setManufacturer(QString newManufacturer); + + QString manufacturerUrl() const; + void setManufacturerUrl(QString newManufacturerUrl); + + QList headers() const; + void setHeaders(QList newHeaders); + +signals: + void friendlyNameChanged(QString newFriendlyName); + void modelNumberChanged(QString newModelNumber); + void serialNumberChanged(QString newSerialNumber); + void modelNameChanged(QString newModelName); + void modelDescriptionChanged(QString newModelDescription); + void modelUrlChanged(QString newModelUrl); + void manufacturerChanged(QString newManufacturer); + void manufacturerUrlChanged(QString newManufacturerUrl); + void headersChanged(QList newHeaders); +protected: + QString m_friendlyName; + QString m_modelNumber; + QString m_serialNumber; + QString m_modelName; + QString m_modelDescription; + QString m_modelUrl; + QString m_manufacturer; + QString m_manufacturerUrl; + QList m_headers; +}; + +} // NS Jellyfin +} // NS DTO + +#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..dc540e3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceinfo.h @@ -0,0 +1,131 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEINFO_H +#define JELLYFIN_DTO_DEVICEINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ClientCapabilities; + +class DeviceInfo : public QObject { + Q_OBJECT +public: + explicit DeviceInfo(QObject *parent = nullptr); + static DeviceInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the last name of the user. + */ + Q_PROPERTY(QString lastUserName READ lastUserName WRITE setLastUserName NOTIFY lastUserNameChanged) + /** + * @brief Gets or sets the name of the application. + */ + Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged) + /** + * @brief Gets or sets the application version. + */ + Q_PROPERTY(QString appVersion READ appVersion WRITE setAppVersion NOTIFY appVersionChanged) + /** + * @brief Gets or sets the last user identifier. + */ + Q_PROPERTY(QString lastUserId READ lastUserId WRITE setLastUserId NOTIFY lastUserIdChanged) + /** + * @brief Gets or sets the date last modified. + */ + Q_PROPERTY(QDateTime dateLastActivity READ dateLastActivity WRITE setDateLastActivity NOTIFY dateLastActivityChanged) + Q_PROPERTY(ClientCapabilities * capabilities READ capabilities WRITE setCapabilities NOTIFY capabilitiesChanged) + Q_PROPERTY(QString iconUrl READ iconUrl WRITE setIconUrl NOTIFY iconUrlChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString lastUserName() const; + void setLastUserName(QString newLastUserName); + + QString appName() const; + void setAppName(QString newAppName); + + QString appVersion() const; + void setAppVersion(QString newAppVersion); + + QString lastUserId() const; + void setLastUserId(QString newLastUserId); + + QDateTime dateLastActivity() const; + void setDateLastActivity(QDateTime newDateLastActivity); + + ClientCapabilities * capabilities() const; + void setCapabilities(ClientCapabilities * newCapabilities); + + QString iconUrl() const; + void setIconUrl(QString newIconUrl); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); + void lastUserNameChanged(QString newLastUserName); + void appNameChanged(QString newAppName); + void appVersionChanged(QString newAppVersion); + void lastUserIdChanged(QString newLastUserId); + void dateLastActivityChanged(QDateTime newDateLastActivity); + void capabilitiesChanged(ClientCapabilities * newCapabilities); + void iconUrlChanged(QString newIconUrl); +protected: + QString m_name; + QString m_jellyfinId; + QString m_lastUserName; + QString m_appName; + QString m_appVersion; + QString m_lastUserId; + QDateTime m_dateLastActivity; + ClientCapabilities * m_capabilities = nullptr; + QString m_iconUrl; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DEVICEINFO_H diff --git a/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h b/core/include/JellyfinQt/DTO/deviceinfoqueryresult.h new file mode 100644 index 0000000..23b3441 --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceinfoqueryresult.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_DEVICEINFOQUERYRESULT_H +#define JELLYFIN_DTO_DEVICEINFOQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class DeviceInfo; + +class DeviceInfoQueryResult : public QObject { + Q_OBJECT +public: + explicit DeviceInfoQueryResult(QObject *parent = nullptr); + static DeviceInfoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..6a5ef02 --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceoptions.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_DEVICEOPTIONS_H +#define JELLYFIN_DTO_DEVICEOPTIONS_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class DeviceOptions : public QObject { + Q_OBJECT +public: + explicit DeviceOptions(QObject *parent = nullptr); + static DeviceOptions *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString customName READ customName WRITE setCustomName NOTIFY customNameChanged) + + QString customName() const; + void setCustomName(QString newCustomName); + +signals: + void customNameChanged(QString newCustomName); +protected: + QString m_customName; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DEVICEOPTIONS_H diff --git a/core/include/JellyfinQt/DTO/deviceprofile.h b/core/include/JellyfinQt/DTO/deviceprofile.h new file mode 100644 index 0000000..5569b4f --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceprofile.h @@ -0,0 +1,415 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEPROFILE_H +#define JELLYFIN_DTO_DEVICEPROFILE_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CodecProfile; +class ContainerProfile; +class DeviceIdentification; +class DirectPlayProfile; +class ResponseProfile; +class SubtitleProfile; +class TranscodingProfile; +class XmlAttribute; + +class DeviceProfile : public QObject { + Q_OBJECT +public: + explicit DeviceProfile(QObject *parent = nullptr); + static DeviceProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the Name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the Id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(DeviceIdentification * identification READ identification WRITE setIdentification NOTIFY identificationChanged) + /** + * @brief Gets or sets the FriendlyName. + */ + Q_PROPERTY(QString friendlyName READ friendlyName WRITE setFriendlyName NOTIFY friendlyNameChanged) + /** + * @brief Gets or sets the Manufacturer. + */ + Q_PROPERTY(QString manufacturer READ manufacturer WRITE setManufacturer NOTIFY manufacturerChanged) + /** + * @brief Gets or sets the ManufacturerUrl. + */ + Q_PROPERTY(QString manufacturerUrl READ manufacturerUrl WRITE setManufacturerUrl NOTIFY manufacturerUrlChanged) + /** + * @brief Gets or sets the ModelName. + */ + Q_PROPERTY(QString modelName READ modelName WRITE setModelName NOTIFY modelNameChanged) + /** + * @brief Gets or sets the ModelDescription. + */ + Q_PROPERTY(QString modelDescription READ modelDescription WRITE setModelDescription NOTIFY modelDescriptionChanged) + /** + * @brief Gets or sets the ModelNumber. + */ + Q_PROPERTY(QString modelNumber READ modelNumber WRITE setModelNumber NOTIFY modelNumberChanged) + /** + * @brief Gets or sets the ModelUrl. + */ + Q_PROPERTY(QString modelUrl READ modelUrl WRITE setModelUrl NOTIFY modelUrlChanged) + /** + * @brief Gets or sets the SerialNumber. + */ + Q_PROPERTY(QString serialNumber READ serialNumber WRITE setSerialNumber NOTIFY serialNumberChanged) + /** + * @brief Gets or sets a value indicating whether EnableAlbumArtInDidl. + */ + Q_PROPERTY(bool enableAlbumArtInDidl READ enableAlbumArtInDidl WRITE setEnableAlbumArtInDidl NOTIFY enableAlbumArtInDidlChanged) + /** + * @brief Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + */ + Q_PROPERTY(bool enableSingleAlbumArtLimit READ enableSingleAlbumArtLimit WRITE setEnableSingleAlbumArtLimit NOTIFY enableSingleAlbumArtLimitChanged) + /** + * @brief Gets or sets a value indicating whether EnableSingleSubtitleLimit. + */ + Q_PROPERTY(bool enableSingleSubtitleLimit READ enableSingleSubtitleLimit WRITE setEnableSingleSubtitleLimit NOTIFY enableSingleSubtitleLimitChanged) + /** + * @brief Gets or sets the SupportedMediaTypes. + */ + Q_PROPERTY(QString supportedMediaTypes READ supportedMediaTypes WRITE setSupportedMediaTypes NOTIFY supportedMediaTypesChanged) + /** + * @brief Gets or sets the UserId. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the AlbumArtPn. + */ + Q_PROPERTY(QString albumArtPn READ albumArtPn WRITE setAlbumArtPn NOTIFY albumArtPnChanged) + /** + * @brief Gets or sets the MaxAlbumArtWidth. + */ + Q_PROPERTY(qint32 maxAlbumArtWidth READ maxAlbumArtWidth WRITE setMaxAlbumArtWidth NOTIFY maxAlbumArtWidthChanged) + /** + * @brief Gets or sets the MaxAlbumArtHeight. + */ + Q_PROPERTY(qint32 maxAlbumArtHeight READ maxAlbumArtHeight WRITE setMaxAlbumArtHeight NOTIFY maxAlbumArtHeightChanged) + /** + * @brief Gets or sets the MaxIconWidth. + */ + Q_PROPERTY(qint32 maxIconWidth READ maxIconWidth WRITE setMaxIconWidth NOTIFY maxIconWidthChanged) + /** + * @brief Gets or sets the MaxIconHeight. + */ + Q_PROPERTY(qint32 maxIconHeight READ maxIconHeight WRITE setMaxIconHeight NOTIFY maxIconHeightChanged) + /** + * @brief Gets or sets the MaxStreamingBitrate. + */ + Q_PROPERTY(qint32 maxStreamingBitrate READ maxStreamingBitrate WRITE setMaxStreamingBitrate NOTIFY maxStreamingBitrateChanged) + /** + * @brief Gets or sets the MaxStaticBitrate. + */ + Q_PROPERTY(qint32 maxStaticBitrate READ maxStaticBitrate WRITE setMaxStaticBitrate NOTIFY maxStaticBitrateChanged) + /** + * @brief Gets or sets the MusicStreamingTranscodingBitrate. + */ + Q_PROPERTY(qint32 musicStreamingTranscodingBitrate READ musicStreamingTranscodingBitrate WRITE setMusicStreamingTranscodingBitrate NOTIFY musicStreamingTranscodingBitrateChanged) + /** + * @brief Gets or sets the MaxStaticMusicBitrate. + */ + Q_PROPERTY(qint32 maxStaticMusicBitrate READ maxStaticMusicBitrate WRITE setMaxStaticMusicBitrate NOTIFY maxStaticMusicBitrateChanged) + /** + * @brief Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + */ + Q_PROPERTY(QString sonyAggregationFlags READ sonyAggregationFlags WRITE setSonyAggregationFlags NOTIFY sonyAggregationFlagsChanged) + /** + * @brief Gets or sets the ProtocolInfo. + */ + Q_PROPERTY(QString protocolInfo READ protocolInfo WRITE setProtocolInfo NOTIFY protocolInfoChanged) + /** + * @brief Gets or sets the TimelineOffsetSeconds. + */ + Q_PROPERTY(qint32 timelineOffsetSeconds READ timelineOffsetSeconds WRITE setTimelineOffsetSeconds NOTIFY timelineOffsetSecondsChanged) + /** + * @brief Gets or sets a value indicating whether RequiresPlainVideoItems. + */ + Q_PROPERTY(bool requiresPlainVideoItems READ requiresPlainVideoItems WRITE setRequiresPlainVideoItems NOTIFY requiresPlainVideoItemsChanged) + /** + * @brief Gets or sets a value indicating whether RequiresPlainFolders. + */ + Q_PROPERTY(bool requiresPlainFolders READ requiresPlainFolders WRITE setRequiresPlainFolders NOTIFY requiresPlainFoldersChanged) + /** + * @brief Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + */ + Q_PROPERTY(bool enableMSMediaReceiverRegistrar READ enableMSMediaReceiverRegistrar WRITE setEnableMSMediaReceiverRegistrar NOTIFY enableMSMediaReceiverRegistrarChanged) + /** + * @brief Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + */ + Q_PROPERTY(bool ignoreTranscodeByteRangeRequests READ ignoreTranscodeByteRangeRequests WRITE setIgnoreTranscodeByteRangeRequests NOTIFY ignoreTranscodeByteRangeRequestsChanged) + /** + * @brief Gets or sets the XmlRootAttributes. + */ + Q_PROPERTY(QList xmlRootAttributes READ xmlRootAttributes WRITE setXmlRootAttributes NOTIFY xmlRootAttributesChanged) + /** + * @brief Gets or sets the direct play profiles. + */ + Q_PROPERTY(QList directPlayProfiles READ directPlayProfiles WRITE setDirectPlayProfiles NOTIFY directPlayProfilesChanged) + /** + * @brief Gets or sets the transcoding profiles. + */ + Q_PROPERTY(QList transcodingProfiles READ transcodingProfiles WRITE setTranscodingProfiles NOTIFY transcodingProfilesChanged) + /** + * @brief Gets or sets the ContainerProfiles. + */ + Q_PROPERTY(QList containerProfiles READ containerProfiles WRITE setContainerProfiles NOTIFY containerProfilesChanged) + /** + * @brief Gets or sets the CodecProfiles. + */ + Q_PROPERTY(QList codecProfiles READ codecProfiles WRITE setCodecProfiles NOTIFY codecProfilesChanged) + /** + * @brief Gets or sets the ResponseProfiles. + */ + Q_PROPERTY(QList responseProfiles READ responseProfiles WRITE setResponseProfiles NOTIFY responseProfilesChanged) + /** + * @brief Gets or sets the SubtitleProfiles. + */ + Q_PROPERTY(QList subtitleProfiles READ subtitleProfiles WRITE setSubtitleProfiles NOTIFY subtitleProfilesChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + DeviceIdentification * identification() const; + void setIdentification(DeviceIdentification * newIdentification); + + QString friendlyName() const; + void setFriendlyName(QString newFriendlyName); + + QString manufacturer() const; + void setManufacturer(QString newManufacturer); + + QString manufacturerUrl() const; + void setManufacturerUrl(QString newManufacturerUrl); + + QString modelName() const; + void setModelName(QString newModelName); + + QString modelDescription() const; + void setModelDescription(QString newModelDescription); + + QString modelNumber() const; + void setModelNumber(QString newModelNumber); + + QString modelUrl() const; + void setModelUrl(QString newModelUrl); + + QString serialNumber() const; + void setSerialNumber(QString newSerialNumber); + + bool enableAlbumArtInDidl() const; + void setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl); + + bool enableSingleAlbumArtLimit() const; + void setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit); + + bool enableSingleSubtitleLimit() const; + void setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit); + + QString supportedMediaTypes() const; + void setSupportedMediaTypes(QString newSupportedMediaTypes); + + QString userId() const; + void setUserId(QString newUserId); + + QString albumArtPn() const; + void setAlbumArtPn(QString newAlbumArtPn); + + qint32 maxAlbumArtWidth() const; + void setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth); + + qint32 maxAlbumArtHeight() const; + void setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight); + + qint32 maxIconWidth() const; + void setMaxIconWidth(qint32 newMaxIconWidth); + + qint32 maxIconHeight() const; + void setMaxIconHeight(qint32 newMaxIconHeight); + + qint32 maxStreamingBitrate() const; + void setMaxStreamingBitrate(qint32 newMaxStreamingBitrate); + + qint32 maxStaticBitrate() const; + void setMaxStaticBitrate(qint32 newMaxStaticBitrate); + + qint32 musicStreamingTranscodingBitrate() const; + void setMusicStreamingTranscodingBitrate(qint32 newMusicStreamingTranscodingBitrate); + + qint32 maxStaticMusicBitrate() const; + void setMaxStaticMusicBitrate(qint32 newMaxStaticMusicBitrate); + + QString sonyAggregationFlags() const; + void setSonyAggregationFlags(QString newSonyAggregationFlags); + + QString protocolInfo() const; + void setProtocolInfo(QString newProtocolInfo); + + qint32 timelineOffsetSeconds() const; + void setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds); + + bool requiresPlainVideoItems() const; + void setRequiresPlainVideoItems(bool newRequiresPlainVideoItems); + + bool requiresPlainFolders() const; + void setRequiresPlainFolders(bool newRequiresPlainFolders); + + bool enableMSMediaReceiverRegistrar() const; + void setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar); + + bool ignoreTranscodeByteRangeRequests() const; + void setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests); + + QList xmlRootAttributes() const; + void setXmlRootAttributes(QList newXmlRootAttributes); + + QList directPlayProfiles() const; + void setDirectPlayProfiles(QList newDirectPlayProfiles); + + QList transcodingProfiles() const; + void setTranscodingProfiles(QList newTranscodingProfiles); + + QList containerProfiles() const; + void setContainerProfiles(QList newContainerProfiles); + + QList codecProfiles() const; + void setCodecProfiles(QList newCodecProfiles); + + QList responseProfiles() const; + void setResponseProfiles(QList newResponseProfiles); + + QList subtitleProfiles() const; + void setSubtitleProfiles(QList newSubtitleProfiles); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); + void identificationChanged(DeviceIdentification * newIdentification); + void friendlyNameChanged(QString newFriendlyName); + void manufacturerChanged(QString newManufacturer); + void manufacturerUrlChanged(QString newManufacturerUrl); + void modelNameChanged(QString newModelName); + void modelDescriptionChanged(QString newModelDescription); + void modelNumberChanged(QString newModelNumber); + void modelUrlChanged(QString newModelUrl); + void serialNumberChanged(QString newSerialNumber); + void enableAlbumArtInDidlChanged(bool newEnableAlbumArtInDidl); + void enableSingleAlbumArtLimitChanged(bool newEnableSingleAlbumArtLimit); + void enableSingleSubtitleLimitChanged(bool newEnableSingleSubtitleLimit); + void supportedMediaTypesChanged(QString newSupportedMediaTypes); + void userIdChanged(QString newUserId); + void albumArtPnChanged(QString newAlbumArtPn); + void maxAlbumArtWidthChanged(qint32 newMaxAlbumArtWidth); + void maxAlbumArtHeightChanged(qint32 newMaxAlbumArtHeight); + void maxIconWidthChanged(qint32 newMaxIconWidth); + void maxIconHeightChanged(qint32 newMaxIconHeight); + void maxStreamingBitrateChanged(qint32 newMaxStreamingBitrate); + void maxStaticBitrateChanged(qint32 newMaxStaticBitrate); + void musicStreamingTranscodingBitrateChanged(qint32 newMusicStreamingTranscodingBitrate); + void maxStaticMusicBitrateChanged(qint32 newMaxStaticMusicBitrate); + void sonyAggregationFlagsChanged(QString newSonyAggregationFlags); + void protocolInfoChanged(QString newProtocolInfo); + void timelineOffsetSecondsChanged(qint32 newTimelineOffsetSeconds); + void requiresPlainVideoItemsChanged(bool newRequiresPlainVideoItems); + void requiresPlainFoldersChanged(bool newRequiresPlainFolders); + void enableMSMediaReceiverRegistrarChanged(bool newEnableMSMediaReceiverRegistrar); + void ignoreTranscodeByteRangeRequestsChanged(bool newIgnoreTranscodeByteRangeRequests); + void xmlRootAttributesChanged(QList newXmlRootAttributes); + void directPlayProfilesChanged(QList newDirectPlayProfiles); + void transcodingProfilesChanged(QList newTranscodingProfiles); + void containerProfilesChanged(QList newContainerProfiles); + void codecProfilesChanged(QList newCodecProfiles); + void responseProfilesChanged(QList newResponseProfiles); + void subtitleProfilesChanged(QList newSubtitleProfiles); +protected: + QString m_name; + QString m_jellyfinId; + DeviceIdentification * m_identification = nullptr; + QString m_friendlyName; + QString m_manufacturer; + QString m_manufacturerUrl; + QString m_modelName; + QString m_modelDescription; + QString m_modelNumber; + QString m_modelUrl; + QString m_serialNumber; + bool m_enableAlbumArtInDidl; + bool m_enableSingleAlbumArtLimit; + bool m_enableSingleSubtitleLimit; + QString m_supportedMediaTypes; + QString m_userId; + QString m_albumArtPn; + qint32 m_maxAlbumArtWidth; + qint32 m_maxAlbumArtHeight; + qint32 m_maxIconWidth; + qint32 m_maxIconHeight; + qint32 m_maxStreamingBitrate; + qint32 m_maxStaticBitrate; + qint32 m_musicStreamingTranscodingBitrate; + qint32 m_maxStaticMusicBitrate; + QString m_sonyAggregationFlags; + QString m_protocolInfo; + qint32 m_timelineOffsetSeconds; + bool m_requiresPlainVideoItems; + bool m_requiresPlainFolders; + bool m_enableMSMediaReceiverRegistrar; + bool m_ignoreTranscodeByteRangeRequests; + QList m_xmlRootAttributes; + QList m_directPlayProfiles; + QList m_transcodingProfiles; + QList m_containerProfiles; + QList m_codecProfiles; + QList m_responseProfiles; + QList m_subtitleProfiles; +}; + +} // NS Jellyfin +} // NS DTO + +#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..52198aa --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceprofileinfo.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_DEVICEPROFILEINFO_H +#define JELLYFIN_DTO_DEVICEPROFILEINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/deviceprofiletype.h" + +namespace Jellyfin { +namespace DTO { + +class DeviceProfileInfo : public QObject { + Q_OBJECT +public: + explicit DeviceProfileInfo(QObject *parent = nullptr); + static DeviceProfileInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(DeviceProfileType type READ type WRITE setType NOTIFY typeChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString name() const; + void setName(QString newName); + + DeviceProfileType type() const; + void setType(DeviceProfileType newType); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void nameChanged(QString newName); + void typeChanged(DeviceProfileType newType); +protected: + QString m_jellyfinId; + QString m_name; + DeviceProfileType m_type; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DEVICEPROFILEINFO_H diff --git a/core/include/JellyfinQt/DTO/deviceprofiletype.h b/core/include/JellyfinQt/DTO/deviceprofiletype.h new file mode 100644 index 0000000..255004a --- /dev/null +++ b/core/include/JellyfinQt/DTO/deviceprofiletype.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DEVICEPROFILETYPE_H +#define JELLYFIN_DTO_DEVICEPROFILETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class DeviceProfileTypeClass { + Q_GADGET +public: + enum Value { + System, + User, + }; + Q_ENUM(Value) +private: + explicit DeviceProfileTypeClass(); +}; +typedef DeviceProfileTypeClass::Value DeviceProfileType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DEVICEPROFILETYPE_H diff --git a/core/include/JellyfinQt/DTO/directplayprofile.h b/core/include/JellyfinQt/DTO/directplayprofile.h new file mode 100644 index 0000000..f254c16 --- /dev/null +++ b/core/include/JellyfinQt/DTO/directplayprofile.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_DIRECTPLAYPROFILE_H +#define JELLYFIN_DTO_DIRECTPLAYPROFILE_H + +#include +#include +#include + +#include "JellyfinQt/DTO/dlnaprofiletype.h" + +namespace Jellyfin { +namespace DTO { + +class DirectPlayProfile : public QObject { + Q_OBJECT +public: + explicit DirectPlayProfile(QObject *parent = nullptr); + static DirectPlayProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged) + Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged) + Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged) + + QString container() const; + void setContainer(QString newContainer); + + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec); + + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec); + + DlnaProfileType type() const; + void setType(DlnaProfileType newType); + +signals: + void containerChanged(QString newContainer); + void audioCodecChanged(QString newAudioCodec); + void videoCodecChanged(QString newVideoCodec); + void typeChanged(DlnaProfileType newType); +protected: + QString m_container; + QString m_audioCodec; + QString m_videoCodec; + DlnaProfileType m_type; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DIRECTPLAYPROFILE_H diff --git a/core/include/JellyfinQt/DTO/displaypreferencesdto.h b/core/include/JellyfinQt/DTO/displaypreferencesdto.h new file mode 100644 index 0000000..83b84f8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/displaypreferencesdto.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_DISPLAYPREFERENCESDTO_H +#define JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/scrolldirection.h" +#include "JellyfinQt/DTO/sortorder.h" + +namespace Jellyfin { +namespace DTO { + +class DisplayPreferencesDto : public QObject { + Q_OBJECT +public: + explicit DisplayPreferencesDto(QObject *parent = nullptr); + static DisplayPreferencesDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the user id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the type of the view. + */ + Q_PROPERTY(QString viewType READ viewType WRITE setViewType NOTIFY viewTypeChanged) + /** + * @brief Gets or sets the sort by. + */ + Q_PROPERTY(QString sortBy READ sortBy WRITE setSortBy NOTIFY sortByChanged) + /** + * @brief Gets or sets the index by. + */ + Q_PROPERTY(QString indexBy READ indexBy WRITE setIndexBy NOTIFY indexByChanged) + /** + * @brief Gets or sets a value indicating whether [remember indexing]. + */ + Q_PROPERTY(bool rememberIndexing READ rememberIndexing WRITE setRememberIndexing NOTIFY rememberIndexingChanged) + /** + * @brief Gets or sets the height of the primary image. + */ + Q_PROPERTY(qint32 primaryImageHeight READ primaryImageHeight WRITE setPrimaryImageHeight NOTIFY primaryImageHeightChanged) + /** + * @brief Gets or sets the width of the primary image. + */ + Q_PROPERTY(qint32 primaryImageWidth READ primaryImageWidth WRITE setPrimaryImageWidth NOTIFY primaryImageWidthChanged) + /** + * @brief Gets or sets the custom prefs. + */ + Q_PROPERTY(QJsonObject customPrefs READ customPrefs WRITE setCustomPrefs NOTIFY customPrefsChanged) + Q_PROPERTY(ScrollDirection scrollDirection READ scrollDirection WRITE setScrollDirection NOTIFY scrollDirectionChanged) + /** + * @brief Gets or sets a value indicating whether to show backdrops on this item. + */ + Q_PROPERTY(bool showBackdrop READ showBackdrop WRITE setShowBackdrop NOTIFY showBackdropChanged) + /** + * @brief Gets or sets a value indicating whether [remember sorting]. + */ + Q_PROPERTY(bool rememberSorting READ rememberSorting WRITE setRememberSorting NOTIFY rememberSortingChanged) + Q_PROPERTY(SortOrder sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged) + /** + * @brief Gets or sets a value indicating whether [show sidebar]. + */ + Q_PROPERTY(bool showSidebar READ showSidebar WRITE setShowSidebar NOTIFY showSidebarChanged) + /** + * @brief Gets or sets the client. + */ + Q_PROPERTY(QString client READ client WRITE setClient NOTIFY clientChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString viewType() const; + void setViewType(QString newViewType); + + QString sortBy() const; + void setSortBy(QString newSortBy); + + QString indexBy() const; + void setIndexBy(QString newIndexBy); + + bool rememberIndexing() const; + void setRememberIndexing(bool newRememberIndexing); + + qint32 primaryImageHeight() const; + void setPrimaryImageHeight(qint32 newPrimaryImageHeight); + + qint32 primaryImageWidth() const; + void setPrimaryImageWidth(qint32 newPrimaryImageWidth); + + QJsonObject customPrefs() const; + void setCustomPrefs(QJsonObject newCustomPrefs); + + ScrollDirection scrollDirection() const; + void setScrollDirection(ScrollDirection newScrollDirection); + + bool showBackdrop() const; + void setShowBackdrop(bool newShowBackdrop); + + bool rememberSorting() const; + void setRememberSorting(bool newRememberSorting); + + SortOrder sortOrder() const; + void setSortOrder(SortOrder newSortOrder); + + bool showSidebar() const; + void setShowSidebar(bool newShowSidebar); + + QString client() const; + void setClient(QString newClient); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void viewTypeChanged(QString newViewType); + void sortByChanged(QString newSortBy); + void indexByChanged(QString newIndexBy); + void rememberIndexingChanged(bool newRememberIndexing); + void primaryImageHeightChanged(qint32 newPrimaryImageHeight); + void primaryImageWidthChanged(qint32 newPrimaryImageWidth); + void customPrefsChanged(QJsonObject newCustomPrefs); + void scrollDirectionChanged(ScrollDirection newScrollDirection); + void showBackdropChanged(bool newShowBackdrop); + void rememberSortingChanged(bool newRememberSorting); + void sortOrderChanged(SortOrder newSortOrder); + void showSidebarChanged(bool newShowSidebar); + void clientChanged(QString newClient); +protected: + QString m_jellyfinId; + QString m_viewType; + QString m_sortBy; + QString m_indexBy; + bool m_rememberIndexing; + qint32 m_primaryImageHeight; + qint32 m_primaryImageWidth; + QJsonObject m_customPrefs; + ScrollDirection m_scrollDirection; + bool m_showBackdrop; + bool m_rememberSorting; + SortOrder m_sortOrder; + bool m_showSidebar; + QString m_client; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DISPLAYPREFERENCESDTO_H diff --git a/core/include/JellyfinQt/DTO/dlnaprofiletype.h b/core/include/JellyfinQt/DTO/dlnaprofiletype.h new file mode 100644 index 0000000..899d23f --- /dev/null +++ b/core/include/JellyfinQt/DTO/dlnaprofiletype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_DLNAPROFILETYPE_H +#define JELLYFIN_DTO_DLNAPROFILETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class DlnaProfileTypeClass { + Q_GADGET +public: + enum Value { + Audio, + Video, + Photo, + }; + Q_ENUM(Value) +private: + explicit DlnaProfileTypeClass(); +}; +typedef DlnaProfileTypeClass::Value DlnaProfileType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DLNAPROFILETYPE_H diff --git a/core/include/JellyfinQt/DTO/dynamicdayofweek.h b/core/include/JellyfinQt/DTO/dynamicdayofweek.h new file mode 100644 index 0000000..7a0dc28 --- /dev/null +++ b/core/include/JellyfinQt/DTO/dynamicdayofweek.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_DYNAMICDAYOFWEEK_H +#define JELLYFIN_DTO_DYNAMICDAYOFWEEK_H + +#include + +namespace Jellyfin { +namespace DTO { + +class DynamicDayOfWeekClass { + Q_GADGET +public: + enum Value { + Sunday, + Monday, + Tuesday, + Wednesday, + Thursday, + Friday, + Saturday, + Everyday, + Weekday, + Weekend, + }; + Q_ENUM(Value) +private: + explicit DynamicDayOfWeekClass(); +}; +typedef DynamicDayOfWeekClass::Value DynamicDayOfWeek; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_DYNAMICDAYOFWEEK_H diff --git a/core/include/JellyfinQt/DTO/encodingcontext.h b/core/include/JellyfinQt/DTO/encodingcontext.h new file mode 100644 index 0000000..1bf486d --- /dev/null +++ b/core/include/JellyfinQt/DTO/encodingcontext.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ENCODINGCONTEXT_H +#define JELLYFIN_DTO_ENCODINGCONTEXT_H + +#include + +namespace Jellyfin { +namespace DTO { + +class EncodingContextClass { + Q_GADGET +public: + enum Value { + Streaming, + Static, + }; + Q_ENUM(Value) +private: + explicit EncodingContextClass(); +}; +typedef EncodingContextClass::Value EncodingContext; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ENCODINGCONTEXT_H diff --git a/core/include/JellyfinQt/DTO/endpointinfo.h b/core/include/JellyfinQt/DTO/endpointinfo.h new file mode 100644 index 0000000..cabb2bb --- /dev/null +++ b/core/include/JellyfinQt/DTO/endpointinfo.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_ENDPOINTINFO_H +#define JELLYFIN_DTO_ENDPOINTINFO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class EndPointInfo : public QObject { + Q_OBJECT +public: + explicit EndPointInfo(QObject *parent = nullptr); + static EndPointInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(bool isLocal READ isLocal WRITE setIsLocal NOTIFY isLocalChanged) + Q_PROPERTY(bool isInNetwork READ isInNetwork WRITE setIsInNetwork NOTIFY isInNetworkChanged) + + bool isLocal() const; + void setIsLocal(bool newIsLocal); + + bool isInNetwork() const; + void setIsInNetwork(bool newIsInNetwork); + +signals: + void isLocalChanged(bool newIsLocal); + void isInNetworkChanged(bool newIsInNetwork); +protected: + bool m_isLocal; + bool m_isInNetwork; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ENDPOINTINFO_H diff --git a/core/include/JellyfinQt/DTO/externalidinfo.h b/core/include/JellyfinQt/DTO/externalidinfo.h new file mode 100644 index 0000000..5990258 --- /dev/null +++ b/core/include/JellyfinQt/DTO/externalidinfo.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_EXTERNALIDINFO_H +#define JELLYFIN_DTO_EXTERNALIDINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/externalidmediatype.h" + +namespace Jellyfin { +namespace DTO { + +class ExternalIdInfo : public QObject { + Q_OBJECT +public: + explicit ExternalIdInfo(QObject *parent = nullptr); + static ExternalIdInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the unique key for this id. This key should be unique across all providers. + */ + Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged) + Q_PROPERTY(ExternalIdMediaType type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the URL format string. + */ + Q_PROPERTY(QString urlFormatString READ urlFormatString WRITE setUrlFormatString NOTIFY urlFormatStringChanged) + + QString name() const; + void setName(QString newName); + + QString key() const; + void setKey(QString newKey); + + ExternalIdMediaType type() const; + void setType(ExternalIdMediaType newType); + + QString urlFormatString() const; + void setUrlFormatString(QString newUrlFormatString); + +signals: + void nameChanged(QString newName); + void keyChanged(QString newKey); + void typeChanged(ExternalIdMediaType newType); + void urlFormatStringChanged(QString newUrlFormatString); +protected: + QString m_name; + QString m_key; + ExternalIdMediaType m_type; + QString m_urlFormatString; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_EXTERNALIDINFO_H diff --git a/core/include/JellyfinQt/DTO/externalidmediatype.h b/core/include/JellyfinQt/DTO/externalidmediatype.h new file mode 100644 index 0000000..4344912 --- /dev/null +++ b/core/include/JellyfinQt/DTO/externalidmediatype.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_EXTERNALIDMEDIATYPE_H +#define JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ExternalIdMediaTypeClass { + Q_GADGET +public: + enum Value { + Album, + AlbumArtist, + Artist, + BoxSet, + Episode, + Movie, + OtherArtist, + Person, + ReleaseGroup, + Season, + Series, + Track, + }; + Q_ENUM(Value) +private: + explicit ExternalIdMediaTypeClass(); +}; +typedef ExternalIdMediaTypeClass::Value ExternalIdMediaType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_EXTERNALIDMEDIATYPE_H diff --git a/core/include/JellyfinQt/DTO/externalurl.h b/core/include/JellyfinQt/DTO/externalurl.h new file mode 100644 index 0000000..804e898 --- /dev/null +++ b/core/include/JellyfinQt/DTO/externalurl.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_EXTERNALURL_H +#define JELLYFIN_DTO_EXTERNALURL_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ExternalUrl : public QObject { + Q_OBJECT +public: + explicit ExternalUrl(QObject *parent = nullptr); + static ExternalUrl *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the type of the item. + */ + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + + QString name() const; + void setName(QString newName); + + QString url() const; + void setUrl(QString newUrl); + +signals: + void nameChanged(QString newName); + void urlChanged(QString newUrl); +protected: + QString m_name; + QString m_url; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_EXTERNALURL_H diff --git a/core/include/JellyfinQt/DTO/ffmpeglocation.h b/core/include/JellyfinQt/DTO/ffmpeglocation.h new file mode 100644 index 0000000..f57f3b7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/ffmpeglocation.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FFMPEGLOCATION_H +#define JELLYFIN_DTO_FFMPEGLOCATION_H + +#include + +namespace Jellyfin { +namespace DTO { + +class FFmpegLocationClass { + Q_GADGET +public: + enum Value { + NotFound, + SetByArgument, + Custom, + System, + }; + Q_ENUM(Value) +private: + explicit FFmpegLocationClass(); +}; +typedef FFmpegLocationClass::Value FFmpegLocation; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FFMPEGLOCATION_H diff --git a/core/include/JellyfinQt/DTO/filesystementryinfo.h b/core/include/JellyfinQt/DTO/filesystementryinfo.h new file mode 100644 index 0000000..ef25e1c --- /dev/null +++ b/core/include/JellyfinQt/DTO/filesystementryinfo.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_FILESYSTEMENTRYINFO_H +#define JELLYFIN_DTO_FILESYSTEMENTRYINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/filesystementrytype.h" + +namespace Jellyfin { +namespace DTO { + +class FileSystemEntryInfo : public QObject { + Q_OBJECT +public: + explicit FileSystemEntryInfo(QObject *parent = nullptr); + static FileSystemEntryInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(FileSystemEntryType type READ type WRITE setType NOTIFY typeChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + FileSystemEntryType type() const; + void setType(FileSystemEntryType newType); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void typeChanged(FileSystemEntryType newType); +protected: + QString m_name; + QString m_path; + FileSystemEntryType m_type; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FILESYSTEMENTRYINFO_H diff --git a/core/include/JellyfinQt/DTO/filesystementrytype.h b/core/include/JellyfinQt/DTO/filesystementrytype.h new file mode 100644 index 0000000..bb68521 --- /dev/null +++ b/core/include/JellyfinQt/DTO/filesystementrytype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H +#define JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class FileSystemEntryTypeClass { + Q_GADGET +public: + enum Value { + File, + Directory, + NetworkComputer, + NetworkShare, + }; + Q_ENUM(Value) +private: + explicit FileSystemEntryTypeClass(); +}; +typedef FileSystemEntryTypeClass::Value FileSystemEntryType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FILESYSTEMENTRYTYPE_H diff --git a/core/include/JellyfinQt/DTO/fontfile.h b/core/include/JellyfinQt/DTO/fontfile.h new file mode 100644 index 0000000..5f4ef8c --- /dev/null +++ b/core/include/JellyfinQt/DTO/fontfile.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_FONTFILE_H +#define JELLYFIN_DTO_FONTFILE_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class FontFile : public QObject { + Q_OBJECT +public: + explicit FontFile(QObject *parent = nullptr); + static FontFile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the size. + */ + Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged) + /** + * @brief Gets or sets the date created. + */ + Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged) + /** + * @brief Gets or sets the date modified. + */ + Q_PROPERTY(QDateTime dateModified READ dateModified WRITE setDateModified NOTIFY dateModifiedChanged) + + QString name() const; + void setName(QString newName); + + qint64 size() const; + void setSize(qint64 newSize); + + QDateTime dateCreated() const; + void setDateCreated(QDateTime newDateCreated); + + QDateTime dateModified() const; + void setDateModified(QDateTime newDateModified); + +signals: + void nameChanged(QString newName); + void sizeChanged(qint64 newSize); + void dateCreatedChanged(QDateTime newDateCreated); + void dateModifiedChanged(QDateTime newDateModified); +protected: + QString m_name; + qint64 m_size; + QDateTime m_dateCreated; + QDateTime m_dateModified; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FONTFILE_H diff --git a/core/include/JellyfinQt/DTO/forgotpasswordaction.h b/core/include/JellyfinQt/DTO/forgotpasswordaction.h new file mode 100644 index 0000000..85c1c21 --- /dev/null +++ b/core/include/JellyfinQt/DTO/forgotpasswordaction.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FORGOTPASSWORDACTION_H +#define JELLYFIN_DTO_FORGOTPASSWORDACTION_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ForgotPasswordActionClass { + Q_GADGET +public: + enum Value { + ContactAdmin, + PinCode, + InNetworkRequired, + }; + Q_ENUM(Value) +private: + explicit ForgotPasswordActionClass(); +}; +typedef ForgotPasswordActionClass::Value ForgotPasswordAction; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FORGOTPASSWORDACTION_H diff --git a/core/include/JellyfinQt/DTO/forgotpassworddto.h b/core/include/JellyfinQt/DTO/forgotpassworddto.h new file mode 100644 index 0000000..1cd5dc4 --- /dev/null +++ b/core/include/JellyfinQt/DTO/forgotpassworddto.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_FORGOTPASSWORDDTO_H +#define JELLYFIN_DTO_FORGOTPASSWORDDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ForgotPasswordDto : public QObject { + Q_OBJECT +public: + explicit ForgotPasswordDto(QObject *parent = nullptr); + static ForgotPasswordDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the entered username to have its password reset. + */ + Q_PROPERTY(QString enteredUsername READ enteredUsername WRITE setEnteredUsername NOTIFY enteredUsernameChanged) + + QString enteredUsername() const; + void setEnteredUsername(QString newEnteredUsername); + +signals: + void enteredUsernameChanged(QString newEnteredUsername); +protected: + QString m_enteredUsername; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FORGOTPASSWORDDTO_H diff --git a/core/include/JellyfinQt/DTO/forgotpasswordresult.h b/core/include/JellyfinQt/DTO/forgotpasswordresult.h new file mode 100644 index 0000000..a4cd079 --- /dev/null +++ b/core/include/JellyfinQt/DTO/forgotpasswordresult.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_FORGOTPASSWORDRESULT_H +#define JELLYFIN_DTO_FORGOTPASSWORDRESULT_H + +#include +#include +#include +#include + +#include "JellyfinQt/DTO/forgotpasswordaction.h" + +namespace Jellyfin { +namespace DTO { + +class ForgotPasswordResult : public QObject { + Q_OBJECT +public: + explicit ForgotPasswordResult(QObject *parent = nullptr); + static ForgotPasswordResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ForgotPasswordAction action READ action WRITE setAction NOTIFY actionChanged) + /** + * @brief Gets or sets the pin file. + */ + Q_PROPERTY(QString pinFile READ pinFile WRITE setPinFile NOTIFY pinFileChanged) + /** + * @brief Gets or sets the pin expiration date. + */ + Q_PROPERTY(QDateTime pinExpirationDate READ pinExpirationDate WRITE setPinExpirationDate NOTIFY pinExpirationDateChanged) + + ForgotPasswordAction action() const; + void setAction(ForgotPasswordAction newAction); + + QString pinFile() const; + void setPinFile(QString newPinFile); + + QDateTime pinExpirationDate() const; + void setPinExpirationDate(QDateTime newPinExpirationDate); + +signals: + void actionChanged(ForgotPasswordAction newAction); + void pinFileChanged(QString newPinFile); + void pinExpirationDateChanged(QDateTime newPinExpirationDate); +protected: + ForgotPasswordAction m_action; + QString m_pinFile; + QDateTime m_pinExpirationDate; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_FORGOTPASSWORDRESULT_H diff --git a/core/include/JellyfinQt/DTO/generalcommand.h b/core/include/JellyfinQt/DTO/generalcommand.h new file mode 100644 index 0000000..06aabaa --- /dev/null +++ b/core/include/JellyfinQt/DTO/generalcommand.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_GENERALCOMMAND_H +#define JELLYFIN_DTO_GENERALCOMMAND_H + +#include +#include +#include + +#include "JellyfinQt/DTO/generalcommandtype.h" + +namespace Jellyfin { +namespace DTO { + +class GeneralCommand : public QObject { + Q_OBJECT +public: + explicit GeneralCommand(QObject *parent = nullptr); + static GeneralCommand *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(GeneralCommandType name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString controllingUserId READ controllingUserId WRITE setControllingUserId NOTIFY controllingUserIdChanged) + Q_PROPERTY(QJsonObject arguments READ arguments WRITE setArguments NOTIFY argumentsChanged) + + GeneralCommandType name() const; + void setName(GeneralCommandType newName); + + QString controllingUserId() const; + void setControllingUserId(QString newControllingUserId); + + QJsonObject arguments() const; + void setArguments(QJsonObject newArguments); + +signals: + void nameChanged(GeneralCommandType newName); + void controllingUserIdChanged(QString newControllingUserId); + void argumentsChanged(QJsonObject newArguments); +protected: + GeneralCommandType m_name; + QString m_controllingUserId; + QJsonObject m_arguments; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GENERALCOMMAND_H diff --git a/core/include/JellyfinQt/DTO/generalcommandtype.h b/core/include/JellyfinQt/DTO/generalcommandtype.h new file mode 100644 index 0000000..f27bb3a --- /dev/null +++ b/core/include/JellyfinQt/DTO/generalcommandtype.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_GENERALCOMMANDTYPE_H +#define JELLYFIN_DTO_GENERALCOMMANDTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GeneralCommandTypeClass { + Q_GADGET +public: + enum Value { + MoveUp, + MoveDown, + MoveLeft, + MoveRight, + PageUp, + PageDown, + PreviousLetter, + NextLetter, + ToggleOsd, + ToggleContextMenu, + Select, + Back, + TakeScreenshot, + SendKey, + SendString, + GoHome, + GoToSettings, + VolumeUp, + VolumeDown, + Mute, + Unmute, + ToggleMute, + SetVolume, + SetAudioStreamIndex, + SetSubtitleStreamIndex, + ToggleFullscreen, + DisplayContent, + GoToSearch, + DisplayMessage, + SetRepeatMode, + ChannelUp, + ChannelDown, + Guide, + ToggleStats, + PlayMediaSource, + PlayTrailers, + SetShuffleQueue, + PlayState, + PlayNext, + ToggleOsdMenu, + Play, + }; + Q_ENUM(Value) +private: + explicit GeneralCommandTypeClass(); +}; +typedef GeneralCommandTypeClass::Value GeneralCommandType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GENERALCOMMANDTYPE_H diff --git a/core/include/JellyfinQt/DTO/getprogramsdto.h b/core/include/JellyfinQt/DTO/getprogramsdto.h new file mode 100644 index 0000000..defd4ff --- /dev/null +++ b/core/include/JellyfinQt/DTO/getprogramsdto.h @@ -0,0 +1,326 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GETPROGRAMSDTO_H +#define JELLYFIN_DTO_GETPROGRAMSDTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" +#include "JellyfinQt/DTO/itemfields.h" + +namespace Jellyfin { +namespace DTO { + +class GetProgramsDto : public QObject { + Q_OBJECT +public: + explicit GetProgramsDto(QObject *parent = nullptr); + static GetProgramsDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the channels to return guide information for. + */ + Q_PROPERTY(QStringList channelIds READ channelIds WRITE setChannelIds NOTIFY channelIdsChanged) + /** + * @brief Gets or sets optional. Filter by user id. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the minimum premiere start date. +Optional. + */ + Q_PROPERTY(QDateTime minStartDate READ minStartDate WRITE setMinStartDate NOTIFY minStartDateChanged) + /** + * @brief Gets or sets filter by programs that have completed airing, or not. +Optional. + */ + Q_PROPERTY(bool hasAired READ hasAired WRITE setHasAired NOTIFY hasAiredChanged) + /** + * @brief Gets or sets filter by programs that are currently airing, or not. +Optional. + */ + Q_PROPERTY(bool isAiring READ isAiring WRITE setIsAiring NOTIFY isAiringChanged) + /** + * @brief Gets or sets the maximum premiere start date. +Optional. + */ + Q_PROPERTY(QDateTime maxStartDate READ maxStartDate WRITE setMaxStartDate NOTIFY maxStartDateChanged) + /** + * @brief Gets or sets the minimum premiere end date. +Optional. + */ + Q_PROPERTY(QDateTime minEndDate READ minEndDate WRITE setMinEndDate NOTIFY minEndDateChanged) + /** + * @brief Gets or sets the maximum premiere end date. +Optional. + */ + Q_PROPERTY(QDateTime maxEndDate READ maxEndDate WRITE setMaxEndDate NOTIFY maxEndDateChanged) + /** + * @brief Gets or sets filter for movies. +Optional. + */ + Q_PROPERTY(bool isMovie READ isMovie WRITE setIsMovie NOTIFY isMovieChanged) + /** + * @brief Gets or sets filter for series. +Optional. + */ + Q_PROPERTY(bool isSeries READ isSeries WRITE setIsSeries NOTIFY isSeriesChanged) + /** + * @brief Gets or sets filter for news. +Optional. + */ + Q_PROPERTY(bool isNews READ isNews WRITE setIsNews NOTIFY isNewsChanged) + /** + * @brief Gets or sets filter for kids. +Optional. + */ + Q_PROPERTY(bool isKids READ isKids WRITE setIsKids NOTIFY isKidsChanged) + /** + * @brief Gets or sets filter for sports. +Optional. + */ + Q_PROPERTY(bool isSports READ isSports WRITE setIsSports NOTIFY isSportsChanged) + /** + * @brief Gets or sets the record index to start at. All items with a lower index will be dropped from the results. +Optional. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + /** + * @brief Gets or sets the maximum number of records to return. +Optional. + */ + Q_PROPERTY(qint32 limit READ limit WRITE setLimit NOTIFY limitChanged) + /** + * @brief Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. +Optional. + */ + Q_PROPERTY(QString sortBy READ sortBy WRITE setSortBy NOTIFY sortByChanged) + /** + * @brief Gets or sets sort Order - Ascending,Descending. + */ + Q_PROPERTY(QString sortOrder READ sortOrder WRITE setSortOrder NOTIFY sortOrderChanged) + /** + * @brief Gets or sets the genres to return guide information for. + */ + Q_PROPERTY(QStringList genres READ genres WRITE setGenres NOTIFY genresChanged) + /** + * @brief Gets or sets the genre ids to return guide information for. + */ + Q_PROPERTY(QStringList genreIds READ genreIds WRITE setGenreIds NOTIFY genreIdsChanged) + /** + * @brief Gets or sets include image information in output. +Optional. + */ + Q_PROPERTY(bool enableImages READ enableImages WRITE setEnableImages NOTIFY enableImagesChanged) + /** + * @brief Gets or sets a value indicating whether retrieve total record count. + */ + Q_PROPERTY(bool enableTotalRecordCount READ enableTotalRecordCount WRITE setEnableTotalRecordCount NOTIFY enableTotalRecordCountChanged) + /** + * @brief Gets or sets the max number of images to return, per image type. +Optional. + */ + Q_PROPERTY(qint32 imageTypeLimit READ imageTypeLimit WRITE setImageTypeLimit NOTIFY imageTypeLimitChanged) + /** + * @brief Gets or sets the image types to include in the output. +Optional. + */ + Q_PROPERTY(QList enableImageTypes READ enableImageTypes WRITE setEnableImageTypes NOTIFY enableImageTypesChanged) + /** + * @brief Gets or sets include user data. +Optional. + */ + Q_PROPERTY(bool enableUserData READ enableUserData WRITE setEnableUserData NOTIFY enableUserDataChanged) + /** + * @brief Gets or sets filter by series timer id. +Optional. + */ + Q_PROPERTY(QString seriesTimerId READ seriesTimerId WRITE setSeriesTimerId NOTIFY seriesTimerIdChanged) + /** + * @brief Gets or sets filter by library series id. +Optional. + */ + Q_PROPERTY(QString librarySeriesId READ librarySeriesId WRITE setLibrarySeriesId NOTIFY librarySeriesIdChanged) + /** + * @brief Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. +Optional. + */ + Q_PROPERTY(QList fields READ fields WRITE setFields NOTIFY fieldsChanged) + + QStringList channelIds() const; + void setChannelIds(QStringList newChannelIds); + + QString userId() const; + void setUserId(QString newUserId); + + QDateTime minStartDate() const; + void setMinStartDate(QDateTime newMinStartDate); + + bool hasAired() const; + void setHasAired(bool newHasAired); + + bool isAiring() const; + void setIsAiring(bool newIsAiring); + + QDateTime maxStartDate() const; + void setMaxStartDate(QDateTime newMaxStartDate); + + QDateTime minEndDate() const; + void setMinEndDate(QDateTime newMinEndDate); + + QDateTime maxEndDate() const; + void setMaxEndDate(QDateTime newMaxEndDate); + + bool isMovie() const; + void setIsMovie(bool newIsMovie); + + bool isSeries() const; + void setIsSeries(bool newIsSeries); + + bool isNews() const; + void setIsNews(bool newIsNews); + + bool isKids() const; + void setIsKids(bool newIsKids); + + bool isSports() const; + void setIsSports(bool newIsSports); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + + qint32 limit() const; + void setLimit(qint32 newLimit); + + QString sortBy() const; + void setSortBy(QString newSortBy); + + QString sortOrder() const; + void setSortOrder(QString newSortOrder); + + QStringList genres() const; + void setGenres(QStringList newGenres); + + QStringList genreIds() const; + void setGenreIds(QStringList newGenreIds); + + bool enableImages() const; + void setEnableImages(bool newEnableImages); + + bool enableTotalRecordCount() const; + void setEnableTotalRecordCount(bool newEnableTotalRecordCount); + + qint32 imageTypeLimit() const; + void setImageTypeLimit(qint32 newImageTypeLimit); + + QList enableImageTypes() const; + void setEnableImageTypes(QList newEnableImageTypes); + + bool enableUserData() const; + void setEnableUserData(bool newEnableUserData); + + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId); + + QString librarySeriesId() const; + void setLibrarySeriesId(QString newLibrarySeriesId); + + QList fields() const; + void setFields(QList newFields); + +signals: + void channelIdsChanged(QStringList newChannelIds); + void userIdChanged(QString newUserId); + void minStartDateChanged(QDateTime newMinStartDate); + void hasAiredChanged(bool newHasAired); + void isAiringChanged(bool newIsAiring); + void maxStartDateChanged(QDateTime newMaxStartDate); + void minEndDateChanged(QDateTime newMinEndDate); + void maxEndDateChanged(QDateTime newMaxEndDate); + void isMovieChanged(bool newIsMovie); + void isSeriesChanged(bool newIsSeries); + void isNewsChanged(bool newIsNews); + void isKidsChanged(bool newIsKids); + void isSportsChanged(bool newIsSports); + void startIndexChanged(qint32 newStartIndex); + void limitChanged(qint32 newLimit); + void sortByChanged(QString newSortBy); + void sortOrderChanged(QString newSortOrder); + void genresChanged(QStringList newGenres); + void genreIdsChanged(QStringList newGenreIds); + void enableImagesChanged(bool newEnableImages); + void enableTotalRecordCountChanged(bool newEnableTotalRecordCount); + void imageTypeLimitChanged(qint32 newImageTypeLimit); + void enableImageTypesChanged(QList newEnableImageTypes); + void enableUserDataChanged(bool newEnableUserData); + void seriesTimerIdChanged(QString newSeriesTimerId); + void librarySeriesIdChanged(QString newLibrarySeriesId); + void fieldsChanged(QList newFields); +protected: + QStringList m_channelIds; + QString m_userId; + QDateTime m_minStartDate; + bool m_hasAired; + bool m_isAiring; + QDateTime m_maxStartDate; + QDateTime m_minEndDate; + QDateTime m_maxEndDate; + bool m_isMovie; + bool m_isSeries; + bool m_isNews; + bool m_isKids; + bool m_isSports; + qint32 m_startIndex; + qint32 m_limit; + QString m_sortBy; + QString m_sortOrder; + QStringList m_genres; + QStringList m_genreIds; + bool m_enableImages; + bool m_enableTotalRecordCount; + qint32 m_imageTypeLimit; + QList m_enableImageTypes; + bool m_enableUserData; + QString m_seriesTimerId; + QString m_librarySeriesId; + QList m_fields; +}; + +} // NS Jellyfin +} // NS DTO + +#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..0c35099 --- /dev/null +++ b/core/include/JellyfinQt/DTO/groupinfodto.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_GROUPINFODTO_H +#define JELLYFIN_DTO_GROUPINFODTO_H + +#include +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/groupstatetype.h" + +namespace Jellyfin { +namespace DTO { + +class GroupInfoDto : public QObject { + Q_OBJECT +public: + explicit GroupInfoDto(QObject *parent = nullptr); + static GroupInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the group identifier. + */ + Q_PROPERTY(QString groupId READ groupId WRITE setGroupId NOTIFY groupIdChanged) + /** + * @brief Gets the group name. + */ + Q_PROPERTY(QString groupName READ groupName WRITE setGroupName NOTIFY groupNameChanged) + Q_PROPERTY(GroupStateType state READ state WRITE setState NOTIFY stateChanged) + /** + * @brief Gets the participants. + */ + Q_PROPERTY(QStringList participants READ participants WRITE setParticipants NOTIFY participantsChanged) + /** + * @brief Gets the date when this DTO has been created. + */ + Q_PROPERTY(QDateTime lastUpdatedAt READ lastUpdatedAt WRITE setLastUpdatedAt NOTIFY lastUpdatedAtChanged) + + QString groupId() const; + void setGroupId(QString newGroupId); + + QString groupName() const; + void setGroupName(QString newGroupName); + + GroupStateType state() const; + void setState(GroupStateType newState); + + QStringList participants() const; + void setParticipants(QStringList newParticipants); + + QDateTime lastUpdatedAt() const; + void setLastUpdatedAt(QDateTime newLastUpdatedAt); + +signals: + void groupIdChanged(QString newGroupId); + void groupNameChanged(QString newGroupName); + void stateChanged(GroupStateType newState); + void participantsChanged(QStringList newParticipants); + void lastUpdatedAtChanged(QDateTime newLastUpdatedAt); +protected: + QString m_groupId; + QString m_groupName; + GroupStateType m_state; + QStringList m_participants; + QDateTime m_lastUpdatedAt; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPINFODTO_H diff --git a/core/include/JellyfinQt/DTO/groupqueuemode.h b/core/include/JellyfinQt/DTO/groupqueuemode.h new file mode 100644 index 0000000..b4c3ff7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/groupqueuemode.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPQUEUEMODE_H +#define JELLYFIN_DTO_GROUPQUEUEMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GroupQueueModeClass { + Q_GADGET +public: + enum Value { + Queue, + QueueNext, + }; + Q_ENUM(Value) +private: + explicit GroupQueueModeClass(); +}; +typedef GroupQueueModeClass::Value GroupQueueMode; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPQUEUEMODE_H diff --git a/core/include/JellyfinQt/DTO/grouprepeatmode.h b/core/include/JellyfinQt/DTO/grouprepeatmode.h new file mode 100644 index 0000000..6ca08c5 --- /dev/null +++ b/core/include/JellyfinQt/DTO/grouprepeatmode.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPREPEATMODE_H +#define JELLYFIN_DTO_GROUPREPEATMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GroupRepeatModeClass { + Q_GADGET +public: + enum Value { + RepeatOne, + RepeatAll, + RepeatNone, + }; + Q_ENUM(Value) +private: + explicit GroupRepeatModeClass(); +}; +typedef GroupRepeatModeClass::Value GroupRepeatMode; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPREPEATMODE_H diff --git a/core/include/JellyfinQt/DTO/groupshufflemode.h b/core/include/JellyfinQt/DTO/groupshufflemode.h new file mode 100644 index 0000000..e5f72d4 --- /dev/null +++ b/core/include/JellyfinQt/DTO/groupshufflemode.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPSHUFFLEMODE_H +#define JELLYFIN_DTO_GROUPSHUFFLEMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GroupShuffleModeClass { + Q_GADGET +public: + enum Value { + Sorted, + Shuffle, + }; + Q_ENUM(Value) +private: + explicit GroupShuffleModeClass(); +}; +typedef GroupShuffleModeClass::Value GroupShuffleMode; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPSHUFFLEMODE_H diff --git a/core/include/JellyfinQt/DTO/groupstatetype.h b/core/include/JellyfinQt/DTO/groupstatetype.h new file mode 100644 index 0000000..4fbea5c --- /dev/null +++ b/core/include/JellyfinQt/DTO/groupstatetype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_GROUPSTATETYPE_H +#define JELLYFIN_DTO_GROUPSTATETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GroupStateTypeClass { + Q_GADGET +public: + enum Value { + Idle, + Waiting, + Paused, + Playing, + }; + Q_ENUM(Value) +private: + explicit GroupStateTypeClass(); +}; +typedef GroupStateTypeClass::Value GroupStateType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPSTATETYPE_H diff --git a/core/include/JellyfinQt/DTO/groupupdatetype.h b/core/include/JellyfinQt/DTO/groupupdatetype.h new file mode 100644 index 0000000..b4bb281 --- /dev/null +++ b/core/include/JellyfinQt/DTO/groupupdatetype.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_GROUPUPDATETYPE_H +#define JELLYFIN_DTO_GROUPUPDATETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class GroupUpdateTypeClass { + Q_GADGET +public: + enum Value { + UserJoined, + UserLeft, + GroupJoined, + GroupLeft, + StateUpdate, + PlayQueue, + NotInGroup, + GroupDoesNotExist, + CreateGroupDenied, + JoinGroupDenied, + LibraryAccessDenied, + }; + Q_ENUM(Value) +private: + explicit GroupUpdateTypeClass(); +}; +typedef GroupUpdateTypeClass::Value GroupUpdateType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GROUPUPDATETYPE_H diff --git a/core/include/JellyfinQt/DTO/guideinfo.h b/core/include/JellyfinQt/DTO/guideinfo.h new file mode 100644 index 0000000..06f341f --- /dev/null +++ b/core/include/JellyfinQt/DTO/guideinfo.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_GUIDEINFO_H +#define JELLYFIN_DTO_GUIDEINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class GuideInfo : public QObject { + Q_OBJECT +public: + explicit GuideInfo(QObject *parent = nullptr); + static GuideInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the start date. + */ + Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged) + /** + * @brief Gets or sets the end date. + */ + Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged) + + QDateTime startDate() const; + void setStartDate(QDateTime newStartDate); + + QDateTime endDate() const; + void setEndDate(QDateTime newEndDate); + +signals: + void startDateChanged(QDateTime newStartDate); + void endDateChanged(QDateTime newEndDate); +protected: + QDateTime m_startDate; + QDateTime m_endDate; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_GUIDEINFO_H diff --git a/core/include/JellyfinQt/DTO/headermatchtype.h b/core/include/JellyfinQt/DTO/headermatchtype.h new file mode 100644 index 0000000..1d11e29 --- /dev/null +++ b/core/include/JellyfinQt/DTO/headermatchtype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_HEADERMATCHTYPE_H +#define JELLYFIN_DTO_HEADERMATCHTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class HeaderMatchTypeClass { + Q_GADGET +public: + enum Value { + Equals, + Regex, + Substring, + }; + Q_ENUM(Value) +private: + explicit HeaderMatchTypeClass(); +}; +typedef HeaderMatchTypeClass::Value HeaderMatchType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_HEADERMATCHTYPE_H diff --git a/core/include/JellyfinQt/DTO/httpheaderinfo.h b/core/include/JellyfinQt/DTO/httpheaderinfo.h new file mode 100644 index 0000000..bc9f3cb --- /dev/null +++ b/core/include/JellyfinQt/DTO/httpheaderinfo.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_HTTPHEADERINFO_H +#define JELLYFIN_DTO_HTTPHEADERINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/headermatchtype.h" + +namespace Jellyfin { +namespace DTO { + +class HttpHeaderInfo : public QObject { + Q_OBJECT +public: + explicit HttpHeaderInfo(QObject *parent = nullptr); + static HttpHeaderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged) + Q_PROPERTY(HeaderMatchType match READ match WRITE setMatch NOTIFY matchChanged) + + QString name() const; + void setName(QString newName); + + QString value() const; + void setValue(QString newValue); + + HeaderMatchType match() const; + void setMatch(HeaderMatchType newMatch); + +signals: + void nameChanged(QString newName); + void valueChanged(QString newValue); + void matchChanged(HeaderMatchType newMatch); +protected: + QString m_name; + QString m_value; + HeaderMatchType m_match; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_HTTPHEADERINFO_H diff --git a/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h b/core/include/JellyfinQt/DTO/ignorewaitrequestdto.h new file mode 100644 index 0000000..3cf1937 --- /dev/null +++ b/core/include/JellyfinQt/DTO/ignorewaitrequestdto.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_IGNOREWAITREQUESTDTO_H +#define JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class IgnoreWaitRequestDto : public QObject { + Q_OBJECT +public: + explicit IgnoreWaitRequestDto(QObject *parent = nullptr); + static IgnoreWaitRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether the client should be ignored. + */ + Q_PROPERTY(bool ignoreWait READ ignoreWait WRITE setIgnoreWait NOTIFY ignoreWaitChanged) + + bool ignoreWait() const; + void setIgnoreWait(bool newIgnoreWait); + +signals: + void ignoreWaitChanged(bool newIgnoreWait); +protected: + bool m_ignoreWait; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IGNOREWAITREQUESTDTO_H diff --git a/core/include/JellyfinQt/DTO/imagebynameinfo.h b/core/include/JellyfinQt/DTO/imagebynameinfo.h new file mode 100644 index 0000000..2d3c859 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imagebynameinfo.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_IMAGEBYNAMEINFO_H +#define JELLYFIN_DTO_IMAGEBYNAMEINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ImageByNameInfo : public QObject { + Q_OBJECT +public: + explicit ImageByNameInfo(QObject *parent = nullptr); + static ImageByNameInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the theme. + */ + Q_PROPERTY(QString theme READ theme WRITE setTheme NOTIFY themeChanged) + /** + * @brief Gets or sets the context. + */ + Q_PROPERTY(QString context READ context WRITE setContext NOTIFY contextChanged) + /** + * @brief Gets or sets the length of the file. + */ + Q_PROPERTY(qint64 fileLength READ fileLength WRITE setFileLength NOTIFY fileLengthChanged) + /** + * @brief Gets or sets the format. + */ + Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged) + + QString name() const; + void setName(QString newName); + + QString theme() const; + void setTheme(QString newTheme); + + QString context() const; + void setContext(QString newContext); + + qint64 fileLength() const; + void setFileLength(qint64 newFileLength); + + QString format() const; + void setFormat(QString newFormat); + +signals: + void nameChanged(QString newName); + void themeChanged(QString newTheme); + void contextChanged(QString newContext); + void fileLengthChanged(qint64 newFileLength); + void formatChanged(QString newFormat); +protected: + QString m_name; + QString m_theme; + QString m_context; + qint64 m_fileLength; + QString m_format; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGEBYNAMEINFO_H diff --git a/core/include/JellyfinQt/DTO/imageformat.h b/core/include/JellyfinQt/DTO/imageformat.h new file mode 100644 index 0000000..e637715 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imageformat.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEFORMAT_H +#define JELLYFIN_DTO_IMAGEFORMAT_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ImageFormatClass { + Q_GADGET +public: + enum Value { + Bmp, + Gif, + Jpg, + Png, + Webp, + }; + Q_ENUM(Value) +private: + explicit ImageFormatClass(); +}; +typedef ImageFormatClass::Value ImageFormat; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGEFORMAT_H diff --git a/core/include/JellyfinQt/DTO/imageinfo.h b/core/include/JellyfinQt/DTO/imageinfo.h new file mode 100644 index 0000000..34da077 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imageinfo.h @@ -0,0 +1,127 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGEINFO_H +#define JELLYFIN_DTO_IMAGEINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" + +namespace Jellyfin { +namespace DTO { + +class ImageInfo : public QObject { + Q_OBJECT +public: + explicit ImageInfo(QObject *parent = nullptr); + static ImageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ImageType imageType READ imageType WRITE setImageType NOTIFY imageTypeChanged) + /** + * @brief Gets or sets the index of the image. + */ + Q_PROPERTY(qint32 imageIndex READ imageIndex WRITE setImageIndex NOTIFY imageIndexChanged) + /** + * @brief Gets or sets the image tag. + */ + Q_PROPERTY(QString imageTag READ imageTag WRITE setImageTag NOTIFY imageTagChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the blurhash. + */ + Q_PROPERTY(QString blurHash READ blurHash WRITE setBlurHash NOTIFY blurHashChanged) + /** + * @brief Gets or sets the height. + */ + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + /** + * @brief Gets or sets the width. + */ + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + /** + * @brief Gets or sets the size. + */ + Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged) + + ImageType imageType() const; + void setImageType(ImageType newImageType); + + qint32 imageIndex() const; + void setImageIndex(qint32 newImageIndex); + + QString imageTag() const; + void setImageTag(QString newImageTag); + + QString path() const; + void setPath(QString newPath); + + QString blurHash() const; + void setBlurHash(QString newBlurHash); + + qint32 height() const; + void setHeight(qint32 newHeight); + + qint32 width() const; + void setWidth(qint32 newWidth); + + qint64 size() const; + void setSize(qint64 newSize); + +signals: + void imageTypeChanged(ImageType newImageType); + void imageIndexChanged(qint32 newImageIndex); + void imageTagChanged(QString newImageTag); + void pathChanged(QString newPath); + void blurHashChanged(QString newBlurHash); + void heightChanged(qint32 newHeight); + void widthChanged(qint32 newWidth); + void sizeChanged(qint64 newSize); +protected: + ImageType m_imageType; + qint32 m_imageIndex; + QString m_imageTag; + QString m_path; + QString m_blurHash; + qint32 m_height; + qint32 m_width; + qint64 m_size; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGEINFO_H diff --git a/core/include/JellyfinQt/DTO/imageoption.h b/core/include/JellyfinQt/DTO/imageoption.h new file mode 100644 index 0000000..26effec --- /dev/null +++ b/core/include/JellyfinQt/DTO/imageoption.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_IMAGEOPTION_H +#define JELLYFIN_DTO_IMAGEOPTION_H + +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" + +namespace Jellyfin { +namespace DTO { + +class ImageOption : public QObject { + Q_OBJECT +public: + explicit ImageOption(QObject *parent = nullptr); + static ImageOption *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ImageType type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the limit. + */ + Q_PROPERTY(qint32 limit READ limit WRITE setLimit NOTIFY limitChanged) + /** + * @brief Gets or sets the minimum width. + */ + Q_PROPERTY(qint32 minWidth READ minWidth WRITE setMinWidth NOTIFY minWidthChanged) + + ImageType type() const; + void setType(ImageType newType); + + qint32 limit() const; + void setLimit(qint32 newLimit); + + qint32 minWidth() const; + void setMinWidth(qint32 newMinWidth); + +signals: + void typeChanged(ImageType newType); + void limitChanged(qint32 newLimit); + void minWidthChanged(qint32 newMinWidth); +protected: + ImageType m_type; + qint32 m_limit; + qint32 m_minWidth; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGEOPTION_H diff --git a/core/include/JellyfinQt/DTO/imageorientation.h b/core/include/JellyfinQt/DTO/imageorientation.h new file mode 100644 index 0000000..2532777 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imageorientation.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_IMAGEORIENTATION_H +#define JELLYFIN_DTO_IMAGEORIENTATION_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ImageOrientationClass { + Q_GADGET +public: + enum Value { + TopLeft, + TopRight, + BottomRight, + BottomLeft, + LeftTop, + RightTop, + RightBottom, + LeftBottom, + }; + Q_ENUM(Value) +private: + explicit ImageOrientationClass(); +}; +typedef ImageOrientationClass::Value ImageOrientation; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGEORIENTATION_H diff --git a/core/include/JellyfinQt/DTO/imageproviderinfo.h b/core/include/JellyfinQt/DTO/imageproviderinfo.h new file mode 100644 index 0000000..3a97ad6 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imageproviderinfo.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_IMAGEPROVIDERINFO_H +#define JELLYFIN_DTO_IMAGEPROVIDERINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" + +namespace Jellyfin { +namespace DTO { + +class ImageProviderInfo : public QObject { + Q_OBJECT +public: + explicit ImageProviderInfo(QObject *parent = nullptr); + static ImageProviderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets the supported image types. + */ + Q_PROPERTY(QList supportedImages READ supportedImages WRITE setSupportedImages NOTIFY supportedImagesChanged) + + QString name() const; + void setName(QString newName); + + QList supportedImages() const; + void setSupportedImages(QList newSupportedImages); + +signals: + void nameChanged(QString newName); + void supportedImagesChanged(QList newSupportedImages); +protected: + QString m_name; + QList m_supportedImages; +}; + +} // NS Jellyfin +} // NS DTO + +#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..40121f2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imagesavingconvention.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_IMAGESAVINGCONVENTION_H +#define JELLYFIN_DTO_IMAGESAVINGCONVENTION_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ImageSavingConventionClass { + Q_GADGET +public: + enum Value { + Legacy, + Compatible, + }; + Q_ENUM(Value) +private: + explicit ImageSavingConventionClass(); +}; +typedef ImageSavingConventionClass::Value ImageSavingConvention; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGESAVINGCONVENTION_H diff --git a/core/include/JellyfinQt/DTO/imagetype.h b/core/include/JellyfinQt/DTO/imagetype.h new file mode 100644 index 0000000..992d995 --- /dev/null +++ b/core/include/JellyfinQt/DTO/imagetype.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_IMAGETYPE_H +#define JELLYFIN_DTO_IMAGETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ImageTypeClass { + Q_GADGET +public: + enum Value { + Primary, + Art, + Backdrop, + Banner, + Logo, + Thumb, + Disc, + Box, + Screenshot, + Menu, + Chapter, + BoxRear, + Profile, + }; + Q_ENUM(Value) +private: + explicit ImageTypeClass(); +}; +typedef ImageTypeClass::Value ImageType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IMAGETYPE_H diff --git a/core/include/JellyfinQt/DTO/installationinfo.h b/core/include/JellyfinQt/DTO/installationinfo.h new file mode 100644 index 0000000..1e1e353 --- /dev/null +++ b/core/include/JellyfinQt/DTO/installationinfo.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_INSTALLATIONINFO_H +#define JELLYFIN_DTO_INSTALLATIONINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class Version; + +class InstallationInfo : public QObject { + Q_OBJECT +public: + explicit InstallationInfo(QObject *parent = nullptr); + static InstallationInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the Id. + */ + Q_PROPERTY(QString guid READ guid WRITE setGuid NOTIFY guidChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(Version * version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets or sets the changelog for this version. + */ + Q_PROPERTY(QString changelog READ changelog WRITE setChangelog NOTIFY changelogChanged) + /** + * @brief Gets or sets the source URL. + */ + Q_PROPERTY(QString sourceUrl READ sourceUrl WRITE setSourceUrl NOTIFY sourceUrlChanged) + /** + * @brief Gets or sets a checksum for the binary. + */ + Q_PROPERTY(QString checksum READ checksum WRITE setChecksum NOTIFY checksumChanged) + + QString guid() const; + void setGuid(QString newGuid); + + QString name() const; + void setName(QString newName); + + Version * version() const; + void setVersion(Version * newVersion); + + QString changelog() const; + void setChangelog(QString newChangelog); + + QString sourceUrl() const; + void setSourceUrl(QString newSourceUrl); + + QString checksum() const; + void setChecksum(QString newChecksum); + +signals: + void guidChanged(QString newGuid); + void nameChanged(QString newName); + void versionChanged(Version * newVersion); + void changelogChanged(QString newChangelog); + void sourceUrlChanged(QString newSourceUrl); + void checksumChanged(QString newChecksum); +protected: + QString m_guid; + QString m_name; + Version * m_version = nullptr; + QString m_changelog; + QString m_sourceUrl; + QString m_checksum; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_INSTALLATIONINFO_H diff --git a/core/include/JellyfinQt/DTO/iplugin.h b/core/include/JellyfinQt/DTO/iplugin.h new file mode 100644 index 0000000..4d96075 --- /dev/null +++ b/core/include/JellyfinQt/DTO/iplugin.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_IPLUGIN_H +#define JELLYFIN_DTO_IPLUGIN_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class Version; + +class IPlugin : public QObject { + Q_OBJECT +public: + explicit IPlugin(QObject *parent = nullptr); + static IPlugin *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the name of the plugin. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets the Description. + */ + Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged) + /** + * @brief Gets the unique id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(Version * version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets the path to the assembly file. + */ + Q_PROPERTY(QString assemblyFilePath READ assemblyFilePath WRITE setAssemblyFilePath NOTIFY assemblyFilePathChanged) + /** + * @brief Gets a value indicating whether the plugin can be uninstalled. + */ + Q_PROPERTY(bool canUninstall READ canUninstall WRITE setCanUninstall NOTIFY canUninstallChanged) + /** + * @brief Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. + */ + Q_PROPERTY(QString dataFolderPath READ dataFolderPath WRITE setDataFolderPath NOTIFY dataFolderPathChanged) + + QString name() const; + void setName(QString newName); + + QString description() const; + void setDescription(QString newDescription); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + Version * version() const; + void setVersion(Version * newVersion); + + QString assemblyFilePath() const; + void setAssemblyFilePath(QString newAssemblyFilePath); + + bool canUninstall() const; + void setCanUninstall(bool newCanUninstall); + + QString dataFolderPath() const; + void setDataFolderPath(QString newDataFolderPath); + +signals: + void nameChanged(QString newName); + void descriptionChanged(QString newDescription); + void jellyfinIdChanged(QString newJellyfinId); + void versionChanged(Version * newVersion); + void assemblyFilePathChanged(QString newAssemblyFilePath); + void canUninstallChanged(bool newCanUninstall); + void dataFolderPathChanged(QString newDataFolderPath); +protected: + QString m_name; + QString m_description; + QString m_jellyfinId; + Version * m_version = nullptr; + QString m_assemblyFilePath; + bool m_canUninstall; + QString m_dataFolderPath; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_IPLUGIN_H diff --git a/core/include/JellyfinQt/DTO/isotype.h b/core/include/JellyfinQt/DTO/isotype.h new file mode 100644 index 0000000..ea5f8e8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/isotype.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ISOTYPE_H +#define JELLYFIN_DTO_ISOTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class IsoTypeClass { + Q_GADGET +public: + enum Value { + Dvd, + BluRay, + }; + Q_ENUM(Value) +private: + explicit IsoTypeClass(); +}; +typedef IsoTypeClass::Value IsoType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ISOTYPE_H diff --git a/core/include/JellyfinQt/DTO/item.h b/core/include/JellyfinQt/DTO/item.h index 9108cc6..b9ddd93 100644 --- a/core/include/JellyfinQt/DTO/item.h +++ b/core/include/JellyfinQt/DTO/item.h @@ -1,296 +1,43 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. +#ifndef JELLYFIN_DTO_ITEM_H +#define JELLYFIN_DTO_ITEM_H -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef JELLYFIN_ITEM_H -#define JELLYFIN_ITEM_H - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include - -#include "dto.h" -#include "mediastream.h" -#include "namedguidpair.h" -#include "userdata.h" +#include "JellyfinQt/DTO/baseitemdto.h" namespace Jellyfin { -class ApiClient; namespace DTO { -class Item : public RemoteData { - Q_OBJECT -public: - Q_INVOKABLE explicit Item(QObject *parent = nullptr); - Item(QString itemId, ApiClient *apiClient, QObject *parent = nullptr); +using Item = BaseItemDto; - Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) - - // Based on https://github.com/jellyfin/jellyfin/blob/907695dec7fda152d0e17c1197637bc0e17c9928/MediaBrowser.Model/Dto/BaseItemDto.cs - // I copy, pasted and replaced. I feel like a Go programmer implementing generic containers. - // If this were D, I would've writed a compile-time C# parser to parse that source code at compile time, extract - // the properties and generate a class based on that. - // Doing that in C++ would be more difficult and I dislike qmake. Does it even support running programs at compile time? - // But here I am, using ctrl-C++ - - // Please keep the order of the properties the same as in the file linked above. - Q_PROPERTY(QString name MEMBER m_name NOTIFY nameChanged) - Q_PROPERTY(QString originalTitle MEMBER m_originalTitle NOTIFY originalTitleChanged) - Q_PROPERTY(QString serverId MEMBER m_serverId NOTIFY serverIdChanged) - Q_PROPERTY(QString etag MEMBER m_etag NOTIFY etagChanged) - Q_PROPERTY(QString sourceType MEMBER m_sourceType NOTIFY sourceTypeChanged) - Q_PROPERTY(QString playlistItemId MEMBER m_playlistItemId NOTIFY playlistItemIdChanged) - Q_PROPERTY(QDateTime dateCreated MEMBER m_dateCreated NOTIFY dateCreatedChanged) - Q_PROPERTY(QDateTime dateLastMediaAdded MEMBER m_dateLastMediaAdded NOTIFY dateLastMediaAddedChanged) - Q_PROPERTY(QString extraType MEMBER m_extraType NOTIFY extraTypeChanged) - Q_PROPERTY(int airsBeforeSeasonNumber READ airsBeforeSeasonNumber WRITE setAirsBeforeSeasonNumber NOTIFY airsBeforeSeasonNumberChanged) - Q_PROPERTY(int airsAfterSeasonNumber READ airsAfterSeasonNumber WRITE setAirsAfterSeasonNumber NOTIFY airsAfterSeasonNumberChanged) - Q_PROPERTY(int airsBeforeEpisodeNumber READ airsBeforeEpisodeNumber WRITE setAirsBeforeEpisodeNumber NOTIFY airsBeforeEpisodeNumberChanged) - Q_PROPERTY(bool canDelete READ canDelete WRITE setCanDelete NOTIFY canDeleteChanged) - Q_PROPERTY(bool canDownload READ canDownload WRITE setCanDownload NOTIFY canDownloadChanged) - Q_PROPERTY(bool hasSubtitles READ hasSubtitles WRITE setHasSubtitles NOTIFY hasSubtitlesChanged) - Q_PROPERTY(QString preferredMetadataLanguage MEMBER m_preferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) - Q_PROPERTY(QString preferredMetadataCountryCode MEMBER m_preferredMetadataCountryCode NOTIFY preferredMetadataCountryCodeChanged) - Q_PROPERTY(bool supportsSync READ supportsSync WRITE setSupportsSync NOTIFY supportsSyncChanged) - Q_PROPERTY(QString container MEMBER m_container NOTIFY containerChanged) - Q_PROPERTY(QString sortName MEMBER m_sortName NOTIFY sortNameChanged) - Q_PROPERTY(QString forcedSortName MEMBER m_forcedSortName NOTIFY forcedSortNameChanged) - //SKIP: Video3DFormat - Q_PROPERTY(QDateTime premiereData MEMBER m_premiereDate NOTIFY premiereDateChanged) - //SKIP: ExternalUrls - //SKIP: MediaSources - Q_PROPERTY(float criticRating READ criticRating WRITE setCriticRating NOTIFY criticRatingChanged) - Q_PROPERTY(QStringList productionLocations MEMBER m_productionLocations NOTIFY productionLocationsChanged) - - // Handpicked, important ones - Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged) - Q_PROPERTY(QString overview MEMBER m_overview NOTIFY overviewChanged) - Q_PROPERTY(int productionYear READ productionYear WRITE setProductionYear NOTIFY productionYearChanged) - Q_PROPERTY(int indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) - Q_PROPERTY(int indexNumberEnd READ indexNumberEnd WRITE setIndexNumberEnd NOTIFY indexNumberEndChanged) - Q_PROPERTY(int parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) - Q_PROPERTY(bool isFolder READ isFolder WRITE setIsFolder NOTIFY isFolderChanged) - Q_PROPERTY(QString parentID MEMBER m_parentId READ parentId NOTIFY parentIdChanged) - Q_PROPERTY(QString type MEMBER m_type NOTIFY typeChanged) - Q_PROPERTY(QString parentBackdropItemId MEMBER m_parentBackdropItemId NOTIFY parentBackdropItemIdChanged) - Q_PROPERTY(QStringList parentBackdropImageTags MEMBER m_parentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) - Q_PROPERTY(UserData *userData READ userData WRITE setUserData NOTIFY userDataChanged) - Q_PROPERTY(int recursiveItemCount READ recursiveItemCount WRITE setRecursiveItemCount NOTIFY recursiveItemCountChanged) - Q_PROPERTY(int childCount READ childCount WRITE setChildCount NOTIFY childCountChanged) - Q_PROPERTY(QString albumArtist MEMBER m_albumArtist NOTIFY albumArtistChanged) - Q_PROPERTY(QList __list__albumArtists MEMBER __list__m_albumArtists NOTIFY albumArtistsChanged) - Q_PROPERTY(QVariantList albumArtists MEMBER m_albumArtists NOTIFY albumArtistsChanged STORED false) - Q_PROPERTY(QString seriesName MEMBER m_seriesName NOTIFY seriesNameChanged) - Q_PROPERTY(QString seasonName MEMBER m_seasonName NOTIFY seasonNameChanged) - Q_PROPERTY(QList __list__mediaStreams MEMBER __list__m_mediaStreams NOTIFY mediaStreamsChanged) - Q_PROPERTY(QVariantList mediaStreams MEMBER m_mediaStreams NOTIFY mediaStreamsChanged STORED false) - Q_PROPERTY(QStringList artists MEMBER m_artists NOTIFY artistsChanged) - // Why is this a QJsonObject? Well, because I couldn't be bothered to implement the deserialisations of - // a QHash at the moment. - Q_PROPERTY(QJsonObject imageTags MEMBER m_imageTags NOTIFY imageTagsChanged) - Q_PROPERTY(QStringList backdropImageTags MEMBER m_backdropImageTags NOTIFY backdropImageTagsChanged) - Q_PROPERTY(QJsonObject imageBlurHashes MEMBER m_imageBlurHashes NOTIFY imageBlurHashesChanged) - Q_PROPERTY(QString mediaType MEMBER m_mediaType READ mediaType NOTIFY mediaTypeChanged) - Q_PROPERTY(int width MEMBER m_width NOTIFY widthChanged) - Q_PROPERTY(int height MEMBER m_height NOTIFY heightChanged) - - QString jellyfinId() const { return m_id; } - void setJellyfinId(QString newId); - - int airsBeforeSeasonNumber() const { return m_airsBeforeSeasonNumber.value_or(-1); } - void setAirsBeforeSeasonNumber(int newAirsBeforeSeasonNumber) { m_airsBeforeSeasonNumber = newAirsBeforeSeasonNumber; emit airsBeforeSeasonNumberChanged(newAirsBeforeSeasonNumber); } - int airsAfterSeasonNumber() const { return m_airsAfterSeasonNumber.value_or(-1); } - void setAirsAfterSeasonNumber(int newAirsAfterSeasonNumber) { m_airsAfterSeasonNumber = newAirsAfterSeasonNumber; emit airsAfterSeasonNumberChanged(newAirsAfterSeasonNumber); } - int airsBeforeEpisodeNumber() const { return m_airsBeforeEpisodeNumber.value_or(-1); } - void setAirsBeforeEpisodeNumber(int newAirsBeforeEpisodeNumber) { m_airsBeforeEpisodeNumber = newAirsBeforeEpisodeNumber; emit airsBeforeEpisodeNumberChanged(newAirsBeforeEpisodeNumber); } - - bool canDelete() const { return m_canDelete.value_or(false); } - void setCanDelete(bool newCanDelete) { m_canDelete = newCanDelete; emit canDeleteChanged(newCanDelete); } - bool canDownload() const { return m_canDownload.value_or(false); } - void setCanDownload(bool newCanDownload) { m_canDownload = newCanDownload; emit canDownloadChanged(newCanDownload); } - bool hasSubtitles() const { return m_hasSubtitles.value_or(false); } - void setHasSubtitles(bool newHasSubtitles) { m_hasSubtitles = newHasSubtitles; emit hasSubtitlesChanged(newHasSubtitles); } - bool supportsSync() const { return m_supportsSync.value_or(false); } - void setSupportsSync(bool newSupportsSync) { m_supportsSync = newSupportsSync; emit supportsSyncChanged(newSupportsSync); } - float criticRating() const { return m_criticRating.value_or(std::nanf("")); } - void setCriticRating(float newCriticRating) { m_criticRating = newCriticRating; emit criticRatingChanged(newCriticRating); } - - // Handpicked, important ones - qint64 runTimeTicks() const { return m_runTimeTicks.value_or(-1); } - void setRunTimeTicks(qint64 newRunTimeTicks) { m_runTimeTicks = newRunTimeTicks; emit runTimeTicksChanged(newRunTimeTicks); } - int productionYear() const { return m_productionYear.value_or(-1); } - void setProductionYear(int newProductionYear) { m_productionYear = std::optional(newProductionYear); emit productionYearChanged(newProductionYear); } - int indexNumber() const { return m_indexNumber.value_or(-1); } - void setIndexNumber(int newIndexNumber) { m_indexNumber = std::optional(newIndexNumber); emit indexNumberChanged(newIndexNumber); } - int indexNumberEnd() const { return m_indexNumberEnd.value_or(-1); } - void setIndexNumberEnd(int newIndexNumberEnd) { m_indexNumberEnd = std::optional(newIndexNumberEnd); emit indexNumberEndChanged(newIndexNumberEnd); } - int parentIndexNumber() const { return m_parentIndexNumber.value_or(-1); } - void setParentIndexNumber(int newParentIndexNumber) { m_parentIndexNumber= std::optional(newParentIndexNumber); emit parentIndexNumberChanged(newParentIndexNumber); } - bool isFolder() const { return m_isFolder.value_or(false); } - void setIsFolder(bool newIsFolder) { m_isFolder = newIsFolder; emit isFolderChanged(newIsFolder); } - QString parentId() const { return m_parentId; } - UserData *userData() const { return m_userData; } - void setUserData(UserData *newUserData) { - if (m_userData != nullptr) { - m_userData->deleteLater(); - } - m_userData = newUserData; - emit userDataChanged(newUserData); - } - int recursiveItemCount() const { return m_recursiveItemCount.value_or(-1); } - void setRecursiveItemCount(int newRecursiveItemCount) { m_recursiveItemCount = newRecursiveItemCount; emit recursiveItemCountChanged(newRecursiveItemCount); } - int childCount() const { return m_childCount.value_or(-1); } - void setChildCount(int newChildCount) { m_childCount = newChildCount; emit childCountChanged(newChildCount); } - QString mediaType() const { return m_mediaType; } - - //QQmlListProperty mediaStreams() { return toReadOnlyQmlListProperty(m_mediaStreams); } - //QList mediaStreams() { return *reinterpret_cast *>(&m_mediaStreams); } - QVariantList mediaStreams() { QVariantList l; for (auto e: m_mediaStreams) l.append(QVariant::fromValue(e)); return l;} - -signals: - void jellyfinIdChanged(const QString &newId); - void nameChanged(const QString &newName); - void originalTitleChanged(const QString &newOriginalTitle); - void serverIdChanged(const QString &newServerId); - void etagChanged(const QString &newEtag); - void sourceTypeChanged(const QString &sourceType); - void playlistItemIdChanged(const QString &playlistItemIdChanged); - void dateCreatedChanged(QDateTime newDateCreatedChanged); - void dateLastMediaAddedChanged(QDateTime newDateLastMediaAdded); - void extraTypeChanged(const QString &newExtraType); - void airsBeforeSeasonNumberChanged(int newAirsBeforeSeasonNumber); - void airsAfterSeasonNumberChanged(int newAirsAfterSeasonNumber); - void airsBeforeEpisodeNumberChanged(int newAirsAfterEpisodeNumber); - bool canDeleteChanged(bool newCanDelete); - void canDownloadChanged(bool newCanDownload); - void hasSubtitlesChanged(bool newHasSubtitles); - void preferredMetadataLanguageChanged(const QString &newPreferredMetadataLanguage); - void preferredMetadataCountryCodeChanged(const QString &newPreferredMetadataCountryCode); - void supportsSyncChanged(bool newSupportsSync); - void containerChanged(const QString &newContainer); - void sortNameChanged(const QString &newSortName); - void forcedSortNameChanged(const QString &newForcedSortName); - void premiereDateChanged(QDateTime newPremiereDate); - void criticRatingChanged(float newCriticRating); - void productionLocationsChanged(QStringList newProductionLocations); - - // Handpicked, important ones - void runTimeTicksChanged(qint64 newRunTimeTicks); - void overviewChanged(const QString &newOverview); - void productionYearChanged(int newProductionYear); - void indexNumberChanged(int newIndexNumber); - void indexNumberEndChanged(int newIndexNumberEnd); - void isFolderChanged(bool newIsFolder); - void parentIdChanged(const QString &newParentId); - void typeChanged(const QString &newType); - void parentBackdropItemIdChanged(); - void parentBackdropImageTagsChanged(); - void userDataChanged(UserData *newUserData); - void recursiveItemCountChanged(int newRecursiveItemCount); - void childCountChanged(int newChildCount); - void albumArtistChanged(const QString &newAlbumArtist); - void albumArtistsChanged(NameGuidPair *newAlbumArtists); - void seriesNameChanged(const QString &newSeriesName); - void seasonNameChanged(const QString &newSeasonName); - void mediaStreamsChanged(/*const QList &newMediaStreams*/); - void artistsChanged(const QStringList &newArtists); - void imageTagsChanged(); - void backdropImageTagsChanged(); - void imageBlurHashesChanged(); - void mediaTypeChanged(const QString &newMediaType); - void widthChanged(int newWidth); - void heightChanged(int newHeight); - -public slots: - void onUserDataChanged(const QString &itemId, UserData *userData); -protected: - // Overrides - QString getDataUrl() const override; - bool canReload() const override; - - QString m_id = QStringLiteral(""); - QString m_name; - QString m_originalTitle; - QString m_serverId; - QString m_etag; - QString m_sourceType; - QString m_playlistItemId; - QDateTime m_dateCreated; - QDateTime m_dateLastMediaAdded; - QString m_extraType; - std::optional 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; - QDateTime m_premiereDate; - std::optional m_criticRating = std::nullopt; - QStringList m_productionLocations; - - // Handpicked, important ones - std::optional m_runTimeTicks = std::nullopt; - QString m_overview; - std::optional m_productionYear = std::nullopt; - std::optional m_indexNumber = std::nullopt; - std::optional m_indexNumberEnd = std::nullopt; - std::optional m_parentIndexNumber = std::nullopt; - std::optional m_isFolder = std::nullopt; - QString m_parentId; - QString m_type; - QString m_parentBackdropItemId; - QStringList m_parentBackdropImageTags; - UserData *m_userData = nullptr; - std::optional m_recursiveItemCount = std::nullopt; - std::optional m_childCount = std::nullopt; - QString m_albumArtist; - QList __list__m_albumArtists; - QVariantList m_albumArtists; - QString m_seriesName; - QString m_seasonName; - QList __list__m_mediaStreams; - QVariantList m_mediaStreams; - QStringList m_artists; - QJsonObject m_imageTags; - QStringList m_backdropImageTags; - QJsonObject m_imageBlurHashes; - QString m_mediaType; - int m_width; - int m_height; -}; - -} // NS DTO } // NS Jellyfin +} // NS DTO -#endif // JELLYFIN_ITEM_H +#endif // JELLYFIN_DTO_ITEM_H diff --git a/core/include/JellyfinQt/DTO/itemcounts.h b/core/include/JellyfinQt/DTO/itemcounts.h new file mode 100644 index 0000000..2a23846 --- /dev/null +++ b/core/include/JellyfinQt/DTO/itemcounts.h @@ -0,0 +1,163 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_ITEMCOUNTS_H +#define JELLYFIN_DTO_ITEMCOUNTS_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ItemCounts : public QObject { + Q_OBJECT +public: + explicit ItemCounts(QObject *parent = nullptr); + static ItemCounts *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the movie count. + */ + Q_PROPERTY(qint32 movieCount READ movieCount WRITE setMovieCount NOTIFY movieCountChanged) + /** + * @brief Gets or sets the series count. + */ + Q_PROPERTY(qint32 seriesCount READ seriesCount WRITE setSeriesCount NOTIFY seriesCountChanged) + /** + * @brief Gets or sets the episode count. + */ + Q_PROPERTY(qint32 episodeCount READ episodeCount WRITE setEpisodeCount NOTIFY episodeCountChanged) + /** + * @brief Gets or sets the artist count. + */ + Q_PROPERTY(qint32 artistCount READ artistCount WRITE setArtistCount NOTIFY artistCountChanged) + /** + * @brief Gets or sets the program count. + */ + Q_PROPERTY(qint32 programCount READ programCount WRITE setProgramCount NOTIFY programCountChanged) + /** + * @brief Gets or sets the trailer count. + */ + Q_PROPERTY(qint32 trailerCount READ trailerCount WRITE setTrailerCount NOTIFY trailerCountChanged) + /** + * @brief Gets or sets the song count. + */ + Q_PROPERTY(qint32 songCount READ songCount WRITE setSongCount NOTIFY songCountChanged) + /** + * @brief Gets or sets the album count. + */ + Q_PROPERTY(qint32 albumCount READ albumCount WRITE setAlbumCount NOTIFY albumCountChanged) + /** + * @brief Gets or sets the music video count. + */ + Q_PROPERTY(qint32 musicVideoCount READ musicVideoCount WRITE setMusicVideoCount NOTIFY musicVideoCountChanged) + /** + * @brief Gets or sets the box set count. + */ + Q_PROPERTY(qint32 boxSetCount READ boxSetCount WRITE setBoxSetCount NOTIFY boxSetCountChanged) + /** + * @brief Gets or sets the book count. + */ + Q_PROPERTY(qint32 bookCount READ bookCount WRITE setBookCount NOTIFY bookCountChanged) + /** + * @brief Gets or sets the item count. + */ + Q_PROPERTY(qint32 itemCount READ itemCount WRITE setItemCount NOTIFY itemCountChanged) + + qint32 movieCount() const; + void setMovieCount(qint32 newMovieCount); + + qint32 seriesCount() const; + void setSeriesCount(qint32 newSeriesCount); + + qint32 episodeCount() const; + void setEpisodeCount(qint32 newEpisodeCount); + + qint32 artistCount() const; + void setArtistCount(qint32 newArtistCount); + + qint32 programCount() const; + void setProgramCount(qint32 newProgramCount); + + qint32 trailerCount() const; + void setTrailerCount(qint32 newTrailerCount); + + qint32 songCount() const; + void setSongCount(qint32 newSongCount); + + qint32 albumCount() const; + void setAlbumCount(qint32 newAlbumCount); + + qint32 musicVideoCount() const; + void setMusicVideoCount(qint32 newMusicVideoCount); + + qint32 boxSetCount() const; + void setBoxSetCount(qint32 newBoxSetCount); + + qint32 bookCount() const; + void setBookCount(qint32 newBookCount); + + qint32 itemCount() const; + void setItemCount(qint32 newItemCount); + +signals: + void movieCountChanged(qint32 newMovieCount); + void seriesCountChanged(qint32 newSeriesCount); + void episodeCountChanged(qint32 newEpisodeCount); + void artistCountChanged(qint32 newArtistCount); + void programCountChanged(qint32 newProgramCount); + void trailerCountChanged(qint32 newTrailerCount); + void songCountChanged(qint32 newSongCount); + void albumCountChanged(qint32 newAlbumCount); + void musicVideoCountChanged(qint32 newMusicVideoCount); + void boxSetCountChanged(qint32 newBoxSetCount); + void bookCountChanged(qint32 newBookCount); + void itemCountChanged(qint32 newItemCount); +protected: + qint32 m_movieCount; + qint32 m_seriesCount; + qint32 m_episodeCount; + qint32 m_artistCount; + qint32 m_programCount; + qint32 m_trailerCount; + qint32 m_songCount; + qint32 m_albumCount; + qint32 m_musicVideoCount; + qint32 m_boxSetCount; + qint32 m_bookCount; + qint32 m_itemCount; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ITEMCOUNTS_H diff --git a/core/include/JellyfinQt/DTO/itemfields.h b/core/include/JellyfinQt/DTO/itemfields.h new file mode 100644 index 0000000..2186093 --- /dev/null +++ b/core/include/JellyfinQt/DTO/itemfields.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_ITEMFIELDS_H +#define JELLYFIN_DTO_ITEMFIELDS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ItemFieldsClass { + Q_GADGET +public: + enum Value { + AirTime, + CanDelete, + CanDownload, + ChannelInfo, + Chapters, + ChildCount, + CumulativeRunTimeTicks, + CustomRating, + DateCreated, + DateLastMediaAdded, + DisplayPreferencesId, + Etag, + ExternalUrls, + Genres, + HomePageUrl, + ItemCounts, + MediaSourceCount, + MediaSources, + OriginalTitle, + Overview, + ParentId, + Path, + People, + PlayAccess, + ProductionLocations, + ProviderIds, + PrimaryImageAspectRatio, + RecursiveItemCount, + Settings, + ScreenshotImageTags, + SeriesPrimaryImage, + SeriesStudio, + SortName, + SpecialEpisodeNumbers, + Studios, + BasicSyncInfo, + SyncInfo, + Taglines, + Tags, + RemoteTrailers, + MediaStreams, + SeasonUserData, + ServiceName, + ThemeSongIds, + ThemeVideoIds, + ExternalEtag, + PresentationUniqueKey, + InheritedParentalRatingValue, + ExternalSeriesId, + SeriesPresentationUniqueKey, + DateLastRefreshed, + DateLastSaved, + RefreshState, + ChannelImage, + EnableMediaSourceDisplay, + Width, + Height, + ExtraIds, + LocalTrailerCount, + IsHD, + SpecialFeatureCount, + }; + Q_ENUM(Value) +private: + explicit ItemFieldsClass(); +}; +typedef ItemFieldsClass::Value ItemFields; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_ITEMFIELDS_H diff --git a/core/include/JellyfinQt/DTO/itemfilter.h b/core/include/JellyfinQt/DTO/itemfilter.h new file mode 100644 index 0000000..af89fab --- /dev/null +++ b/core/include/JellyfinQt/DTO/itemfilter.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_ITEMFILTER_H +#define JELLYFIN_DTO_ITEMFILTER_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ItemFilterClass { + Q_GADGET +public: + enum Value { + IsFolder, + IsNotFolder, + IsUnplayed, + IsPlayed, + IsFavorite, + IsResumable, + Likes, + Dislikes, + IsFavoriteOrLikes, + }; + Q_ENUM(Value) +private: + explicit ItemFilterClass(); +}; +typedef ItemFilterClass::Value ItemFilter; + +} // NS Jellyfin +} // NS DTO + +#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..26dd7cc --- /dev/null +++ b/core/include/JellyfinQt/DTO/joingrouprequestdto.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_JOINGROUPREQUESTDTO_H +#define JELLYFIN_DTO_JOINGROUPREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class JoinGroupRequestDto : public QObject { + Q_OBJECT +public: + explicit JoinGroupRequestDto(QObject *parent = nullptr); + static JoinGroupRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the group identifier. + */ + Q_PROPERTY(QString groupId READ groupId WRITE setGroupId NOTIFY groupIdChanged) + + QString groupId() const; + void setGroupId(QString newGroupId); + +signals: + void groupIdChanged(QString newGroupId); +protected: + QString m_groupId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..0ae8d9c --- /dev/null +++ b/core/include/JellyfinQt/DTO/keepuntil.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_KEEPUNTIL_H +#define JELLYFIN_DTO_KEEPUNTIL_H + +#include + +namespace Jellyfin { +namespace DTO { + +class KeepUntilClass { + Q_GADGET +public: + enum Value { + UntilDeleted, + UntilSpaceNeeded, + UntilWatched, + UntilDate, + }; + Q_ENUM(Value) +private: + explicit KeepUntilClass(); +}; +typedef KeepUntilClass::Value KeepUntil; + +} // NS Jellyfin +} // NS DTO + +#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..de3a17f --- /dev/null +++ b/core/include/JellyfinQt/DTO/libraryoptioninfodto.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_LIBRARYOPTIONINFODTO_H +#define JELLYFIN_DTO_LIBRARYOPTIONINFODTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryOptionInfoDto : public QObject { + Q_OBJECT +public: + explicit LibraryOptionInfoDto(QObject *parent = nullptr); + static LibraryOptionInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets a value indicating whether default enabled. + */ + Q_PROPERTY(bool defaultEnabled READ defaultEnabled WRITE setDefaultEnabled NOTIFY defaultEnabledChanged) + + QString name() const; + void setName(QString newName); + + bool defaultEnabled() const; + void setDefaultEnabled(bool newDefaultEnabled); + +signals: + void nameChanged(QString newName); + void defaultEnabledChanged(bool newDefaultEnabled); +protected: + QString m_name; + bool m_defaultEnabled; +}; + +} // NS Jellyfin +} // NS DTO + +#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..dd6386c --- /dev/null +++ b/core/include/JellyfinQt/DTO/libraryoptions.h @@ -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. + */ + +#ifndef JELLYFIN_DTO_LIBRARYOPTIONS_H +#define JELLYFIN_DTO_LIBRARYOPTIONS_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaPathInfo; +class TypeOptions; + +class LibraryOptions : public QObject { + Q_OBJECT +public: + explicit LibraryOptions(QObject *parent = nullptr); + static LibraryOptions *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(bool enablePhotos READ enablePhotos WRITE setEnablePhotos NOTIFY enablePhotosChanged) + Q_PROPERTY(bool enableRealtimeMonitor READ enableRealtimeMonitor WRITE setEnableRealtimeMonitor NOTIFY enableRealtimeMonitorChanged) + Q_PROPERTY(bool enableChapterImageExtraction READ enableChapterImageExtraction WRITE setEnableChapterImageExtraction NOTIFY enableChapterImageExtractionChanged) + Q_PROPERTY(bool extractChapterImagesDuringLibraryScan READ extractChapterImagesDuringLibraryScan WRITE setExtractChapterImagesDuringLibraryScan NOTIFY extractChapterImagesDuringLibraryScanChanged) + Q_PROPERTY(QList pathInfos READ pathInfos WRITE setPathInfos NOTIFY pathInfosChanged) + Q_PROPERTY(bool saveLocalMetadata READ saveLocalMetadata WRITE setSaveLocalMetadata NOTIFY saveLocalMetadataChanged) + Q_PROPERTY(bool enableInternetProviders READ enableInternetProviders WRITE setEnableInternetProviders NOTIFY enableInternetProvidersChanged) + Q_PROPERTY(bool enableAutomaticSeriesGrouping READ enableAutomaticSeriesGrouping WRITE setEnableAutomaticSeriesGrouping NOTIFY enableAutomaticSeriesGroupingChanged) + Q_PROPERTY(bool enableEmbeddedTitles READ enableEmbeddedTitles WRITE setEnableEmbeddedTitles NOTIFY enableEmbeddedTitlesChanged) + Q_PROPERTY(bool enableEmbeddedEpisodeInfos READ enableEmbeddedEpisodeInfos WRITE setEnableEmbeddedEpisodeInfos NOTIFY enableEmbeddedEpisodeInfosChanged) + Q_PROPERTY(qint32 automaticRefreshIntervalDays READ automaticRefreshIntervalDays WRITE setAutomaticRefreshIntervalDays NOTIFY automaticRefreshIntervalDaysChanged) + /** + * @brief Gets or sets the preferred metadata language. + */ + Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage WRITE setPreferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + Q_PROPERTY(QString seasonZeroDisplayName READ seasonZeroDisplayName WRITE setSeasonZeroDisplayName NOTIFY seasonZeroDisplayNameChanged) + Q_PROPERTY(QStringList metadataSavers READ metadataSavers WRITE setMetadataSavers NOTIFY metadataSaversChanged) + Q_PROPERTY(QStringList disabledLocalMetadataReaders READ disabledLocalMetadataReaders WRITE setDisabledLocalMetadataReaders NOTIFY disabledLocalMetadataReadersChanged) + Q_PROPERTY(QStringList localMetadataReaderOrder READ localMetadataReaderOrder WRITE setLocalMetadataReaderOrder NOTIFY localMetadataReaderOrderChanged) + Q_PROPERTY(QStringList disabledSubtitleFetchers READ disabledSubtitleFetchers WRITE setDisabledSubtitleFetchers NOTIFY disabledSubtitleFetchersChanged) + Q_PROPERTY(QStringList subtitleFetcherOrder READ subtitleFetcherOrder WRITE setSubtitleFetcherOrder NOTIFY subtitleFetcherOrderChanged) + Q_PROPERTY(bool skipSubtitlesIfEmbeddedSubtitlesPresent READ skipSubtitlesIfEmbeddedSubtitlesPresent WRITE setSkipSubtitlesIfEmbeddedSubtitlesPresent NOTIFY skipSubtitlesIfEmbeddedSubtitlesPresentChanged) + Q_PROPERTY(bool skipSubtitlesIfAudioTrackMatches READ skipSubtitlesIfAudioTrackMatches WRITE setSkipSubtitlesIfAudioTrackMatches NOTIFY skipSubtitlesIfAudioTrackMatchesChanged) + Q_PROPERTY(QStringList subtitleDownloadLanguages READ subtitleDownloadLanguages WRITE setSubtitleDownloadLanguages NOTIFY subtitleDownloadLanguagesChanged) + Q_PROPERTY(bool requirePerfectSubtitleMatch READ requirePerfectSubtitleMatch WRITE setRequirePerfectSubtitleMatch NOTIFY requirePerfectSubtitleMatchChanged) + Q_PROPERTY(bool saveSubtitlesWithMedia READ saveSubtitlesWithMedia WRITE setSaveSubtitlesWithMedia NOTIFY saveSubtitlesWithMediaChanged) + Q_PROPERTY(QList typeOptions READ typeOptions WRITE setTypeOptions NOTIFY typeOptionsChanged) + + 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 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); + + QString preferredMetadataLanguage() const; + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QString seasonZeroDisplayName() const; + void setSeasonZeroDisplayName(QString newSeasonZeroDisplayName); + + QStringList metadataSavers() const; + void setMetadataSavers(QStringList newMetadataSavers); + + QStringList disabledLocalMetadataReaders() const; + void setDisabledLocalMetadataReaders(QStringList newDisabledLocalMetadataReaders); + + QStringList localMetadataReaderOrder() const; + void setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder); + + QStringList disabledSubtitleFetchers() const; + void setDisabledSubtitleFetchers(QStringList newDisabledSubtitleFetchers); + + QStringList subtitleFetcherOrder() const; + void setSubtitleFetcherOrder(QStringList newSubtitleFetcherOrder); + + bool skipSubtitlesIfEmbeddedSubtitlesPresent() const; + void setSkipSubtitlesIfEmbeddedSubtitlesPresent(bool newSkipSubtitlesIfEmbeddedSubtitlesPresent); + + bool skipSubtitlesIfAudioTrackMatches() const; + void setSkipSubtitlesIfAudioTrackMatches(bool newSkipSubtitlesIfAudioTrackMatches); + + QStringList subtitleDownloadLanguages() const; + void setSubtitleDownloadLanguages(QStringList newSubtitleDownloadLanguages); + + bool requirePerfectSubtitleMatch() const; + void setRequirePerfectSubtitleMatch(bool newRequirePerfectSubtitleMatch); + + bool saveSubtitlesWithMedia() const; + void setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia); + + QList typeOptions() const; + void setTypeOptions(QList newTypeOptions); + +signals: + void enablePhotosChanged(bool newEnablePhotos); + void enableRealtimeMonitorChanged(bool newEnableRealtimeMonitor); + void enableChapterImageExtractionChanged(bool newEnableChapterImageExtraction); + void extractChapterImagesDuringLibraryScanChanged(bool newExtractChapterImagesDuringLibraryScan); + void pathInfosChanged(QList newPathInfos); + void saveLocalMetadataChanged(bool newSaveLocalMetadata); + void enableInternetProvidersChanged(bool newEnableInternetProviders); + void enableAutomaticSeriesGroupingChanged(bool newEnableAutomaticSeriesGrouping); + void enableEmbeddedTitlesChanged(bool newEnableEmbeddedTitles); + void enableEmbeddedEpisodeInfosChanged(bool newEnableEmbeddedEpisodeInfos); + void automaticRefreshIntervalDaysChanged(qint32 newAutomaticRefreshIntervalDays); + void preferredMetadataLanguageChanged(QString newPreferredMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void seasonZeroDisplayNameChanged(QString newSeasonZeroDisplayName); + void metadataSaversChanged(QStringList newMetadataSavers); + void disabledLocalMetadataReadersChanged(QStringList newDisabledLocalMetadataReaders); + void localMetadataReaderOrderChanged(QStringList newLocalMetadataReaderOrder); + void disabledSubtitleFetchersChanged(QStringList newDisabledSubtitleFetchers); + void subtitleFetcherOrderChanged(QStringList newSubtitleFetcherOrder); + void skipSubtitlesIfEmbeddedSubtitlesPresentChanged(bool newSkipSubtitlesIfEmbeddedSubtitlesPresent); + void skipSubtitlesIfAudioTrackMatchesChanged(bool newSkipSubtitlesIfAudioTrackMatches); + void subtitleDownloadLanguagesChanged(QStringList newSubtitleDownloadLanguages); + void requirePerfectSubtitleMatchChanged(bool newRequirePerfectSubtitleMatch); + void saveSubtitlesWithMediaChanged(bool newSaveSubtitlesWithMedia); + void typeOptionsChanged(QList newTypeOptions); +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 Jellyfin +} // NS DTO + +#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..3aed72d --- /dev/null +++ b/core/include/JellyfinQt/DTO/libraryoptionsresultdto.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_LIBRARYOPTIONSRESULTDTO_H +#define JELLYFIN_DTO_LIBRARYOPTIONSRESULTDTO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryOptionInfoDto; +class LibraryOptionInfoDto; +class LibraryOptionInfoDto; +class LibraryTypeOptionsDto; + +class LibraryOptionsResultDto : public QObject { + Q_OBJECT +public: + explicit LibraryOptionsResultDto(QObject *parent = nullptr); + static LibraryOptionsResultDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the metadata savers. + */ + Q_PROPERTY(QList metadataSavers READ metadataSavers WRITE setMetadataSavers NOTIFY metadataSaversChanged) + /** + * @brief Gets or sets the metadata readers. + */ + Q_PROPERTY(QList metadataReaders READ metadataReaders WRITE setMetadataReaders NOTIFY metadataReadersChanged) + /** + * @brief Gets or sets the subtitle fetchers. + */ + Q_PROPERTY(QList subtitleFetchers READ subtitleFetchers WRITE setSubtitleFetchers NOTIFY subtitleFetchersChanged) + /** + * @brief Gets or sets the type options. + */ + Q_PROPERTY(QList typeOptions READ typeOptions WRITE setTypeOptions NOTIFY typeOptionsChanged) + + QList metadataSavers() const; + void setMetadataSavers(QList newMetadataSavers); + + QList metadataReaders() const; + void setMetadataReaders(QList newMetadataReaders); + + QList subtitleFetchers() const; + void setSubtitleFetchers(QList newSubtitleFetchers); + + QList typeOptions() const; + void setTypeOptions(QList newTypeOptions); + +signals: + void metadataSaversChanged(QList newMetadataSavers); + void metadataReadersChanged(QList newMetadataReaders); + void subtitleFetchersChanged(QList newSubtitleFetchers); + void typeOptionsChanged(QList newTypeOptions); +protected: + QList m_metadataSavers; + QList m_metadataReaders; + QList m_subtitleFetchers; + QList m_typeOptions; +}; + +} // NS Jellyfin +} // NS DTO + +#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..c859769 --- /dev/null +++ b/core/include/JellyfinQt/DTO/librarytypeoptionsdto.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_LIBRARYTYPEOPTIONSDTO_H +#define JELLYFIN_DTO_LIBRARYTYPEOPTIONSDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" + +namespace Jellyfin { +namespace DTO { + +class ImageOption; +class LibraryOptionInfoDto; +class LibraryOptionInfoDto; + +class LibraryTypeOptionsDto : public QObject { + Q_OBJECT +public: + explicit LibraryTypeOptionsDto(QObject *parent = nullptr); + static LibraryTypeOptionsDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the metadata fetchers. + */ + Q_PROPERTY(QList metadataFetchers READ metadataFetchers WRITE setMetadataFetchers NOTIFY metadataFetchersChanged) + /** + * @brief Gets or sets the image fetchers. + */ + Q_PROPERTY(QList imageFetchers READ imageFetchers WRITE setImageFetchers NOTIFY imageFetchersChanged) + /** + * @brief Gets or sets the supported image types. + */ + Q_PROPERTY(QList supportedImageTypes READ supportedImageTypes WRITE setSupportedImageTypes NOTIFY supportedImageTypesChanged) + /** + * @brief Gets or sets the default image options. + */ + Q_PROPERTY(QList defaultImageOptions READ defaultImageOptions WRITE setDefaultImageOptions NOTIFY defaultImageOptionsChanged) + + QString type() const; + void setType(QString newType); + + QList metadataFetchers() const; + void setMetadataFetchers(QList newMetadataFetchers); + + QList imageFetchers() const; + void setImageFetchers(QList newImageFetchers); + + QList supportedImageTypes() const; + void setSupportedImageTypes(QList newSupportedImageTypes); + + QList defaultImageOptions() const; + void setDefaultImageOptions(QList newDefaultImageOptions); + +signals: + void typeChanged(QString newType); + void metadataFetchersChanged(QList newMetadataFetchers); + void imageFetchersChanged(QList newImageFetchers); + void supportedImageTypesChanged(QList newSupportedImageTypes); + void defaultImageOptionsChanged(QList newDefaultImageOptions); +protected: + QString m_type; + QList m_metadataFetchers; + QList m_imageFetchers; + QList m_supportedImageTypes; + QList m_defaultImageOptions; +}; + +} // NS Jellyfin +} // NS DTO + +#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..bb3a406 --- /dev/null +++ b/core/include/JellyfinQt/DTO/libraryupdateinfo.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_LIBRARYUPDATEINFO_H +#define JELLYFIN_DTO_LIBRARYUPDATEINFO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryUpdateInfo : public QObject { + Q_OBJECT +public: + explicit LibraryUpdateInfo(QObject *parent = nullptr); + static LibraryUpdateInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the folders added to. + */ + Q_PROPERTY(QStringList foldersAddedTo READ foldersAddedTo WRITE setFoldersAddedTo NOTIFY foldersAddedToChanged) + /** + * @brief Gets or sets the folders removed from. + */ + Q_PROPERTY(QStringList foldersRemovedFrom READ foldersRemovedFrom WRITE setFoldersRemovedFrom NOTIFY foldersRemovedFromChanged) + /** + * @brief Gets or sets the items added. + */ + Q_PROPERTY(QStringList itemsAdded READ itemsAdded WRITE setItemsAdded NOTIFY itemsAddedChanged) + /** + * @brief Gets or sets the items removed. + */ + Q_PROPERTY(QStringList itemsRemoved READ itemsRemoved WRITE setItemsRemoved NOTIFY itemsRemovedChanged) + /** + * @brief Gets or sets the items updated. + */ + Q_PROPERTY(QStringList itemsUpdated READ itemsUpdated WRITE setItemsUpdated NOTIFY itemsUpdatedChanged) + Q_PROPERTY(QStringList collectionFolders READ collectionFolders WRITE setCollectionFolders NOTIFY collectionFoldersChanged) + Q_PROPERTY(bool isEmpty READ isEmpty WRITE setIsEmpty NOTIFY isEmptyChanged) + + QStringList foldersAddedTo() const; + void setFoldersAddedTo(QStringList newFoldersAddedTo); + + QStringList foldersRemovedFrom() const; + void setFoldersRemovedFrom(QStringList newFoldersRemovedFrom); + + QStringList itemsAdded() const; + void setItemsAdded(QStringList newItemsAdded); + + QStringList itemsRemoved() const; + void setItemsRemoved(QStringList newItemsRemoved); + + QStringList itemsUpdated() const; + void setItemsUpdated(QStringList newItemsUpdated); + + QStringList collectionFolders() const; + void setCollectionFolders(QStringList newCollectionFolders); + + bool isEmpty() const; + void setIsEmpty(bool newIsEmpty); + +signals: + void foldersAddedToChanged(QStringList newFoldersAddedTo); + void foldersRemovedFromChanged(QStringList newFoldersRemovedFrom); + void itemsAddedChanged(QStringList newItemsAdded); + void itemsRemovedChanged(QStringList newItemsRemoved); + void itemsUpdatedChanged(QStringList newItemsUpdated); + void collectionFoldersChanged(QStringList newCollectionFolders); + void isEmptyChanged(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 Jellyfin +} // NS DTO + +#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..b12a8a1 --- /dev/null +++ b/core/include/JellyfinQt/DTO/listingsproviderinfo.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_LISTINGSPROVIDERINFO_H +#define JELLYFIN_DTO_LISTINGSPROVIDERINFO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameValuePair; + +class ListingsProviderInfo : public QObject { + Q_OBJECT +public: + explicit ListingsProviderInfo(QObject *parent = nullptr); + static ListingsProviderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged) + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + Q_PROPERTY(QString listingsId READ listingsId WRITE setListingsId NOTIFY listingsIdChanged) + Q_PROPERTY(QString zipCode READ zipCode WRITE setZipCode NOTIFY zipCodeChanged) + Q_PROPERTY(QString country READ country WRITE setCountry NOTIFY countryChanged) + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(QStringList enabledTuners READ enabledTuners WRITE setEnabledTuners NOTIFY enabledTunersChanged) + Q_PROPERTY(bool enableAllTuners READ enableAllTuners WRITE setEnableAllTuners NOTIFY enableAllTunersChanged) + Q_PROPERTY(QStringList newsCategories READ newsCategories WRITE setNewsCategories NOTIFY newsCategoriesChanged) + Q_PROPERTY(QStringList sportsCategories READ sportsCategories WRITE setSportsCategories NOTIFY sportsCategoriesChanged) + Q_PROPERTY(QStringList kidsCategories READ kidsCategories WRITE setKidsCategories NOTIFY kidsCategoriesChanged) + Q_PROPERTY(QStringList movieCategories READ movieCategories WRITE setMovieCategories NOTIFY movieCategoriesChanged) + Q_PROPERTY(QList channelMappings READ channelMappings WRITE setChannelMappings NOTIFY channelMappingsChanged) + Q_PROPERTY(QString moviePrefix READ moviePrefix WRITE setMoviePrefix NOTIFY moviePrefixChanged) + Q_PROPERTY(QString preferredLanguage READ preferredLanguage WRITE setPreferredLanguage NOTIFY preferredLanguageChanged) + Q_PROPERTY(QString userAgent READ userAgent WRITE setUserAgent NOTIFY userAgentChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString type() const; + void setType(QString newType); + + QString username() const; + void setUsername(QString newUsername); + + QString password() const; + void setPassword(QString newPassword); + + QString listingsId() const; + void setListingsId(QString newListingsId); + + QString zipCode() const; + void setZipCode(QString newZipCode); + + QString country() const; + void setCountry(QString newCountry); + + QString path() const; + void setPath(QString newPath); + + QStringList enabledTuners() const; + void setEnabledTuners(QStringList newEnabledTuners); + + bool enableAllTuners() const; + void setEnableAllTuners(bool newEnableAllTuners); + + QStringList newsCategories() const; + void setNewsCategories(QStringList newNewsCategories); + + QStringList sportsCategories() const; + void setSportsCategories(QStringList newSportsCategories); + + QStringList kidsCategories() const; + void setKidsCategories(QStringList newKidsCategories); + + QStringList movieCategories() const; + void setMovieCategories(QStringList newMovieCategories); + + QList channelMappings() const; + void setChannelMappings(QList newChannelMappings); + + QString moviePrefix() const; + void setMoviePrefix(QString newMoviePrefix); + + QString preferredLanguage() const; + void setPreferredLanguage(QString newPreferredLanguage); + + QString userAgent() const; + void setUserAgent(QString newUserAgent); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void typeChanged(QString newType); + void usernameChanged(QString newUsername); + void passwordChanged(QString newPassword); + void listingsIdChanged(QString newListingsId); + void zipCodeChanged(QString newZipCode); + void countryChanged(QString newCountry); + void pathChanged(QString newPath); + void enabledTunersChanged(QStringList newEnabledTuners); + void enableAllTunersChanged(bool newEnableAllTuners); + void newsCategoriesChanged(QStringList newNewsCategories); + void sportsCategoriesChanged(QStringList newSportsCategories); + void kidsCategoriesChanged(QStringList newKidsCategories); + void movieCategoriesChanged(QStringList newMovieCategories); + void channelMappingsChanged(QList newChannelMappings); + void moviePrefixChanged(QString newMoviePrefix); + void preferredLanguageChanged(QString newPreferredLanguage); + void userAgentChanged(QString newUserAgent); +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 Jellyfin +} // NS DTO + +#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..8dae092 --- /dev/null +++ b/core/include/JellyfinQt/DTO/livestreamresponse.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_LIVESTREAMRESPONSE_H +#define JELLYFIN_DTO_LIVESTREAMRESPONSE_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaSourceInfo; + +class LiveStreamResponse : public QObject { + Q_OBJECT +public: + explicit LiveStreamResponse(QObject *parent = nullptr); + static LiveStreamResponse *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(MediaSourceInfo * mediaSource READ mediaSource WRITE setMediaSource NOTIFY mediaSourceChanged) + + MediaSourceInfo * mediaSource() const; + void setMediaSource(MediaSourceInfo * newMediaSource); + +signals: + void mediaSourceChanged(MediaSourceInfo * newMediaSource); +protected: + MediaSourceInfo * m_mediaSource = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#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..684d8e5 --- /dev/null +++ b/core/include/JellyfinQt/DTO/livetvinfo.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_LIVETVINFO_H +#define JELLYFIN_DTO_LIVETVINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LiveTvServiceInfo; + +class LiveTvInfo : public QObject { + Q_OBJECT +public: + explicit LiveTvInfo(QObject *parent = nullptr); + static LiveTvInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the services. + */ + Q_PROPERTY(QList services READ services WRITE setServices NOTIFY servicesChanged) + /** + * @brief Gets or sets a value indicating whether this instance is enabled. + */ + Q_PROPERTY(bool isEnabled READ isEnabled WRITE setIsEnabled NOTIFY isEnabledChanged) + /** + * @brief Gets or sets the enabled users. + */ + Q_PROPERTY(QStringList enabledUsers READ enabledUsers WRITE setEnabledUsers NOTIFY enabledUsersChanged) + + QList services() const; + void setServices(QList newServices); + + bool isEnabled() const; + void setIsEnabled(bool newIsEnabled); + + QStringList enabledUsers() const; + void setEnabledUsers(QStringList newEnabledUsers); + +signals: + void servicesChanged(QList newServices); + void isEnabledChanged(bool newIsEnabled); + void enabledUsersChanged(QStringList newEnabledUsers); +protected: + QList m_services; + bool m_isEnabled; + QStringList m_enabledUsers; +}; + +} // NS Jellyfin +} // NS DTO + +#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..11198eb --- /dev/null +++ b/core/include/JellyfinQt/DTO/livetvserviceinfo.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_LIVETVSERVICEINFO_H +#define JELLYFIN_DTO_LIVETVSERVICEINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/livetvservicestatus.h" + +namespace Jellyfin { +namespace DTO { + +class LiveTvServiceInfo : public QObject { + Q_OBJECT +public: + explicit LiveTvServiceInfo(QObject *parent = nullptr); + static LiveTvServiceInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the home page URL. + */ + Q_PROPERTY(QString homePageUrl READ homePageUrl WRITE setHomePageUrl NOTIFY homePageUrlChanged) + Q_PROPERTY(LiveTvServiceStatus status READ status WRITE setStatus NOTIFY statusChanged) + /** + * @brief Gets or sets the status message. + */ + Q_PROPERTY(QString statusMessage READ statusMessage WRITE setStatusMessage NOTIFY statusMessageChanged) + /** + * @brief Gets or sets the version. + */ + Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + Q_PROPERTY(bool hasUpdateAvailable READ hasUpdateAvailable WRITE setHasUpdateAvailable NOTIFY hasUpdateAvailableChanged) + /** + * @brief Gets or sets a value indicating whether this instance is visible. + */ + Q_PROPERTY(bool isVisible READ isVisible WRITE setIsVisible NOTIFY isVisibleChanged) + Q_PROPERTY(QStringList tuners READ tuners WRITE setTuners NOTIFY tunersChanged) + + QString name() const; + void setName(QString newName); + + QString homePageUrl() const; + void setHomePageUrl(QString newHomePageUrl); + + LiveTvServiceStatus status() const; + void setStatus(LiveTvServiceStatus newStatus); + + QString statusMessage() const; + void setStatusMessage(QString newStatusMessage); + + QString version() const; + void setVersion(QString newVersion); + + bool hasUpdateAvailable() const; + void setHasUpdateAvailable(bool newHasUpdateAvailable); + + bool isVisible() const; + void setIsVisible(bool newIsVisible); + + QStringList tuners() const; + void setTuners(QStringList newTuners); + +signals: + void nameChanged(QString newName); + void homePageUrlChanged(QString newHomePageUrl); + void statusChanged(LiveTvServiceStatus newStatus); + void statusMessageChanged(QString newStatusMessage); + void versionChanged(QString newVersion); + void hasUpdateAvailableChanged(bool newHasUpdateAvailable); + void isVisibleChanged(bool newIsVisible); + void tunersChanged(QStringList newTuners); +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 Jellyfin +} // NS DTO + +#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..6b70092 --- /dev/null +++ b/core/include/JellyfinQt/DTO/livetvservicestatus.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LIVETVSERVICESTATUS_H +#define JELLYFIN_DTO_LIVETVSERVICESTATUS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class LiveTvServiceStatusClass { + Q_GADGET +public: + enum Value { + Ok, + Unavailable, + }; + Q_ENUM(Value) +private: + explicit LiveTvServiceStatusClass(); +}; +typedef LiveTvServiceStatusClass::Value LiveTvServiceStatus; + +} // NS Jellyfin +} // NS DTO + +#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..6b46b95 --- /dev/null +++ b/core/include/JellyfinQt/DTO/localizationoption.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_LOCALIZATIONOPTION_H +#define JELLYFIN_DTO_LOCALIZATIONOPTION_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LocalizationOption : public QObject { + Q_OBJECT +public: + explicit LocalizationOption(QObject *parent = nullptr); + static LocalizationOption *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged) + + QString name() const; + void setName(QString newName); + + QString value() const; + void setValue(QString newValue); + +signals: + void nameChanged(QString newName); + void valueChanged(QString newValue); +protected: + QString m_name; + QString m_value; +}; + +} // NS Jellyfin +} // NS DTO + +#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..59498f7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/locationtype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOCATIONTYPE_H +#define JELLYFIN_DTO_LOCATIONTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class LocationTypeClass { + Q_GADGET +public: + enum Value { + FileSystem, + Remote, + Virtual, + Offline, + }; + Q_ENUM(Value) +private: + explicit LocationTypeClass(); +}; +typedef LocationTypeClass::Value LocationType; + +} // NS Jellyfin +} // NS DTO + +#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..39616c7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/logfile.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_LOGFILE_H +#define JELLYFIN_DTO_LOGFILE_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LogFile : public QObject { + Q_OBJECT +public: + explicit LogFile(QObject *parent = nullptr); + static LogFile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the date created. + */ + Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged) + /** + * @brief Gets or sets the date modified. + */ + Q_PROPERTY(QDateTime dateModified READ dateModified WRITE setDateModified NOTIFY dateModifiedChanged) + /** + * @brief Gets or sets the size. + */ + Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + + QDateTime dateCreated() const; + void setDateCreated(QDateTime newDateCreated); + + QDateTime dateModified() const; + void setDateModified(QDateTime newDateModified); + + qint64 size() const; + void setSize(qint64 newSize); + + QString name() const; + void setName(QString newName); + +signals: + void dateCreatedChanged(QDateTime newDateCreated); + void dateModifiedChanged(QDateTime newDateModified); + void sizeChanged(qint64 newSize); + void nameChanged(QString newName); +protected: + QDateTime m_dateCreated; + QDateTime m_dateModified; + qint64 m_size; + QString m_name; +}; + +} // NS Jellyfin +} // NS DTO + +#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..1e86022 --- /dev/null +++ b/core/include/JellyfinQt/DTO/loglevel.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_LOGLEVEL_H +#define JELLYFIN_DTO_LOGLEVEL_H + +#include + +namespace Jellyfin { +namespace DTO { + +class LogLevelClass { + Q_GADGET +public: + enum Value { + Trace, + Debug, + Information, + Warning, + Error, + Critical, + None, + }; + Q_ENUM(Value) +private: + explicit LogLevelClass(); +}; +typedef LogLevelClass::Value LogLevel; + +} // NS Jellyfin +} // NS DTO + +#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..687ad76 --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediaattachment.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_MEDIAATTACHMENT_H +#define JELLYFIN_DTO_MEDIAATTACHMENT_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaAttachment : public QObject { + Q_OBJECT +public: + explicit MediaAttachment(QObject *parent = nullptr); + static MediaAttachment *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the codec. + */ + Q_PROPERTY(QString codec READ codec WRITE setCodec NOTIFY codecChanged) + /** + * @brief Gets or sets the codec tag. + */ + Q_PROPERTY(QString codecTag READ codecTag WRITE setCodecTag NOTIFY codecTagChanged) + /** + * @brief Gets or sets the comment. + */ + Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged) + /** + * @brief Gets or sets the index. + */ + Q_PROPERTY(qint32 index READ index WRITE setIndex NOTIFY indexChanged) + /** + * @brief Gets or sets the filename. + */ + Q_PROPERTY(QString fileName READ fileName WRITE setFileName NOTIFY fileNameChanged) + /** + * @brief Gets or sets the MIME type. + */ + Q_PROPERTY(QString mimeType READ mimeType WRITE setMimeType NOTIFY mimeTypeChanged) + /** + * @brief Gets or sets the delivery URL. + */ + Q_PROPERTY(QString deliveryUrl READ deliveryUrl WRITE setDeliveryUrl NOTIFY deliveryUrlChanged) + + QString codec() const; + void setCodec(QString newCodec); + + QString codecTag() const; + void setCodecTag(QString newCodecTag); + + QString comment() const; + void setComment(QString newComment); + + qint32 index() const; + void setIndex(qint32 newIndex); + + QString fileName() const; + void setFileName(QString newFileName); + + QString mimeType() const; + void setMimeType(QString newMimeType); + + QString deliveryUrl() const; + void setDeliveryUrl(QString newDeliveryUrl); + +signals: + void codecChanged(QString newCodec); + void codecTagChanged(QString newCodecTag); + void commentChanged(QString newComment); + void indexChanged(qint32 newIndex); + void fileNameChanged(QString newFileName); + void mimeTypeChanged(QString newMimeType); + void deliveryUrlChanged(QString newDeliveryUrl); +protected: + QString m_codec; + QString m_codecTag; + QString m_comment; + qint32 m_index; + QString m_fileName; + QString m_mimeType; + QString m_deliveryUrl; +}; + +} // NS Jellyfin +} // NS DTO + +#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..5e1575b --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediaencoderpathdto.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_MEDIAENCODERPATHDTO_H +#define JELLYFIN_DTO_MEDIAENCODERPATHDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaEncoderPathDto : public QObject { + Q_OBJECT +public: + explicit MediaEncoderPathDto(QObject *parent = nullptr); + static MediaEncoderPathDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets media encoder path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets media encoder path type. + */ + Q_PROPERTY(QString pathType READ pathType WRITE setPathType NOTIFY pathTypeChanged) + + QString path() const; + void setPath(QString newPath); + + QString pathType() const; + void setPathType(QString newPathType); + +signals: + void pathChanged(QString newPath); + void pathTypeChanged(QString newPathType); +protected: + QString m_path; + QString m_pathType; +}; + +} // NS Jellyfin +} // NS DTO + +#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..cbdfc14 --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediapathdto.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_MEDIAPATHDTO_H +#define JELLYFIN_DTO_MEDIAPATHDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaPathInfo; + +class MediaPathDto : public QObject { + Q_OBJECT +public: + explicit MediaPathDto(QObject *parent = nullptr); + static MediaPathDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name of the library. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path to add. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(MediaPathInfo * pathInfo READ pathInfo WRITE setPathInfo NOTIFY pathInfoChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + MediaPathInfo * pathInfo() const; + void setPathInfo(MediaPathInfo * newPathInfo); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void pathInfoChanged(MediaPathInfo * newPathInfo); +protected: + QString m_name; + QString m_path; + MediaPathInfo * m_pathInfo = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d7ba25e --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediapathinfo.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_MEDIAPATHINFO_H +#define JELLYFIN_DTO_MEDIAPATHINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaPathInfo : public QObject { + Q_OBJECT +public: + explicit MediaPathInfo(QObject *parent = nullptr); + static MediaPathInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(QString networkPath READ networkPath WRITE setNetworkPath NOTIFY networkPathChanged) + + QString path() const; + void setPath(QString newPath); + + QString networkPath() const; + void setNetworkPath(QString newNetworkPath); + +signals: + void pathChanged(QString newPath); + void networkPathChanged(QString newNetworkPath); +protected: + QString m_path; + QString m_networkPath; +}; + +} // NS Jellyfin +} // NS DTO + +#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..fc77c6c --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediaprotocol.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIAPROTOCOL_H +#define JELLYFIN_DTO_MEDIAPROTOCOL_H + +#include + +namespace Jellyfin { +namespace DTO { + +class MediaProtocolClass { + Q_GADGET +public: + enum Value { + File, + Http, + Rtmp, + Rtsp, + Udp, + Rtp, + Ftp, + }; + Q_ENUM(Value) +private: + explicit MediaProtocolClass(); +}; +typedef MediaProtocolClass::Value MediaProtocol; + +} // NS Jellyfin +} // NS DTO + +#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..346cbee --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediasourceinfo.h @@ -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. + */ + +#ifndef JELLYFIN_DTO_MEDIASOURCEINFO_H +#define JELLYFIN_DTO_MEDIASOURCEINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/isotype.h" +#include "JellyfinQt/DTO/mediaprotocol.h" +#include "JellyfinQt/DTO/mediasourcetype.h" +#include "JellyfinQt/DTO/transportstreamtimestamp.h" +#include "JellyfinQt/DTO/video3dformat.h" +#include "JellyfinQt/DTO/videotype.h" + +namespace Jellyfin { +namespace DTO { + +class MediaAttachment; +class MediaStream; + +class MediaSourceInfo : public QObject { + Q_OBJECT +public: + explicit MediaSourceInfo(QObject *parent = nullptr); + static MediaSourceInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(MediaProtocol protocol READ protocol WRITE setProtocol NOTIFY protocolChanged) + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + Q_PROPERTY(QString encoderPath READ encoderPath WRITE setEncoderPath NOTIFY encoderPathChanged) + Q_PROPERTY(MediaProtocol encoderProtocol READ encoderProtocol WRITE setEncoderProtocol NOTIFY encoderProtocolChanged) + Q_PROPERTY(MediaSourceType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(qint64 size READ size WRITE setSize NOTIFY sizeChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Differentiate internet url vs local network. + */ + Q_PROPERTY(bool isRemote READ isRemote WRITE setIsRemote NOTIFY isRemoteChanged) + Q_PROPERTY(QString eTag READ eTag WRITE setETag NOTIFY eTagChanged) + Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged) + Q_PROPERTY(bool readAtNativeFramerate READ readAtNativeFramerate WRITE setReadAtNativeFramerate NOTIFY readAtNativeFramerateChanged) + Q_PROPERTY(bool ignoreDts READ ignoreDts WRITE setIgnoreDts NOTIFY ignoreDtsChanged) + Q_PROPERTY(bool ignoreIndex READ ignoreIndex WRITE setIgnoreIndex NOTIFY ignoreIndexChanged) + Q_PROPERTY(bool genPtsInput READ genPtsInput WRITE setGenPtsInput NOTIFY genPtsInputChanged) + Q_PROPERTY(bool supportsTranscoding READ supportsTranscoding WRITE setSupportsTranscoding NOTIFY supportsTranscodingChanged) + Q_PROPERTY(bool supportsDirectStream READ supportsDirectStream WRITE setSupportsDirectStream NOTIFY supportsDirectStreamChanged) + Q_PROPERTY(bool supportsDirectPlay READ supportsDirectPlay WRITE setSupportsDirectPlay NOTIFY supportsDirectPlayChanged) + Q_PROPERTY(bool isInfiniteStream READ isInfiniteStream WRITE setIsInfiniteStream NOTIFY isInfiniteStreamChanged) + Q_PROPERTY(bool requiresOpening READ requiresOpening WRITE setRequiresOpening NOTIFY requiresOpeningChanged) + Q_PROPERTY(QString openToken READ openToken WRITE setOpenToken NOTIFY openTokenChanged) + Q_PROPERTY(bool requiresClosing READ requiresClosing WRITE setRequiresClosing NOTIFY requiresClosingChanged) + Q_PROPERTY(QString liveStreamId READ liveStreamId WRITE setLiveStreamId NOTIFY liveStreamIdChanged) + Q_PROPERTY(qint32 bufferMs READ bufferMs WRITE setBufferMs NOTIFY bufferMsChanged) + Q_PROPERTY(bool requiresLooping READ requiresLooping WRITE setRequiresLooping NOTIFY requiresLoopingChanged) + Q_PROPERTY(bool supportsProbing READ supportsProbing WRITE setSupportsProbing NOTIFY supportsProbingChanged) + Q_PROPERTY(VideoType videoType READ videoType WRITE setVideoType NOTIFY videoTypeChanged) + Q_PROPERTY(IsoType isoType READ isoType WRITE setIsoType NOTIFY isoTypeChanged) + Q_PROPERTY(Video3DFormat video3DFormat READ video3DFormat WRITE setVideo3DFormat NOTIFY video3DFormatChanged) + Q_PROPERTY(QList mediaStreams READ mediaStreams WRITE setMediaStreams NOTIFY mediaStreamsChanged) + Q_PROPERTY(QList mediaAttachments READ mediaAttachments WRITE setMediaAttachments NOTIFY mediaAttachmentsChanged) + Q_PROPERTY(QStringList formats READ formats WRITE setFormats NOTIFY formatsChanged) + Q_PROPERTY(qint32 bitrate READ bitrate WRITE setBitrate NOTIFY bitrateChanged) + Q_PROPERTY(TransportStreamTimestamp timestamp READ timestamp WRITE setTimestamp NOTIFY timestampChanged) + Q_PROPERTY(QJsonObject requiredHttpHeaders READ requiredHttpHeaders WRITE setRequiredHttpHeaders NOTIFY requiredHttpHeadersChanged) + Q_PROPERTY(QString transcodingUrl READ transcodingUrl WRITE setTranscodingUrl NOTIFY transcodingUrlChanged) + Q_PROPERTY(QString transcodingSubProtocol READ transcodingSubProtocol WRITE setTranscodingSubProtocol NOTIFY transcodingSubProtocolChanged) + Q_PROPERTY(QString transcodingContainer READ transcodingContainer WRITE setTranscodingContainer NOTIFY transcodingContainerChanged) + Q_PROPERTY(qint32 analyzeDurationMs READ analyzeDurationMs WRITE setAnalyzeDurationMs NOTIFY analyzeDurationMsChanged) + Q_PROPERTY(qint32 defaultAudioStreamIndex READ defaultAudioStreamIndex WRITE setDefaultAudioStreamIndex NOTIFY defaultAudioStreamIndexChanged) + Q_PROPERTY(qint32 defaultSubtitleStreamIndex READ defaultSubtitleStreamIndex WRITE setDefaultSubtitleStreamIndex NOTIFY defaultSubtitleStreamIndexChanged) + + MediaProtocol protocol() const; + void setProtocol(MediaProtocol newProtocol); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString path() const; + void setPath(QString newPath); + + QString encoderPath() const; + void setEncoderPath(QString newEncoderPath); + + MediaProtocol encoderProtocol() const; + void setEncoderProtocol(MediaProtocol newEncoderProtocol); + + MediaSourceType type() const; + void setType(MediaSourceType newType); + + QString container() const; + void setContainer(QString newContainer); + + qint64 size() const; + void setSize(qint64 newSize); + + QString name() const; + void setName(QString newName); + + bool isRemote() const; + void setIsRemote(bool newIsRemote); + + QString eTag() const; + void setETag(QString newETag); + + qint64 runTimeTicks() const; + void setRunTimeTicks(qint64 newRunTimeTicks); + + 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 requiresClosing() const; + void setRequiresClosing(bool newRequiresClosing); + + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId); + + qint32 bufferMs() const; + void setBufferMs(qint32 newBufferMs); + + 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); + + QList mediaAttachments() const; + void setMediaAttachments(QList newMediaAttachments); + + QStringList formats() const; + void setFormats(QStringList newFormats); + + qint32 bitrate() const; + void setBitrate(qint32 newBitrate); + + TransportStreamTimestamp timestamp() const; + void setTimestamp(TransportStreamTimestamp newTimestamp); + + QJsonObject requiredHttpHeaders() const; + void setRequiredHttpHeaders(QJsonObject newRequiredHttpHeaders); + + QString transcodingUrl() const; + void setTranscodingUrl(QString newTranscodingUrl); + + QString transcodingSubProtocol() const; + void setTranscodingSubProtocol(QString newTranscodingSubProtocol); + + QString transcodingContainer() const; + void setTranscodingContainer(QString newTranscodingContainer); + + qint32 analyzeDurationMs() const; + void setAnalyzeDurationMs(qint32 newAnalyzeDurationMs); + + qint32 defaultAudioStreamIndex() const; + void setDefaultAudioStreamIndex(qint32 newDefaultAudioStreamIndex); + + qint32 defaultSubtitleStreamIndex() const; + void setDefaultSubtitleStreamIndex(qint32 newDefaultSubtitleStreamIndex); + +signals: + void protocolChanged(MediaProtocol newProtocol); + void jellyfinIdChanged(QString newJellyfinId); + void pathChanged(QString newPath); + void encoderPathChanged(QString newEncoderPath); + void encoderProtocolChanged(MediaProtocol newEncoderProtocol); + void typeChanged(MediaSourceType newType); + void containerChanged(QString newContainer); + void sizeChanged(qint64 newSize); + void nameChanged(QString newName); + void isRemoteChanged(bool newIsRemote); + void eTagChanged(QString newETag); + void runTimeTicksChanged(qint64 newRunTimeTicks); + void readAtNativeFramerateChanged(bool newReadAtNativeFramerate); + void ignoreDtsChanged(bool newIgnoreDts); + void ignoreIndexChanged(bool newIgnoreIndex); + void genPtsInputChanged(bool newGenPtsInput); + void supportsTranscodingChanged(bool newSupportsTranscoding); + void supportsDirectStreamChanged(bool newSupportsDirectStream); + void supportsDirectPlayChanged(bool newSupportsDirectPlay); + void isInfiniteStreamChanged(bool newIsInfiniteStream); + void requiresOpeningChanged(bool newRequiresOpening); + void openTokenChanged(QString newOpenToken); + void requiresClosingChanged(bool newRequiresClosing); + void liveStreamIdChanged(QString newLiveStreamId); + void bufferMsChanged(qint32 newBufferMs); + void requiresLoopingChanged(bool newRequiresLooping); + void supportsProbingChanged(bool newSupportsProbing); + void videoTypeChanged(VideoType newVideoType); + void isoTypeChanged(IsoType newIsoType); + void video3DFormatChanged(Video3DFormat newVideo3DFormat); + void mediaStreamsChanged(QList newMediaStreams); + void mediaAttachmentsChanged(QList newMediaAttachments); + void formatsChanged(QStringList newFormats); + void bitrateChanged(qint32 newBitrate); + void timestampChanged(TransportStreamTimestamp newTimestamp); + void requiredHttpHeadersChanged(QJsonObject newRequiredHttpHeaders); + void transcodingUrlChanged(QString newTranscodingUrl); + void transcodingSubProtocolChanged(QString newTranscodingSubProtocol); + void transcodingContainerChanged(QString newTranscodingContainer); + void analyzeDurationMsChanged(qint32 newAnalyzeDurationMs); + void defaultAudioStreamIndexChanged(qint32 newDefaultAudioStreamIndex); + void defaultSubtitleStreamIndexChanged(qint32 newDefaultSubtitleStreamIndex); +protected: + MediaProtocol m_protocol; + QString m_jellyfinId; + QString m_path; + QString m_encoderPath; + MediaProtocol m_encoderProtocol; + MediaSourceType m_type; + QString m_container; + qint64 m_size; + QString m_name; + bool m_isRemote; + QString m_eTag; + qint64 m_runTimeTicks; + 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; + qint32 m_bufferMs; + bool m_requiresLooping; + bool m_supportsProbing; + VideoType m_videoType; + IsoType m_isoType; + Video3DFormat m_video3DFormat; + QList m_mediaStreams; + QList m_mediaAttachments; + QStringList m_formats; + qint32 m_bitrate; + TransportStreamTimestamp m_timestamp; + QJsonObject m_requiredHttpHeaders; + QString m_transcodingUrl; + QString m_transcodingSubProtocol; + QString m_transcodingContainer; + qint32 m_analyzeDurationMs; + qint32 m_defaultAudioStreamIndex; + qint32 m_defaultSubtitleStreamIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..0ef7fa1 --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediasourcetype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASOURCETYPE_H +#define JELLYFIN_DTO_MEDIASOURCETYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class MediaSourceTypeClass { + Q_GADGET +public: + enum Value { + Default, + Grouping, + Placeholder, + }; + Q_ENUM(Value) +private: + explicit MediaSourceTypeClass(); +}; +typedef MediaSourceTypeClass::Value MediaSourceType; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_MEDIASOURCETYPE_H diff --git a/core/include/JellyfinQt/DTO/mediastream.h b/core/include/JellyfinQt/DTO/mediastream.h index 4e269e5..44e9922 100644 --- a/core/include/JellyfinQt/DTO/mediastream.h +++ b/core/include/JellyfinQt/DTO/mediastream.h @@ -1,73 +1,455 @@ /* -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 + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "dto.h" +#include "JellyfinQt/DTO/mediastreamtype.h" +#include "JellyfinQt/DTO/subtitledeliverymethod.h" namespace Jellyfin { namespace DTO { -class MediaStream : public JsonSerializable { - Q_OBJECT +class MediaStream : public QObject { + Q_OBJECT public: - Q_INVOKABLE explicit MediaStream(QObject *parent = nullptr); - MediaStream(const MediaStream &other); - bool operator==(const MediaStream &other); + explicit MediaStream(QObject *parent = nullptr); + static MediaStream *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); - enum MediaStreamType { - Undefined, - Audio, - Video, - Subtitle, - EmbeddedImage - }; - Q_ENUM(MediaStreamType) + /** + * @brief Gets or sets the codec. + */ + Q_PROPERTY(QString codec READ codec WRITE setCodec NOTIFY codecChanged) + /** + * @brief Gets or sets the codec tag. + */ + Q_PROPERTY(QString codecTag READ codecTag WRITE setCodecTag NOTIFY codecTagChanged) + /** + * @brief Gets or sets the language. + */ + Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged) + /** + * @brief Gets or sets the color range. + */ + Q_PROPERTY(QString colorRange READ colorRange WRITE setColorRange NOTIFY colorRangeChanged) + /** + * @brief Gets or sets the color space. + */ + Q_PROPERTY(QString colorSpace READ colorSpace WRITE setColorSpace NOTIFY colorSpaceChanged) + /** + * @brief Gets or sets the color transfer. + */ + Q_PROPERTY(QString colorTransfer READ colorTransfer WRITE setColorTransfer NOTIFY colorTransferChanged) + /** + * @brief Gets or sets the color primaries. + */ + Q_PROPERTY(QString colorPrimaries READ colorPrimaries WRITE setColorPrimaries NOTIFY colorPrimariesChanged) + /** + * @brief Gets or sets the comment. + */ + Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged) + /** + * @brief Gets or sets the time base. + */ + Q_PROPERTY(QString timeBase READ timeBase WRITE setTimeBase NOTIFY timeBaseChanged) + /** + * @brief Gets or sets the codec time base. + */ + Q_PROPERTY(QString codecTimeBase READ codecTimeBase WRITE setCodecTimeBase NOTIFY codecTimeBaseChanged) + /** + * @brief Gets or sets the title. + */ + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) + /** + * @brief Gets or sets the video range. + */ + Q_PROPERTY(QString videoRange READ videoRange WRITE setVideoRange NOTIFY videoRangeChanged) + Q_PROPERTY(QString localizedUndefined READ localizedUndefined WRITE setLocalizedUndefined NOTIFY localizedUndefinedChanged) + Q_PROPERTY(QString localizedDefault READ localizedDefault WRITE setLocalizedDefault NOTIFY localizedDefaultChanged) + Q_PROPERTY(QString localizedForced READ localizedForced WRITE setLocalizedForced NOTIFY localizedForcedChanged) + Q_PROPERTY(QString displayTitle READ displayTitle WRITE setDisplayTitle NOTIFY displayTitleChanged) + Q_PROPERTY(QString nalLengthSize READ nalLengthSize WRITE setNalLengthSize NOTIFY nalLengthSizeChanged) + /** + * @brief Gets or sets a value indicating whether this instance is interlaced. + */ + Q_PROPERTY(bool isInterlaced READ isInterlaced WRITE setIsInterlaced NOTIFY isInterlacedChanged) + Q_PROPERTY(bool isAVC READ isAVC WRITE setIsAVC NOTIFY isAVCChanged) + /** + * @brief Gets or sets the channel layout. + */ + Q_PROPERTY(QString channelLayout READ channelLayout WRITE setChannelLayout NOTIFY channelLayoutChanged) + /** + * @brief Gets or sets the bit rate. + */ + Q_PROPERTY(qint32 bitRate READ bitRate WRITE setBitRate NOTIFY bitRateChanged) + /** + * @brief Gets or sets the bit depth. + */ + Q_PROPERTY(qint32 bitDepth READ bitDepth WRITE setBitDepth NOTIFY bitDepthChanged) + /** + * @brief Gets or sets the reference frames. + */ + Q_PROPERTY(qint32 refFrames READ refFrames WRITE setRefFrames NOTIFY refFramesChanged) + /** + * @brief Gets or sets the length of the packet. + */ + Q_PROPERTY(qint32 packetLength READ packetLength WRITE setPacketLength NOTIFY packetLengthChanged) + /** + * @brief Gets or sets the channels. + */ + Q_PROPERTY(qint32 channels READ channels WRITE setChannels NOTIFY channelsChanged) + /** + * @brief Gets or sets the sample rate. + */ + Q_PROPERTY(qint32 sampleRate READ sampleRate WRITE setSampleRate NOTIFY sampleRateChanged) + /** + * @brief Gets or sets a value indicating whether this instance is default. + */ + Q_PROPERTY(bool isDefault READ isDefault WRITE setIsDefault NOTIFY isDefaultChanged) + /** + * @brief Gets or sets a value indicating whether this instance is forced. + */ + Q_PROPERTY(bool isForced READ isForced WRITE setIsForced NOTIFY isForcedChanged) + /** + * @brief Gets or sets the height. + */ + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + /** + * @brief Gets or sets the width. + */ + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + /** + * @brief Gets or sets the average frame rate. + */ + Q_PROPERTY(float averageFrameRate READ averageFrameRate WRITE setAverageFrameRate NOTIFY averageFrameRateChanged) + /** + * @brief Gets or sets the real frame rate. + */ + Q_PROPERTY(float realFrameRate READ realFrameRate WRITE setRealFrameRate NOTIFY realFrameRateChanged) + /** + * @brief Gets or sets the profile. + */ + Q_PROPERTY(QString profile READ profile WRITE setProfile NOTIFY profileChanged) + Q_PROPERTY(MediaStreamType type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the aspect ratio. + */ + Q_PROPERTY(QString aspectRatio READ aspectRatio WRITE setAspectRatio NOTIFY aspectRatioChanged) + /** + * @brief Gets or sets the index. + */ + Q_PROPERTY(qint32 index READ index WRITE setIndex NOTIFY indexChanged) + /** + * @brief Gets or sets the score. + */ + Q_PROPERTY(qint32 score READ score WRITE setScore NOTIFY scoreChanged) + /** + * @brief Gets or sets a value indicating whether this instance is external. + */ + Q_PROPERTY(bool isExternal READ isExternal WRITE setIsExternal NOTIFY isExternalChanged) + Q_PROPERTY(SubtitleDeliveryMethod deliveryMethod READ deliveryMethod WRITE setDeliveryMethod NOTIFY deliveryMethodChanged) + /** + * @brief Gets or sets the delivery URL. + */ + Q_PROPERTY(QString deliveryUrl READ deliveryUrl WRITE setDeliveryUrl NOTIFY deliveryUrlChanged) + /** + * @brief Gets or sets a value indicating whether this instance is external URL. + */ + Q_PROPERTY(bool isExternalUrl READ isExternalUrl WRITE setIsExternalUrl NOTIFY isExternalUrlChanged) + Q_PROPERTY(bool isTextSubtitleStream READ isTextSubtitleStream WRITE setIsTextSubtitleStream NOTIFY isTextSubtitleStreamChanged) + /** + * @brief Gets or sets a value indicating whether [supports external stream]. + */ + Q_PROPERTY(bool supportsExternalStream READ supportsExternalStream WRITE setSupportsExternalStream NOTIFY supportsExternalStreamChanged) + /** + * @brief Gets or sets the filename. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the pixel format. + */ + Q_PROPERTY(QString pixelFormat READ pixelFormat WRITE setPixelFormat NOTIFY pixelFormatChanged) + /** + * @brief Gets or sets the level. + */ + Q_PROPERTY(double level READ level WRITE setLevel NOTIFY levelChanged) + /** + * @brief Gets a value indicating whether this instance is anamorphic. + */ + Q_PROPERTY(bool isAnamorphic READ isAnamorphic WRITE setIsAnamorphic NOTIFY isAnamorphicChanged) - Q_PROPERTY(QString codec MEMBER m_codec NOTIFY codecChanged) - Q_PROPERTY(QString codecTag MEMBER m_codecTag NOTIFY codecTagChanged) - Q_PROPERTY(QString language MEMBER m_language NOTIFY languageChanged) - Q_PROPERTY(QString displayTitle MEMBER m_displayTitle NOTIFY displayTitleChanged) - Q_PROPERTY(MediaStreamType type MEMBER m_type NOTIFY typeChanged) - Q_PROPERTY(int index MEMBER m_index NOTIFY indexChanged) + QString codec() const; + void setCodec(QString newCodec); + + QString codecTag() const; + void setCodecTag(QString newCodecTag); + + QString language() const; + void setLanguage(QString newLanguage); + + QString colorRange() const; + void setColorRange(QString newColorRange); + + QString colorSpace() const; + void setColorSpace(QString newColorSpace); + + QString colorTransfer() const; + void setColorTransfer(QString newColorTransfer); + + QString colorPrimaries() const; + void setColorPrimaries(QString newColorPrimaries); + + QString comment() const; + void setComment(QString newComment); + + QString timeBase() const; + void setTimeBase(QString newTimeBase); + + QString codecTimeBase() const; + void setCodecTimeBase(QString newCodecTimeBase); + + QString title() const; + void setTitle(QString newTitle); + + QString videoRange() const; + void setVideoRange(QString newVideoRange); + + QString localizedUndefined() const; + void setLocalizedUndefined(QString newLocalizedUndefined); + + QString localizedDefault() const; + void setLocalizedDefault(QString newLocalizedDefault); + + QString localizedForced() const; + void setLocalizedForced(QString newLocalizedForced); + + QString displayTitle() const; + void setDisplayTitle(QString newDisplayTitle); + + QString nalLengthSize() const; + void setNalLengthSize(QString newNalLengthSize); + + bool isInterlaced() const; + void setIsInterlaced(bool newIsInterlaced); + + bool isAVC() const; + void setIsAVC(bool newIsAVC); + + QString channelLayout() const; + void setChannelLayout(QString newChannelLayout); + + qint32 bitRate() const; + void setBitRate(qint32 newBitRate); + + qint32 bitDepth() const; + void setBitDepth(qint32 newBitDepth); + + qint32 refFrames() const; + void setRefFrames(qint32 newRefFrames); + + qint32 packetLength() const; + void setPacketLength(qint32 newPacketLength); + + qint32 channels() const; + void setChannels(qint32 newChannels); + + qint32 sampleRate() const; + void setSampleRate(qint32 newSampleRate); + + bool isDefault() const; + void setIsDefault(bool newIsDefault); + + bool isForced() const; + void setIsForced(bool newIsForced); + + qint32 height() const; + void setHeight(qint32 newHeight); + + qint32 width() const; + void setWidth(qint32 newWidth); + + float averageFrameRate() const; + void setAverageFrameRate(float newAverageFrameRate); + + float realFrameRate() const; + void setRealFrameRate(float newRealFrameRate); + + QString profile() const; + void setProfile(QString newProfile); + + MediaStreamType type() const; + void setType(MediaStreamType newType); + + QString aspectRatio() const; + void setAspectRatio(QString newAspectRatio); + + qint32 index() const; + void setIndex(qint32 newIndex); + + qint32 score() const; + void setScore(qint32 newScore); + + bool isExternal() const; + void setIsExternal(bool newIsExternal); + + SubtitleDeliveryMethod deliveryMethod() const; + void setDeliveryMethod(SubtitleDeliveryMethod newDeliveryMethod); + + QString deliveryUrl() const; + void setDeliveryUrl(QString newDeliveryUrl); + + bool isExternalUrl() const; + void setIsExternalUrl(bool newIsExternalUrl); + + bool isTextSubtitleStream() const; + void setIsTextSubtitleStream(bool newIsTextSubtitleStream); + + bool supportsExternalStream() const; + void setSupportsExternalStream(bool newSupportsExternalStream); + + QString path() const; + void setPath(QString newPath); + + QString pixelFormat() const; + void setPixelFormat(QString newPixelFormat); + + double level() const; + void setLevel(double newLevel); + + bool isAnamorphic() const; + void setIsAnamorphic(bool newIsAnamorphic); + signals: - void codecChanged(const QString &newCodec); - void codecTagChanged(const QString &newCodecTag); - void languageChanged(const QString &newLanguage); - void displayTitleChanged(const QString &newDisplayTitle); - void typeChanged(MediaStreamType newType); - void indexChanged(int newIndex); -private: - QString m_codec; - QString m_codecTag; - QString m_language; - QString m_displayTitle; - MediaStreamType m_type = Undefined; - int m_index = -1; + void codecChanged(QString newCodec); + void codecTagChanged(QString newCodecTag); + void languageChanged(QString newLanguage); + void colorRangeChanged(QString newColorRange); + void colorSpaceChanged(QString newColorSpace); + void colorTransferChanged(QString newColorTransfer); + void colorPrimariesChanged(QString newColorPrimaries); + void commentChanged(QString newComment); + void timeBaseChanged(QString newTimeBase); + void codecTimeBaseChanged(QString newCodecTimeBase); + void titleChanged(QString newTitle); + void videoRangeChanged(QString newVideoRange); + void localizedUndefinedChanged(QString newLocalizedUndefined); + void localizedDefaultChanged(QString newLocalizedDefault); + void localizedForcedChanged(QString newLocalizedForced); + void displayTitleChanged(QString newDisplayTitle); + void nalLengthSizeChanged(QString newNalLengthSize); + void isInterlacedChanged(bool newIsInterlaced); + void isAVCChanged(bool newIsAVC); + void channelLayoutChanged(QString newChannelLayout); + void bitRateChanged(qint32 newBitRate); + void bitDepthChanged(qint32 newBitDepth); + void refFramesChanged(qint32 newRefFrames); + void packetLengthChanged(qint32 newPacketLength); + void channelsChanged(qint32 newChannels); + void sampleRateChanged(qint32 newSampleRate); + void isDefaultChanged(bool newIsDefault); + void isForcedChanged(bool newIsForced); + void heightChanged(qint32 newHeight); + void widthChanged(qint32 newWidth); + void averageFrameRateChanged(float newAverageFrameRate); + void realFrameRateChanged(float newRealFrameRate); + void profileChanged(QString newProfile); + void typeChanged(MediaStreamType newType); + void aspectRatioChanged(QString newAspectRatio); + void indexChanged(qint32 newIndex); + void scoreChanged(qint32 newScore); + void isExternalChanged(bool newIsExternal); + void deliveryMethodChanged(SubtitleDeliveryMethod newDeliveryMethod); + void deliveryUrlChanged(QString newDeliveryUrl); + void isExternalUrlChanged(bool newIsExternalUrl); + void isTextSubtitleStreamChanged(bool newIsTextSubtitleStream); + void supportsExternalStreamChanged(bool newSupportsExternalStream); + void pathChanged(QString newPath); + void pixelFormatChanged(QString newPixelFormat); + void levelChanged(double newLevel); + void isAnamorphicChanged(bool newIsAnamorphic); +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; + bool m_isAVC; + QString m_channelLayout; + qint32 m_bitRate; + qint32 m_bitDepth; + qint32 m_refFrames; + qint32 m_packetLength; + qint32 m_channels; + qint32 m_sampleRate; + bool m_isDefault; + bool m_isForced; + qint32 m_height; + qint32 m_width; + float m_averageFrameRate; + float m_realFrameRate; + QString m_profile; + MediaStreamType m_type; + QString m_aspectRatio; + qint32 m_index; + qint32 m_score; + bool m_isExternal; + SubtitleDeliveryMethod m_deliveryMethod; + QString m_deliveryUrl; + bool m_isExternalUrl; + bool m_isTextSubtitleStream; + bool m_supportsExternalStream; + QString m_path; + QString m_pixelFormat; + double m_level; + bool m_isAnamorphic; }; -} -} +} // NS Jellyfin +} // NS DTO #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..98f9c3e --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediastreamtype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MEDIASTREAMTYPE_H +#define JELLYFIN_DTO_MEDIASTREAMTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class MediaStreamTypeClass { + Q_GADGET +public: + enum Value { + Audio, + Video, + Subtitle, + EmbeddedImage, + }; + Q_ENUM(Value) +private: + explicit MediaStreamTypeClass(); +}; +typedef MediaStreamTypeClass::Value MediaStreamType; + +} // NS Jellyfin +} // NS DTO + +#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..16024da --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediaupdateinfodto.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_MEDIAUPDATEINFODTO_H +#define JELLYFIN_DTO_MEDIAUPDATEINFODTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaUpdateInfoDto : public QObject { + Q_OBJECT +public: + explicit MediaUpdateInfoDto(QObject *parent = nullptr); + static MediaUpdateInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets media path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets media update type. +Created, Modified, Deleted. + */ + Q_PROPERTY(QString updateType READ updateType WRITE setUpdateType NOTIFY updateTypeChanged) + + QString path() const; + void setPath(QString newPath); + + QString updateType() const; + void setUpdateType(QString newUpdateType); + +signals: + void pathChanged(QString newPath); + void updateTypeChanged(QString newUpdateType); +protected: + QString m_path; + QString m_updateType; +}; + +} // NS Jellyfin +} // NS DTO + +#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..60c7204 --- /dev/null +++ b/core/include/JellyfinQt/DTO/mediaurl.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_MEDIAURL_H +#define JELLYFIN_DTO_MEDIAURL_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MediaUrl : public QObject { + Q_OBJECT +public: + explicit MediaUrl(QObject *parent = nullptr); + static MediaUrl *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + + QString url() const; + void setUrl(QString newUrl); + + QString name() const; + void setName(QString newName); + +signals: + void urlChanged(QString newUrl); + void nameChanged(QString newName); +protected: + QString m_url; + QString m_name; +}; + +} // NS Jellyfin +} // NS DTO + +#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..66178c2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/metadataeditorinfo.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_METADATAEDITORINFO_H +#define JELLYFIN_DTO_METADATAEDITORINFO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class CountryInfo; +class CultureDto; +class ExternalIdInfo; +class NameValuePair; +class ParentalRating; + +class MetadataEditorInfo : public QObject { + Q_OBJECT +public: + explicit MetadataEditorInfo(QObject *parent = nullptr); + static MetadataEditorInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QList parentalRatingOptions READ parentalRatingOptions WRITE setParentalRatingOptions NOTIFY parentalRatingOptionsChanged) + Q_PROPERTY(QList countries READ countries WRITE setCountries NOTIFY countriesChanged) + Q_PROPERTY(QList cultures READ cultures WRITE setCultures NOTIFY culturesChanged) + Q_PROPERTY(QList externalIdInfos READ externalIdInfos WRITE setExternalIdInfos NOTIFY externalIdInfosChanged) + Q_PROPERTY(QString contentType READ contentType WRITE setContentType NOTIFY contentTypeChanged) + Q_PROPERTY(QList contentTypeOptions READ contentTypeOptions WRITE setContentTypeOptions NOTIFY contentTypeOptionsChanged) + + QList parentalRatingOptions() const; + void setParentalRatingOptions(QList newParentalRatingOptions); + + QList countries() const; + void setCountries(QList newCountries); + + QList cultures() const; + void setCultures(QList newCultures); + + QList externalIdInfos() const; + void setExternalIdInfos(QList newExternalIdInfos); + + QString contentType() const; + void setContentType(QString newContentType); + + QList contentTypeOptions() const; + void setContentTypeOptions(QList newContentTypeOptions); + +signals: + void parentalRatingOptionsChanged(QList newParentalRatingOptions); + void countriesChanged(QList newCountries); + void culturesChanged(QList newCultures); + void externalIdInfosChanged(QList newExternalIdInfos); + void contentTypeChanged(QString newContentType); + void contentTypeOptionsChanged(QList newContentTypeOptions); +protected: + QList m_parentalRatingOptions; + QList m_countries; + QList m_cultures; + QList m_externalIdInfos; + QString m_contentType; + QList m_contentTypeOptions; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7ebcfd7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/metadatafield.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_METADATAFIELD_H +#define JELLYFIN_DTO_METADATAFIELD_H + +#include + +namespace Jellyfin { +namespace DTO { + +class MetadataFieldClass { + Q_GADGET +public: + enum Value { + Cast, + Genres, + ProductionLocations, + Studios, + Tags, + Name, + Overview, + Runtime, + OfficialRating, + }; + Q_ENUM(Value) +private: + explicit MetadataFieldClass(); +}; +typedef MetadataFieldClass::Value MetadataField; + +} // NS Jellyfin +} // NS DTO + +#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..72e7959 --- /dev/null +++ b/core/include/JellyfinQt/DTO/metadataoptions.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_METADATAOPTIONS_H +#define JELLYFIN_DTO_METADATAOPTIONS_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MetadataOptions : public QObject { + Q_OBJECT +public: + explicit MetadataOptions(QObject *parent = nullptr); + static MetadataOptions *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString itemType READ itemType WRITE setItemType NOTIFY itemTypeChanged) + Q_PROPERTY(QStringList disabledMetadataSavers READ disabledMetadataSavers WRITE setDisabledMetadataSavers NOTIFY disabledMetadataSaversChanged) + Q_PROPERTY(QStringList localMetadataReaderOrder READ localMetadataReaderOrder WRITE setLocalMetadataReaderOrder NOTIFY localMetadataReaderOrderChanged) + Q_PROPERTY(QStringList disabledMetadataFetchers READ disabledMetadataFetchers WRITE setDisabledMetadataFetchers NOTIFY disabledMetadataFetchersChanged) + Q_PROPERTY(QStringList metadataFetcherOrder READ metadataFetcherOrder WRITE setMetadataFetcherOrder NOTIFY metadataFetcherOrderChanged) + Q_PROPERTY(QStringList disabledImageFetchers READ disabledImageFetchers WRITE setDisabledImageFetchers NOTIFY disabledImageFetchersChanged) + Q_PROPERTY(QStringList imageFetcherOrder READ imageFetcherOrder WRITE setImageFetcherOrder NOTIFY imageFetcherOrderChanged) + + QString itemType() const; + void setItemType(QString newItemType); + + QStringList disabledMetadataSavers() const; + void setDisabledMetadataSavers(QStringList newDisabledMetadataSavers); + + QStringList localMetadataReaderOrder() const; + void setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder); + + QStringList disabledMetadataFetchers() const; + void setDisabledMetadataFetchers(QStringList newDisabledMetadataFetchers); + + QStringList metadataFetcherOrder() const; + void setMetadataFetcherOrder(QStringList newMetadataFetcherOrder); + + QStringList disabledImageFetchers() const; + void setDisabledImageFetchers(QStringList newDisabledImageFetchers); + + QStringList imageFetcherOrder() const; + void setImageFetcherOrder(QStringList newImageFetcherOrder); + +signals: + void itemTypeChanged(QString newItemType); + void disabledMetadataSaversChanged(QStringList newDisabledMetadataSavers); + void localMetadataReaderOrderChanged(QStringList newLocalMetadataReaderOrder); + void disabledMetadataFetchersChanged(QStringList newDisabledMetadataFetchers); + void metadataFetcherOrderChanged(QStringList newMetadataFetcherOrder); + void disabledImageFetchersChanged(QStringList newDisabledImageFetchers); + void imageFetcherOrderChanged(QStringList newImageFetcherOrder); +protected: + QString m_itemType; + QStringList m_disabledMetadataSavers; + QStringList m_localMetadataReaderOrder; + QStringList m_disabledMetadataFetchers; + QStringList m_metadataFetcherOrder; + QStringList m_disabledImageFetchers; + QStringList m_imageFetcherOrder; +}; + +} // NS Jellyfin +} // NS DTO + +#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..278d2f1 --- /dev/null +++ b/core/include/JellyfinQt/DTO/metadatarefreshmode.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_METADATAREFRESHMODE_H +#define JELLYFIN_DTO_METADATAREFRESHMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class MetadataRefreshModeClass { + Q_GADGET +public: + enum Value { + None, + ValidationOnly, + Default, + FullRefresh, + }; + Q_ENUM(Value) +private: + explicit MetadataRefreshModeClass(); +}; +typedef MetadataRefreshModeClass::Value MetadataRefreshMode; + +} // NS Jellyfin +} // NS DTO + +#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..5fdd48a --- /dev/null +++ b/core/include/JellyfinQt/DTO/moveplaylistitemrequestdto.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_MOVEPLAYLISTITEMREQUESTDTO_H +#define JELLYFIN_DTO_MOVEPLAYLISTITEMREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MovePlaylistItemRequestDto : public QObject { + Q_OBJECT +public: + explicit MovePlaylistItemRequestDto(QObject *parent = nullptr); + static MovePlaylistItemRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playlist identifier of the item. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + /** + * @brief Gets or sets the new position. + */ + Q_PROPERTY(qint32 newIndex READ newIndex WRITE setNewIndex NOTIFY newIndexChanged) + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + + qint32 newIndex() const; + void setNewIndex(qint32 newNewIndex); + +signals: + void playlistItemIdChanged(QString newPlaylistItemId); + void newIndexChanged(qint32 newNewIndex); +protected: + QString m_playlistItemId; + qint32 m_newIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..050644b --- /dev/null +++ b/core/include/JellyfinQt/DTO/movieinfo.h @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_MOVIEINFO_H +#define JELLYFIN_DTO_MOVIEINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MovieInfo : public QObject { + Q_OBJECT +public: + explicit MovieInfo(QObject *parent = nullptr); + static MovieInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_MOVIEINFO_H diff --git a/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h b/core/include/JellyfinQt/DTO/movieinforemotesearchquery.h new file mode 100644 index 0000000..cccede8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/movieinforemotesearchquery.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_MOVIEINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_MOVIEINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MovieInfo; + +class MovieInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit MovieInfoRemoteSearchQuery(QObject *parent = nullptr); + static MovieInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(MovieInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + MovieInfo * searchInfo() const; + void setSearchInfo(MovieInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(MovieInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + MovieInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7418a27 --- /dev/null +++ b/core/include/JellyfinQt/DTO/musicvideoinfo.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_MUSICVIDEOINFO_H +#define JELLYFIN_DTO_MUSICVIDEOINFO_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MusicVideoInfo : public QObject { + Q_OBJECT +public: + explicit MusicVideoInfo(QObject *parent = nullptr); + static MusicVideoInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + Q_PROPERTY(QStringList artists READ artists WRITE setArtists NOTIFY artistsChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + + QStringList artists() const; + void setArtists(QStringList newArtists); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); + void artistsChanged(QStringList newArtists); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_artists; +}; + +} // NS Jellyfin +} // NS DTO + +#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..e6cc277 --- /dev/null +++ b/core/include/JellyfinQt/DTO/musicvideoinforemotesearchquery.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_MUSICVIDEOINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_MUSICVIDEOINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class MusicVideoInfo; + +class MusicVideoInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit MusicVideoInfoRemoteSearchQuery(QObject *parent = nullptr); + static MusicVideoInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(MusicVideoInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + MusicVideoInfo * searchInfo() const; + void setSearchInfo(MusicVideoInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(MusicVideoInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + MusicVideoInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_MUSICVIDEOINFOREMOTESEARCHQUERY_H diff --git a/core/include/JellyfinQt/DTO/namedguidpair.h b/core/include/JellyfinQt/DTO/namedguidpair.h deleted file mode 100644 index 7f1dcf5..0000000 --- a/core/include/JellyfinQt/DTO/namedguidpair.h +++ /dev/null @@ -1,50 +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_NAMEDGUIDPAIR_H -#define JELLYFIN_DTO_NAMEDGUIDPAIR_H - -#include -#include - -#include "dto.h" - -namespace Jellyfin { -namespace DTO { - -class NameGuidPair : public JsonSerializable { - Q_OBJECT -public: - Q_INVOKABLE NameGuidPair(QObject *parent = nullptr); - Q_PROPERTY(QString name MEMBER m_name NOTIFY nameChanged) - // Once again the Jellyfin id workaround - Q_PROPERTY(QString jellyfinId MEMBER m_id NOTIFY jellyfinIdChanged) -signals: - void nameChanged(const QString &newName); - void jellyfinIdChanged(const QString &newJellyfinId); -private: - QString m_name; - QString m_id; -}; - -} // NS DTO -} // NS JELLYFIN - -#endif // JELLYFIN_DTO_NAMEDGUIDPAIR_H diff --git a/core/include/JellyfinQt/DTO/nameguidpair.h b/core/include/JellyfinQt/DTO/nameguidpair.h new file mode 100644 index 0000000..ba935f5 --- /dev/null +++ b/core/include/JellyfinQt/DTO/nameguidpair.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_NAMEGUIDPAIR_H +#define JELLYFIN_DTO_NAMEGUIDPAIR_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameGuidPair : public QObject { + Q_OBJECT +public: + explicit NameGuidPair(QObject *parent = nullptr); + static NameGuidPair *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..02ffb9b --- /dev/null +++ b/core/include/JellyfinQt/DTO/nameidpair.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_NAMEIDPAIR_H +#define JELLYFIN_DTO_NAMEIDPAIR_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameIdPair : public QObject { + Q_OBJECT +public: + explicit NameIdPair(QObject *parent = nullptr); + static NameIdPair *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the identifier. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..cb9088c --- /dev/null +++ b/core/include/JellyfinQt/DTO/namevaluepair.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_NAMEVALUEPAIR_H +#define JELLYFIN_DTO_NAMEVALUEPAIR_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameValuePair : public QObject { + Q_OBJECT +public: + explicit NameValuePair(QObject *parent = nullptr); + static NameValuePair *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the value. + */ + Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged) + + QString name() const; + void setName(QString newName); + + QString value() const; + void setValue(QString newValue); + +signals: + void nameChanged(QString newName); + void valueChanged(QString newValue); +protected: + QString m_name; + QString m_value; +}; + +} // NS Jellyfin +} // NS DTO + +#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..2b85dca --- /dev/null +++ b/core/include/JellyfinQt/DTO/newgrouprequestdto.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_NEWGROUPREQUESTDTO_H +#define JELLYFIN_DTO_NEWGROUPREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NewGroupRequestDto : public QObject { + Q_OBJECT +public: + explicit NewGroupRequestDto(QObject *parent = nullptr); + static NewGroupRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the group name. + */ + Q_PROPERTY(QString groupName READ groupName WRITE setGroupName NOTIFY groupNameChanged) + + QString groupName() const; + void setGroupName(QString newGroupName); + +signals: + void groupNameChanged(QString newGroupName); +protected: + QString m_groupName; +}; + +} // NS Jellyfin +} // NS DTO + +#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..b9e1998 --- /dev/null +++ b/core/include/JellyfinQt/DTO/nextitemrequestdto.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_NEXTITEMREQUESTDTO_H +#define JELLYFIN_DTO_NEXTITEMREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NextItemRequestDto : public QObject { + Q_OBJECT +public: + explicit NextItemRequestDto(QObject *parent = nullptr); + static NextItemRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playing item identifier. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..db93416 --- /dev/null +++ b/core/include/JellyfinQt/DTO/notificationdto.h @@ -0,0 +1,128 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/notificationlevel.h" + +namespace Jellyfin { +namespace DTO { + +class NotificationDto : public QObject { + Q_OBJECT +public: + explicit NotificationDto(QObject *parent = nullptr); + static NotificationDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the notification ID. Defaults to an empty string. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the notification's user ID. Defaults to an empty string. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the notification date. + */ + Q_PROPERTY(QDateTime date READ date WRITE setDate NOTIFY dateChanged) + /** + * @brief Gets or sets a value indicating whether the notification has been read. Defaults to false. + */ + Q_PROPERTY(bool isRead READ isRead WRITE setIsRead NOTIFY isReadChanged) + /** + * @brief Gets or sets the notification's name. Defaults to an empty string. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the notification's description. Defaults to an empty string. + */ + Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged) + /** + * @brief Gets or sets the notification's URL. Defaults to an empty string. + */ + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + Q_PROPERTY(NotificationLevel level READ level WRITE setLevel NOTIFY levelChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString userId() const; + void setUserId(QString newUserId); + + QDateTime date() const; + void setDate(QDateTime newDate); + + bool isRead() const; + void setIsRead(bool newIsRead); + + QString name() const; + void setName(QString newName); + + QString description() const; + void setDescription(QString newDescription); + + QString url() const; + void setUrl(QString newUrl); + + NotificationLevel level() const; + void setLevel(NotificationLevel newLevel); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void userIdChanged(QString newUserId); + void dateChanged(QDateTime newDate); + void isReadChanged(bool newIsRead); + void nameChanged(QString newName); + void descriptionChanged(QString newDescription); + void urlChanged(QString newUrl); + void levelChanged(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 Jellyfin +} // NS DTO + +#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..50c1e5c --- /dev/null +++ b/core/include/JellyfinQt/DTO/notificationlevel.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_NOTIFICATIONLEVEL_H +#define JELLYFIN_DTO_NOTIFICATIONLEVEL_H + +#include + +namespace Jellyfin { +namespace DTO { + +class NotificationLevelClass { + Q_GADGET +public: + enum Value { + Normal, + Warning, + Error, + }; + Q_ENUM(Value) +private: + explicit NotificationLevelClass(); +}; +typedef NotificationLevelClass::Value NotificationLevel; + +} // NS Jellyfin +} // NS DTO + +#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..5e8a954 --- /dev/null +++ b/core/include/JellyfinQt/DTO/notificationresultdto.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_NOTIFICATIONRESULTDTO_H +#define JELLYFIN_DTO_NOTIFICATIONRESULTDTO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NotificationDto; + +class NotificationResultDto : public QObject { + Q_OBJECT +public: + explicit NotificationResultDto(QObject *parent = nullptr); + static NotificationResultDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the current page of notifications. + */ + Q_PROPERTY(QList notifications READ notifications WRITE setNotifications NOTIFY notificationsChanged) + /** + * @brief Gets or sets the total number of notifications. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + + QList notifications() const; + void setNotifications(QList newNotifications); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + +signals: + void notificationsChanged(QList newNotifications); + void totalRecordCountChanged(qint32 newTotalRecordCount); +protected: + QList m_notifications; + qint32 m_totalRecordCount; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7e1b89e --- /dev/null +++ b/core/include/JellyfinQt/DTO/notificationssummarydto.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_NOTIFICATIONSSUMMARYDTO_H +#define JELLYFIN_DTO_NOTIFICATIONSSUMMARYDTO_H + +#include +#include + +#include "JellyfinQt/DTO/notificationlevel.h" + +namespace Jellyfin { +namespace DTO { + +class NotificationsSummaryDto : public QObject { + Q_OBJECT +public: + explicit NotificationsSummaryDto(QObject *parent = nullptr); + static NotificationsSummaryDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the number of unread notifications. + */ + Q_PROPERTY(qint32 unreadCount READ unreadCount WRITE setUnreadCount NOTIFY unreadCountChanged) + Q_PROPERTY(NotificationLevel maxUnreadNotificationLevel READ maxUnreadNotificationLevel WRITE setMaxUnreadNotificationLevel NOTIFY maxUnreadNotificationLevelChanged) + + qint32 unreadCount() const; + void setUnreadCount(qint32 newUnreadCount); + + NotificationLevel maxUnreadNotificationLevel() const; + void setMaxUnreadNotificationLevel(NotificationLevel newMaxUnreadNotificationLevel); + +signals: + void unreadCountChanged(qint32 newUnreadCount); + void maxUnreadNotificationLevelChanged(NotificationLevel newMaxUnreadNotificationLevel); +protected: + qint32 m_unreadCount; + NotificationLevel m_maxUnreadNotificationLevel; +}; + +} // NS Jellyfin +} // NS DTO + +#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..11f7213 --- /dev/null +++ b/core/include/JellyfinQt/DTO/notificationtypeinfo.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_NOTIFICATIONTYPEINFO_H +#define JELLYFIN_DTO_NOTIFICATIONTYPEINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NotificationTypeInfo : public QObject { + Q_OBJECT +public: + explicit NotificationTypeInfo(QObject *parent = nullptr); + static NotificationTypeInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) + Q_PROPERTY(QString category READ category WRITE setCategory NOTIFY categoryChanged) + Q_PROPERTY(bool isBasedOnUserEvent READ isBasedOnUserEvent WRITE setIsBasedOnUserEvent NOTIFY isBasedOnUserEventChanged) + + QString type() const; + void setType(QString newType); + + QString name() const; + void setName(QString newName); + + bool enabled() const; + void setEnabled(bool newEnabled); + + QString category() const; + void setCategory(QString newCategory); + + bool isBasedOnUserEvent() const; + void setIsBasedOnUserEvent(bool newIsBasedOnUserEvent); + +signals: + void typeChanged(QString newType); + void nameChanged(QString newName); + void enabledChanged(bool newEnabled); + void categoryChanged(QString newCategory); + void isBasedOnUserEventChanged(bool newIsBasedOnUserEvent); +protected: + QString m_type; + QString m_name; + bool m_enabled; + QString m_category; + bool m_isBasedOnUserEvent; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7a51d15 --- /dev/null +++ b/core/include/JellyfinQt/DTO/objectgroupupdate.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_OBJECTGROUPUPDATE_H +#define JELLYFIN_DTO_OBJECTGROUPUPDATE_H + +#include +#include +#include +#include + +#include "JellyfinQt/DTO/groupupdatetype.h" + +namespace Jellyfin { +namespace DTO { + +class ObjectGroupUpdate : public QObject { + Q_OBJECT +public: + explicit ObjectGroupUpdate(QObject *parent = nullptr); + static ObjectGroupUpdate *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the group identifier. + */ + Q_PROPERTY(QString groupId READ groupId WRITE setGroupId NOTIFY groupIdChanged) + Q_PROPERTY(GroupUpdateType type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets the update data. + */ + Q_PROPERTY(QVariant data READ data WRITE setData NOTIFY dataChanged) + + QString groupId() const; + void setGroupId(QString newGroupId); + + GroupUpdateType type() const; + void setType(GroupUpdateType newType); + + QVariant data() const; + void setData(QVariant newData); + +signals: + void groupIdChanged(QString newGroupId); + void typeChanged(GroupUpdateType newType); + void dataChanged(QVariant newData); +protected: + QString m_groupId; + GroupUpdateType m_type; + QVariant m_data; +}; + +} // NS Jellyfin +} // NS DTO + +#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..c9c6ba2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/openlivestreamdto.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_OPENLIVESTREAMDTO_H +#define JELLYFIN_DTO_OPENLIVESTREAMDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/mediaprotocol.h" + +namespace Jellyfin { +namespace DTO { + +class DeviceProfile; + +class OpenLiveStreamDto : public QObject { + Q_OBJECT +public: + explicit OpenLiveStreamDto(QObject *parent = nullptr); + static OpenLiveStreamDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the open token. + */ + Q_PROPERTY(QString openToken READ openToken WRITE setOpenToken NOTIFY openTokenChanged) + /** + * @brief Gets or sets the user id. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the play session id. + */ + Q_PROPERTY(QString playSessionId READ playSessionId WRITE setPlaySessionId NOTIFY playSessionIdChanged) + /** + * @brief Gets or sets the max streaming bitrate. + */ + Q_PROPERTY(qint32 maxStreamingBitrate READ maxStreamingBitrate WRITE setMaxStreamingBitrate NOTIFY maxStreamingBitrateChanged) + /** + * @brief Gets or sets the start time in ticks. + */ + Q_PROPERTY(qint64 startTimeTicks READ startTimeTicks WRITE setStartTimeTicks NOTIFY startTimeTicksChanged) + /** + * @brief Gets or sets the audio stream index. + */ + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + /** + * @brief Gets or sets the subtitle stream index. + */ + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + /** + * @brief Gets or sets the max audio channels. + */ + Q_PROPERTY(qint32 maxAudioChannels READ maxAudioChannels WRITE setMaxAudioChannels NOTIFY maxAudioChannelsChanged) + /** + * @brief Gets or sets the item id. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + Q_PROPERTY(bool enableDirectPlay READ enableDirectPlay WRITE setEnableDirectPlay NOTIFY enableDirectPlayChanged) + /** + * @brief Gets or sets a value indicating whether to enale direct stream. + */ + Q_PROPERTY(bool enableDirectStream READ enableDirectStream WRITE setEnableDirectStream NOTIFY enableDirectStreamChanged) + Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged) + /** + * @brief Gets or sets the device play protocols. + */ + Q_PROPERTY(QList directPlayProtocols READ directPlayProtocols WRITE setDirectPlayProtocols NOTIFY directPlayProtocolsChanged) + + QString openToken() const; + void setOpenToken(QString newOpenToken); + + QString userId() const; + void setUserId(QString newUserId); + + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId); + + qint32 maxStreamingBitrate() const; + void setMaxStreamingBitrate(qint32 newMaxStreamingBitrate); + + qint64 startTimeTicks() const; + void setStartTimeTicks(qint64 newStartTimeTicks); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + qint32 maxAudioChannels() const; + void setMaxAudioChannels(qint32 newMaxAudioChannels); + + QString itemId() const; + void setItemId(QString newItemId); + + bool enableDirectPlay() const; + void setEnableDirectPlay(bool newEnableDirectPlay); + + bool enableDirectStream() const; + void setEnableDirectStream(bool newEnableDirectStream); + + DeviceProfile * deviceProfile() const; + void setDeviceProfile(DeviceProfile * newDeviceProfile); + + QList directPlayProtocols() const; + void setDirectPlayProtocols(QList newDirectPlayProtocols); + +signals: + void openTokenChanged(QString newOpenToken); + void userIdChanged(QString newUserId); + void playSessionIdChanged(QString newPlaySessionId); + void maxStreamingBitrateChanged(qint32 newMaxStreamingBitrate); + void startTimeTicksChanged(qint64 newStartTimeTicks); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void maxAudioChannelsChanged(qint32 newMaxAudioChannels); + void itemIdChanged(QString newItemId); + void enableDirectPlayChanged(bool newEnableDirectPlay); + void enableDirectStreamChanged(bool newEnableDirectStream); + void deviceProfileChanged(DeviceProfile * newDeviceProfile); + void directPlayProtocolsChanged(QList newDirectPlayProtocols); +protected: + QString m_openToken; + QString m_userId; + QString m_playSessionId; + qint32 m_maxStreamingBitrate; + qint64 m_startTimeTicks; + qint32 m_audioStreamIndex; + qint32 m_subtitleStreamIndex; + qint32 m_maxAudioChannels; + QString m_itemId; + bool m_enableDirectPlay; + bool m_enableDirectStream; + DeviceProfile * m_deviceProfile = nullptr; + QList m_directPlayProtocols; +}; + +} // NS Jellyfin +} // NS DTO + +#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..e8d5813 --- /dev/null +++ b/core/include/JellyfinQt/DTO/packageinfo.h @@ -0,0 +1,133 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 + +namespace Jellyfin { +namespace DTO { + +class VersionInfo; + +class PackageInfo : public QObject { + Q_OBJECT +public: + explicit PackageInfo(QObject *parent = nullptr); + static PackageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets a long description of the plugin containing features or helpful explanations. + */ + Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged) + /** + * @brief Gets or sets a short overview of what the plugin does. + */ + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + /** + * @brief Gets or sets the owner. + */ + Q_PROPERTY(QString owner READ owner WRITE setOwner NOTIFY ownerChanged) + /** + * @brief Gets or sets the category. + */ + Q_PROPERTY(QString category READ category WRITE setCategory NOTIFY categoryChanged) + /** + * @brief Gets or sets the guid of the assembly associated with this plugin. +This is used to identify the proper item for automatic updates. + */ + Q_PROPERTY(QString guid READ guid WRITE setGuid NOTIFY guidChanged) + /** + * @brief Gets or sets the versions. + */ + Q_PROPERTY(QList versions READ versions WRITE setVersions NOTIFY versionsChanged) + /** + * @brief Gets or sets the image url for the package. + */ + Q_PROPERTY(QString imageUrl READ imageUrl WRITE setImageUrl NOTIFY imageUrlChanged) + + QString name() const; + void setName(QString newName); + + QString description() const; + void setDescription(QString newDescription); + + QString overview() const; + void setOverview(QString newOverview); + + QString owner() const; + void setOwner(QString newOwner); + + QString category() const; + void setCategory(QString newCategory); + + QString guid() const; + void setGuid(QString newGuid); + + QList versions() const; + void setVersions(QList newVersions); + + QString imageUrl() const; + void setImageUrl(QString newImageUrl); + +signals: + void nameChanged(QString newName); + void descriptionChanged(QString newDescription); + void overviewChanged(QString newOverview); + void ownerChanged(QString newOwner); + void categoryChanged(QString newCategory); + void guidChanged(QString newGuid); + void versionsChanged(QList newVersions); + void imageUrlChanged(QString newImageUrl); +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 Jellyfin +} // NS DTO + +#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..0c49e4f --- /dev/null +++ b/core/include/JellyfinQt/DTO/parentalrating.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_PARENTALRATING_H +#define JELLYFIN_DTO_PARENTALRATING_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ParentalRating : public QObject { + Q_OBJECT +public: + explicit ParentalRating(QObject *parent = nullptr); + static ParentalRating *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the value. + */ + Q_PROPERTY(qint32 value READ value WRITE setValue NOTIFY valueChanged) + + QString name() const; + void setName(QString newName); + + qint32 value() const; + void setValue(qint32 newValue); + +signals: + void nameChanged(QString newName); + void valueChanged(qint32 newValue); +protected: + QString m_name; + qint32 m_value; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d3ddcea --- /dev/null +++ b/core/include/JellyfinQt/DTO/pathsubstitution.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_PATHSUBSTITUTION_H +#define JELLYFIN_DTO_PATHSUBSTITUTION_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PathSubstitution : public QObject { + Q_OBJECT +public: + explicit PathSubstitution(QObject *parent = nullptr); + static PathSubstitution *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the value to substitute. + */ + Q_PROPERTY(QString from READ from WRITE setFrom NOTIFY fromChanged) + /** + * @brief Gets or sets the value to substitution with. + */ + Q_PROPERTY(QString to READ to WRITE setTo NOTIFY toChanged) + + QString from() const; + void setFrom(QString newFrom); + + QString to() const; + void setTo(QString newTo); + +signals: + void fromChanged(QString newFrom); + void toChanged(QString newTo); +protected: + QString m_from; + QString m_to; +}; + +} // NS Jellyfin +} // NS DTO + +#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..742d83d --- /dev/null +++ b/core/include/JellyfinQt/DTO/personlookupinfo.h @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PERSONLOOKUPINFO_H +#define JELLYFIN_DTO_PERSONLOOKUPINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PersonLookupInfo : public QObject { + Q_OBJECT +public: + explicit PersonLookupInfo(QObject *parent = nullptr); + static PersonLookupInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_PERSONLOOKUPINFO_H diff --git a/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h b/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.h new file mode 100644 index 0000000..7813b5c --- /dev/null +++ b/core/include/JellyfinQt/DTO/personlookupinforemotesearchquery.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_PERSONLOOKUPINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_PERSONLOOKUPINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PersonLookupInfo; + +class PersonLookupInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit PersonLookupInfoRemoteSearchQuery(QObject *parent = nullptr); + static PersonLookupInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(PersonLookupInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + PersonLookupInfo * searchInfo() const; + void setSearchInfo(PersonLookupInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(PersonLookupInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + PersonLookupInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#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..cd91b18 --- /dev/null +++ b/core/include/JellyfinQt/DTO/pingrequestdto.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_PINGREQUESTDTO_H +#define JELLYFIN_DTO_PINGREQUESTDTO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PingRequestDto : public QObject { + Q_OBJECT +public: + explicit PingRequestDto(QObject *parent = nullptr); + static PingRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the ping time. + */ + Q_PROPERTY(qint64 ping READ ping WRITE setPing NOTIFY pingChanged) + + qint64 ping() const; + void setPing(qint64 newPing); + +signals: + void pingChanged(qint64 newPing); +protected: + qint64 m_ping; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7a3bae3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/pinredeemresult.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_PINREDEEMRESULT_H +#define JELLYFIN_DTO_PINREDEEMRESULT_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PinRedeemResult : public QObject { + Q_OBJECT +public: + explicit PinRedeemResult(QObject *parent = nullptr); + static PinRedeemResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. + */ + Q_PROPERTY(bool success READ success WRITE setSuccess NOTIFY successChanged) + /** + * @brief Gets or sets the users reset. + */ + Q_PROPERTY(QStringList usersReset READ usersReset WRITE setUsersReset NOTIFY usersResetChanged) + + bool success() const; + void setSuccess(bool newSuccess); + + QStringList usersReset() const; + void setUsersReset(QStringList newUsersReset); + +signals: + void successChanged(bool newSuccess); + void usersResetChanged(QStringList newUsersReset); +protected: + bool m_success; + QStringList m_usersReset; +}; + +} // NS Jellyfin +} // NS DTO + +#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..508feb7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playaccess.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYACCESS_H +#define JELLYFIN_DTO_PLAYACCESS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PlayAccessClass { + Q_GADGET +public: + enum Value { + Full, + None, + }; + Q_ENUM(Value) +private: + explicit PlayAccessClass(); +}; +typedef PlayAccessClass::Value PlayAccess; + +} // NS Jellyfin +} // NS DTO + +#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..a574692 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackerrorcode.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKERRORCODE_H +#define JELLYFIN_DTO_PLAYBACKERRORCODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PlaybackErrorCodeClass { + Q_GADGET +public: + enum Value { + NotAllowed, + NoCompatibleStream, + RateLimitExceeded, + }; + Q_ENUM(Value) +private: + explicit PlaybackErrorCodeClass(); +}; +typedef PlaybackErrorCodeClass::Value PlaybackErrorCode; + +} // NS Jellyfin +} // NS DTO + +#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..b40a518 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackinfodto.h @@ -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. + */ + +#ifndef JELLYFIN_DTO_PLAYBACKINFODTO_H +#define JELLYFIN_DTO_PLAYBACKINFODTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class DeviceProfile; + +class PlaybackInfoDto : public QObject { + Q_OBJECT +public: + explicit PlaybackInfoDto(QObject *parent = nullptr); + static PlaybackInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playback userId. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the max streaming bitrate. + */ + Q_PROPERTY(qint32 maxStreamingBitrate READ maxStreamingBitrate WRITE setMaxStreamingBitrate NOTIFY maxStreamingBitrateChanged) + /** + * @brief Gets or sets the start time in ticks. + */ + Q_PROPERTY(qint64 startTimeTicks READ startTimeTicks WRITE setStartTimeTicks NOTIFY startTimeTicksChanged) + /** + * @brief Gets or sets the audio stream index. + */ + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + /** + * @brief Gets or sets the subtitle stream index. + */ + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + /** + * @brief Gets or sets the max audio channels. + */ + Q_PROPERTY(qint32 maxAudioChannels READ maxAudioChannels WRITE setMaxAudioChannels NOTIFY maxAudioChannelsChanged) + /** + * @brief Gets or sets the media source id. + */ + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + /** + * @brief Gets or sets the live stream id. + */ + Q_PROPERTY(QString liveStreamId READ liveStreamId WRITE setLiveStreamId NOTIFY liveStreamIdChanged) + Q_PROPERTY(DeviceProfile * deviceProfile READ deviceProfile WRITE setDeviceProfile NOTIFY deviceProfileChanged) + /** + * @brief Gets or sets a value indicating whether to enable direct play. + */ + Q_PROPERTY(bool enableDirectPlay READ enableDirectPlay WRITE setEnableDirectPlay NOTIFY enableDirectPlayChanged) + /** + * @brief Gets or sets a value indicating whether to enable direct stream. + */ + Q_PROPERTY(bool enableDirectStream READ enableDirectStream WRITE setEnableDirectStream NOTIFY enableDirectStreamChanged) + /** + * @brief Gets or sets a value indicating whether to enable transcoding. + */ + Q_PROPERTY(bool enableTranscoding READ enableTranscoding WRITE setEnableTranscoding NOTIFY enableTranscodingChanged) + /** + * @brief Gets or sets a value indicating whether to enable video stream copy. + */ + Q_PROPERTY(bool allowVideoStreamCopy READ allowVideoStreamCopy WRITE setAllowVideoStreamCopy NOTIFY allowVideoStreamCopyChanged) + /** + * @brief Gets or sets a value indicating whether to allow audio stream copy. + */ + Q_PROPERTY(bool allowAudioStreamCopy READ allowAudioStreamCopy WRITE setAllowAudioStreamCopy NOTIFY allowAudioStreamCopyChanged) + /** + * @brief Gets or sets a value indicating whether to auto open the live stream. + */ + Q_PROPERTY(bool autoOpenLiveStream READ autoOpenLiveStream WRITE setAutoOpenLiveStream NOTIFY autoOpenLiveStreamChanged) + + QString userId() const; + void setUserId(QString newUserId); + + qint32 maxStreamingBitrate() const; + void setMaxStreamingBitrate(qint32 newMaxStreamingBitrate); + + qint64 startTimeTicks() const; + void setStartTimeTicks(qint64 newStartTimeTicks); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + qint32 maxAudioChannels() const; + void setMaxAudioChannels(qint32 newMaxAudioChannels); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId); + + DeviceProfile * deviceProfile() const; + void setDeviceProfile(DeviceProfile * newDeviceProfile); + + bool enableDirectPlay() const; + void setEnableDirectPlay(bool newEnableDirectPlay); + + bool enableDirectStream() const; + void setEnableDirectStream(bool newEnableDirectStream); + + bool enableTranscoding() const; + void setEnableTranscoding(bool newEnableTranscoding); + + bool allowVideoStreamCopy() const; + void setAllowVideoStreamCopy(bool newAllowVideoStreamCopy); + + bool allowAudioStreamCopy() const; + void setAllowAudioStreamCopy(bool newAllowAudioStreamCopy); + + bool autoOpenLiveStream() const; + void setAutoOpenLiveStream(bool newAutoOpenLiveStream); + +signals: + void userIdChanged(QString newUserId); + void maxStreamingBitrateChanged(qint32 newMaxStreamingBitrate); + void startTimeTicksChanged(qint64 newStartTimeTicks); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void maxAudioChannelsChanged(qint32 newMaxAudioChannels); + void mediaSourceIdChanged(QString newMediaSourceId); + void liveStreamIdChanged(QString newLiveStreamId); + void deviceProfileChanged(DeviceProfile * newDeviceProfile); + void enableDirectPlayChanged(bool newEnableDirectPlay); + void enableDirectStreamChanged(bool newEnableDirectStream); + void enableTranscodingChanged(bool newEnableTranscoding); + void allowVideoStreamCopyChanged(bool newAllowVideoStreamCopy); + void allowAudioStreamCopyChanged(bool newAllowAudioStreamCopy); + void autoOpenLiveStreamChanged(bool newAutoOpenLiveStream); +protected: + QString m_userId; + qint32 m_maxStreamingBitrate; + qint64 m_startTimeTicks; + qint32 m_audioStreamIndex; + qint32 m_subtitleStreamIndex; + qint32 m_maxAudioChannels; + QString m_mediaSourceId; + QString m_liveStreamId; + DeviceProfile * m_deviceProfile = nullptr; + bool m_enableDirectPlay; + bool m_enableDirectStream; + bool m_enableTranscoding; + bool m_allowVideoStreamCopy; + bool m_allowAudioStreamCopy; + bool m_autoOpenLiveStream; +}; + +} // NS Jellyfin +} // NS DTO + +#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..9e9ce04 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackinforesponse.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_PLAYBACKINFORESPONSE_H +#define JELLYFIN_DTO_PLAYBACKINFORESPONSE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/playbackerrorcode.h" + +namespace Jellyfin { +namespace DTO { + +class MediaSourceInfo; + +class PlaybackInfoResponse : public QObject { + Q_OBJECT +public: + explicit PlaybackInfoResponse(QObject *parent = nullptr); + static PlaybackInfoResponse *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the media sources. + */ + Q_PROPERTY(QList mediaSources READ mediaSources WRITE setMediaSources NOTIFY mediaSourcesChanged) + /** + * @brief Gets or sets the play session identifier. + */ + Q_PROPERTY(QString playSessionId READ playSessionId WRITE setPlaySessionId NOTIFY playSessionIdChanged) + Q_PROPERTY(PlaybackErrorCode errorCode READ errorCode WRITE setErrorCode NOTIFY errorCodeChanged) + + QList mediaSources() const; + void setMediaSources(QList newMediaSources); + + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId); + + PlaybackErrorCode errorCode() const; + void setErrorCode(PlaybackErrorCode newErrorCode); + +signals: + void mediaSourcesChanged(QList newMediaSources); + void playSessionIdChanged(QString newPlaySessionId); + void errorCodeChanged(PlaybackErrorCode newErrorCode); +protected: + QList m_mediaSources; + QString m_playSessionId; + PlaybackErrorCode m_errorCode; +}; + +} // NS Jellyfin +} // NS DTO + +#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..05d9462 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackprogressinfo.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_PLAYBACKPROGRESSINFO_H +#define JELLYFIN_DTO_PLAYBACKPROGRESSINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/playmethod.h" +#include "JellyfinQt/DTO/repeatmode.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; +class QueueItem; + +class PlaybackProgressInfo : public QObject { + Q_OBJECT +public: + explicit PlaybackProgressInfo(QObject *parent = nullptr); + static PlaybackProgressInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + Q_PROPERTY(bool canSeek READ canSeek WRITE setCanSeek NOTIFY canSeekChanged) + Q_PROPERTY(BaseItemDto * item READ item WRITE setItem NOTIFY itemChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets the session id. + */ + Q_PROPERTY(QString sessionId READ sessionId WRITE setSessionId NOTIFY sessionIdChanged) + /** + * @brief Gets or sets the media version identifier. + */ + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + /** + * @brief Gets or sets the index of the audio stream. + */ + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + /** + * @brief Gets or sets the index of the subtitle stream. + */ + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + Q_PROPERTY(bool isPaused READ isPaused WRITE setIsPaused NOTIFY isPausedChanged) + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + Q_PROPERTY(bool isMuted READ isMuted WRITE setIsMuted NOTIFY isMutedChanged) + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + Q_PROPERTY(qint64 playbackStartTimeTicks READ playbackStartTimeTicks WRITE setPlaybackStartTimeTicks NOTIFY playbackStartTimeTicksChanged) + /** + * @brief Gets or sets the volume level. + */ + Q_PROPERTY(qint32 volumeLevel READ volumeLevel WRITE setVolumeLevel NOTIFY volumeLevelChanged) + Q_PROPERTY(qint32 brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged) + Q_PROPERTY(QString aspectRatio READ aspectRatio WRITE setAspectRatio NOTIFY aspectRatioChanged) + Q_PROPERTY(PlayMethod playMethod READ playMethod WRITE setPlayMethod NOTIFY playMethodChanged) + /** + * @brief Gets or sets the live stream identifier. + */ + Q_PROPERTY(QString liveStreamId READ liveStreamId WRITE setLiveStreamId NOTIFY liveStreamIdChanged) + /** + * @brief Gets or sets the play session identifier. + */ + Q_PROPERTY(QString playSessionId READ playSessionId WRITE setPlaySessionId NOTIFY playSessionIdChanged) + Q_PROPERTY(RepeatMode repeatMode READ repeatMode WRITE setRepeatMode NOTIFY repeatModeChanged) + Q_PROPERTY(QList nowPlayingQueue READ nowPlayingQueue WRITE setNowPlayingQueue NOTIFY nowPlayingQueueChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + bool canSeek() const; + void setCanSeek(bool newCanSeek); + + BaseItemDto * item() const; + void setItem(BaseItemDto * newItem); + + QString itemId() const; + void setItemId(QString newItemId); + + QString sessionId() const; + void setSessionId(QString newSessionId); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + bool isPaused() const; + void setIsPaused(bool newIsPaused); + + bool isMuted() const; + void setIsMuted(bool newIsMuted); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + qint64 playbackStartTimeTicks() const; + void setPlaybackStartTimeTicks(qint64 newPlaybackStartTimeTicks); + + qint32 volumeLevel() const; + void setVolumeLevel(qint32 newVolumeLevel); + + qint32 brightness() const; + void setBrightness(qint32 newBrightness); + + QString aspectRatio() const; + void setAspectRatio(QString newAspectRatio); + + PlayMethod playMethod() const; + void setPlayMethod(PlayMethod newPlayMethod); + + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId); + + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId); + + RepeatMode repeatMode() const; + void setRepeatMode(RepeatMode newRepeatMode); + + QList nowPlayingQueue() const; + void setNowPlayingQueue(QList newNowPlayingQueue); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void canSeekChanged(bool newCanSeek); + void itemChanged(BaseItemDto * newItem); + void itemIdChanged(QString newItemId); + void sessionIdChanged(QString newSessionId); + void mediaSourceIdChanged(QString newMediaSourceId); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void isPausedChanged(bool newIsPaused); + void isMutedChanged(bool newIsMuted); + void positionTicksChanged(qint64 newPositionTicks); + void playbackStartTimeTicksChanged(qint64 newPlaybackStartTimeTicks); + void volumeLevelChanged(qint32 newVolumeLevel); + void brightnessChanged(qint32 newBrightness); + void aspectRatioChanged(QString newAspectRatio); + void playMethodChanged(PlayMethod newPlayMethod); + void liveStreamIdChanged(QString newLiveStreamId); + void playSessionIdChanged(QString newPlaySessionId); + void repeatModeChanged(RepeatMode newRepeatMode); + void nowPlayingQueueChanged(QList newNowPlayingQueue); + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + bool m_canSeek; + BaseItemDto * m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + qint32 m_audioStreamIndex; + qint32 m_subtitleStreamIndex; + bool m_isPaused; + bool m_isMuted; + qint64 m_positionTicks; + qint64 m_playbackStartTimeTicks; + qint32 m_volumeLevel; + qint32 m_brightness; + QString m_aspectRatio; + PlayMethod m_playMethod; + QString m_liveStreamId; + QString m_playSessionId; + RepeatMode m_repeatMode; + QList m_nowPlayingQueue; + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..6b59733 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackstartinfo.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_PLAYBACKSTARTINFO_H +#define JELLYFIN_DTO_PLAYBACKSTARTINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/playmethod.h" +#include "JellyfinQt/DTO/repeatmode.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; +class QueueItem; + +class PlaybackStartInfo : public QObject { + Q_OBJECT +public: + explicit PlaybackStartInfo(QObject *parent = nullptr); + static PlaybackStartInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + Q_PROPERTY(bool canSeek READ canSeek WRITE setCanSeek NOTIFY canSeekChanged) + Q_PROPERTY(BaseItemDto * item READ item WRITE setItem NOTIFY itemChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets the session id. + */ + Q_PROPERTY(QString sessionId READ sessionId WRITE setSessionId NOTIFY sessionIdChanged) + /** + * @brief Gets or sets the media version identifier. + */ + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + /** + * @brief Gets or sets the index of the audio stream. + */ + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + /** + * @brief Gets or sets the index of the subtitle stream. + */ + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + Q_PROPERTY(bool isPaused READ isPaused WRITE setIsPaused NOTIFY isPausedChanged) + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + Q_PROPERTY(bool isMuted READ isMuted WRITE setIsMuted NOTIFY isMutedChanged) + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + Q_PROPERTY(qint64 playbackStartTimeTicks READ playbackStartTimeTicks WRITE setPlaybackStartTimeTicks NOTIFY playbackStartTimeTicksChanged) + /** + * @brief Gets or sets the volume level. + */ + Q_PROPERTY(qint32 volumeLevel READ volumeLevel WRITE setVolumeLevel NOTIFY volumeLevelChanged) + Q_PROPERTY(qint32 brightness READ brightness WRITE setBrightness NOTIFY brightnessChanged) + Q_PROPERTY(QString aspectRatio READ aspectRatio WRITE setAspectRatio NOTIFY aspectRatioChanged) + Q_PROPERTY(PlayMethod playMethod READ playMethod WRITE setPlayMethod NOTIFY playMethodChanged) + /** + * @brief Gets or sets the live stream identifier. + */ + Q_PROPERTY(QString liveStreamId READ liveStreamId WRITE setLiveStreamId NOTIFY liveStreamIdChanged) + /** + * @brief Gets or sets the play session identifier. + */ + Q_PROPERTY(QString playSessionId READ playSessionId WRITE setPlaySessionId NOTIFY playSessionIdChanged) + Q_PROPERTY(RepeatMode repeatMode READ repeatMode WRITE setRepeatMode NOTIFY repeatModeChanged) + Q_PROPERTY(QList nowPlayingQueue READ nowPlayingQueue WRITE setNowPlayingQueue NOTIFY nowPlayingQueueChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + bool canSeek() const; + void setCanSeek(bool newCanSeek); + + BaseItemDto * item() const; + void setItem(BaseItemDto * newItem); + + QString itemId() const; + void setItemId(QString newItemId); + + QString sessionId() const; + void setSessionId(QString newSessionId); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + bool isPaused() const; + void setIsPaused(bool newIsPaused); + + bool isMuted() const; + void setIsMuted(bool newIsMuted); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + qint64 playbackStartTimeTicks() const; + void setPlaybackStartTimeTicks(qint64 newPlaybackStartTimeTicks); + + qint32 volumeLevel() const; + void setVolumeLevel(qint32 newVolumeLevel); + + qint32 brightness() const; + void setBrightness(qint32 newBrightness); + + QString aspectRatio() const; + void setAspectRatio(QString newAspectRatio); + + PlayMethod playMethod() const; + void setPlayMethod(PlayMethod newPlayMethod); + + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId); + + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId); + + RepeatMode repeatMode() const; + void setRepeatMode(RepeatMode newRepeatMode); + + QList nowPlayingQueue() const; + void setNowPlayingQueue(QList newNowPlayingQueue); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void canSeekChanged(bool newCanSeek); + void itemChanged(BaseItemDto * newItem); + void itemIdChanged(QString newItemId); + void sessionIdChanged(QString newSessionId); + void mediaSourceIdChanged(QString newMediaSourceId); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void isPausedChanged(bool newIsPaused); + void isMutedChanged(bool newIsMuted); + void positionTicksChanged(qint64 newPositionTicks); + void playbackStartTimeTicksChanged(qint64 newPlaybackStartTimeTicks); + void volumeLevelChanged(qint32 newVolumeLevel); + void brightnessChanged(qint32 newBrightness); + void aspectRatioChanged(QString newAspectRatio); + void playMethodChanged(PlayMethod newPlayMethod); + void liveStreamIdChanged(QString newLiveStreamId); + void playSessionIdChanged(QString newPlaySessionId); + void repeatModeChanged(RepeatMode newRepeatMode); + void nowPlayingQueueChanged(QList newNowPlayingQueue); + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + bool m_canSeek; + BaseItemDto * m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + qint32 m_audioStreamIndex; + qint32 m_subtitleStreamIndex; + bool m_isPaused; + bool m_isMuted; + qint64 m_positionTicks; + qint64 m_playbackStartTimeTicks; + qint32 m_volumeLevel; + qint32 m_brightness; + QString m_aspectRatio; + PlayMethod m_playMethod; + QString m_liveStreamId; + QString m_playSessionId; + RepeatMode m_repeatMode; + QList m_nowPlayingQueue; + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..c910195 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playbackstopinfo.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_PLAYBACKSTOPINFO_H +#define JELLYFIN_DTO_PLAYBACKSTOPINFO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; +class QueueItem; + +class PlaybackStopInfo : public QObject { + Q_OBJECT +public: + explicit PlaybackStopInfo(QObject *parent = nullptr); + static PlaybackStopInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(BaseItemDto * item READ item WRITE setItem NOTIFY itemChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets the session id. + */ + Q_PROPERTY(QString sessionId READ sessionId WRITE setSessionId NOTIFY sessionIdChanged) + /** + * @brief Gets or sets the media version identifier. + */ + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + /** + * @brief Gets or sets the live stream identifier. + */ + Q_PROPERTY(QString liveStreamId READ liveStreamId WRITE setLiveStreamId NOTIFY liveStreamIdChanged) + /** + * @brief Gets or sets the play session identifier. + */ + Q_PROPERTY(QString playSessionId READ playSessionId WRITE setPlaySessionId NOTIFY playSessionIdChanged) + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. + */ + Q_PROPERTY(bool failed READ failed WRITE setFailed NOTIFY failedChanged) + Q_PROPERTY(QString nextMediaType READ nextMediaType WRITE setNextMediaType NOTIFY nextMediaTypeChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + Q_PROPERTY(QList nowPlayingQueue READ nowPlayingQueue WRITE setNowPlayingQueue NOTIFY nowPlayingQueueChanged) + + BaseItemDto * item() const; + void setItem(BaseItemDto * newItem); + + QString itemId() const; + void setItemId(QString newItemId); + + QString sessionId() const; + void setSessionId(QString newSessionId); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + QString liveStreamId() const; + void setLiveStreamId(QString newLiveStreamId); + + QString playSessionId() const; + void setPlaySessionId(QString newPlaySessionId); + + bool failed() const; + void setFailed(bool newFailed); + + QString nextMediaType() const; + void setNextMediaType(QString newNextMediaType); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + + QList nowPlayingQueue() const; + void setNowPlayingQueue(QList newNowPlayingQueue); + +signals: + void itemChanged(BaseItemDto * newItem); + void itemIdChanged(QString newItemId); + void sessionIdChanged(QString newSessionId); + void mediaSourceIdChanged(QString newMediaSourceId); + void positionTicksChanged(qint64 newPositionTicks); + void liveStreamIdChanged(QString newLiveStreamId); + void playSessionIdChanged(QString newPlaySessionId); + void failedChanged(bool newFailed); + void nextMediaTypeChanged(QString newNextMediaType); + void playlistItemIdChanged(QString newPlaylistItemId); + void nowPlayingQueueChanged(QList newNowPlayingQueue); +protected: + BaseItemDto * m_item = nullptr; + QString m_itemId; + QString m_sessionId; + QString m_mediaSourceId; + qint64 m_positionTicks; + QString m_liveStreamId; + QString m_playSessionId; + bool m_failed; + QString m_nextMediaType; + QString m_playlistItemId; + QList m_nowPlayingQueue; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d3cad9f --- /dev/null +++ b/core/include/JellyfinQt/DTO/playcommand.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYCOMMAND_H +#define JELLYFIN_DTO_PLAYCOMMAND_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PlayCommandClass { + Q_GADGET +public: + enum Value { + PlayNow, + PlayNext, + PlayLast, + PlayInstantMix, + PlayShuffle, + }; + Q_ENUM(Value) +private: + explicit PlayCommandClass(); +}; +typedef PlayCommandClass::Value PlayCommand; + +} // NS Jellyfin +} // NS DTO + +#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..ecc238f --- /dev/null +++ b/core/include/JellyfinQt/DTO/playerstateinfo.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_PLAYERSTATEINFO_H +#define JELLYFIN_DTO_PLAYERSTATEINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/playmethod.h" +#include "JellyfinQt/DTO/repeatmode.h" + +namespace Jellyfin { +namespace DTO { + +class PlayerStateInfo : public QObject { + Q_OBJECT +public: + explicit PlayerStateInfo(QObject *parent = nullptr); + static PlayerStateInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the now playing position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + /** + * @brief Gets or sets a value indicating whether this instance can seek. + */ + Q_PROPERTY(bool canSeek READ canSeek WRITE setCanSeek NOTIFY canSeekChanged) + /** + * @brief Gets or sets a value indicating whether this instance is paused. + */ + Q_PROPERTY(bool isPaused READ isPaused WRITE setIsPaused NOTIFY isPausedChanged) + /** + * @brief Gets or sets a value indicating whether this instance is muted. + */ + Q_PROPERTY(bool isMuted READ isMuted WRITE setIsMuted NOTIFY isMutedChanged) + /** + * @brief Gets or sets the volume level. + */ + Q_PROPERTY(qint32 volumeLevel READ volumeLevel WRITE setVolumeLevel NOTIFY volumeLevelChanged) + /** + * @brief Gets or sets the index of the now playing audio stream. + */ + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + /** + * @brief Gets or sets the index of the now playing subtitle stream. + */ + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + /** + * @brief Gets or sets the now playing media version identifier. + */ + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + Q_PROPERTY(PlayMethod playMethod READ playMethod WRITE setPlayMethod NOTIFY playMethodChanged) + Q_PROPERTY(RepeatMode repeatMode READ repeatMode WRITE setRepeatMode NOTIFY repeatModeChanged) + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + bool canSeek() const; + void setCanSeek(bool newCanSeek); + + bool isPaused() const; + void setIsPaused(bool newIsPaused); + + bool isMuted() const; + void setIsMuted(bool newIsMuted); + + qint32 volumeLevel() const; + void setVolumeLevel(qint32 newVolumeLevel); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + PlayMethod playMethod() const; + void setPlayMethod(PlayMethod newPlayMethod); + + RepeatMode repeatMode() const; + void setRepeatMode(RepeatMode newRepeatMode); + +signals: + void positionTicksChanged(qint64 newPositionTicks); + void canSeekChanged(bool newCanSeek); + void isPausedChanged(bool newIsPaused); + void isMutedChanged(bool newIsMuted); + void volumeLevelChanged(qint32 newVolumeLevel); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void mediaSourceIdChanged(QString newMediaSourceId); + void playMethodChanged(PlayMethod newPlayMethod); + void repeatModeChanged(RepeatMode newRepeatMode); +protected: + qint64 m_positionTicks; + bool m_canSeek; + bool m_isPaused; + bool m_isMuted; + qint32 m_volumeLevel; + qint32 m_audioStreamIndex; + qint32 m_subtitleStreamIndex; + QString m_mediaSourceId; + PlayMethod m_playMethod; + RepeatMode m_repeatMode; +}; + +} // NS Jellyfin +} // NS DTO + +#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..18d09e1 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playlistcreationresult.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_PLAYLISTCREATIONRESULT_H +#define JELLYFIN_DTO_PLAYLISTCREATIONRESULT_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PlaylistCreationResult : public QObject { + Q_OBJECT +public: + explicit PlaylistCreationResult(QObject *parent = nullptr); + static PlaylistCreationResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_PLAYLISTCREATIONRESULT_H diff --git a/core/include/JellyfinQt/DTO/playmethod.h b/core/include/JellyfinQt/DTO/playmethod.h new file mode 100644 index 0000000..4fefa01 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playmethod.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYMETHOD_H +#define JELLYFIN_DTO_PLAYMETHOD_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PlayMethodClass { + Q_GADGET +public: + enum Value { + Transcode, + DirectStream, + DirectPlay, + }; + Q_ENUM(Value) +private: + explicit PlayMethodClass(); +}; +typedef PlayMethodClass::Value PlayMethod; + +} // NS Jellyfin +} // NS DTO + +#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..1f3de6b --- /dev/null +++ b/core/include/JellyfinQt/DTO/playrequest.h @@ -0,0 +1,117 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYREQUEST_H +#define JELLYFIN_DTO_PLAYREQUEST_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/playcommand.h" + +namespace Jellyfin { +namespace DTO { + +class PlayRequest : public QObject { + Q_OBJECT +public: + explicit PlayRequest(QObject *parent = nullptr); + static PlayRequest *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the item ids. + */ + Q_PROPERTY(QStringList itemIds READ itemIds WRITE setItemIds NOTIFY itemIdsChanged) + /** + * @brief Gets or sets the start position ticks that the first item should be played at. + */ + Q_PROPERTY(qint64 startPositionTicks READ startPositionTicks WRITE setStartPositionTicks NOTIFY startPositionTicksChanged) + Q_PROPERTY(PlayCommand playCommand READ playCommand WRITE setPlayCommand NOTIFY playCommandChanged) + /** + * @brief Gets or sets the controlling user identifier. + */ + Q_PROPERTY(QString controllingUserId READ controllingUserId WRITE setControllingUserId NOTIFY controllingUserIdChanged) + Q_PROPERTY(qint32 subtitleStreamIndex READ subtitleStreamIndex WRITE setSubtitleStreamIndex NOTIFY subtitleStreamIndexChanged) + Q_PROPERTY(qint32 audioStreamIndex READ audioStreamIndex WRITE setAudioStreamIndex NOTIFY audioStreamIndexChanged) + Q_PROPERTY(QString mediaSourceId READ mediaSourceId WRITE setMediaSourceId NOTIFY mediaSourceIdChanged) + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QStringList itemIds() const; + void setItemIds(QStringList newItemIds); + + qint64 startPositionTicks() const; + void setStartPositionTicks(qint64 newStartPositionTicks); + + PlayCommand playCommand() const; + void setPlayCommand(PlayCommand newPlayCommand); + + QString controllingUserId() const; + void setControllingUserId(QString newControllingUserId); + + qint32 subtitleStreamIndex() const; + void setSubtitleStreamIndex(qint32 newSubtitleStreamIndex); + + qint32 audioStreamIndex() const; + void setAudioStreamIndex(qint32 newAudioStreamIndex); + + QString mediaSourceId() const; + void setMediaSourceId(QString newMediaSourceId); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemIdsChanged(QStringList newItemIds); + void startPositionTicksChanged(qint64 newStartPositionTicks); + void playCommandChanged(PlayCommand newPlayCommand); + void controllingUserIdChanged(QString newControllingUserId); + void subtitleStreamIndexChanged(qint32 newSubtitleStreamIndex); + void audioStreamIndexChanged(qint32 newAudioStreamIndex); + void mediaSourceIdChanged(QString newMediaSourceId); + void startIndexChanged(qint32 newStartIndex); +protected: + QStringList m_itemIds; + qint64 m_startPositionTicks; + PlayCommand m_playCommand; + QString m_controllingUserId; + qint32 m_subtitleStreamIndex; + qint32 m_audioStreamIndex; + QString m_mediaSourceId; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..200a723 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playrequestdto.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_PLAYREQUESTDTO_H +#define JELLYFIN_DTO_PLAYREQUESTDTO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PlayRequestDto : public QObject { + Q_OBJECT +public: + explicit PlayRequestDto(QObject *parent = nullptr); + static PlayRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playing queue. + */ + Q_PROPERTY(QStringList playingQueue READ playingQueue WRITE setPlayingQueue NOTIFY playingQueueChanged) + /** + * @brief Gets or sets the position of the playing item in the queue. + */ + Q_PROPERTY(qint32 playingItemPosition READ playingItemPosition WRITE setPlayingItemPosition NOTIFY playingItemPositionChanged) + /** + * @brief Gets or sets the start position ticks. + */ + Q_PROPERTY(qint64 startPositionTicks READ startPositionTicks WRITE setStartPositionTicks NOTIFY startPositionTicksChanged) + + QStringList playingQueue() const; + void setPlayingQueue(QStringList newPlayingQueue); + + qint32 playingItemPosition() const; + void setPlayingItemPosition(qint32 newPlayingItemPosition); + + qint64 startPositionTicks() const; + void setStartPositionTicks(qint64 newStartPositionTicks); + +signals: + void playingQueueChanged(QStringList newPlayingQueue); + void playingItemPositionChanged(qint32 newPlayingItemPosition); + void startPositionTicksChanged(qint64 newStartPositionTicks); +protected: + QStringList m_playingQueue; + qint32 m_playingItemPosition; + qint64 m_startPositionTicks; +}; + +} // NS Jellyfin +} // NS DTO + +#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..6a27105 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playstatecommand.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_PLAYSTATECOMMAND_H +#define JELLYFIN_DTO_PLAYSTATECOMMAND_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PlaystateCommandClass { + Q_GADGET +public: + enum Value { + Stop, + Pause, + Unpause, + NextTrack, + PreviousTrack, + Seek, + Rewind, + FastForward, + PlayPause, + }; + Q_ENUM(Value) +private: + explicit PlaystateCommandClass(); +}; +typedef PlaystateCommandClass::Value PlaystateCommand; + +} // NS Jellyfin +} // NS DTO + +#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..43af866 --- /dev/null +++ b/core/include/JellyfinQt/DTO/playstaterequest.h @@ -0,0 +1,79 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLAYSTATEREQUEST_H +#define JELLYFIN_DTO_PLAYSTATEREQUEST_H + +#include +#include +#include + +#include "JellyfinQt/DTO/playstatecommand.h" + +namespace Jellyfin { +namespace DTO { + +class PlaystateRequest : public QObject { + Q_OBJECT +public: + explicit PlaystateRequest(QObject *parent = nullptr); + static PlaystateRequest *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(PlaystateCommand command READ command WRITE setCommand NOTIFY commandChanged) + Q_PROPERTY(qint64 seekPositionTicks READ seekPositionTicks WRITE setSeekPositionTicks NOTIFY seekPositionTicksChanged) + /** + * @brief Gets or sets the controlling user identifier. + */ + Q_PROPERTY(QString controllingUserId READ controllingUserId WRITE setControllingUserId NOTIFY controllingUserIdChanged) + + PlaystateCommand command() const; + void setCommand(PlaystateCommand newCommand); + + qint64 seekPositionTicks() const; + void setSeekPositionTicks(qint64 newSeekPositionTicks); + + QString controllingUserId() const; + void setControllingUserId(QString newControllingUserId); + +signals: + void commandChanged(PlaystateCommand newCommand); + void seekPositionTicksChanged(qint64 newSeekPositionTicks); + void controllingUserIdChanged(QString newControllingUserId); +protected: + PlaystateCommand m_command; + qint64 m_seekPositionTicks; + QString m_controllingUserId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..8462a88 --- /dev/null +++ b/core/include/JellyfinQt/DTO/plugininfo.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_PLUGININFO_H +#define JELLYFIN_DTO_PLUGININFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/pluginstatus.h" + +namespace Jellyfin { +namespace DTO { + +class Version; + +class PluginInfo : public QObject { + Q_OBJECT +public: + explicit PluginInfo(QObject *parent = nullptr); + static PluginInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(Version * version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets or sets the name of the configuration file. + */ + Q_PROPERTY(QString configurationFileName READ configurationFileName WRITE setConfigurationFileName NOTIFY configurationFileNameChanged) + /** + * @brief Gets or sets the description. + */ + Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged) + /** + * @brief Gets or sets the unique id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets a value indicating whether the plugin can be uninstalled. + */ + Q_PROPERTY(bool canUninstall READ canUninstall WRITE setCanUninstall NOTIFY canUninstallChanged) + /** + * @brief Gets or sets a value indicating whether this plugin has a valid image. + */ + Q_PROPERTY(bool hasImage READ hasImage WRITE setHasImage NOTIFY hasImageChanged) + Q_PROPERTY(PluginStatus status READ status WRITE setStatus NOTIFY statusChanged) + + QString name() const; + void setName(QString newName); + + Version * version() const; + void setVersion(Version * newVersion); + + QString configurationFileName() const; + void setConfigurationFileName(QString newConfigurationFileName); + + QString description() const; + void setDescription(QString newDescription); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + bool canUninstall() const; + void setCanUninstall(bool newCanUninstall); + + bool hasImage() const; + void setHasImage(bool newHasImage); + + PluginStatus status() const; + void setStatus(PluginStatus newStatus); + +signals: + void nameChanged(QString newName); + void versionChanged(Version * newVersion); + void configurationFileNameChanged(QString newConfigurationFileName); + void descriptionChanged(QString newDescription); + void jellyfinIdChanged(QString newJellyfinId); + void canUninstallChanged(bool newCanUninstall); + void hasImageChanged(bool newHasImage); + void statusChanged(PluginStatus newStatus); +protected: + QString m_name; + Version * m_version = nullptr; + QString m_configurationFileName; + QString m_description; + QString m_jellyfinId; + bool m_canUninstall; + bool m_hasImage; + PluginStatus m_status; +}; + +} // NS Jellyfin +} // NS DTO + +#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..264082b --- /dev/null +++ b/core/include/JellyfinQt/DTO/pluginsecurityinfo.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_PLUGINSECURITYINFO_H +#define JELLYFIN_DTO_PLUGINSECURITYINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PluginSecurityInfo : public QObject { + Q_OBJECT +public: + explicit PluginSecurityInfo(QObject *parent = nullptr); + static PluginSecurityInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the supporter key. + */ + Q_PROPERTY(QString supporterKey READ supporterKey WRITE setSupporterKey NOTIFY supporterKeyChanged) + /** + * @brief Gets or sets a value indicating whether is mb supporter. + */ + Q_PROPERTY(bool isMbSupporter READ isMbSupporter WRITE setIsMbSupporter NOTIFY isMbSupporterChanged) + + QString supporterKey() const; + void setSupporterKey(QString newSupporterKey); + + bool isMbSupporter() const; + void setIsMbSupporter(bool newIsMbSupporter); + +signals: + void supporterKeyChanged(QString newSupporterKey); + void isMbSupporterChanged(bool newIsMbSupporter); +protected: + QString m_supporterKey; + bool m_isMbSupporter; +}; + +} // NS Jellyfin +} // NS DTO + +#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..e87b565 --- /dev/null +++ b/core/include/JellyfinQt/DTO/pluginstatus.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PLUGINSTATUS_H +#define JELLYFIN_DTO_PLUGINSTATUS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class PluginStatusClass { + Q_GADGET +public: + enum Value { + Active, + Restart, + Deleted, + Superceded, + Malfunctioned, + NotSupported, + Disabled, + }; + Q_ENUM(Value) +private: + explicit PluginStatusClass(); +}; +typedef PluginStatusClass::Value PluginStatus; + +} // NS Jellyfin +} // NS DTO + +#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..eaf1bc3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/previousitemrequestdto.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_PREVIOUSITEMREQUESTDTO_H +#define JELLYFIN_DTO_PREVIOUSITEMREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PreviousItemRequestDto : public QObject { + Q_OBJECT +public: + explicit PreviousItemRequestDto(QObject *parent = nullptr); + static PreviousItemRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playing item identifier. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..f44ae1b --- /dev/null +++ b/core/include/JellyfinQt/DTO/problemdetails.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_PROBLEMDETAILS_H +#define JELLYFIN_DTO_PROBLEMDETAILS_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ProblemDetails : public QObject { + Q_OBJECT +public: + explicit ProblemDetails(QObject *parent = nullptr); + static ProblemDetails *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged) + Q_PROPERTY(qint32 status READ status WRITE setStatus NOTIFY statusChanged) + Q_PROPERTY(QString detail READ detail WRITE setDetail NOTIFY detailChanged) + Q_PROPERTY(QString instance READ instance WRITE setInstance NOTIFY instanceChanged) + + QString type() const; + void setType(QString newType); + + QString title() const; + void setTitle(QString newTitle); + + qint32 status() const; + void setStatus(qint32 newStatus); + + QString detail() const; + void setDetail(QString newDetail); + + QString instance() const; + void setInstance(QString newInstance); + +signals: + void typeChanged(QString newType); + void titleChanged(QString newTitle); + void statusChanged(qint32 newStatus); + void detailChanged(QString newDetail); + void instanceChanged(QString newInstance); +protected: + QString m_type; + QString m_title; + qint32 m_status; + QString m_detail; + QString m_instance; +}; + +} // NS Jellyfin +} // NS DTO + +#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..4871575 --- /dev/null +++ b/core/include/JellyfinQt/DTO/profilecondition.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROFILECONDITION_H +#define JELLYFIN_DTO_PROFILECONDITION_H + +#include +#include +#include + +#include "JellyfinQt/DTO/profileconditiontype.h" +#include "JellyfinQt/DTO/profileconditionvalue.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileCondition : public QObject { + Q_OBJECT +public: + explicit ProfileCondition(QObject *parent = nullptr); + static ProfileCondition *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(ProfileConditionType condition READ condition WRITE setCondition NOTIFY conditionChanged) + Q_PROPERTY(ProfileConditionValue property READ property WRITE setProperty NOTIFY propertyChanged) + Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged) + Q_PROPERTY(bool isRequired READ isRequired WRITE setIsRequired NOTIFY isRequiredChanged) + + ProfileConditionType condition() const; + void setCondition(ProfileConditionType newCondition); + + ProfileConditionValue property() const; + void setProperty(ProfileConditionValue newProperty); + + QString value() const; + void setValue(QString newValue); + + bool isRequired() const; + void setIsRequired(bool newIsRequired); + +signals: + void conditionChanged(ProfileConditionType newCondition); + void propertyChanged(ProfileConditionValue newProperty); + void valueChanged(QString newValue); + void isRequiredChanged(bool newIsRequired); +protected: + ProfileConditionType m_condition; + ProfileConditionValue m_property; + QString m_value; + bool m_isRequired; +}; + +} // NS Jellyfin +} // NS DTO + +#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..87169fb --- /dev/null +++ b/core/include/JellyfinQt/DTO/profileconditiontype.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_PROFILECONDITIONTYPE_H +#define JELLYFIN_DTO_PROFILECONDITIONTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ProfileConditionTypeClass { + Q_GADGET +public: + enum Value { + Equals, + NotEquals, + LessThanEqual, + GreaterThanEqual, + EqualsAny, + }; + Q_ENUM(Value) +private: + explicit ProfileConditionTypeClass(); +}; +typedef ProfileConditionTypeClass::Value ProfileConditionType; + +} // NS Jellyfin +} // NS DTO + +#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..1010301 --- /dev/null +++ b/core/include/JellyfinQt/DTO/profileconditionvalue.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_PROFILECONDITIONVALUE_H +#define JELLYFIN_DTO_PROFILECONDITIONVALUE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ProfileConditionValueClass { + Q_GADGET +public: + enum Value { + 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 Jellyfin +} // NS DTO + +#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..a4d6de2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/programaudio.h @@ -0,0 +1,58 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 + +namespace Jellyfin { +namespace DTO { + +class ProgramAudioClass { + Q_GADGET +public: + enum Value { + Mono, + Stereo, + Dolby, + DolbyDigital, + Thx, + Atmos, + }; + Q_ENUM(Value) +private: + explicit ProgramAudioClass(); +}; +typedef ProgramAudioClass::Value ProgramAudio; + +} // NS Jellyfin +} // NS DTO + +#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..9c7bc6d --- /dev/null +++ b/core/include/JellyfinQt/DTO/publicsysteminfo.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_PUBLICSYSTEMINFO_H +#define JELLYFIN_DTO_PUBLICSYSTEMINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class PublicSystemInfo : public QObject { + Q_OBJECT +public: + explicit PublicSystemInfo(QObject *parent = nullptr); + static PublicSystemInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the local address. + */ + Q_PROPERTY(QString localAddress READ localAddress WRITE setLocalAddress NOTIFY localAddressChanged) + /** + * @brief Gets or sets the name of the server. + */ + Q_PROPERTY(QString serverName READ serverName WRITE setServerName NOTIFY serverNameChanged) + /** + * @brief Gets or sets the server version. + */ + Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + Q_PROPERTY(QString productName READ productName WRITE setProductName NOTIFY productNameChanged) + /** + * @brief Gets or sets the operating system. + */ + Q_PROPERTY(QString operatingSystem READ operatingSystem WRITE setOperatingSystem NOTIFY operatingSystemChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + Q_PROPERTY(bool startupWizardCompleted READ startupWizardCompleted WRITE setStartupWizardCompleted NOTIFY startupWizardCompletedChanged) + + QString localAddress() const; + void setLocalAddress(QString newLocalAddress); + + QString serverName() const; + void setServerName(QString newServerName); + + QString version() const; + void setVersion(QString newVersion); + + QString productName() const; + void setProductName(QString newProductName); + + QString operatingSystem() const; + void setOperatingSystem(QString newOperatingSystem); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + bool startupWizardCompleted() const; + void setStartupWizardCompleted(bool newStartupWizardCompleted); + +signals: + void localAddressChanged(QString newLocalAddress); + void serverNameChanged(QString newServerName); + void versionChanged(QString newVersion); + void productNameChanged(QString newProductName); + void operatingSystemChanged(QString newOperatingSystem); + void jellyfinIdChanged(QString newJellyfinId); + void startupWizardCompletedChanged(bool newStartupWizardCompleted); +protected: + QString m_localAddress; + QString m_serverName; + QString m_version; + QString m_productName; + QString m_operatingSystem; + QString m_jellyfinId; + bool m_startupWizardCompleted; +}; + +} // NS Jellyfin +} // NS DTO + +#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..df37156 --- /dev/null +++ b/core/include/JellyfinQt/DTO/queryfilters.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_QUERYFILTERS_H +#define JELLYFIN_DTO_QUERYFILTERS_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class NameGuidPair; + +class QueryFilters : public QObject { + Q_OBJECT +public: + explicit QueryFilters(QObject *parent = nullptr); + static QueryFilters *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QList genres READ genres WRITE setGenres NOTIFY genresChanged) + Q_PROPERTY(QStringList tags READ tags WRITE setTags NOTIFY tagsChanged) + + QList genres() const; + void setGenres(QList newGenres); + + QStringList tags() const; + void setTags(QStringList newTags); + +signals: + void genresChanged(QList newGenres); + void tagsChanged(QStringList newTags); +protected: + QList m_genres; + QStringList m_tags; +}; + +} // NS Jellyfin +} // NS DTO + +#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..bf42c1c --- /dev/null +++ b/core/include/JellyfinQt/DTO/queryfilterslegacy.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_QUERYFILTERSLEGACY_H +#define JELLYFIN_DTO_QUERYFILTERSLEGACY_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class QueryFiltersLegacy : public QObject { + Q_OBJECT +public: + explicit QueryFiltersLegacy(QObject *parent = nullptr); + static QueryFiltersLegacy *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QStringList genres READ genres WRITE setGenres NOTIFY genresChanged) + Q_PROPERTY(QStringList tags READ tags WRITE setTags NOTIFY tagsChanged) + Q_PROPERTY(QStringList officialRatings READ officialRatings WRITE setOfficialRatings NOTIFY officialRatingsChanged) + Q_PROPERTY(QList years READ years WRITE setYears NOTIFY yearsChanged) + + QStringList genres() const; + void setGenres(QStringList newGenres); + + QStringList tags() const; + void setTags(QStringList newTags); + + QStringList officialRatings() const; + void setOfficialRatings(QStringList newOfficialRatings); + + QList years() const; + void setYears(QList newYears); + +signals: + void genresChanged(QStringList newGenres); + void tagsChanged(QStringList newTags); + void officialRatingsChanged(QStringList newOfficialRatings); + void yearsChanged(QList newYears); +protected: + QStringList m_genres; + QStringList m_tags; + QStringList m_officialRatings; + QList m_years; +}; + +} // NS Jellyfin +} // NS DTO + +#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..1e67089 --- /dev/null +++ b/core/include/JellyfinQt/DTO/queueitem.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_QUEUEITEM_H +#define JELLYFIN_DTO_QUEUEITEM_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class QueueItem : public QObject { + Q_OBJECT +public: + explicit QueueItem(QObject *parent = nullptr); + static QueueItem *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QString m_jellyfinId; + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..e1773c4 --- /dev/null +++ b/core/include/JellyfinQt/DTO/queuerequestdto.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_QUEUEREQUESTDTO_H +#define JELLYFIN_DTO_QUEUEREQUESTDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/groupqueuemode.h" + +namespace Jellyfin { +namespace DTO { + +class QueueRequestDto : public QObject { + Q_OBJECT +public: + explicit QueueRequestDto(QObject *parent = nullptr); + static QueueRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items to enqueue. + */ + Q_PROPERTY(QStringList itemIds READ itemIds WRITE setItemIds NOTIFY itemIdsChanged) + Q_PROPERTY(GroupQueueMode mode READ mode WRITE setMode NOTIFY modeChanged) + + QStringList itemIds() const; + void setItemIds(QStringList newItemIds); + + GroupQueueMode mode() const; + void setMode(GroupQueueMode newMode); + +signals: + void itemIdsChanged(QStringList newItemIds); + void modeChanged(GroupQueueMode newMode); +protected: + QStringList m_itemIds; + GroupQueueMode m_mode; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d74e7c3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/quickconnectdto.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_QUICKCONNECTDTO_H +#define JELLYFIN_DTO_QUICKCONNECTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class QuickConnectDto : public QObject { + Q_OBJECT +public: + explicit QuickConnectDto(QObject *parent = nullptr); + static QuickConnectDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the quick connect token. + */ + Q_PROPERTY(QString token READ token WRITE setToken NOTIFY tokenChanged) + + QString token() const; + void setToken(QString newToken); + +signals: + void tokenChanged(QString newToken); +protected: + QString m_token; +}; + +} // NS Jellyfin +} // NS DTO + +#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..af116a3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/quickconnectresult.h @@ -0,0 +1,111 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUICKCONNECTRESULT_H +#define JELLYFIN_DTO_QUICKCONNECTRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class QuickConnectResult : public QObject { + Q_OBJECT +public: + explicit QuickConnectResult(QObject *parent = nullptr); + static QuickConnectResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets a value indicating whether this request is authorized. + */ + Q_PROPERTY(bool authenticated READ authenticated WRITE setAuthenticated NOTIFY authenticatedChanged) + /** + * @brief Gets or sets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. + */ + Q_PROPERTY(QString secret READ secret WRITE setSecret NOTIFY secretChanged) + /** + * @brief Gets or sets the user facing code used so the user can quickly differentiate this request from others. + */ + Q_PROPERTY(QString code READ code WRITE setCode NOTIFY codeChanged) + /** + * @brief Gets or sets the private access token. + */ + Q_PROPERTY(QString authentication READ authentication WRITE setAuthentication NOTIFY authenticationChanged) + /** + * @brief Gets or sets an error message. + */ + Q_PROPERTY(QString error READ error WRITE setError NOTIFY errorChanged) + /** + * @brief Gets or sets the DateTime that this request was created. + */ + Q_PROPERTY(QDateTime dateAdded READ dateAdded WRITE setDateAdded NOTIFY dateAddedChanged) + + bool authenticated() const; + void setAuthenticated(bool newAuthenticated); + + QString secret() const; + void setSecret(QString newSecret); + + QString code() const; + void setCode(QString newCode); + + QString authentication() const; + void setAuthentication(QString newAuthentication); + + QString error() const; + void setError(QString newError); + + QDateTime dateAdded() const; + void setDateAdded(QDateTime newDateAdded); + +signals: + void authenticatedChanged(bool newAuthenticated); + void secretChanged(QString newSecret); + void codeChanged(QString newCode); + void authenticationChanged(QString newAuthentication); + void errorChanged(QString newError); + void dateAddedChanged(QDateTime newDateAdded); +protected: + bool m_authenticated; + QString m_secret; + QString m_code; + QString m_authentication; + QString m_error; + QDateTime m_dateAdded; +}; + +} // NS Jellyfin +} // NS DTO + +#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..c945b86 --- /dev/null +++ b/core/include/JellyfinQt/DTO/quickconnectstate.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_QUICKCONNECTSTATE_H +#define JELLYFIN_DTO_QUICKCONNECTSTATE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class QuickConnectStateClass { + Q_GADGET +public: + enum Value { + Unavailable, + Available, + Active, + }; + Q_ENUM(Value) +private: + explicit QuickConnectStateClass(); +}; +typedef QuickConnectStateClass::Value QuickConnectState; + +} // NS Jellyfin +} // NS DTO + +#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..112cc2f --- /dev/null +++ b/core/include/JellyfinQt/DTO/ratingtype.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RATINGTYPE_H +#define JELLYFIN_DTO_RATINGTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class RatingTypeClass { + Q_GADGET +public: + enum Value { + Score, + Likes, + }; + Q_ENUM(Value) +private: + explicit RatingTypeClass(); +}; +typedef RatingTypeClass::Value RatingType; + +} // NS Jellyfin +} // NS DTO + +#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..f7aec24 --- /dev/null +++ b/core/include/JellyfinQt/DTO/readyrequestdto.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_READYREQUESTDTO_H +#define JELLYFIN_DTO_READYREQUESTDTO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ReadyRequestDto : public QObject { + Q_OBJECT +public: + explicit ReadyRequestDto(QObject *parent = nullptr); + static ReadyRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets when the request has been made by the client. + */ + Q_PROPERTY(QDateTime when READ when WRITE setWhen NOTIFY whenChanged) + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + /** + * @brief Gets or sets a value indicating whether the client playback is unpaused. + */ + Q_PROPERTY(bool isPlaying READ isPlaying WRITE setIsPlaying NOTIFY isPlayingChanged) + /** + * @brief Gets or sets the playlist item identifier of the playing item. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QDateTime when() const; + void setWhen(QDateTime newWhen); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + bool isPlaying() const; + void setIsPlaying(bool newIsPlaying); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void whenChanged(QDateTime newWhen); + void positionTicksChanged(qint64 newPositionTicks); + void isPlayingChanged(bool newIsPlaying); + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QDateTime m_when; + qint64 m_positionTicks; + bool m_isPlaying; + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_READYREQUESTDTO_H diff --git a/core/include/JellyfinQt/DTO/recommendationdto.h b/core/include/JellyfinQt/DTO/recommendationdto.h new file mode 100644 index 0000000..b71406b --- /dev/null +++ b/core/include/JellyfinQt/DTO/recommendationdto.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_RECOMMENDATIONDTO_H +#define JELLYFIN_DTO_RECOMMENDATIONDTO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/recommendationtype.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; + +class RecommendationDto : public QObject { + Q_OBJECT +public: + explicit RecommendationDto(QObject *parent = nullptr); + static RecommendationDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + Q_PROPERTY(RecommendationType recommendationType READ recommendationType WRITE setRecommendationType NOTIFY recommendationTypeChanged) + Q_PROPERTY(QString baselineItemName READ baselineItemName WRITE setBaselineItemName NOTIFY baselineItemNameChanged) + Q_PROPERTY(QString categoryId READ categoryId WRITE setCategoryId NOTIFY categoryIdChanged) + + QList items() const; + void setItems(QList newItems); + + RecommendationType recommendationType() const; + void setRecommendationType(RecommendationType newRecommendationType); + + QString baselineItemName() const; + void setBaselineItemName(QString newBaselineItemName); + + QString categoryId() const; + void setCategoryId(QString newCategoryId); + +signals: + void itemsChanged(QList newItems); + void recommendationTypeChanged(RecommendationType newRecommendationType); + void baselineItemNameChanged(QString newBaselineItemName); + void categoryIdChanged(QString newCategoryId); +protected: + QList m_items; + RecommendationType m_recommendationType; + QString m_baselineItemName; + QString m_categoryId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..80cfdc0 --- /dev/null +++ b/core/include/JellyfinQt/DTO/recommendationtype.h @@ -0,0 +1,58 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 + +namespace Jellyfin { +namespace DTO { + +class RecommendationTypeClass { + Q_GADGET +public: + enum Value { + SimilarToRecentlyPlayed, + SimilarToLikedItem, + HasDirectorFromRecentlyPlayed, + HasActorFromRecentlyPlayed, + HasLikedDirector, + HasLikedActor, + }; + Q_ENUM(Value) +private: + explicit RecommendationTypeClass(); +}; +typedef RecommendationTypeClass::Value RecommendationType; + +} // NS Jellyfin +} // NS DTO + +#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..b06076e --- /dev/null +++ b/core/include/JellyfinQt/DTO/recordingstatus.h @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RECORDINGSTATUS_H +#define JELLYFIN_DTO_RECORDINGSTATUS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class RecordingStatusClass { + Q_GADGET +public: + enum Value { + New, + InProgress, + Completed, + Cancelled, + ConflictedOk, + ConflictedNotOk, + Error, + }; + Q_ENUM(Value) +private: + explicit RecordingStatusClass(); +}; +typedef RecordingStatusClass::Value RecordingStatus; + +} // NS Jellyfin +} // NS DTO + +#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..91ceb55 --- /dev/null +++ b/core/include/JellyfinQt/DTO/remoteimageinfo.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_REMOTEIMAGEINFO_H +#define JELLYFIN_DTO_REMOTEIMAGEINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/imagetype.h" +#include "JellyfinQt/DTO/ratingtype.h" + +namespace Jellyfin { +namespace DTO { + +class RemoteImageInfo : public QObject { + Q_OBJECT +public: + explicit RemoteImageInfo(QObject *parent = nullptr); + static RemoteImageInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name of the provider. + */ + Q_PROPERTY(QString providerName READ providerName WRITE setProviderName NOTIFY providerNameChanged) + /** + * @brief Gets or sets the URL. + */ + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + /** + * @brief Gets a url used for previewing a smaller version. + */ + Q_PROPERTY(QString thumbnailUrl READ thumbnailUrl WRITE setThumbnailUrl NOTIFY thumbnailUrlChanged) + /** + * @brief Gets or sets the height. + */ + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + /** + * @brief Gets or sets the width. + */ + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + /** + * @brief Gets or sets the community rating. + */ + Q_PROPERTY(double communityRating READ communityRating WRITE setCommunityRating NOTIFY communityRatingChanged) + /** + * @brief Gets or sets the vote count. + */ + Q_PROPERTY(qint32 voteCount READ voteCount WRITE setVoteCount NOTIFY voteCountChanged) + /** + * @brief Gets or sets the language. + */ + Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged) + Q_PROPERTY(ImageType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(RatingType ratingType READ ratingType WRITE setRatingType NOTIFY ratingTypeChanged) + + QString providerName() const; + void setProviderName(QString newProviderName); + + QString url() const; + void setUrl(QString newUrl); + + QString thumbnailUrl() const; + void setThumbnailUrl(QString newThumbnailUrl); + + qint32 height() const; + void setHeight(qint32 newHeight); + + qint32 width() const; + void setWidth(qint32 newWidth); + + double communityRating() const; + void setCommunityRating(double newCommunityRating); + + qint32 voteCount() const; + void setVoteCount(qint32 newVoteCount); + + QString language() const; + void setLanguage(QString newLanguage); + + ImageType type() const; + void setType(ImageType newType); + + RatingType ratingType() const; + void setRatingType(RatingType newRatingType); + +signals: + void providerNameChanged(QString newProviderName); + void urlChanged(QString newUrl); + void thumbnailUrlChanged(QString newThumbnailUrl); + void heightChanged(qint32 newHeight); + void widthChanged(qint32 newWidth); + void communityRatingChanged(double newCommunityRating); + void voteCountChanged(qint32 newVoteCount); + void languageChanged(QString newLanguage); + void typeChanged(ImageType newType); + void ratingTypeChanged(RatingType newRatingType); +protected: + QString m_providerName; + QString m_url; + QString m_thumbnailUrl; + qint32 m_height; + qint32 m_width; + double m_communityRating; + qint32 m_voteCount; + QString m_language; + ImageType m_type; + RatingType m_ratingType; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d3f9666 --- /dev/null +++ b/core/include/JellyfinQt/DTO/remoteimageresult.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_REMOTEIMAGERESULT_H +#define JELLYFIN_DTO_REMOTEIMAGERESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class RemoteImageInfo; + +class RemoteImageResult : public QObject { + Q_OBJECT +public: + explicit RemoteImageResult(QObject *parent = nullptr); + static RemoteImageResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the images. + */ + Q_PROPERTY(QList images READ images WRITE setImages NOTIFY imagesChanged) + /** + * @brief Gets or sets the total record count. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief Gets or sets the providers. + */ + Q_PROPERTY(QStringList providers READ providers WRITE setProviders NOTIFY providersChanged) + + QList images() const; + void setImages(QList newImages); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + QStringList providers() const; + void setProviders(QStringList newProviders); + +signals: + void imagesChanged(QList newImages); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void providersChanged(QStringList newProviders); +protected: + QList m_images; + qint32 m_totalRecordCount; + QStringList m_providers; +}; + +} // NS Jellyfin +} // NS DTO + +#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..b97cac0 --- /dev/null +++ b/core/include/JellyfinQt/DTO/remotesearchresult.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_REMOTESEARCHRESULT_H +#define JELLYFIN_DTO_REMOTESEARCHRESULT_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + + +class RemoteSearchResult : public QObject { + Q_OBJECT +public: + explicit RemoteSearchResult(QObject *parent = nullptr); + static RemoteSearchResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 productionYear READ productionYear WRITE setProductionYear NOTIFY productionYearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 indexNumberEnd READ indexNumberEnd WRITE setIndexNumberEnd NOTIFY indexNumberEndChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(QString imageUrl READ imageUrl WRITE setImageUrl NOTIFY imageUrlChanged) + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + Q_PROPERTY(RemoteSearchResult * albumArtist READ albumArtist WRITE setAlbumArtist NOTIFY albumArtistChanged) + Q_PROPERTY(QList artists READ artists WRITE setArtists NOTIFY artistsChanged) + + QString name() const; + void setName(QString newName); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 productionYear() const; + void setProductionYear(qint32 newProductionYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 indexNumberEnd() const; + void setIndexNumberEnd(qint32 newIndexNumberEnd); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + QString imageUrl() const; + void setImageUrl(QString newImageUrl); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + QString overview() const; + void setOverview(QString newOverview); + + RemoteSearchResult * albumArtist() const; + void setAlbumArtist(RemoteSearchResult * newAlbumArtist); + + QList artists() const; + void setArtists(QList newArtists); + +signals: + void nameChanged(QString newName); + void providerIdsChanged(QJsonObject newProviderIds); + void productionYearChanged(qint32 newProductionYear); + void indexNumberChanged(qint32 newIndexNumber); + void indexNumberEndChanged(qint32 newIndexNumberEnd); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void imageUrlChanged(QString newImageUrl); + void searchProviderNameChanged(QString newSearchProviderName); + void overviewChanged(QString newOverview); + void albumArtistChanged(RemoteSearchResult * newAlbumArtist); + void artistsChanged(QList newArtists); +protected: + QString m_name; + QJsonObject m_providerIds; + qint32 m_productionYear; + qint32 m_indexNumber; + qint32 m_indexNumberEnd; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + QString m_imageUrl; + QString m_searchProviderName; + QString m_overview; + RemoteSearchResult * m_albumArtist = nullptr; + QList m_artists; +}; + +} // NS Jellyfin +} // NS DTO + +#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..169dff6 --- /dev/null +++ b/core/include/JellyfinQt/DTO/remotesubtitleinfo.h @@ -0,0 +1,123 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REMOTESUBTITLEINFO_H +#define JELLYFIN_DTO_REMOTESUBTITLEINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class RemoteSubtitleInfo : public QObject { + Q_OBJECT +public: + explicit RemoteSubtitleInfo(QObject *parent = nullptr); + static RemoteSubtitleInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString threeLetterISOLanguageName READ threeLetterISOLanguageName WRITE setThreeLetterISOLanguageName NOTIFY threeLetterISOLanguageNameChanged) + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString providerName READ providerName WRITE setProviderName NOTIFY providerNameChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged) + Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY authorChanged) + Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged) + Q_PROPERTY(QDateTime dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged) + Q_PROPERTY(float communityRating READ communityRating WRITE setCommunityRating NOTIFY communityRatingChanged) + Q_PROPERTY(qint32 downloadCount READ downloadCount WRITE setDownloadCount NOTIFY downloadCountChanged) + Q_PROPERTY(bool isHashMatch READ isHashMatch WRITE setIsHashMatch NOTIFY isHashMatchChanged) + + QString threeLetterISOLanguageName() const; + void setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString providerName() const; + void setProviderName(QString newProviderName); + + QString name() const; + void setName(QString newName); + + QString format() const; + void setFormat(QString newFormat); + + QString author() const; + void setAuthor(QString newAuthor); + + QString comment() const; + void setComment(QString newComment); + + QDateTime dateCreated() const; + void setDateCreated(QDateTime newDateCreated); + + float communityRating() const; + void setCommunityRating(float newCommunityRating); + + qint32 downloadCount() const; + void setDownloadCount(qint32 newDownloadCount); + + bool isHashMatch() const; + void setIsHashMatch(bool newIsHashMatch); + +signals: + void threeLetterISOLanguageNameChanged(QString newThreeLetterISOLanguageName); + void jellyfinIdChanged(QString newJellyfinId); + void providerNameChanged(QString newProviderName); + void nameChanged(QString newName); + void formatChanged(QString newFormat); + void authorChanged(QString newAuthor); + void commentChanged(QString newComment); + void dateCreatedChanged(QDateTime newDateCreated); + void communityRatingChanged(float newCommunityRating); + void downloadCountChanged(qint32 newDownloadCount); + void isHashMatchChanged(bool newIsHashMatch); +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; + float m_communityRating; + qint32 m_downloadCount; + bool m_isHashMatch; +}; + +} // NS Jellyfin +} // NS DTO + +#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..9d38cd9 --- /dev/null +++ b/core/include/JellyfinQt/DTO/removefromplaylistrequestdto.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_REMOVEFROMPLAYLISTREQUESTDTO_H +#define JELLYFIN_DTO_REMOVEFROMPLAYLISTREQUESTDTO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class RemoveFromPlaylistRequestDto : public QObject { + Q_OBJECT +public: + explicit RemoveFromPlaylistRequestDto(QObject *parent = nullptr); + static RemoveFromPlaylistRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playlist identifiers ot the items. + */ + Q_PROPERTY(QStringList playlistItemIds READ playlistItemIds WRITE setPlaylistItemIds NOTIFY playlistItemIdsChanged) + + QStringList playlistItemIds() const; + void setPlaylistItemIds(QStringList newPlaylistItemIds); + +signals: + void playlistItemIdsChanged(QStringList newPlaylistItemIds); +protected: + QStringList m_playlistItemIds; +}; + +} // NS Jellyfin +} // NS DTO + +#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..9075d42 --- /dev/null +++ b/core/include/JellyfinQt/DTO/repeatmode.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REPEATMODE_H +#define JELLYFIN_DTO_REPEATMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class RepeatModeClass { + Q_GADGET +public: + enum Value { + RepeatNone, + RepeatAll, + RepeatOne, + }; + Q_ENUM(Value) +private: + explicit RepeatModeClass(); +}; +typedef RepeatModeClass::Value RepeatMode; + +} // NS Jellyfin +} // NS DTO + +#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..ebcd85c --- /dev/null +++ b/core/include/JellyfinQt/DTO/repositoryinfo.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_REPOSITORYINFO_H +#define JELLYFIN_DTO_REPOSITORYINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class RepositoryInfo : public QObject { + Q_OBJECT +public: + explicit RepositoryInfo(QObject *parent = nullptr); + static RepositoryInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the URL. + */ + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + /** + * @brief Gets or sets a value indicating whether the repository is enabled. + */ + Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) + + QString name() const; + void setName(QString newName); + + QString url() const; + void setUrl(QString newUrl); + + bool enabled() const; + void setEnabled(bool newEnabled); + +signals: + void nameChanged(QString newName); + void urlChanged(QString newUrl); + void enabledChanged(bool newEnabled); +protected: + QString m_name; + QString m_url; + bool m_enabled; +}; + +} // NS Jellyfin +} // NS DTO + +#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..ce1aec4 --- /dev/null +++ b/core/include/JellyfinQt/DTO/responseprofile.h @@ -0,0 +1,104 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_RESPONSEPROFILE_H +#define JELLYFIN_DTO_RESPONSEPROFILE_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/dlnaprofiletype.h" + +namespace Jellyfin { +namespace DTO { + +class ProfileCondition; + +class ResponseProfile : public QObject { + Q_OBJECT +public: + explicit ResponseProfile(QObject *parent = nullptr); + static ResponseProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged) + Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged) + Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString orgPn READ orgPn WRITE setOrgPn NOTIFY orgPnChanged) + Q_PROPERTY(QString mimeType READ mimeType WRITE setMimeType NOTIFY mimeTypeChanged) + Q_PROPERTY(QList conditions READ conditions WRITE setConditions NOTIFY conditionsChanged) + + QString container() const; + void setContainer(QString newContainer); + + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec); + + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec); + + DlnaProfileType type() const; + void setType(DlnaProfileType newType); + + QString orgPn() const; + void setOrgPn(QString newOrgPn); + + QString mimeType() const; + void setMimeType(QString newMimeType); + + QList conditions() const; + void setConditions(QList newConditions); + +signals: + void containerChanged(QString newContainer); + void audioCodecChanged(QString newAudioCodec); + void videoCodecChanged(QString newVideoCodec); + void typeChanged(DlnaProfileType newType); + void orgPnChanged(QString newOrgPn); + void mimeTypeChanged(QString newMimeType); + void conditionsChanged(QList newConditions); +protected: + QString m_container; + QString m_audioCodec; + QString m_videoCodec; + DlnaProfileType m_type; + QString m_orgPn; + QString m_mimeType; + QList m_conditions; +}; + +} // NS Jellyfin +} // NS DTO + +#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..a62f7b2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/scrolldirection.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SCROLLDIRECTION_H +#define JELLYFIN_DTO_SCROLLDIRECTION_H + +#include + +namespace Jellyfin { +namespace DTO { + +class ScrollDirectionClass { + Q_GADGET +public: + enum Value { + Horizontal, + Vertical, + }; + Q_ENUM(Value) +private: + explicit ScrollDirectionClass(); +}; +typedef ScrollDirectionClass::Value ScrollDirection; + +} // NS Jellyfin +} // NS DTO + +#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..85425c8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/searchhint.h @@ -0,0 +1,302 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 + +namespace Jellyfin { +namespace DTO { + +class SearchHint : public QObject { + Q_OBJECT +public: + explicit SearchHint(QObject *parent = nullptr); + static SearchHint *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the item id. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the matched term. + */ + Q_PROPERTY(QString matchedTerm READ matchedTerm WRITE setMatchedTerm NOTIFY matchedTermChanged) + /** + * @brief Gets or sets the index number. + */ + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + /** + * @brief Gets or sets the production year. + */ + Q_PROPERTY(qint32 productionYear READ productionYear WRITE setProductionYear NOTIFY productionYearChanged) + /** + * @brief Gets or sets the parent index number. + */ + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + /** + * @brief Gets or sets the image tag. + */ + Q_PROPERTY(QString primaryImageTag READ primaryImageTag WRITE setPrimaryImageTag NOTIFY primaryImageTagChanged) + /** + * @brief Gets or sets the thumb image tag. + */ + Q_PROPERTY(QString thumbImageTag READ thumbImageTag WRITE setThumbImageTag NOTIFY thumbImageTagChanged) + /** + * @brief Gets or sets the thumb image item identifier. + */ + Q_PROPERTY(QString thumbImageItemId READ thumbImageItemId WRITE setThumbImageItemId NOTIFY thumbImageItemIdChanged) + /** + * @brief Gets or sets the backdrop image tag. + */ + Q_PROPERTY(QString backdropImageTag READ backdropImageTag WRITE setBackdropImageTag NOTIFY backdropImageTagChanged) + /** + * @brief Gets or sets the backdrop image item identifier. + */ + Q_PROPERTY(QString backdropImageItemId READ backdropImageItemId WRITE setBackdropImageItemId NOTIFY backdropImageItemIdChanged) + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(bool isFolder READ isFolder WRITE setIsFolder NOTIFY isFolderChanged) + /** + * @brief Gets or sets the run time ticks. + */ + Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged) + /** + * @brief Gets or sets the type of the media. + */ + Q_PROPERTY(QString mediaType READ mediaType WRITE setMediaType NOTIFY mediaTypeChanged) + Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged) + Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged) + /** + * @brief Gets or sets the series. + */ + Q_PROPERTY(QString series READ series WRITE setSeries NOTIFY seriesChanged) + Q_PROPERTY(QString status READ status WRITE setStatus NOTIFY statusChanged) + /** + * @brief Gets or sets the album. + */ + Q_PROPERTY(QString album READ album WRITE setAlbum NOTIFY albumChanged) + Q_PROPERTY(QString albumId READ albumId WRITE setAlbumId NOTIFY albumIdChanged) + /** + * @brief Gets or sets the album artist. + */ + Q_PROPERTY(QString albumArtist READ albumArtist WRITE setAlbumArtist NOTIFY albumArtistChanged) + /** + * @brief Gets or sets the artists. + */ + Q_PROPERTY(QStringList artists READ artists WRITE setArtists NOTIFY artistsChanged) + /** + * @brief Gets or sets the song count. + */ + Q_PROPERTY(qint32 songCount READ songCount WRITE setSongCount NOTIFY songCountChanged) + /** + * @brief Gets or sets the episode count. + */ + Q_PROPERTY(qint32 episodeCount READ episodeCount WRITE setEpisodeCount NOTIFY episodeCountChanged) + /** + * @brief Gets or sets the channel identifier. + */ + Q_PROPERTY(QString channelId READ channelId WRITE setChannelId NOTIFY channelIdChanged) + /** + * @brief Gets or sets the name of the channel. + */ + Q_PROPERTY(QString channelName READ channelName WRITE setChannelName NOTIFY channelNameChanged) + /** + * @brief Gets or sets the primary image aspect ratio. + */ + Q_PROPERTY(double primaryImageAspectRatio READ primaryImageAspectRatio WRITE setPrimaryImageAspectRatio NOTIFY primaryImageAspectRatioChanged) + + QString itemId() const; + void setItemId(QString newItemId); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString name() const; + void setName(QString newName); + + QString matchedTerm() const; + void setMatchedTerm(QString newMatchedTerm); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 productionYear() const; + void setProductionYear(qint32 newProductionYear); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QString primaryImageTag() const; + void setPrimaryImageTag(QString newPrimaryImageTag); + + QString thumbImageTag() const; + void setThumbImageTag(QString newThumbImageTag); + + QString thumbImageItemId() const; + void setThumbImageItemId(QString newThumbImageItemId); + + QString backdropImageTag() const; + void setBackdropImageTag(QString newBackdropImageTag); + + QString backdropImageItemId() const; + void setBackdropImageItemId(QString newBackdropImageItemId); + + QString type() const; + void setType(QString newType); + + bool isFolder() const; + void setIsFolder(bool newIsFolder); + + qint64 runTimeTicks() const; + void setRunTimeTicks(qint64 newRunTimeTicks); + + QString mediaType() const; + void setMediaType(QString newMediaType); + + QDateTime startDate() const; + void setStartDate(QDateTime newStartDate); + + QDateTime endDate() const; + void setEndDate(QDateTime newEndDate); + + QString series() const; + void setSeries(QString newSeries); + + QString status() const; + void setStatus(QString newStatus); + + QString album() const; + void setAlbum(QString newAlbum); + + QString albumId() const; + void setAlbumId(QString newAlbumId); + + QString albumArtist() const; + void setAlbumArtist(QString newAlbumArtist); + + QStringList artists() const; + void setArtists(QStringList newArtists); + + qint32 songCount() const; + void setSongCount(qint32 newSongCount); + + qint32 episodeCount() const; + void setEpisodeCount(qint32 newEpisodeCount); + + QString channelId() const; + void setChannelId(QString newChannelId); + + QString channelName() const; + void setChannelName(QString newChannelName); + + double primaryImageAspectRatio() const; + void setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio); + +signals: + void itemIdChanged(QString newItemId); + void jellyfinIdChanged(QString newJellyfinId); + void nameChanged(QString newName); + void matchedTermChanged(QString newMatchedTerm); + void indexNumberChanged(qint32 newIndexNumber); + void productionYearChanged(qint32 newProductionYear); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void primaryImageTagChanged(QString newPrimaryImageTag); + void thumbImageTagChanged(QString newThumbImageTag); + void thumbImageItemIdChanged(QString newThumbImageItemId); + void backdropImageTagChanged(QString newBackdropImageTag); + void backdropImageItemIdChanged(QString newBackdropImageItemId); + void typeChanged(QString newType); + void isFolderChanged(bool newIsFolder); + void runTimeTicksChanged(qint64 newRunTimeTicks); + void mediaTypeChanged(QString newMediaType); + void startDateChanged(QDateTime newStartDate); + void endDateChanged(QDateTime newEndDate); + void seriesChanged(QString newSeries); + void statusChanged(QString newStatus); + void albumChanged(QString newAlbum); + void albumIdChanged(QString newAlbumId); + void albumArtistChanged(QString newAlbumArtist); + void artistsChanged(QStringList newArtists); + void songCountChanged(qint32 newSongCount); + void episodeCountChanged(qint32 newEpisodeCount); + void channelIdChanged(QString newChannelId); + void channelNameChanged(QString newChannelName); + void primaryImageAspectRatioChanged(double newPrimaryImageAspectRatio); +protected: + QString m_itemId; + QString m_jellyfinId; + QString m_name; + QString m_matchedTerm; + qint32 m_indexNumber; + qint32 m_productionYear; + qint32 m_parentIndexNumber; + QString m_primaryImageTag; + QString m_thumbImageTag; + QString m_thumbImageItemId; + QString m_backdropImageTag; + QString m_backdropImageItemId; + QString m_type; + bool m_isFolder; + qint64 m_runTimeTicks; + 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; + qint32 m_songCount; + qint32 m_episodeCount; + QString m_channelId; + QString m_channelName; + double m_primaryImageAspectRatio; +}; + +} // NS Jellyfin +} // NS DTO + +#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..b03676c --- /dev/null +++ b/core/include/JellyfinQt/DTO/searchhintresult.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_SEARCHHINTRESULT_H +#define JELLYFIN_DTO_SEARCHHINTRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SearchHint; + +class SearchHintResult : public QObject { + Q_OBJECT +public: + explicit SearchHintResult(QObject *parent = nullptr); + static SearchHintResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the search hints. + */ + Q_PROPERTY(QList searchHints READ searchHints WRITE setSearchHints NOTIFY searchHintsChanged) + /** + * @brief Gets or sets the total record count. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + + QList searchHints() const; + void setSearchHints(QList newSearchHints); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + +signals: + void searchHintsChanged(QList newSearchHints); + void totalRecordCountChanged(qint32 newTotalRecordCount); +protected: + QList m_searchHints; + qint32 m_totalRecordCount; +}; + +} // NS Jellyfin +} // NS DTO + +#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..46a0e78 --- /dev/null +++ b/core/include/JellyfinQt/DTO/seekrequestdto.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_SEEKREQUESTDTO_H +#define JELLYFIN_DTO_SEEKREQUESTDTO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SeekRequestDto : public QObject { + Q_OBJECT +public: + explicit SeekRequestDto(QObject *parent = nullptr); + static SeekRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + +signals: + void positionTicksChanged(qint64 newPositionTicks); +protected: + qint64 m_positionTicks; +}; + +} // NS Jellyfin +} // NS DTO + +#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..cca3302 --- /dev/null +++ b/core/include/JellyfinQt/DTO/sendcommand.h @@ -0,0 +1,110 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SENDCOMMAND_H +#define JELLYFIN_DTO_SENDCOMMAND_H + +#include +#include +#include +#include + +#include "JellyfinQt/DTO/sendcommandtype.h" + +namespace Jellyfin { +namespace DTO { + +class SendCommand : public QObject { + Q_OBJECT +public: + explicit SendCommand(QObject *parent = nullptr); + static SendCommand *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the group identifier. + */ + Q_PROPERTY(QString groupId READ groupId WRITE setGroupId NOTIFY groupIdChanged) + /** + * @brief Gets the playlist identifier of the playing item. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + /** + * @brief Gets or sets the UTC time when to execute the command. + */ + Q_PROPERTY(QDateTime when READ when WRITE setWhen NOTIFY whenChanged) + /** + * @brief Gets the position ticks. + */ + Q_PROPERTY(qint64 positionTicks READ positionTicks WRITE setPositionTicks NOTIFY positionTicksChanged) + Q_PROPERTY(SendCommandType command READ command WRITE setCommand NOTIFY commandChanged) + /** + * @brief Gets the UTC time when this command has been emitted. + */ + Q_PROPERTY(QDateTime emittedAt READ emittedAt WRITE setEmittedAt NOTIFY emittedAtChanged) + + QString groupId() const; + void setGroupId(QString newGroupId); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + + QDateTime when() const; + void setWhen(QDateTime newWhen); + + qint64 positionTicks() const; + void setPositionTicks(qint64 newPositionTicks); + + SendCommandType command() const; + void setCommand(SendCommandType newCommand); + + QDateTime emittedAt() const; + void setEmittedAt(QDateTime newEmittedAt); + +signals: + void groupIdChanged(QString newGroupId); + void playlistItemIdChanged(QString newPlaylistItemId); + void whenChanged(QDateTime newWhen); + void positionTicksChanged(qint64 newPositionTicks); + void commandChanged(SendCommandType newCommand); + void emittedAtChanged(QDateTime newEmittedAt); +protected: + QString m_groupId; + QString m_playlistItemId; + QDateTime m_when; + qint64 m_positionTicks; + SendCommandType m_command; + QDateTime m_emittedAt; +}; + +} // NS Jellyfin +} // NS DTO + +#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..9290bf5 --- /dev/null +++ b/core/include/JellyfinQt/DTO/sendcommandtype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SENDCOMMANDTYPE_H +#define JELLYFIN_DTO_SENDCOMMANDTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SendCommandTypeClass { + Q_GADGET +public: + enum Value { + Unpause, + Pause, + Stop, + Seek, + }; + Q_ENUM(Value) +private: + explicit SendCommandTypeClass(); +}; +typedef SendCommandTypeClass::Value SendCommandType; + +} // NS Jellyfin +} // NS DTO + +#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..45f7ce7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/seriesinfo.h @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESINFO_H +#define JELLYFIN_DTO_SERIESINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SeriesInfo : public QObject { + Q_OBJECT +public: + explicit SeriesInfo(QObject *parent = nullptr); + static SeriesInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_SERIESINFO_H diff --git a/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h b/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.h new file mode 100644 index 0000000..829d585 --- /dev/null +++ b/core/include/JellyfinQt/DTO/seriesinforemotesearchquery.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_SERIESINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_SERIESINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SeriesInfo; + +class SeriesInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit SeriesInfoRemoteSearchQuery(QObject *parent = nullptr); + static SeriesInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(SeriesInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + SeriesInfo * searchInfo() const; + void setSearchInfo(SeriesInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(SeriesInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + SeriesInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#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..ef8eceb --- /dev/null +++ b/core/include/JellyfinQt/DTO/seriesstatus.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SERIESSTATUS_H +#define JELLYFIN_DTO_SERIESSTATUS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SeriesStatusClass { + Q_GADGET +public: + enum Value { + Continuing, + Ended, + }; + Q_ENUM(Value) +private: + explicit SeriesStatusClass(); +}; +typedef SeriesStatusClass::Value SeriesStatus; + +} // NS Jellyfin +} // NS DTO + +#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..e70266e --- /dev/null +++ b/core/include/JellyfinQt/DTO/seriestimerinfodto.h @@ -0,0 +1,360 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/dayofweek.h" +#include "JellyfinQt/DTO/daypattern.h" +#include "JellyfinQt/DTO/keepuntil.h" + +namespace Jellyfin { +namespace DTO { + +class SeriesTimerInfoDto : public QObject { + Q_OBJECT +public: + explicit SeriesTimerInfoDto(QObject *parent = nullptr); + static SeriesTimerInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Id of the recording. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the server identifier. + */ + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + /** + * @brief Gets or sets the external identifier. + */ + Q_PROPERTY(QString externalId READ externalId WRITE setExternalId NOTIFY externalIdChanged) + /** + * @brief ChannelId of the recording. + */ + Q_PROPERTY(QString channelId READ channelId WRITE setChannelId NOTIFY channelIdChanged) + /** + * @brief Gets or sets the external channel identifier. + */ + Q_PROPERTY(QString externalChannelId READ externalChannelId WRITE setExternalChannelId NOTIFY externalChannelIdChanged) + /** + * @brief ChannelName of the recording. + */ + Q_PROPERTY(QString channelName READ channelName WRITE setChannelName NOTIFY channelNameChanged) + Q_PROPERTY(QString channelPrimaryImageTag READ channelPrimaryImageTag WRITE setChannelPrimaryImageTag NOTIFY channelPrimaryImageTagChanged) + /** + * @brief Gets or sets the program identifier. + */ + Q_PROPERTY(QString programId READ programId WRITE setProgramId NOTIFY programIdChanged) + /** + * @brief Gets or sets the external program identifier. + */ + Q_PROPERTY(QString externalProgramId READ externalProgramId WRITE setExternalProgramId NOTIFY externalProgramIdChanged) + /** + * @brief Name of the recording. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Description of the recording. + */ + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + /** + * @brief The start date of the recording, in UTC. + */ + Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged) + /** + * @brief The end date of the recording, in UTC. + */ + Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged) + /** + * @brief Gets or sets the name of the service. + */ + Q_PROPERTY(QString serviceName READ serviceName WRITE setServiceName NOTIFY serviceNameChanged) + /** + * @brief Gets or sets the priority. + */ + Q_PROPERTY(qint32 priority READ priority WRITE setPriority NOTIFY priorityChanged) + /** + * @brief Gets or sets the pre padding seconds. + */ + Q_PROPERTY(qint32 prePaddingSeconds READ prePaddingSeconds WRITE setPrePaddingSeconds NOTIFY prePaddingSecondsChanged) + /** + * @brief Gets or sets the post padding seconds. + */ + Q_PROPERTY(qint32 postPaddingSeconds READ postPaddingSeconds WRITE setPostPaddingSeconds NOTIFY postPaddingSecondsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + Q_PROPERTY(bool isPrePaddingRequired READ isPrePaddingRequired WRITE setIsPrePaddingRequired NOTIFY isPrePaddingRequiredChanged) + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + Q_PROPERTY(QString parentBackdropItemId READ parentBackdropItemId WRITE setParentBackdropItemId NOTIFY parentBackdropItemIdChanged) + /** + * @brief Gets or sets the parent backdrop image tags. + */ + Q_PROPERTY(QStringList parentBackdropImageTags READ parentBackdropImageTags WRITE setParentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + Q_PROPERTY(bool isPostPaddingRequired READ isPostPaddingRequired WRITE setIsPostPaddingRequired NOTIFY isPostPaddingRequiredChanged) + Q_PROPERTY(KeepUntil keepUntil READ keepUntil WRITE setKeepUntil NOTIFY keepUntilChanged) + /** + * @brief Gets or sets a value indicating whether [record any time]. + */ + Q_PROPERTY(bool recordAnyTime READ recordAnyTime WRITE setRecordAnyTime NOTIFY recordAnyTimeChanged) + Q_PROPERTY(bool skipEpisodesInLibrary READ skipEpisodesInLibrary WRITE setSkipEpisodesInLibrary NOTIFY skipEpisodesInLibraryChanged) + /** + * @brief Gets or sets a value indicating whether [record any channel]. + */ + Q_PROPERTY(bool recordAnyChannel READ recordAnyChannel WRITE setRecordAnyChannel NOTIFY recordAnyChannelChanged) + Q_PROPERTY(qint32 keepUpTo READ keepUpTo WRITE setKeepUpTo NOTIFY keepUpToChanged) + /** + * @brief Gets or sets a value indicating whether [record new only]. + */ + Q_PROPERTY(bool recordNewOnly READ recordNewOnly WRITE setRecordNewOnly NOTIFY recordNewOnlyChanged) + /** + * @brief Gets or sets the days. + */ + Q_PROPERTY(QList days READ days WRITE setDays NOTIFY daysChanged) + Q_PROPERTY(DayPattern dayPattern READ dayPattern WRITE setDayPattern NOTIFY dayPatternChanged) + /** + * @brief Gets or sets the image tags. + */ + Q_PROPERTY(QJsonObject imageTags READ imageTags WRITE setImageTags NOTIFY imageTagsChanged) + /** + * @brief Gets or sets the parent thumb item id. + */ + Q_PROPERTY(QString parentThumbItemId READ parentThumbItemId WRITE setParentThumbItemId NOTIFY parentThumbItemIdChanged) + /** + * @brief Gets or sets the parent thumb image tag. + */ + Q_PROPERTY(QString parentThumbImageTag READ parentThumbImageTag WRITE setParentThumbImageTag NOTIFY parentThumbImageTagChanged) + /** + * @brief Gets or sets the parent primary image item identifier. + */ + Q_PROPERTY(QString parentPrimaryImageItemId READ parentPrimaryImageItemId WRITE setParentPrimaryImageItemId NOTIFY parentPrimaryImageItemIdChanged) + /** + * @brief Gets or sets the parent primary image tag. + */ + Q_PROPERTY(QString parentPrimaryImageTag READ parentPrimaryImageTag WRITE setParentPrimaryImageTag NOTIFY parentPrimaryImageTagChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString type() const; + void setType(QString newType); + + QString serverId() const; + void setServerId(QString newServerId); + + QString externalId() const; + void setExternalId(QString newExternalId); + + QString channelId() const; + void setChannelId(QString newChannelId); + + QString externalChannelId() const; + void setExternalChannelId(QString newExternalChannelId); + + QString channelName() const; + void setChannelName(QString newChannelName); + + QString channelPrimaryImageTag() const; + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + + QString programId() const; + void setProgramId(QString newProgramId); + + QString externalProgramId() const; + void setExternalProgramId(QString newExternalProgramId); + + QString name() const; + void setName(QString newName); + + QString overview() const; + void setOverview(QString newOverview); + + QDateTime startDate() const; + void setStartDate(QDateTime newStartDate); + + QDateTime endDate() const; + void setEndDate(QDateTime newEndDate); + + QString serviceName() const; + void setServiceName(QString newServiceName); + + qint32 priority() const; + void setPriority(qint32 newPriority); + + qint32 prePaddingSeconds() const; + void setPrePaddingSeconds(qint32 newPrePaddingSeconds); + + qint32 postPaddingSeconds() const; + void setPostPaddingSeconds(qint32 newPostPaddingSeconds); + + bool isPrePaddingRequired() const; + void setIsPrePaddingRequired(bool newIsPrePaddingRequired); + + QString parentBackdropItemId() const; + void setParentBackdropItemId(QString newParentBackdropItemId); + + QStringList parentBackdropImageTags() const; + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + + bool isPostPaddingRequired() const; + void setIsPostPaddingRequired(bool newIsPostPaddingRequired); + + KeepUntil keepUntil() const; + void setKeepUntil(KeepUntil newKeepUntil); + + bool recordAnyTime() const; + void setRecordAnyTime(bool newRecordAnyTime); + + bool skipEpisodesInLibrary() const; + void setSkipEpisodesInLibrary(bool newSkipEpisodesInLibrary); + + bool recordAnyChannel() const; + void setRecordAnyChannel(bool newRecordAnyChannel); + + qint32 keepUpTo() const; + void setKeepUpTo(qint32 newKeepUpTo); + + bool recordNewOnly() const; + void setRecordNewOnly(bool newRecordNewOnly); + + QList days() const; + void setDays(QList newDays); + + DayPattern dayPattern() const; + void setDayPattern(DayPattern newDayPattern); + + QJsonObject imageTags() const; + void setImageTags(QJsonObject newImageTags); + + QString parentThumbItemId() const; + void setParentThumbItemId(QString newParentThumbItemId); + + QString parentThumbImageTag() const; + void setParentThumbImageTag(QString newParentThumbImageTag); + + QString parentPrimaryImageItemId() const; + void setParentPrimaryImageItemId(QString newParentPrimaryImageItemId); + + QString parentPrimaryImageTag() const; + void setParentPrimaryImageTag(QString newParentPrimaryImageTag); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void typeChanged(QString newType); + void serverIdChanged(QString newServerId); + void externalIdChanged(QString newExternalId); + void channelIdChanged(QString newChannelId); + void externalChannelIdChanged(QString newExternalChannelId); + void channelNameChanged(QString newChannelName); + void channelPrimaryImageTagChanged(QString newChannelPrimaryImageTag); + void programIdChanged(QString newProgramId); + void externalProgramIdChanged(QString newExternalProgramId); + void nameChanged(QString newName); + void overviewChanged(QString newOverview); + void startDateChanged(QDateTime newStartDate); + void endDateChanged(QDateTime newEndDate); + void serviceNameChanged(QString newServiceName); + void priorityChanged(qint32 newPriority); + void prePaddingSecondsChanged(qint32 newPrePaddingSeconds); + void postPaddingSecondsChanged(qint32 newPostPaddingSeconds); + void isPrePaddingRequiredChanged(bool newIsPrePaddingRequired); + void parentBackdropItemIdChanged(QString newParentBackdropItemId); + void parentBackdropImageTagsChanged(QStringList newParentBackdropImageTags); + void isPostPaddingRequiredChanged(bool newIsPostPaddingRequired); + void keepUntilChanged(KeepUntil newKeepUntil); + void recordAnyTimeChanged(bool newRecordAnyTime); + void skipEpisodesInLibraryChanged(bool newSkipEpisodesInLibrary); + void recordAnyChannelChanged(bool newRecordAnyChannel); + void keepUpToChanged(qint32 newKeepUpTo); + void recordNewOnlyChanged(bool newRecordNewOnly); + void daysChanged(QList newDays); + void dayPatternChanged(DayPattern newDayPattern); + void imageTagsChanged(QJsonObject newImageTags); + void parentThumbItemIdChanged(QString newParentThumbItemId); + void parentThumbImageTagChanged(QString newParentThumbImageTag); + void parentPrimaryImageItemIdChanged(QString newParentPrimaryImageItemId); + void parentPrimaryImageTagChanged(QString newParentPrimaryImageTag); +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; + QJsonObject m_imageTags; + QString m_parentThumbItemId; + QString m_parentThumbImageTag; + QString m_parentPrimaryImageItemId; + QString m_parentPrimaryImageTag; +}; + +} // NS Jellyfin +} // NS DTO + +#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..a38e797 --- /dev/null +++ b/core/include/JellyfinQt/DTO/seriestimerinfodtoqueryresult.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_SERIESTIMERINFODTOQUERYRESULT_H +#define JELLYFIN_DTO_SERIESTIMERINFODTOQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SeriesTimerInfoDto; + +class SeriesTimerInfoDtoQueryResult : public QObject { + Q_OBJECT +public: + explicit SeriesTimerInfoDtoQueryResult(QObject *parent = nullptr); + static SeriesTimerInfoDtoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..0867da9 --- /dev/null +++ b/core/include/JellyfinQt/DTO/serverconfiguration.h @@ -0,0 +1,766 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/imagesavingconvention.h" + +namespace Jellyfin { +namespace DTO { + +class MetadataOptions; +class NameValuePair; +class PathSubstitution; +class RepositoryInfo; +class Version; + +class ServerConfiguration : public QObject { + Q_OBJECT +public: + explicit ServerConfiguration(QObject *parent = nullptr); + static ServerConfiguration *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the number of days we should retain log files. + */ + Q_PROPERTY(qint32 logFileRetentionDays READ logFileRetentionDays WRITE setLogFileRetentionDays NOTIFY logFileRetentionDaysChanged) + /** + * @brief Gets or sets a value indicating whether this instance is first run. + */ + Q_PROPERTY(bool isStartupWizardCompleted READ isStartupWizardCompleted WRITE setIsStartupWizardCompleted NOTIFY isStartupWizardCompletedChanged) + /** + * @brief Gets or sets the cache path. + */ + Q_PROPERTY(QString cachePath READ cachePath WRITE setCachePath NOTIFY cachePathChanged) + Q_PROPERTY(Version * previousVersion READ previousVersion WRITE setPreviousVersion NOTIFY previousVersionChanged) + /** + * @brief Gets or sets the stringified PreviousVersion to be stored/loaded, +because System.Version itself isn't xml-serializable. + */ + Q_PROPERTY(QString previousVersionStr READ previousVersionStr WRITE setPreviousVersionStr NOTIFY previousVersionStrChanged) + /** + * @brief Gets or sets a value indicating whether to enable automatic port forwarding. + */ + Q_PROPERTY(bool enableUPnP READ enableUPnP WRITE setEnableUPnP NOTIFY enableUPnPChanged) + /** + * @brief Gets or sets a value indicating whether to enable prometheus metrics exporting. + */ + Q_PROPERTY(bool enableMetrics READ enableMetrics WRITE setEnableMetrics NOTIFY enableMetricsChanged) + /** + * @brief Gets or sets the public mapped port. + */ + Q_PROPERTY(qint32 publicPort READ publicPort WRITE setPublicPort NOTIFY publicPortChanged) + /** + * @brief Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. + */ + Q_PROPERTY(bool uPnPCreateHttpPortMap READ uPnPCreateHttpPortMap WRITE setUPnPCreateHttpPortMap NOTIFY uPnPCreateHttpPortMapChanged) + /** + * @brief Gets or sets client udp port range. + */ + Q_PROPERTY(QString uDPPortRange READ uDPPortRange WRITE setUDPPortRange NOTIFY uDPPortRangeChanged) + /** + * @brief Gets or sets a value indicating whether IPV6 capability is enabled. + */ + Q_PROPERTY(bool enableIPV6 READ enableIPV6 WRITE setEnableIPV6 NOTIFY enableIPV6Changed) + /** + * @brief Gets or sets a value indicating whether IPV4 capability is enabled. + */ + Q_PROPERTY(bool enableIPV4 READ enableIPV4 WRITE setEnableIPV4 NOTIFY enableIPV4Changed) + /** + * @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. + */ + Q_PROPERTY(bool enableSSDPTracing READ enableSSDPTracing WRITE setEnableSSDPTracing NOTIFY enableSSDPTracingChanged) + /** + * @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. + */ + Q_PROPERTY(QString sSDPTracingFilter READ sSDPTracingFilter WRITE setSSDPTracingFilter NOTIFY sSDPTracingFilterChanged) + /** + * @brief Gets or sets the number of times SSDP UDP messages are sent. + */ + Q_PROPERTY(qint32 uDPSendCount READ uDPSendCount WRITE setUDPSendCount NOTIFY uDPSendCountChanged) + /** + * @brief Gets or sets the delay between each groups of SSDP messages (in ms). + */ + Q_PROPERTY(qint32 uDPSendDelay READ uDPSendDelay WRITE setUDPSendDelay NOTIFY uDPSendDelayChanged) + /** + * @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. + */ + Q_PROPERTY(bool ignoreVirtualInterfaces READ ignoreVirtualInterfaces WRITE setIgnoreVirtualInterfaces NOTIFY ignoreVirtualInterfacesChanged) + /** + * @brief Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . + */ + Q_PROPERTY(QString virtualInterfaceNames READ virtualInterfaceNames WRITE setVirtualInterfaceNames NOTIFY virtualInterfaceNamesChanged) + /** + * @brief Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. + */ + Q_PROPERTY(qint32 gatewayMonitorPeriod READ gatewayMonitorPeriod WRITE setGatewayMonitorPeriod NOTIFY gatewayMonitorPeriodChanged) + /** + * @brief Gets a value indicating whether multi-socket binding is available. + */ + Q_PROPERTY(bool enableMultiSocketBinding READ enableMultiSocketBinding WRITE setEnableMultiSocketBinding NOTIFY enableMultiSocketBindingChanged) + /** + * @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. + */ + Q_PROPERTY(bool trustAllIP6Interfaces READ trustAllIP6Interfaces WRITE setTrustAllIP6Interfaces NOTIFY trustAllIP6InterfacesChanged) + /** + * @brief Gets or sets the ports that HDHomerun uses. + */ + Q_PROPERTY(QString hDHomerunPortRange READ hDHomerunPortRange WRITE setHDHomerunPortRange NOTIFY hDHomerunPortRangeChanged) + /** + * @brief Gets or sets PublishedServerUri to advertise for specific subnets. + */ + Q_PROPERTY(QStringList publishedServerUriBySubnet READ publishedServerUriBySubnet WRITE setPublishedServerUriBySubnet NOTIFY publishedServerUriBySubnetChanged) + /** + * @brief Gets or sets a value indicating whether Autodiscovery tracing is enabled. + */ + Q_PROPERTY(bool autoDiscoveryTracing READ autoDiscoveryTracing WRITE setAutoDiscoveryTracing NOTIFY autoDiscoveryTracingChanged) + /** + * @brief Gets or sets a value indicating whether Autodiscovery is enabled. + */ + Q_PROPERTY(bool autoDiscovery READ autoDiscovery WRITE setAutoDiscovery NOTIFY autoDiscoveryChanged) + /** + * @brief Gets or sets the public HTTPS port. + */ + Q_PROPERTY(qint32 publicHttpsPort READ publicHttpsPort WRITE setPublicHttpsPort NOTIFY publicHttpsPortChanged) + /** + * @brief Gets or sets the HTTP server port number. + */ + Q_PROPERTY(qint32 httpServerPortNumber READ httpServerPortNumber WRITE setHttpServerPortNumber NOTIFY httpServerPortNumberChanged) + /** + * @brief Gets or sets the HTTPS server port number. + */ + Q_PROPERTY(qint32 httpsPortNumber READ httpsPortNumber WRITE setHttpsPortNumber NOTIFY httpsPortNumberChanged) + /** + * @brief Gets or sets a value indicating whether to use HTTPS. + */ + Q_PROPERTY(bool enableHttps READ enableHttps WRITE setEnableHttps NOTIFY enableHttpsChanged) + Q_PROPERTY(bool enableNormalizedItemByNameIds READ enableNormalizedItemByNameIds WRITE setEnableNormalizedItemByNameIds NOTIFY enableNormalizedItemByNameIdsChanged) + /** + * @brief Gets or sets the filesystem path of an X.509 certificate to use for SSL. + */ + Q_PROPERTY(QString certificatePath READ certificatePath WRITE setCertificatePath NOTIFY certificatePathChanged) + /** + * @brief Gets or sets the password required to access the X.509 certificate data in the file specified by MediaBrowser.Model.Configuration.ServerConfiguration.CertificatePath. + */ + Q_PROPERTY(QString certificatePassword READ certificatePassword WRITE setCertificatePassword NOTIFY certificatePasswordChanged) + /** + * @brief Gets or sets a value indicating whether this instance is port authorized. + */ + Q_PROPERTY(bool isPortAuthorized READ isPortAuthorized WRITE setIsPortAuthorized NOTIFY isPortAuthorizedChanged) + /** + * @brief Gets or sets a value indicating whether quick connect is available for use on this server. + */ + Q_PROPERTY(bool quickConnectAvailable READ quickConnectAvailable WRITE setQuickConnectAvailable NOTIFY quickConnectAvailableChanged) + /** + * @brief Gets or sets a value indicating whether access outside of the LAN is permitted. + */ + Q_PROPERTY(bool enableRemoteAccess READ enableRemoteAccess WRITE setEnableRemoteAccess NOTIFY enableRemoteAccessChanged) + /** + * @brief Gets or sets a value indicating whether [enable case sensitive item ids]. + */ + Q_PROPERTY(bool enableCaseSensitiveItemIds READ enableCaseSensitiveItemIds WRITE setEnableCaseSensitiveItemIds NOTIFY enableCaseSensitiveItemIdsChanged) + Q_PROPERTY(bool disableLiveTvChannelUserDataName READ disableLiveTvChannelUserDataName WRITE setDisableLiveTvChannelUserDataName NOTIFY disableLiveTvChannelUserDataNameChanged) + /** + * @brief Gets or sets the metadata path. + */ + Q_PROPERTY(QString metadataPath READ metadataPath WRITE setMetadataPath NOTIFY metadataPathChanged) + Q_PROPERTY(QString metadataNetworkPath READ metadataNetworkPath WRITE setMetadataNetworkPath NOTIFY metadataNetworkPathChanged) + /** + * @brief Gets or sets the preferred metadata language. + */ + Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage WRITE setPreferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets characters to be replaced with a ' ' in strings to create a sort name. + */ + Q_PROPERTY(QStringList sortReplaceCharacters READ sortReplaceCharacters WRITE setSortReplaceCharacters NOTIFY sortReplaceCharactersChanged) + /** + * @brief Gets or sets characters to be removed from strings to create a sort name. + */ + Q_PROPERTY(QStringList sortRemoveCharacters READ sortRemoveCharacters WRITE setSortRemoveCharacters NOTIFY sortRemoveCharactersChanged) + /** + * @brief Gets or sets words to be removed from strings to create a sort name. + */ + Q_PROPERTY(QStringList sortRemoveWords READ sortRemoveWords WRITE setSortRemoveWords NOTIFY sortRemoveWordsChanged) + /** + * @brief Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + */ + Q_PROPERTY(qint32 minResumePct READ minResumePct WRITE setMinResumePct NOTIFY minResumePctChanged) + /** + * @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. + */ + Q_PROPERTY(qint32 maxResumePct READ maxResumePct WRITE setMaxResumePct NOTIFY maxResumePctChanged) + /** + * @brief Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + */ + Q_PROPERTY(qint32 minResumeDurationSeconds READ minResumeDurationSeconds WRITE setMinResumeDurationSeconds NOTIFY minResumeDurationSecondsChanged) + /** + * @brief Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + */ + Q_PROPERTY(qint32 minAudiobookResume READ minAudiobookResume WRITE setMinAudiobookResume NOTIFY minAudiobookResumeChanged) + /** + * @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. + */ + Q_PROPERTY(qint32 maxAudiobookResume READ maxAudiobookResume WRITE setMaxAudiobookResume NOTIFY maxAudiobookResumeChanged) + /** + * @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. + */ + Q_PROPERTY(qint32 libraryMonitorDelay READ libraryMonitorDelay WRITE setLibraryMonitorDelay NOTIFY libraryMonitorDelayChanged) + /** + * @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. + */ + Q_PROPERTY(bool enableDashboardResponseCaching READ enableDashboardResponseCaching WRITE setEnableDashboardResponseCaching NOTIFY enableDashboardResponseCachingChanged) + Q_PROPERTY(ImageSavingConvention imageSavingConvention READ imageSavingConvention WRITE setImageSavingConvention NOTIFY imageSavingConventionChanged) + Q_PROPERTY(QList metadataOptions READ metadataOptions WRITE setMetadataOptions NOTIFY metadataOptionsChanged) + Q_PROPERTY(bool skipDeserializationForBasicTypes READ skipDeserializationForBasicTypes WRITE setSkipDeserializationForBasicTypes NOTIFY skipDeserializationForBasicTypesChanged) + Q_PROPERTY(QString serverName READ serverName WRITE setServerName NOTIFY serverNameChanged) + Q_PROPERTY(QString baseUrl READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged) + Q_PROPERTY(QString uICulture READ uICulture WRITE setUICulture NOTIFY uICultureChanged) + Q_PROPERTY(bool saveMetadataHidden READ saveMetadataHidden WRITE setSaveMetadataHidden NOTIFY saveMetadataHiddenChanged) + Q_PROPERTY(QList contentTypes READ contentTypes WRITE setContentTypes NOTIFY contentTypesChanged) + Q_PROPERTY(qint32 remoteClientBitrateLimit READ remoteClientBitrateLimit WRITE setRemoteClientBitrateLimit NOTIFY remoteClientBitrateLimitChanged) + Q_PROPERTY(bool enableFolderView READ enableFolderView WRITE setEnableFolderView NOTIFY enableFolderViewChanged) + Q_PROPERTY(bool enableGroupingIntoCollections READ enableGroupingIntoCollections WRITE setEnableGroupingIntoCollections NOTIFY enableGroupingIntoCollectionsChanged) + Q_PROPERTY(bool displaySpecialsWithinSeasons READ displaySpecialsWithinSeasons WRITE setDisplaySpecialsWithinSeasons NOTIFY displaySpecialsWithinSeasonsChanged) + /** + * @brief Gets or sets the subnets that are deemed to make up the LAN. + */ + Q_PROPERTY(QStringList localNetworkSubnets READ localNetworkSubnets WRITE setLocalNetworkSubnets NOTIFY localNetworkSubnetsChanged) + /** + * @brief Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. + */ + Q_PROPERTY(QStringList localNetworkAddresses READ localNetworkAddresses WRITE setLocalNetworkAddresses NOTIFY localNetworkAddressesChanged) + Q_PROPERTY(QStringList codecsUsed READ codecsUsed WRITE setCodecsUsed NOTIFY codecsUsedChanged) + Q_PROPERTY(QList pluginRepositories READ pluginRepositories WRITE setPluginRepositories NOTIFY pluginRepositoriesChanged) + Q_PROPERTY(bool enableExternalContentInSuggestions READ enableExternalContentInSuggestions WRITE setEnableExternalContentInSuggestions NOTIFY enableExternalContentInSuggestionsChanged) + /** + * @brief Gets or sets a value indicating whether the server should force connections over HTTPS. + */ + Q_PROPERTY(bool requireHttps READ requireHttps WRITE setRequireHttps NOTIFY requireHttpsChanged) + Q_PROPERTY(bool enableNewOmdbSupport READ enableNewOmdbSupport WRITE setEnableNewOmdbSupport NOTIFY enableNewOmdbSupportChanged) + /** + * @brief Gets or sets the filter for remote IP connectivity. Used in conjuntion with . + */ + Q_PROPERTY(QStringList remoteIPFilter READ remoteIPFilter WRITE setRemoteIPFilter NOTIFY remoteIPFilterChanged) + /** + * @brief Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. + */ + Q_PROPERTY(bool isRemoteIPFilterBlacklist READ isRemoteIPFilterBlacklist WRITE setIsRemoteIPFilterBlacklist NOTIFY isRemoteIPFilterBlacklistChanged) + Q_PROPERTY(qint32 imageExtractionTimeoutMs READ imageExtractionTimeoutMs WRITE setImageExtractionTimeoutMs NOTIFY imageExtractionTimeoutMsChanged) + Q_PROPERTY(QList pathSubstitutions READ pathSubstitutions WRITE setPathSubstitutions NOTIFY pathSubstitutionsChanged) + Q_PROPERTY(bool enableSimpleArtistDetection READ enableSimpleArtistDetection WRITE setEnableSimpleArtistDetection NOTIFY enableSimpleArtistDetectionChanged) + Q_PROPERTY(QStringList uninstalledPlugins READ uninstalledPlugins WRITE setUninstalledPlugins NOTIFY uninstalledPluginsChanged) + /** + * @brief Gets or sets a value indicating whether slow server responses should be logged as a warning. + */ + Q_PROPERTY(bool enableSlowResponseWarning READ enableSlowResponseWarning WRITE setEnableSlowResponseWarning NOTIFY enableSlowResponseWarningChanged) + /** + * @brief Gets or sets the threshold for the slow response time warning in ms. + */ + Q_PROPERTY(qint64 slowResponseThresholdMs READ slowResponseThresholdMs WRITE setSlowResponseThresholdMs NOTIFY slowResponseThresholdMsChanged) + /** + * @brief Gets or sets the cors hosts. + */ + Q_PROPERTY(QStringList corsHosts READ corsHosts WRITE setCorsHosts NOTIFY corsHostsChanged) + /** + * @brief Gets or sets the known proxies. + */ + Q_PROPERTY(QStringList knownProxies READ knownProxies WRITE setKnownProxies NOTIFY knownProxiesChanged) + /** + * @brief Gets or sets the number of days we should retain activity logs. + */ + Q_PROPERTY(qint32 activityLogRetentionDays READ activityLogRetentionDays WRITE setActivityLogRetentionDays NOTIFY activityLogRetentionDaysChanged) + /** + * @brief Gets or sets the how the library scan fans out. + */ + Q_PROPERTY(qint32 libraryScanFanoutConcurrency READ libraryScanFanoutConcurrency WRITE setLibraryScanFanoutConcurrency NOTIFY libraryScanFanoutConcurrencyChanged) + /** + * @brief Gets or sets the how many metadata refreshes can run concurrently. + */ + Q_PROPERTY(qint32 libraryMetadataRefreshConcurrency READ libraryMetadataRefreshConcurrency WRITE setLibraryMetadataRefreshConcurrency NOTIFY libraryMetadataRefreshConcurrencyChanged) + /** + * @brief Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. + */ + Q_PROPERTY(bool removeOldPlugins READ removeOldPlugins WRITE setRemoveOldPlugins NOTIFY removeOldPluginsChanged) + /** + * @brief Gets or sets a value indicating whether plugin image should be disabled. + */ + Q_PROPERTY(bool disablePluginImages READ disablePluginImages WRITE setDisablePluginImages NOTIFY disablePluginImagesChanged) + + qint32 logFileRetentionDays() const; + void setLogFileRetentionDays(qint32 newLogFileRetentionDays); + + bool isStartupWizardCompleted() const; + void setIsStartupWizardCompleted(bool newIsStartupWizardCompleted); + + QString cachePath() const; + void setCachePath(QString newCachePath); + + Version * previousVersion() const; + void setPreviousVersion(Version * newPreviousVersion); + + QString previousVersionStr() const; + void setPreviousVersionStr(QString newPreviousVersionStr); + + bool enableUPnP() const; + void setEnableUPnP(bool newEnableUPnP); + + bool enableMetrics() const; + void setEnableMetrics(bool newEnableMetrics); + + qint32 publicPort() const; + void setPublicPort(qint32 newPublicPort); + + bool uPnPCreateHttpPortMap() const; + void setUPnPCreateHttpPortMap(bool newUPnPCreateHttpPortMap); + + QString uDPPortRange() const; + void setUDPPortRange(QString newUDPPortRange); + + bool enableIPV6() const; + void setEnableIPV6(bool newEnableIPV6); + + bool enableIPV4() const; + void setEnableIPV4(bool newEnableIPV4); + + bool enableSSDPTracing() const; + void setEnableSSDPTracing(bool newEnableSSDPTracing); + + QString sSDPTracingFilter() const; + void setSSDPTracingFilter(QString newSSDPTracingFilter); + + qint32 uDPSendCount() const; + void setUDPSendCount(qint32 newUDPSendCount); + + qint32 uDPSendDelay() const; + void setUDPSendDelay(qint32 newUDPSendDelay); + + bool ignoreVirtualInterfaces() const; + void setIgnoreVirtualInterfaces(bool newIgnoreVirtualInterfaces); + + QString virtualInterfaceNames() const; + void setVirtualInterfaceNames(QString newVirtualInterfaceNames); + + qint32 gatewayMonitorPeriod() const; + void setGatewayMonitorPeriod(qint32 newGatewayMonitorPeriod); + + bool enableMultiSocketBinding() const; + void setEnableMultiSocketBinding(bool newEnableMultiSocketBinding); + + bool trustAllIP6Interfaces() const; + void setTrustAllIP6Interfaces(bool newTrustAllIP6Interfaces); + + QString hDHomerunPortRange() const; + void setHDHomerunPortRange(QString newHDHomerunPortRange); + + QStringList publishedServerUriBySubnet() const; + void setPublishedServerUriBySubnet(QStringList newPublishedServerUriBySubnet); + + bool autoDiscoveryTracing() const; + void setAutoDiscoveryTracing(bool newAutoDiscoveryTracing); + + bool autoDiscovery() const; + void setAutoDiscovery(bool newAutoDiscovery); + + qint32 publicHttpsPort() const; + void setPublicHttpsPort(qint32 newPublicHttpsPort); + + qint32 httpServerPortNumber() const; + void setHttpServerPortNumber(qint32 newHttpServerPortNumber); + + qint32 httpsPortNumber() const; + void setHttpsPortNumber(qint32 newHttpsPortNumber); + + bool enableHttps() const; + void setEnableHttps(bool newEnableHttps); + + bool enableNormalizedItemByNameIds() const; + void setEnableNormalizedItemByNameIds(bool newEnableNormalizedItemByNameIds); + + QString certificatePath() const; + void setCertificatePath(QString newCertificatePath); + + QString certificatePassword() const; + void setCertificatePassword(QString newCertificatePassword); + + bool isPortAuthorized() const; + void setIsPortAuthorized(bool newIsPortAuthorized); + + bool quickConnectAvailable() const; + void setQuickConnectAvailable(bool newQuickConnectAvailable); + + bool enableRemoteAccess() const; + void setEnableRemoteAccess(bool newEnableRemoteAccess); + + bool enableCaseSensitiveItemIds() const; + void setEnableCaseSensitiveItemIds(bool newEnableCaseSensitiveItemIds); + + bool disableLiveTvChannelUserDataName() const; + void setDisableLiveTvChannelUserDataName(bool newDisableLiveTvChannelUserDataName); + + QString metadataPath() const; + void setMetadataPath(QString newMetadataPath); + + QString metadataNetworkPath() const; + void setMetadataNetworkPath(QString newMetadataNetworkPath); + + QString preferredMetadataLanguage() const; + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QStringList sortReplaceCharacters() const; + void setSortReplaceCharacters(QStringList newSortReplaceCharacters); + + QStringList sortRemoveCharacters() const; + void setSortRemoveCharacters(QStringList newSortRemoveCharacters); + + QStringList sortRemoveWords() const; + void setSortRemoveWords(QStringList newSortRemoveWords); + + qint32 minResumePct() const; + void setMinResumePct(qint32 newMinResumePct); + + qint32 maxResumePct() const; + void setMaxResumePct(qint32 newMaxResumePct); + + qint32 minResumeDurationSeconds() const; + void setMinResumeDurationSeconds(qint32 newMinResumeDurationSeconds); + + qint32 minAudiobookResume() const; + void setMinAudiobookResume(qint32 newMinAudiobookResume); + + qint32 maxAudiobookResume() const; + void setMaxAudiobookResume(qint32 newMaxAudiobookResume); + + qint32 libraryMonitorDelay() const; + void setLibraryMonitorDelay(qint32 newLibraryMonitorDelay); + + bool enableDashboardResponseCaching() const; + void setEnableDashboardResponseCaching(bool newEnableDashboardResponseCaching); + + ImageSavingConvention imageSavingConvention() const; + void setImageSavingConvention(ImageSavingConvention newImageSavingConvention); + + QList metadataOptions() const; + void setMetadataOptions(QList newMetadataOptions); + + bool skipDeserializationForBasicTypes() const; + void setSkipDeserializationForBasicTypes(bool newSkipDeserializationForBasicTypes); + + QString serverName() const; + void setServerName(QString newServerName); + + QString baseUrl() const; + void setBaseUrl(QString newBaseUrl); + + QString uICulture() const; + void setUICulture(QString newUICulture); + + bool saveMetadataHidden() const; + void setSaveMetadataHidden(bool newSaveMetadataHidden); + + QList contentTypes() const; + void setContentTypes(QList newContentTypes); + + 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); + + QStringList localNetworkSubnets() const; + void setLocalNetworkSubnets(QStringList newLocalNetworkSubnets); + + QStringList localNetworkAddresses() const; + void setLocalNetworkAddresses(QStringList newLocalNetworkAddresses); + + QStringList codecsUsed() const; + void setCodecsUsed(QStringList newCodecsUsed); + + QList pluginRepositories() const; + void setPluginRepositories(QList newPluginRepositories); + + bool enableExternalContentInSuggestions() const; + void setEnableExternalContentInSuggestions(bool newEnableExternalContentInSuggestions); + + bool requireHttps() const; + void setRequireHttps(bool newRequireHttps); + + bool enableNewOmdbSupport() const; + void setEnableNewOmdbSupport(bool newEnableNewOmdbSupport); + + QStringList remoteIPFilter() const; + void setRemoteIPFilter(QStringList newRemoteIPFilter); + + bool isRemoteIPFilterBlacklist() const; + void setIsRemoteIPFilterBlacklist(bool newIsRemoteIPFilterBlacklist); + + qint32 imageExtractionTimeoutMs() const; + void setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs); + + QList pathSubstitutions() const; + void setPathSubstitutions(QList newPathSubstitutions); + + bool enableSimpleArtistDetection() const; + void setEnableSimpleArtistDetection(bool newEnableSimpleArtistDetection); + + QStringList uninstalledPlugins() const; + void setUninstalledPlugins(QStringList newUninstalledPlugins); + + bool enableSlowResponseWarning() const; + void setEnableSlowResponseWarning(bool newEnableSlowResponseWarning); + + qint64 slowResponseThresholdMs() const; + void setSlowResponseThresholdMs(qint64 newSlowResponseThresholdMs); + + QStringList corsHosts() const; + void setCorsHosts(QStringList newCorsHosts); + + QStringList knownProxies() const; + void setKnownProxies(QStringList newKnownProxies); + + qint32 activityLogRetentionDays() const; + void setActivityLogRetentionDays(qint32 newActivityLogRetentionDays); + + qint32 libraryScanFanoutConcurrency() const; + void setLibraryScanFanoutConcurrency(qint32 newLibraryScanFanoutConcurrency); + + qint32 libraryMetadataRefreshConcurrency() const; + void setLibraryMetadataRefreshConcurrency(qint32 newLibraryMetadataRefreshConcurrency); + + bool removeOldPlugins() const; + void setRemoveOldPlugins(bool newRemoveOldPlugins); + + bool disablePluginImages() const; + void setDisablePluginImages(bool newDisablePluginImages); + +signals: + void logFileRetentionDaysChanged(qint32 newLogFileRetentionDays); + void isStartupWizardCompletedChanged(bool newIsStartupWizardCompleted); + void cachePathChanged(QString newCachePath); + void previousVersionChanged(Version * newPreviousVersion); + void previousVersionStrChanged(QString newPreviousVersionStr); + void enableUPnPChanged(bool newEnableUPnP); + void enableMetricsChanged(bool newEnableMetrics); + void publicPortChanged(qint32 newPublicPort); + void uPnPCreateHttpPortMapChanged(bool newUPnPCreateHttpPortMap); + void uDPPortRangeChanged(QString newUDPPortRange); + void enableIPV6Changed(bool newEnableIPV6); + void enableIPV4Changed(bool newEnableIPV4); + void enableSSDPTracingChanged(bool newEnableSSDPTracing); + void sSDPTracingFilterChanged(QString newSSDPTracingFilter); + void uDPSendCountChanged(qint32 newUDPSendCount); + void uDPSendDelayChanged(qint32 newUDPSendDelay); + void ignoreVirtualInterfacesChanged(bool newIgnoreVirtualInterfaces); + void virtualInterfaceNamesChanged(QString newVirtualInterfaceNames); + void gatewayMonitorPeriodChanged(qint32 newGatewayMonitorPeriod); + void enableMultiSocketBindingChanged(bool newEnableMultiSocketBinding); + void trustAllIP6InterfacesChanged(bool newTrustAllIP6Interfaces); + void hDHomerunPortRangeChanged(QString newHDHomerunPortRange); + void publishedServerUriBySubnetChanged(QStringList newPublishedServerUriBySubnet); + void autoDiscoveryTracingChanged(bool newAutoDiscoveryTracing); + void autoDiscoveryChanged(bool newAutoDiscovery); + void publicHttpsPortChanged(qint32 newPublicHttpsPort); + void httpServerPortNumberChanged(qint32 newHttpServerPortNumber); + void httpsPortNumberChanged(qint32 newHttpsPortNumber); + void enableHttpsChanged(bool newEnableHttps); + void enableNormalizedItemByNameIdsChanged(bool newEnableNormalizedItemByNameIds); + void certificatePathChanged(QString newCertificatePath); + void certificatePasswordChanged(QString newCertificatePassword); + void isPortAuthorizedChanged(bool newIsPortAuthorized); + void quickConnectAvailableChanged(bool newQuickConnectAvailable); + void enableRemoteAccessChanged(bool newEnableRemoteAccess); + void enableCaseSensitiveItemIdsChanged(bool newEnableCaseSensitiveItemIds); + void disableLiveTvChannelUserDataNameChanged(bool newDisableLiveTvChannelUserDataName); + void metadataPathChanged(QString newMetadataPath); + void metadataNetworkPathChanged(QString newMetadataNetworkPath); + void preferredMetadataLanguageChanged(QString newPreferredMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void sortReplaceCharactersChanged(QStringList newSortReplaceCharacters); + void sortRemoveCharactersChanged(QStringList newSortRemoveCharacters); + void sortRemoveWordsChanged(QStringList newSortRemoveWords); + void minResumePctChanged(qint32 newMinResumePct); + void maxResumePctChanged(qint32 newMaxResumePct); + void minResumeDurationSecondsChanged(qint32 newMinResumeDurationSeconds); + void minAudiobookResumeChanged(qint32 newMinAudiobookResume); + void maxAudiobookResumeChanged(qint32 newMaxAudiobookResume); + void libraryMonitorDelayChanged(qint32 newLibraryMonitorDelay); + void enableDashboardResponseCachingChanged(bool newEnableDashboardResponseCaching); + void imageSavingConventionChanged(ImageSavingConvention newImageSavingConvention); + void metadataOptionsChanged(QList newMetadataOptions); + void skipDeserializationForBasicTypesChanged(bool newSkipDeserializationForBasicTypes); + void serverNameChanged(QString newServerName); + void baseUrlChanged(QString newBaseUrl); + void uICultureChanged(QString newUICulture); + void saveMetadataHiddenChanged(bool newSaveMetadataHidden); + void contentTypesChanged(QList newContentTypes); + void remoteClientBitrateLimitChanged(qint32 newRemoteClientBitrateLimit); + void enableFolderViewChanged(bool newEnableFolderView); + void enableGroupingIntoCollectionsChanged(bool newEnableGroupingIntoCollections); + void displaySpecialsWithinSeasonsChanged(bool newDisplaySpecialsWithinSeasons); + void localNetworkSubnetsChanged(QStringList newLocalNetworkSubnets); + void localNetworkAddressesChanged(QStringList newLocalNetworkAddresses); + void codecsUsedChanged(QStringList newCodecsUsed); + void pluginRepositoriesChanged(QList newPluginRepositories); + void enableExternalContentInSuggestionsChanged(bool newEnableExternalContentInSuggestions); + void requireHttpsChanged(bool newRequireHttps); + void enableNewOmdbSupportChanged(bool newEnableNewOmdbSupport); + void remoteIPFilterChanged(QStringList newRemoteIPFilter); + void isRemoteIPFilterBlacklistChanged(bool newIsRemoteIPFilterBlacklist); + void imageExtractionTimeoutMsChanged(qint32 newImageExtractionTimeoutMs); + void pathSubstitutionsChanged(QList newPathSubstitutions); + void enableSimpleArtistDetectionChanged(bool newEnableSimpleArtistDetection); + void uninstalledPluginsChanged(QStringList newUninstalledPlugins); + void enableSlowResponseWarningChanged(bool newEnableSlowResponseWarning); + void slowResponseThresholdMsChanged(qint64 newSlowResponseThresholdMs); + void corsHostsChanged(QStringList newCorsHosts); + void knownProxiesChanged(QStringList newKnownProxies); + void activityLogRetentionDaysChanged(qint32 newActivityLogRetentionDays); + void libraryScanFanoutConcurrencyChanged(qint32 newLibraryScanFanoutConcurrency); + void libraryMetadataRefreshConcurrencyChanged(qint32 newLibraryMetadataRefreshConcurrency); + void removeOldPluginsChanged(bool newRemoveOldPlugins); + void disablePluginImagesChanged(bool newDisablePluginImages); +protected: + qint32 m_logFileRetentionDays; + bool m_isStartupWizardCompleted; + QString m_cachePath; + Version * 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; + qint32 m_activityLogRetentionDays; + qint32 m_libraryScanFanoutConcurrency; + qint32 m_libraryMetadataRefreshConcurrency; + bool m_removeOldPlugins; + bool m_disablePluginImages; +}; + +} // NS Jellyfin +} // NS DTO + +#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..551db3d --- /dev/null +++ b/core/include/JellyfinQt/DTO/sessioninfo.h @@ -0,0 +1,280 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/generalcommandtype.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItem; +class BaseItemDto; +class BaseItemDto; +class ClientCapabilities; +class PlayerStateInfo; +class QueueItem; +class SessionUserInfo; +class TranscodingInfo; + +class SessionInfo : public QObject { + Q_OBJECT +public: + explicit SessionInfo(QObject *parent = nullptr); + static SessionInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(PlayerStateInfo * playState READ playState WRITE setPlayState NOTIFY playStateChanged) + Q_PROPERTY(QList additionalUsers READ additionalUsers WRITE setAdditionalUsers NOTIFY additionalUsersChanged) + Q_PROPERTY(ClientCapabilities * capabilities READ capabilities WRITE setCapabilities NOTIFY capabilitiesChanged) + /** + * @brief Gets or sets the remote end point. + */ + Q_PROPERTY(QString remoteEndPoint READ remoteEndPoint WRITE setRemoteEndPoint NOTIFY remoteEndPointChanged) + /** + * @brief Gets or sets the playable media types. + */ + Q_PROPERTY(QStringList playableMediaTypes READ playableMediaTypes WRITE setPlayableMediaTypes NOTIFY playableMediaTypesChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the user id. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the username. + */ + Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + /** + * @brief Gets or sets the type of the client. + */ + Q_PROPERTY(QString client READ client WRITE setClient NOTIFY clientChanged) + /** + * @brief Gets or sets the last activity date. + */ + Q_PROPERTY(QDateTime lastActivityDate READ lastActivityDate WRITE setLastActivityDate NOTIFY lastActivityDateChanged) + /** + * @brief Gets or sets the last playback check in. + */ + Q_PROPERTY(QDateTime lastPlaybackCheckIn READ lastPlaybackCheckIn WRITE setLastPlaybackCheckIn NOTIFY lastPlaybackCheckInChanged) + /** + * @brief Gets or sets the name of the device. + */ + Q_PROPERTY(QString deviceName READ deviceName WRITE setDeviceName NOTIFY deviceNameChanged) + /** + * @brief Gets or sets the type of the device. + */ + Q_PROPERTY(QString deviceType READ deviceType WRITE setDeviceType NOTIFY deviceTypeChanged) + Q_PROPERTY(BaseItemDto * nowPlayingItem READ nowPlayingItem WRITE setNowPlayingItem NOTIFY nowPlayingItemChanged) + Q_PROPERTY(BaseItem * fullNowPlayingItem READ fullNowPlayingItem WRITE setFullNowPlayingItem NOTIFY fullNowPlayingItemChanged) + Q_PROPERTY(BaseItemDto * nowViewingItem READ nowViewingItem WRITE setNowViewingItem NOTIFY nowViewingItemChanged) + /** + * @brief Gets or sets the device id. + */ + Q_PROPERTY(QString deviceId READ deviceId WRITE setDeviceId NOTIFY deviceIdChanged) + /** + * @brief Gets or sets the application version. + */ + Q_PROPERTY(QString applicationVersion READ applicationVersion WRITE setApplicationVersion NOTIFY applicationVersionChanged) + Q_PROPERTY(TranscodingInfo * transcodingInfo READ transcodingInfo WRITE setTranscodingInfo NOTIFY transcodingInfoChanged) + /** + * @brief Gets a value indicating whether this instance is active. + */ + Q_PROPERTY(bool isActive READ isActive WRITE setIsActive NOTIFY isActiveChanged) + Q_PROPERTY(bool supportsMediaControl READ supportsMediaControl WRITE setSupportsMediaControl NOTIFY supportsMediaControlChanged) + Q_PROPERTY(bool supportsRemoteControl READ supportsRemoteControl WRITE setSupportsRemoteControl NOTIFY supportsRemoteControlChanged) + Q_PROPERTY(QList nowPlayingQueue READ nowPlayingQueue WRITE setNowPlayingQueue NOTIFY nowPlayingQueueChanged) + Q_PROPERTY(bool hasCustomDeviceName READ hasCustomDeviceName WRITE setHasCustomDeviceName NOTIFY hasCustomDeviceNameChanged) + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + Q_PROPERTY(QString userPrimaryImageTag READ userPrimaryImageTag WRITE setUserPrimaryImageTag NOTIFY userPrimaryImageTagChanged) + /** + * @brief Gets or sets the supported commands. + */ + Q_PROPERTY(QList supportedCommands READ supportedCommands WRITE setSupportedCommands NOTIFY supportedCommandsChanged) + + PlayerStateInfo * playState() const; + void setPlayState(PlayerStateInfo * newPlayState); + + QList additionalUsers() const; + void setAdditionalUsers(QList newAdditionalUsers); + + ClientCapabilities * capabilities() const; + void setCapabilities(ClientCapabilities * newCapabilities); + + QString remoteEndPoint() const; + void setRemoteEndPoint(QString newRemoteEndPoint); + + QStringList playableMediaTypes() const; + void setPlayableMediaTypes(QStringList newPlayableMediaTypes); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString userId() const; + void setUserId(QString newUserId); + + QString userName() const; + void setUserName(QString newUserName); + + QString client() const; + void setClient(QString newClient); + + QDateTime lastActivityDate() const; + void setLastActivityDate(QDateTime newLastActivityDate); + + QDateTime lastPlaybackCheckIn() const; + void setLastPlaybackCheckIn(QDateTime newLastPlaybackCheckIn); + + QString deviceName() const; + void setDeviceName(QString newDeviceName); + + QString deviceType() const; + void setDeviceType(QString newDeviceType); + + BaseItemDto * nowPlayingItem() const; + void setNowPlayingItem(BaseItemDto * newNowPlayingItem); + + BaseItem * fullNowPlayingItem() const; + void setFullNowPlayingItem(BaseItem * newFullNowPlayingItem); + + BaseItemDto * nowViewingItem() const; + void setNowViewingItem(BaseItemDto * newNowViewingItem); + + QString deviceId() const; + void setDeviceId(QString newDeviceId); + + QString applicationVersion() const; + void setApplicationVersion(QString newApplicationVersion); + + TranscodingInfo * transcodingInfo() const; + void setTranscodingInfo(TranscodingInfo * newTranscodingInfo); + + bool isActive() const; + 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 hasCustomDeviceName() const; + void setHasCustomDeviceName(bool newHasCustomDeviceName); + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + + QString serverId() const; + void setServerId(QString newServerId); + + QString userPrimaryImageTag() const; + void setUserPrimaryImageTag(QString newUserPrimaryImageTag); + + QList supportedCommands() const; + void setSupportedCommands(QList newSupportedCommands); + +signals: + void playStateChanged(PlayerStateInfo * newPlayState); + void additionalUsersChanged(QList newAdditionalUsers); + void capabilitiesChanged(ClientCapabilities * newCapabilities); + void remoteEndPointChanged(QString newRemoteEndPoint); + void playableMediaTypesChanged(QStringList newPlayableMediaTypes); + void jellyfinIdChanged(QString newJellyfinId); + void userIdChanged(QString newUserId); + void userNameChanged(QString newUserName); + void clientChanged(QString newClient); + void lastActivityDateChanged(QDateTime newLastActivityDate); + void lastPlaybackCheckInChanged(QDateTime newLastPlaybackCheckIn); + void deviceNameChanged(QString newDeviceName); + void deviceTypeChanged(QString newDeviceType); + void nowPlayingItemChanged(BaseItemDto * newNowPlayingItem); + void fullNowPlayingItemChanged(BaseItem * newFullNowPlayingItem); + void nowViewingItemChanged(BaseItemDto * newNowViewingItem); + void deviceIdChanged(QString newDeviceId); + void applicationVersionChanged(QString newApplicationVersion); + void transcodingInfoChanged(TranscodingInfo * newTranscodingInfo); + void isActiveChanged(bool newIsActive); + void supportsMediaControlChanged(bool newSupportsMediaControl); + void supportsRemoteControlChanged(bool newSupportsRemoteControl); + void nowPlayingQueueChanged(QList newNowPlayingQueue); + void hasCustomDeviceNameChanged(bool newHasCustomDeviceName); + void playlistItemIdChanged(QString newPlaylistItemId); + void serverIdChanged(QString newServerId); + void userPrimaryImageTagChanged(QString newUserPrimaryImageTag); + void supportedCommandsChanged(QList newSupportedCommands); +protected: + PlayerStateInfo * m_playState = nullptr; + QList m_additionalUsers; + ClientCapabilities * 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; + BaseItemDto * m_nowPlayingItem = nullptr; + BaseItem * m_fullNowPlayingItem = nullptr; + BaseItemDto * m_nowViewingItem = nullptr; + QString m_deviceId; + QString m_applicationVersion; + TranscodingInfo * 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 Jellyfin +} // NS DTO + +#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..43b1b36 --- /dev/null +++ b/core/include/JellyfinQt/DTO/sessionuserinfo.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_SESSIONUSERINFO_H +#define JELLYFIN_DTO_SESSIONUSERINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SessionUserInfo : public QObject { + Q_OBJECT +public: + explicit SessionUserInfo(QObject *parent = nullptr); + static SessionUserInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the user identifier. + */ + Q_PROPERTY(QString userId READ userId WRITE setUserId NOTIFY userIdChanged) + /** + * @brief Gets or sets the name of the user. + */ + Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + + QString userId() const; + void setUserId(QString newUserId); + + QString userName() const; + void setUserName(QString newUserName); + +signals: + void userIdChanged(QString newUserId); + void userNameChanged(QString newUserName); +protected: + QString m_userId; + QString m_userName; +}; + +} // NS Jellyfin +} // NS DTO + +#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..79e0848 --- /dev/null +++ b/core/include/JellyfinQt/DTO/setchannelmappingdto.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SETCHANNELMAPPINGDTO_H +#define JELLYFIN_DTO_SETCHANNELMAPPINGDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SetChannelMappingDto : public QObject { + Q_OBJECT +public: + explicit SetChannelMappingDto(QObject *parent = nullptr); + static SetChannelMappingDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the provider id. + */ + Q_PROPERTY(QString providerId READ providerId WRITE setProviderId NOTIFY providerIdChanged) + /** + * @brief Gets or sets the tuner channel id. + */ + Q_PROPERTY(QString tunerChannelId READ tunerChannelId WRITE setTunerChannelId NOTIFY tunerChannelIdChanged) + /** + * @brief Gets or sets the provider channel id. + */ + Q_PROPERTY(QString providerChannelId READ providerChannelId WRITE setProviderChannelId NOTIFY providerChannelIdChanged) + + QString providerId() const; + void setProviderId(QString newProviderId); + + QString tunerChannelId() const; + void setTunerChannelId(QString newTunerChannelId); + + QString providerChannelId() const; + void setProviderChannelId(QString newProviderChannelId); + +signals: + void providerIdChanged(QString newProviderId); + void tunerChannelIdChanged(QString newTunerChannelId); + void providerChannelIdChanged(QString newProviderChannelId); +protected: + QString m_providerId; + QString m_tunerChannelId; + QString m_providerChannelId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..ff3cc92 --- /dev/null +++ b/core/include/JellyfinQt/DTO/setplaylistitemrequestdto.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_SETPLAYLISTITEMREQUESTDTO_H +#define JELLYFIN_DTO_SETPLAYLISTITEMREQUESTDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SetPlaylistItemRequestDto : public QObject { + Q_OBJECT +public: + explicit SetPlaylistItemRequestDto(QObject *parent = nullptr); + static SetPlaylistItemRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the playlist identifier of the playing item. + */ + Q_PROPERTY(QString playlistItemId READ playlistItemId WRITE setPlaylistItemId NOTIFY playlistItemIdChanged) + + QString playlistItemId() const; + void setPlaylistItemId(QString newPlaylistItemId); + +signals: + void playlistItemIdChanged(QString newPlaylistItemId); +protected: + QString m_playlistItemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..5551ca3 --- /dev/null +++ b/core/include/JellyfinQt/DTO/setrepeatmoderequestdto.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_SETREPEATMODEREQUESTDTO_H +#define JELLYFIN_DTO_SETREPEATMODEREQUESTDTO_H + +#include +#include + +#include "JellyfinQt/DTO/grouprepeatmode.h" + +namespace Jellyfin { +namespace DTO { + +class SetRepeatModeRequestDto : public QObject { + Q_OBJECT +public: + explicit SetRepeatModeRequestDto(QObject *parent = nullptr); + static SetRepeatModeRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(GroupRepeatMode mode READ mode WRITE setMode NOTIFY modeChanged) + + GroupRepeatMode mode() const; + void setMode(GroupRepeatMode newMode); + +signals: + void modeChanged(GroupRepeatMode newMode); +protected: + GroupRepeatMode m_mode; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d1864fb --- /dev/null +++ b/core/include/JellyfinQt/DTO/setshufflemoderequestdto.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_SETSHUFFLEMODEREQUESTDTO_H +#define JELLYFIN_DTO_SETSHUFFLEMODEREQUESTDTO_H + +#include +#include + +#include "JellyfinQt/DTO/groupshufflemode.h" + +namespace Jellyfin { +namespace DTO { + +class SetShuffleModeRequestDto : public QObject { + Q_OBJECT +public: + explicit SetShuffleModeRequestDto(QObject *parent = nullptr); + static SetShuffleModeRequestDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(GroupShuffleMode mode READ mode WRITE setMode NOTIFY modeChanged) + + GroupShuffleMode mode() const; + void setMode(GroupShuffleMode newMode); + +signals: + void modeChanged(GroupShuffleMode newMode); +protected: + GroupShuffleMode m_mode; +}; + +} // NS Jellyfin +} // NS DTO + +#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..472234b --- /dev/null +++ b/core/include/JellyfinQt/DTO/songinfo.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_SONGINFO_H +#define JELLYFIN_DTO_SONGINFO_H + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SongInfo : public QObject { + Q_OBJECT +public: + explicit SongInfo(QObject *parent = nullptr); + static SongInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + Q_PROPERTY(QStringList albumArtists READ albumArtists WRITE setAlbumArtists NOTIFY albumArtistsChanged) + Q_PROPERTY(QString album READ album WRITE setAlbum NOTIFY albumChanged) + Q_PROPERTY(QStringList artists READ artists WRITE setArtists NOTIFY artistsChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + + QStringList albumArtists() const; + void setAlbumArtists(QStringList newAlbumArtists); + + QString album() const; + void setAlbum(QString newAlbum); + + QStringList artists() const; + void setArtists(QStringList newArtists); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); + void albumArtistsChanged(QStringList newAlbumArtists); + void albumChanged(QString newAlbum); + void artistsChanged(QStringList newArtists); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; + QStringList m_albumArtists; + QString m_album; + QStringList m_artists; +}; + +} // NS Jellyfin +} // NS DTO + +#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..5d12f46 --- /dev/null +++ b/core/include/JellyfinQt/DTO/sortorder.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SORTORDER_H +#define JELLYFIN_DTO_SORTORDER_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SortOrderClass { + Q_GADGET +public: + enum Value { + Ascending, + Descending, + }; + Q_ENUM(Value) +private: + explicit SortOrderClass(); +}; +typedef SortOrderClass::Value SortOrder; + +} // NS Jellyfin +} // NS DTO + +#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..fd6ccf8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/specialviewoptiondto.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_SPECIALVIEWOPTIONDTO_H +#define JELLYFIN_DTO_SPECIALVIEWOPTIONDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class SpecialViewOptionDto : public QObject { + Q_OBJECT +public: + explicit SpecialViewOptionDto(QObject *parent = nullptr); + static SpecialViewOptionDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets view option name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets view option id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString name() const; + void setName(QString newName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void nameChanged(QString newName); + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_name; + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..fd53b02 --- /dev/null +++ b/core/include/JellyfinQt/DTO/startupconfigurationdto.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_STARTUPCONFIGURATIONDTO_H +#define JELLYFIN_DTO_STARTUPCONFIGURATIONDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class StartupConfigurationDto : public QObject { + Q_OBJECT +public: + explicit StartupConfigurationDto(QObject *parent = nullptr); + static StartupConfigurationDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets UI language culture. + */ + Q_PROPERTY(QString uICulture READ uICulture WRITE setUICulture NOTIFY uICultureChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the preferred language for the metadata. + */ + Q_PROPERTY(QString preferredMetadataLanguage READ preferredMetadataLanguage WRITE setPreferredMetadataLanguage NOTIFY preferredMetadataLanguageChanged) + + QString uICulture() const; + void setUICulture(QString newUICulture); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QString preferredMetadataLanguage() const; + void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); + +signals: + void uICultureChanged(QString newUICulture); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void preferredMetadataLanguageChanged(QString newPreferredMetadataLanguage); +protected: + QString m_uICulture; + QString m_metadataCountryCode; + QString m_preferredMetadataLanguage; +}; + +} // NS Jellyfin +} // NS DTO + +#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..f5b9094 --- /dev/null +++ b/core/include/JellyfinQt/DTO/startupremoteaccessdto.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_STARTUPREMOTEACCESSDTO_H +#define JELLYFIN_DTO_STARTUPREMOTEACCESSDTO_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class StartupRemoteAccessDto : public QObject { + Q_OBJECT +public: + explicit StartupRemoteAccessDto(QObject *parent = nullptr); + static StartupRemoteAccessDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether enable remote access. + */ + Q_PROPERTY(bool enableRemoteAccess READ enableRemoteAccess WRITE setEnableRemoteAccess NOTIFY enableRemoteAccessChanged) + /** + * @brief Gets or sets a value indicating whether enable automatic port mapping. + */ + Q_PROPERTY(bool enableAutomaticPortMapping READ enableAutomaticPortMapping WRITE setEnableAutomaticPortMapping NOTIFY enableAutomaticPortMappingChanged) + + bool enableRemoteAccess() const; + void setEnableRemoteAccess(bool newEnableRemoteAccess); + + bool enableAutomaticPortMapping() const; + void setEnableAutomaticPortMapping(bool newEnableAutomaticPortMapping); + +signals: + void enableRemoteAccessChanged(bool newEnableRemoteAccess); + void enableAutomaticPortMappingChanged(bool newEnableAutomaticPortMapping); +protected: + bool m_enableRemoteAccess; + bool m_enableAutomaticPortMapping; +}; + +} // NS Jellyfin +} // NS DTO + +#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..e380992 --- /dev/null +++ b/core/include/JellyfinQt/DTO/startupuserdto.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_STARTUPUSERDTO_H +#define JELLYFIN_DTO_STARTUPUSERDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class StartupUserDto : public QObject { + Q_OBJECT +public: + explicit StartupUserDto(QObject *parent = nullptr); + static StartupUserDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the username. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the user's password. + */ + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + + QString name() const; + void setName(QString newName); + + QString password() const; + void setPassword(QString newPassword); + +signals: + void nameChanged(QString newName); + void passwordChanged(QString newPassword); +protected: + QString m_name; + QString m_password; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_STARTUPUSERDTO_H diff --git a/core/include/JellyfinQt/DTO/subtitledeliverymethod.h b/core/include/JellyfinQt/DTO/subtitledeliverymethod.h new file mode 100644 index 0000000..5258ba7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/subtitledeliverymethod.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SUBTITLEDELIVERYMETHOD_H +#define JELLYFIN_DTO_SUBTITLEDELIVERYMETHOD_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SubtitleDeliveryMethodClass { + Q_GADGET +public: + enum Value { + Encode, + Embed, + External, + Hls, + }; + Q_ENUM(Value) +private: + explicit SubtitleDeliveryMethodClass(); +}; +typedef SubtitleDeliveryMethodClass::Value SubtitleDeliveryMethod; + +} // NS Jellyfin +} // NS DTO + +#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..ff12583 --- /dev/null +++ b/core/include/JellyfinQt/DTO/subtitleplaybackmode.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SUBTITLEPLAYBACKMODE_H +#define JELLYFIN_DTO_SUBTITLEPLAYBACKMODE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SubtitlePlaybackModeClass { + Q_GADGET +public: + enum Value { + Default, + Always, + OnlyForced, + None, + Smart, + }; + Q_ENUM(Value) +private: + explicit SubtitlePlaybackModeClass(); +}; +typedef SubtitlePlaybackModeClass::Value SubtitlePlaybackMode; + +} // NS Jellyfin +} // NS DTO + +#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..369a151 --- /dev/null +++ b/core/include/JellyfinQt/DTO/subtitleprofile.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_SUBTITLEPROFILE_H +#define JELLYFIN_DTO_SUBTITLEPROFILE_H + +#include +#include +#include + +#include "JellyfinQt/DTO/subtitledeliverymethod.h" + +namespace Jellyfin { +namespace DTO { + +class SubtitleProfile : public QObject { + Q_OBJECT +public: + explicit SubtitleProfile(QObject *parent = nullptr); + static SubtitleProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged) + Q_PROPERTY(SubtitleDeliveryMethod method READ method WRITE setMethod NOTIFY methodChanged) + Q_PROPERTY(QString didlMode READ didlMode WRITE setDidlMode NOTIFY didlModeChanged) + Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + + QString format() const; + void setFormat(QString newFormat); + + SubtitleDeliveryMethod method() const; + void setMethod(SubtitleDeliveryMethod newMethod); + + QString didlMode() const; + void setDidlMode(QString newDidlMode); + + QString language() const; + void setLanguage(QString newLanguage); + + QString container() const; + void setContainer(QString newContainer); + +signals: + void formatChanged(QString newFormat); + void methodChanged(SubtitleDeliveryMethod newMethod); + void didlModeChanged(QString newDidlMode); + void languageChanged(QString newLanguage); + void containerChanged(QString newContainer); +protected: + QString m_format; + SubtitleDeliveryMethod m_method; + QString m_didlMode; + QString m_language; + QString m_container; +}; + +} // NS Jellyfin +} // NS DTO + +#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..88658a8 --- /dev/null +++ b/core/include/JellyfinQt/DTO/syncplayuseraccesstype.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_SYNCPLAYUSERACCESSTYPE_H +#define JELLYFIN_DTO_SYNCPLAYUSERACCESSTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class SyncPlayUserAccessTypeClass { + Q_GADGET +public: + enum Value { + CreateAndJoinGroups, + JoinGroups, + None, + }; + Q_ENUM(Value) +private: + explicit SyncPlayUserAccessTypeClass(); +}; +typedef SyncPlayUserAccessTypeClass::Value SyncPlayUserAccessType; + +} // NS Jellyfin +} // NS DTO + +#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..b1c1f8c --- /dev/null +++ b/core/include/JellyfinQt/DTO/systeminfo.h @@ -0,0 +1,285 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/architecture.h" +#include "JellyfinQt/DTO/ffmpeglocation.h" + +namespace Jellyfin { +namespace DTO { + +class InstallationInfo; + +class SystemInfo : public QObject { + Q_OBJECT +public: + explicit SystemInfo(QObject *parent = nullptr); + static SystemInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the local address. + */ + Q_PROPERTY(QString localAddress READ localAddress WRITE setLocalAddress NOTIFY localAddressChanged) + /** + * @brief Gets or sets the name of the server. + */ + Q_PROPERTY(QString serverName READ serverName WRITE setServerName NOTIFY serverNameChanged) + /** + * @brief Gets or sets the server version. + */ + Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY versionChanged) + /** + * @brief Gets or sets the product name. This is the AssemblyProduct name. + */ + Q_PROPERTY(QString productName READ productName WRITE setProductName NOTIFY productNameChanged) + /** + * @brief Gets or sets the operating system. + */ + Q_PROPERTY(QString operatingSystem READ operatingSystem WRITE setOperatingSystem NOTIFY operatingSystemChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets a value indicating whether the startup wizard is completed. + */ + Q_PROPERTY(bool startupWizardCompleted READ startupWizardCompleted WRITE setStartupWizardCompleted NOTIFY startupWizardCompletedChanged) + /** + * @brief Gets or sets the display name of the operating system. + */ + Q_PROPERTY(QString operatingSystemDisplayName READ operatingSystemDisplayName WRITE setOperatingSystemDisplayName NOTIFY operatingSystemDisplayNameChanged) + /** + * @brief Get or sets the package name. + */ + Q_PROPERTY(QString packageName READ packageName WRITE setPackageName NOTIFY packageNameChanged) + /** + * @brief Gets or sets a value indicating whether this instance has pending restart. + */ + Q_PROPERTY(bool hasPendingRestart READ hasPendingRestart WRITE setHasPendingRestart NOTIFY hasPendingRestartChanged) + Q_PROPERTY(bool isShuttingDown READ isShuttingDown WRITE setIsShuttingDown NOTIFY isShuttingDownChanged) + /** + * @brief Gets or sets a value indicating whether [supports library monitor]. + */ + Q_PROPERTY(bool supportsLibraryMonitor READ supportsLibraryMonitor WRITE setSupportsLibraryMonitor NOTIFY supportsLibraryMonitorChanged) + /** + * @brief Gets or sets the web socket port number. + */ + Q_PROPERTY(qint32 webSocketPortNumber READ webSocketPortNumber WRITE setWebSocketPortNumber NOTIFY webSocketPortNumberChanged) + /** + * @brief Gets or sets the completed installations. + */ + Q_PROPERTY(QList completedInstallations READ completedInstallations WRITE setCompletedInstallations NOTIFY completedInstallationsChanged) + /** + * @brief Gets or sets a value indicating whether this instance can self restart. + */ + Q_PROPERTY(bool canSelfRestart READ canSelfRestart WRITE setCanSelfRestart NOTIFY canSelfRestartChanged) + Q_PROPERTY(bool canLaunchWebBrowser READ canLaunchWebBrowser WRITE setCanLaunchWebBrowser NOTIFY canLaunchWebBrowserChanged) + /** + * @brief Gets or sets the program data path. + */ + Q_PROPERTY(QString programDataPath READ programDataPath WRITE setProgramDataPath NOTIFY programDataPathChanged) + /** + * @brief Gets or sets the web UI resources path. + */ + Q_PROPERTY(QString webPath READ webPath WRITE setWebPath NOTIFY webPathChanged) + /** + * @brief Gets or sets the items by name path. + */ + Q_PROPERTY(QString itemsByNamePath READ itemsByNamePath WRITE setItemsByNamePath NOTIFY itemsByNamePathChanged) + /** + * @brief Gets or sets the cache path. + */ + Q_PROPERTY(QString cachePath READ cachePath WRITE setCachePath NOTIFY cachePathChanged) + /** + * @brief Gets or sets the log path. + */ + Q_PROPERTY(QString logPath READ logPath WRITE setLogPath NOTIFY logPathChanged) + /** + * @brief Gets or sets the internal metadata path. + */ + Q_PROPERTY(QString internalMetadataPath READ internalMetadataPath WRITE setInternalMetadataPath NOTIFY internalMetadataPathChanged) + /** + * @brief Gets or sets the transcode path. + */ + Q_PROPERTY(QString transcodingTempPath READ transcodingTempPath WRITE setTranscodingTempPath NOTIFY transcodingTempPathChanged) + /** + * @brief Gets or sets a value indicating whether this instance has update available. + */ + Q_PROPERTY(bool hasUpdateAvailable READ hasUpdateAvailable WRITE setHasUpdateAvailable NOTIFY hasUpdateAvailableChanged) + Q_PROPERTY(FFmpegLocation encoderLocation READ encoderLocation WRITE setEncoderLocation NOTIFY encoderLocationChanged) + Q_PROPERTY(Architecture systemArchitecture READ systemArchitecture WRITE setSystemArchitecture NOTIFY systemArchitectureChanged) + + QString localAddress() const; + void setLocalAddress(QString newLocalAddress); + + QString serverName() const; + void setServerName(QString newServerName); + + QString version() const; + void setVersion(QString newVersion); + + QString productName() const; + void setProductName(QString newProductName); + + QString operatingSystem() const; + void setOperatingSystem(QString newOperatingSystem); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + bool startupWizardCompleted() const; + void setStartupWizardCompleted(bool newStartupWizardCompleted); + + QString operatingSystemDisplayName() const; + void setOperatingSystemDisplayName(QString newOperatingSystemDisplayName); + + QString packageName() const; + void setPackageName(QString newPackageName); + + bool hasPendingRestart() const; + void setHasPendingRestart(bool newHasPendingRestart); + + bool isShuttingDown() const; + void setIsShuttingDown(bool newIsShuttingDown); + + bool supportsLibraryMonitor() const; + void setSupportsLibraryMonitor(bool newSupportsLibraryMonitor); + + qint32 webSocketPortNumber() const; + void setWebSocketPortNumber(qint32 newWebSocketPortNumber); + + QList completedInstallations() const; + void setCompletedInstallations(QList newCompletedInstallations); + + bool canSelfRestart() const; + void setCanSelfRestart(bool newCanSelfRestart); + + bool canLaunchWebBrowser() const; + void setCanLaunchWebBrowser(bool newCanLaunchWebBrowser); + + QString programDataPath() const; + void setProgramDataPath(QString newProgramDataPath); + + QString webPath() const; + void setWebPath(QString newWebPath); + + QString itemsByNamePath() const; + void setItemsByNamePath(QString newItemsByNamePath); + + QString cachePath() const; + void setCachePath(QString newCachePath); + + QString logPath() const; + void setLogPath(QString newLogPath); + + QString internalMetadataPath() const; + void setInternalMetadataPath(QString newInternalMetadataPath); + + QString transcodingTempPath() const; + void setTranscodingTempPath(QString newTranscodingTempPath); + + bool hasUpdateAvailable() const; + void setHasUpdateAvailable(bool newHasUpdateAvailable); + + FFmpegLocation encoderLocation() const; + void setEncoderLocation(FFmpegLocation newEncoderLocation); + + Architecture systemArchitecture() const; + void setSystemArchitecture(Architecture newSystemArchitecture); + +signals: + void localAddressChanged(QString newLocalAddress); + void serverNameChanged(QString newServerName); + void versionChanged(QString newVersion); + void productNameChanged(QString newProductName); + void operatingSystemChanged(QString newOperatingSystem); + void jellyfinIdChanged(QString newJellyfinId); + void startupWizardCompletedChanged(bool newStartupWizardCompleted); + void operatingSystemDisplayNameChanged(QString newOperatingSystemDisplayName); + void packageNameChanged(QString newPackageName); + void hasPendingRestartChanged(bool newHasPendingRestart); + void isShuttingDownChanged(bool newIsShuttingDown); + void supportsLibraryMonitorChanged(bool newSupportsLibraryMonitor); + void webSocketPortNumberChanged(qint32 newWebSocketPortNumber); + void completedInstallationsChanged(QList newCompletedInstallations); + void canSelfRestartChanged(bool newCanSelfRestart); + void canLaunchWebBrowserChanged(bool newCanLaunchWebBrowser); + void programDataPathChanged(QString newProgramDataPath); + void webPathChanged(QString newWebPath); + void itemsByNamePathChanged(QString newItemsByNamePath); + void cachePathChanged(QString newCachePath); + void logPathChanged(QString newLogPath); + void internalMetadataPathChanged(QString newInternalMetadataPath); + void transcodingTempPathChanged(QString newTranscodingTempPath); + void hasUpdateAvailableChanged(bool newHasUpdateAvailable); + void encoderLocationChanged(FFmpegLocation newEncoderLocation); + void systemArchitectureChanged(Architecture newSystemArchitecture); +protected: + QString m_localAddress; + QString m_serverName; + QString m_version; + QString m_productName; + QString m_operatingSystem; + QString m_jellyfinId; + bool m_startupWizardCompleted; + 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 Jellyfin +} // NS DTO + +#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..7782bdd --- /dev/null +++ b/core/include/JellyfinQt/DTO/taskcompletionstatus.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKCOMPLETIONSTATUS_H +#define JELLYFIN_DTO_TASKCOMPLETIONSTATUS_H + +#include + +namespace Jellyfin { +namespace DTO { + +class TaskCompletionStatusClass { + Q_GADGET +public: + enum Value { + Completed, + Failed, + Cancelled, + Aborted, + }; + Q_ENUM(Value) +private: + explicit TaskCompletionStatusClass(); +}; +typedef TaskCompletionStatusClass::Value TaskCompletionStatus; + +} // NS Jellyfin +} // NS DTO + +#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..5dd4b17 --- /dev/null +++ b/core/include/JellyfinQt/DTO/taskinfo.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_TASKINFO_H +#define JELLYFIN_DTO_TASKINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/taskstate.h" + +namespace Jellyfin { +namespace DTO { + +class TaskResult; +class TaskTriggerInfo; + +class TaskInfo : public QObject { + Q_OBJECT +public: + explicit TaskInfo(QObject *parent = nullptr); + static TaskInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(TaskState state READ state WRITE setState NOTIFY stateChanged) + /** + * @brief Gets or sets the progress. + */ + Q_PROPERTY(double currentProgressPercentage READ currentProgressPercentage WRITE setCurrentProgressPercentage NOTIFY currentProgressPercentageChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(TaskResult * lastExecutionResult READ lastExecutionResult WRITE setLastExecutionResult NOTIFY lastExecutionResultChanged) + /** + * @brief Gets or sets the triggers. + */ + Q_PROPERTY(QList triggers READ triggers WRITE setTriggers NOTIFY triggersChanged) + /** + * @brief Gets or sets the description. + */ + Q_PROPERTY(QString description READ description WRITE setDescription NOTIFY descriptionChanged) + /** + * @brief Gets or sets the category. + */ + Q_PROPERTY(QString category READ category WRITE setCategory NOTIFY categoryChanged) + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + Q_PROPERTY(bool isHidden READ isHidden WRITE setIsHidden NOTIFY isHiddenChanged) + /** + * @brief Gets or sets the key. + */ + Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged) + + QString name() const; + void setName(QString newName); + + TaskState state() const; + void setState(TaskState newState); + + double currentProgressPercentage() const; + void setCurrentProgressPercentage(double newCurrentProgressPercentage); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + TaskResult * lastExecutionResult() const; + void setLastExecutionResult(TaskResult * newLastExecutionResult); + + QList triggers() const; + void setTriggers(QList newTriggers); + + QString description() const; + void setDescription(QString newDescription); + + QString category() const; + void setCategory(QString newCategory); + + bool isHidden() const; + void setIsHidden(bool newIsHidden); + + QString key() const; + void setKey(QString newKey); + +signals: + void nameChanged(QString newName); + void stateChanged(TaskState newState); + void currentProgressPercentageChanged(double newCurrentProgressPercentage); + void jellyfinIdChanged(QString newJellyfinId); + void lastExecutionResultChanged(TaskResult * newLastExecutionResult); + void triggersChanged(QList newTriggers); + void descriptionChanged(QString newDescription); + void categoryChanged(QString newCategory); + void isHiddenChanged(bool newIsHidden); + void keyChanged(QString newKey); +protected: + QString m_name; + TaskState m_state; + double m_currentProgressPercentage; + QString m_jellyfinId; + TaskResult * m_lastExecutionResult = nullptr; + QList m_triggers; + QString m_description; + QString m_category; + bool m_isHidden; + QString m_key; +}; + +} // NS Jellyfin +} // NS DTO + +#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..be56e89 --- /dev/null +++ b/core/include/JellyfinQt/DTO/taskresult.h @@ -0,0 +1,128 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/taskcompletionstatus.h" + +namespace Jellyfin { +namespace DTO { + +class TaskResult : public QObject { + Q_OBJECT +public: + explicit TaskResult(QObject *parent = nullptr); + static TaskResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the start time UTC. + */ + Q_PROPERTY(QDateTime startTimeUtc READ startTimeUtc WRITE setStartTimeUtc NOTIFY startTimeUtcChanged) + /** + * @brief Gets or sets the end time UTC. + */ + Q_PROPERTY(QDateTime endTimeUtc READ endTimeUtc WRITE setEndTimeUtc NOTIFY endTimeUtcChanged) + Q_PROPERTY(TaskCompletionStatus status READ status WRITE setStatus NOTIFY statusChanged) + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the key. + */ + Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the error message. + */ + Q_PROPERTY(QString errorMessage READ errorMessage WRITE setErrorMessage NOTIFY errorMessageChanged) + /** + * @brief Gets or sets the long error message. + */ + Q_PROPERTY(QString longErrorMessage READ longErrorMessage WRITE setLongErrorMessage NOTIFY longErrorMessageChanged) + + QDateTime startTimeUtc() const; + void setStartTimeUtc(QDateTime newStartTimeUtc); + + QDateTime endTimeUtc() const; + void setEndTimeUtc(QDateTime newEndTimeUtc); + + TaskCompletionStatus status() const; + void setStatus(TaskCompletionStatus newStatus); + + QString name() const; + void setName(QString newName); + + QString key() const; + void setKey(QString newKey); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString errorMessage() const; + void setErrorMessage(QString newErrorMessage); + + QString longErrorMessage() const; + void setLongErrorMessage(QString newLongErrorMessage); + +signals: + void startTimeUtcChanged(QDateTime newStartTimeUtc); + void endTimeUtcChanged(QDateTime newEndTimeUtc); + void statusChanged(TaskCompletionStatus newStatus); + void nameChanged(QString newName); + void keyChanged(QString newKey); + void jellyfinIdChanged(QString newJellyfinId); + void errorMessageChanged(QString newErrorMessage); + void longErrorMessageChanged(QString newLongErrorMessage); +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 Jellyfin +} // NS DTO + +#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..4317861 --- /dev/null +++ b/core/include/JellyfinQt/DTO/taskstate.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TASKSTATE_H +#define JELLYFIN_DTO_TASKSTATE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class TaskStateClass { + Q_GADGET +public: + enum Value { + Idle, + Cancelling, + Running, + }; + Q_ENUM(Value) +private: + explicit TaskStateClass(); +}; +typedef TaskStateClass::Value TaskState; + +} // NS Jellyfin +} // NS DTO + +#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..3cb7fd0 --- /dev/null +++ b/core/include/JellyfinQt/DTO/tasktriggerinfo.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_TASKTRIGGERINFO_H +#define JELLYFIN_DTO_TASKTRIGGERINFO_H + +#include +#include +#include + +#include "JellyfinQt/DTO/dayofweek.h" + +namespace Jellyfin { +namespace DTO { + +class TaskTriggerInfo : public QObject { + Q_OBJECT +public: + explicit TaskTriggerInfo(QObject *parent = nullptr); + static TaskTriggerInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the type. + */ + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the time of day. + */ + Q_PROPERTY(qint64 timeOfDayTicks READ timeOfDayTicks WRITE setTimeOfDayTicks NOTIFY timeOfDayTicksChanged) + /** + * @brief Gets or sets the interval. + */ + Q_PROPERTY(qint64 intervalTicks READ intervalTicks WRITE setIntervalTicks NOTIFY intervalTicksChanged) + Q_PROPERTY(DayOfWeek dayOfWeek READ dayOfWeek WRITE setDayOfWeek NOTIFY dayOfWeekChanged) + /** + * @brief Gets or sets the maximum runtime ticks. + */ + Q_PROPERTY(qint64 maxRuntimeTicks READ maxRuntimeTicks WRITE setMaxRuntimeTicks NOTIFY maxRuntimeTicksChanged) + + QString type() const; + void setType(QString newType); + + qint64 timeOfDayTicks() const; + void setTimeOfDayTicks(qint64 newTimeOfDayTicks); + + qint64 intervalTicks() const; + void setIntervalTicks(qint64 newIntervalTicks); + + DayOfWeek dayOfWeek() const; + void setDayOfWeek(DayOfWeek newDayOfWeek); + + qint64 maxRuntimeTicks() const; + void setMaxRuntimeTicks(qint64 newMaxRuntimeTicks); + +signals: + void typeChanged(QString newType); + void timeOfDayTicksChanged(qint64 newTimeOfDayTicks); + void intervalTicksChanged(qint64 newIntervalTicks); + void dayOfWeekChanged(DayOfWeek newDayOfWeek); + void maxRuntimeTicksChanged(qint64 newMaxRuntimeTicks); +protected: + QString m_type; + qint64 m_timeOfDayTicks; + qint64 m_intervalTicks; + DayOfWeek m_dayOfWeek; + qint64 m_maxRuntimeTicks; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d37398d --- /dev/null +++ b/core/include/JellyfinQt/DTO/thememediaresult.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_THEMEMEDIARESULT_H +#define JELLYFIN_DTO_THEMEMEDIARESULT_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; + +class ThemeMediaResult : public QObject { + Q_OBJECT +public: + explicit ThemeMediaResult(QObject *parent = nullptr); + static ThemeMediaResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + /** + * @brief Gets or sets the owner id. + */ + Q_PROPERTY(QString ownerId READ ownerId WRITE setOwnerId NOTIFY ownerIdChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + + QString ownerId() const; + void setOwnerId(QString newOwnerId); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); + void ownerIdChanged(QString newOwnerId); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; + QString m_ownerId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d1153ba --- /dev/null +++ b/core/include/JellyfinQt/DTO/timereventinfo.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_TIMEREVENTINFO_H +#define JELLYFIN_DTO_TIMEREVENTINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TimerEventInfo : public QObject { + Q_OBJECT +public: + explicit TimerEventInfo(QObject *parent = nullptr); + static TimerEventInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString programId READ programId WRITE setProgramId NOTIFY programIdChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString programId() const; + void setProgramId(QString newProgramId); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void programIdChanged(QString newProgramId); +protected: + QString m_jellyfinId; + QString m_programId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7185982 --- /dev/null +++ b/core/include/JellyfinQt/DTO/timerinfodto.h @@ -0,0 +1,301 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/keepuntil.h" +#include "JellyfinQt/DTO/recordingstatus.h" + +namespace Jellyfin { +namespace DTO { + +class BaseItemDto; + +class TimerInfoDto : public QObject { + Q_OBJECT +public: + explicit TimerInfoDto(QObject *parent = nullptr); + static TimerInfoDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Id of the recording. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + /** + * @brief Gets or sets the server identifier. + */ + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + /** + * @brief Gets or sets the external identifier. + */ + Q_PROPERTY(QString externalId READ externalId WRITE setExternalId NOTIFY externalIdChanged) + /** + * @brief ChannelId of the recording. + */ + Q_PROPERTY(QString channelId READ channelId WRITE setChannelId NOTIFY channelIdChanged) + /** + * @brief Gets or sets the external channel identifier. + */ + Q_PROPERTY(QString externalChannelId READ externalChannelId WRITE setExternalChannelId NOTIFY externalChannelIdChanged) + /** + * @brief ChannelName of the recording. + */ + Q_PROPERTY(QString channelName READ channelName WRITE setChannelName NOTIFY channelNameChanged) + Q_PROPERTY(QString channelPrimaryImageTag READ channelPrimaryImageTag WRITE setChannelPrimaryImageTag NOTIFY channelPrimaryImageTagChanged) + /** + * @brief Gets or sets the program identifier. + */ + Q_PROPERTY(QString programId READ programId WRITE setProgramId NOTIFY programIdChanged) + /** + * @brief Gets or sets the external program identifier. + */ + Q_PROPERTY(QString externalProgramId READ externalProgramId WRITE setExternalProgramId NOTIFY externalProgramIdChanged) + /** + * @brief Name of the recording. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Description of the recording. + */ + Q_PROPERTY(QString overview READ overview WRITE setOverview NOTIFY overviewChanged) + /** + * @brief The start date of the recording, in UTC. + */ + Q_PROPERTY(QDateTime startDate READ startDate WRITE setStartDate NOTIFY startDateChanged) + /** + * @brief The end date of the recording, in UTC. + */ + Q_PROPERTY(QDateTime endDate READ endDate WRITE setEndDate NOTIFY endDateChanged) + /** + * @brief Gets or sets the name of the service. + */ + Q_PROPERTY(QString serviceName READ serviceName WRITE setServiceName NOTIFY serviceNameChanged) + /** + * @brief Gets or sets the priority. + */ + Q_PROPERTY(qint32 priority READ priority WRITE setPriority NOTIFY priorityChanged) + /** + * @brief Gets or sets the pre padding seconds. + */ + Q_PROPERTY(qint32 prePaddingSeconds READ prePaddingSeconds WRITE setPrePaddingSeconds NOTIFY prePaddingSecondsChanged) + /** + * @brief Gets or sets the post padding seconds. + */ + Q_PROPERTY(qint32 postPaddingSeconds READ postPaddingSeconds WRITE setPostPaddingSeconds NOTIFY postPaddingSecondsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is pre padding required. + */ + Q_PROPERTY(bool isPrePaddingRequired READ isPrePaddingRequired WRITE setIsPrePaddingRequired NOTIFY isPrePaddingRequiredChanged) + /** + * @brief If the item does not have any backdrops, this will hold the Id of the Parent that has one. + */ + Q_PROPERTY(QString parentBackdropItemId READ parentBackdropItemId WRITE setParentBackdropItemId NOTIFY parentBackdropItemIdChanged) + /** + * @brief Gets or sets the parent backdrop image tags. + */ + Q_PROPERTY(QStringList parentBackdropImageTags READ parentBackdropImageTags WRITE setParentBackdropImageTags NOTIFY parentBackdropImageTagsChanged) + /** + * @brief Gets or sets a value indicating whether this instance is post padding required. + */ + Q_PROPERTY(bool isPostPaddingRequired READ isPostPaddingRequired WRITE setIsPostPaddingRequired NOTIFY isPostPaddingRequiredChanged) + Q_PROPERTY(KeepUntil keepUntil READ keepUntil WRITE setKeepUntil NOTIFY keepUntilChanged) + Q_PROPERTY(RecordingStatus status READ status WRITE setStatus NOTIFY statusChanged) + /** + * @brief Gets or sets the series timer identifier. + */ + Q_PROPERTY(QString seriesTimerId READ seriesTimerId WRITE setSeriesTimerId NOTIFY seriesTimerIdChanged) + /** + * @brief Gets or sets the external series timer identifier. + */ + Q_PROPERTY(QString externalSeriesTimerId READ externalSeriesTimerId WRITE setExternalSeriesTimerId NOTIFY externalSeriesTimerIdChanged) + /** + * @brief Gets or sets the run time ticks. + */ + Q_PROPERTY(qint64 runTimeTicks READ runTimeTicks WRITE setRunTimeTicks NOTIFY runTimeTicksChanged) + Q_PROPERTY(BaseItemDto * programInfo READ programInfo WRITE setProgramInfo NOTIFY programInfoChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString type() const; + void setType(QString newType); + + QString serverId() const; + void setServerId(QString newServerId); + + QString externalId() const; + void setExternalId(QString newExternalId); + + QString channelId() const; + void setChannelId(QString newChannelId); + + QString externalChannelId() const; + void setExternalChannelId(QString newExternalChannelId); + + QString channelName() const; + void setChannelName(QString newChannelName); + + QString channelPrimaryImageTag() const; + void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); + + QString programId() const; + void setProgramId(QString newProgramId); + + QString externalProgramId() const; + void setExternalProgramId(QString newExternalProgramId); + + QString name() const; + void setName(QString newName); + + QString overview() const; + void setOverview(QString newOverview); + + QDateTime startDate() const; + void setStartDate(QDateTime newStartDate); + + QDateTime endDate() const; + void setEndDate(QDateTime newEndDate); + + QString serviceName() const; + void setServiceName(QString newServiceName); + + qint32 priority() const; + void setPriority(qint32 newPriority); + + qint32 prePaddingSeconds() const; + void setPrePaddingSeconds(qint32 newPrePaddingSeconds); + + qint32 postPaddingSeconds() const; + void setPostPaddingSeconds(qint32 newPostPaddingSeconds); + + bool isPrePaddingRequired() const; + void setIsPrePaddingRequired(bool newIsPrePaddingRequired); + + QString parentBackdropItemId() const; + void setParentBackdropItemId(QString newParentBackdropItemId); + + QStringList parentBackdropImageTags() const; + void setParentBackdropImageTags(QStringList newParentBackdropImageTags); + + bool isPostPaddingRequired() const; + void setIsPostPaddingRequired(bool newIsPostPaddingRequired); + + KeepUntil keepUntil() const; + void setKeepUntil(KeepUntil newKeepUntil); + + RecordingStatus status() const; + void setStatus(RecordingStatus newStatus); + + QString seriesTimerId() const; + void setSeriesTimerId(QString newSeriesTimerId); + + QString externalSeriesTimerId() const; + void setExternalSeriesTimerId(QString newExternalSeriesTimerId); + + qint64 runTimeTicks() const; + void setRunTimeTicks(qint64 newRunTimeTicks); + + BaseItemDto * programInfo() const; + void setProgramInfo(BaseItemDto * newProgramInfo); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void typeChanged(QString newType); + void serverIdChanged(QString newServerId); + void externalIdChanged(QString newExternalId); + void channelIdChanged(QString newChannelId); + void externalChannelIdChanged(QString newExternalChannelId); + void channelNameChanged(QString newChannelName); + void channelPrimaryImageTagChanged(QString newChannelPrimaryImageTag); + void programIdChanged(QString newProgramId); + void externalProgramIdChanged(QString newExternalProgramId); + void nameChanged(QString newName); + void overviewChanged(QString newOverview); + void startDateChanged(QDateTime newStartDate); + void endDateChanged(QDateTime newEndDate); + void serviceNameChanged(QString newServiceName); + void priorityChanged(qint32 newPriority); + void prePaddingSecondsChanged(qint32 newPrePaddingSeconds); + void postPaddingSecondsChanged(qint32 newPostPaddingSeconds); + void isPrePaddingRequiredChanged(bool newIsPrePaddingRequired); + void parentBackdropItemIdChanged(QString newParentBackdropItemId); + void parentBackdropImageTagsChanged(QStringList newParentBackdropImageTags); + void isPostPaddingRequiredChanged(bool newIsPostPaddingRequired); + void keepUntilChanged(KeepUntil newKeepUntil); + void statusChanged(RecordingStatus newStatus); + void seriesTimerIdChanged(QString newSeriesTimerId); + void externalSeriesTimerIdChanged(QString newExternalSeriesTimerId); + void runTimeTicksChanged(qint64 newRunTimeTicks); + void programInfoChanged(BaseItemDto * 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; + qint64 m_runTimeTicks; + BaseItemDto * m_programInfo = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#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..000fbb7 --- /dev/null +++ b/core/include/JellyfinQt/DTO/timerinfodtoqueryresult.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_TIMERINFODTOQUERYRESULT_H +#define JELLYFIN_DTO_TIMERINFODTOQUERYRESULT_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TimerInfoDto; + +class TimerInfoDtoQueryResult : public QObject { + Q_OBJECT +public: + explicit TimerInfoDtoQueryResult(QObject *parent = nullptr); + static TimerInfoDtoQueryResult *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the items. + */ + Q_PROPERTY(QList items READ items WRITE setItems NOTIFY itemsChanged) + /** + * @brief The total number of records available. + */ + Q_PROPERTY(qint32 totalRecordCount READ totalRecordCount WRITE setTotalRecordCount NOTIFY totalRecordCountChanged) + /** + * @brief The index of the first record in Items. + */ + Q_PROPERTY(qint32 startIndex READ startIndex WRITE setStartIndex NOTIFY startIndexChanged) + + QList items() const; + void setItems(QList newItems); + + qint32 totalRecordCount() const; + void setTotalRecordCount(qint32 newTotalRecordCount); + + qint32 startIndex() const; + void setStartIndex(qint32 newStartIndex); + +signals: + void itemsChanged(QList newItems); + void totalRecordCountChanged(qint32 newTotalRecordCount); + void startIndexChanged(qint32 newStartIndex); +protected: + QList m_items; + qint32 m_totalRecordCount; + qint32 m_startIndex; +}; + +} // NS Jellyfin +} // NS DTO + +#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..d6a417d --- /dev/null +++ b/core/include/JellyfinQt/DTO/trailerinfo.h @@ -0,0 +1,135 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRAILERINFO_H +#define JELLYFIN_DTO_TRAILERINFO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TrailerInfo : public QObject { + Q_OBJECT +public: + explicit TrailerInfo(QObject *parent = nullptr); + static TrailerInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets the metadata language. + */ + Q_PROPERTY(QString metadataLanguage READ metadataLanguage WRITE setMetadataLanguage NOTIFY metadataLanguageChanged) + /** + * @brief Gets or sets the metadata country code. + */ + Q_PROPERTY(QString metadataCountryCode READ metadataCountryCode WRITE setMetadataCountryCode NOTIFY metadataCountryCodeChanged) + /** + * @brief Gets or sets the provider ids. + */ + Q_PROPERTY(QJsonObject providerIds READ providerIds WRITE setProviderIds NOTIFY providerIdsChanged) + /** + * @brief Gets or sets the year. + */ + Q_PROPERTY(qint32 year READ year WRITE setYear NOTIFY yearChanged) + Q_PROPERTY(qint32 indexNumber READ indexNumber WRITE setIndexNumber NOTIFY indexNumberChanged) + Q_PROPERTY(qint32 parentIndexNumber READ parentIndexNumber WRITE setParentIndexNumber NOTIFY parentIndexNumberChanged) + Q_PROPERTY(QDateTime premiereDate READ premiereDate WRITE setPremiereDate NOTIFY premiereDateChanged) + Q_PROPERTY(bool isAutomated READ isAutomated WRITE setIsAutomated NOTIFY isAutomatedChanged) + + QString name() const; + void setName(QString newName); + + QString path() const; + void setPath(QString newPath); + + QString metadataLanguage() const; + void setMetadataLanguage(QString newMetadataLanguage); + + QString metadataCountryCode() const; + void setMetadataCountryCode(QString newMetadataCountryCode); + + QJsonObject providerIds() const; + void setProviderIds(QJsonObject newProviderIds); + + qint32 year() const; + void setYear(qint32 newYear); + + qint32 indexNumber() const; + void setIndexNumber(qint32 newIndexNumber); + + qint32 parentIndexNumber() const; + void setParentIndexNumber(qint32 newParentIndexNumber); + + QDateTime premiereDate() const; + void setPremiereDate(QDateTime newPremiereDate); + + bool isAutomated() const; + void setIsAutomated(bool newIsAutomated); + +signals: + void nameChanged(QString newName); + void pathChanged(QString newPath); + void metadataLanguageChanged(QString newMetadataLanguage); + void metadataCountryCodeChanged(QString newMetadataCountryCode); + void providerIdsChanged(QJsonObject newProviderIds); + void yearChanged(qint32 newYear); + void indexNumberChanged(qint32 newIndexNumber); + void parentIndexNumberChanged(qint32 newParentIndexNumber); + void premiereDateChanged(QDateTime newPremiereDate); + void isAutomatedChanged(bool newIsAutomated); +protected: + QString m_name; + QString m_path; + QString m_metadataLanguage; + QString m_metadataCountryCode; + QJsonObject m_providerIds; + qint32 m_year; + qint32 m_indexNumber; + qint32 m_parentIndexNumber; + QDateTime m_premiereDate; + bool m_isAutomated; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_TRAILERINFO_H diff --git a/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h b/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.h new file mode 100644 index 0000000..d82d279 --- /dev/null +++ b/core/include/JellyfinQt/DTO/trailerinforemotesearchquery.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_TRAILERINFOREMOTESEARCHQUERY_H +#define JELLYFIN_DTO_TRAILERINFOREMOTESEARCHQUERY_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TrailerInfo; + +class TrailerInfoRemoteSearchQuery : public QObject { + Q_OBJECT +public: + explicit TrailerInfoRemoteSearchQuery(QObject *parent = nullptr); + static TrailerInfoRemoteSearchQuery *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(TrailerInfo * searchInfo READ searchInfo WRITE setSearchInfo NOTIFY searchInfoChanged) + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Will only search within the given provider when set. + */ + Q_PROPERTY(QString searchProviderName READ searchProviderName WRITE setSearchProviderName NOTIFY searchProviderNameChanged) + /** + * @brief Gets or sets a value indicating whether disabled providers should be included. + */ + Q_PROPERTY(bool includeDisabledProviders READ includeDisabledProviders WRITE setIncludeDisabledProviders NOTIFY includeDisabledProvidersChanged) + + TrailerInfo * searchInfo() const; + void setSearchInfo(TrailerInfo * newSearchInfo); + + QString itemId() const; + void setItemId(QString newItemId); + + QString searchProviderName() const; + void setSearchProviderName(QString newSearchProviderName); + + bool includeDisabledProviders() const; + void setIncludeDisabledProviders(bool newIncludeDisabledProviders); + +signals: + void searchInfoChanged(TrailerInfo * newSearchInfo); + void itemIdChanged(QString newItemId); + void searchProviderNameChanged(QString newSearchProviderName); + void includeDisabledProvidersChanged(bool newIncludeDisabledProviders); +protected: + TrailerInfo * m_searchInfo = nullptr; + QString m_itemId; + QString m_searchProviderName; + bool m_includeDisabledProviders; +}; + +} // NS Jellyfin +} // NS DTO + +#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..10abd31 --- /dev/null +++ b/core/include/JellyfinQt/DTO/transcodereason.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_TRANSCODEREASON_H +#define JELLYFIN_DTO_TRANSCODEREASON_H + +#include + +namespace Jellyfin { +namespace DTO { + +class TranscodeReasonClass { + Q_GADGET +public: + enum Value { + 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 Jellyfin +} // NS DTO + +#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..4a086f1 --- /dev/null +++ b/core/include/JellyfinQt/DTO/transcodeseekinfo.h @@ -0,0 +1,54 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSCODESEEKINFO_H +#define JELLYFIN_DTO_TRANSCODESEEKINFO_H + +#include + +namespace Jellyfin { +namespace DTO { + +class TranscodeSeekInfoClass { + Q_GADGET +public: + enum Value { + Auto, + Bytes, + }; + Q_ENUM(Value) +private: + explicit TranscodeSeekInfoClass(); +}; +typedef TranscodeSeekInfoClass::Value TranscodeSeekInfo; + +} // NS Jellyfin +} // NS DTO + +#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..b00dfbe --- /dev/null +++ b/core/include/JellyfinQt/DTO/transcodinginfo.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_TRANSCODINGINFO_H +#define JELLYFIN_DTO_TRANSCODINGINFO_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/transcodereason.h" + +namespace Jellyfin { +namespace DTO { + +class TranscodingInfo : public QObject { + Q_OBJECT +public: + explicit TranscodingInfo(QObject *parent = nullptr); + static TranscodingInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged) + Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged) + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(bool isVideoDirect READ isVideoDirect WRITE setIsVideoDirect NOTIFY isVideoDirectChanged) + Q_PROPERTY(bool isAudioDirect READ isAudioDirect WRITE setIsAudioDirect NOTIFY isAudioDirectChanged) + Q_PROPERTY(qint32 bitrate READ bitrate WRITE setBitrate NOTIFY bitrateChanged) + Q_PROPERTY(float framerate READ framerate WRITE setFramerate NOTIFY framerateChanged) + Q_PROPERTY(double completionPercentage READ completionPercentage WRITE setCompletionPercentage NOTIFY completionPercentageChanged) + Q_PROPERTY(qint32 width READ width WRITE setWidth NOTIFY widthChanged) + Q_PROPERTY(qint32 height READ height WRITE setHeight NOTIFY heightChanged) + Q_PROPERTY(qint32 audioChannels READ audioChannels WRITE setAudioChannels NOTIFY audioChannelsChanged) + Q_PROPERTY(QList transcodeReasons READ transcodeReasons WRITE setTranscodeReasons NOTIFY transcodeReasonsChanged) + + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec); + + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec); + + QString container() const; + void setContainer(QString newContainer); + + bool isVideoDirect() const; + void setIsVideoDirect(bool newIsVideoDirect); + + bool isAudioDirect() const; + void setIsAudioDirect(bool newIsAudioDirect); + + qint32 bitrate() const; + void setBitrate(qint32 newBitrate); + + float framerate() const; + void setFramerate(float newFramerate); + + double completionPercentage() const; + void setCompletionPercentage(double newCompletionPercentage); + + qint32 width() const; + void setWidth(qint32 newWidth); + + qint32 height() const; + void setHeight(qint32 newHeight); + + qint32 audioChannels() const; + void setAudioChannels(qint32 newAudioChannels); + + QList transcodeReasons() const; + void setTranscodeReasons(QList newTranscodeReasons); + +signals: + void audioCodecChanged(QString newAudioCodec); + void videoCodecChanged(QString newVideoCodec); + void containerChanged(QString newContainer); + void isVideoDirectChanged(bool newIsVideoDirect); + void isAudioDirectChanged(bool newIsAudioDirect); + void bitrateChanged(qint32 newBitrate); + void framerateChanged(float newFramerate); + void completionPercentageChanged(double newCompletionPercentage); + void widthChanged(qint32 newWidth); + void heightChanged(qint32 newHeight); + void audioChannelsChanged(qint32 newAudioChannels); + void transcodeReasonsChanged(QList newTranscodeReasons); +protected: + QString m_audioCodec; + QString m_videoCodec; + QString m_container; + bool m_isVideoDirect; + bool m_isAudioDirect; + qint32 m_bitrate; + float m_framerate; + double m_completionPercentage; + qint32 m_width; + qint32 m_height; + qint32 m_audioChannels; + QList m_transcodeReasons; +}; + +} // NS Jellyfin +} // NS DTO + +#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..306c8cb --- /dev/null +++ b/core/include/JellyfinQt/DTO/transcodingprofile.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_TRANSCODINGPROFILE_H +#define JELLYFIN_DTO_TRANSCODINGPROFILE_H + +#include +#include +#include + +#include "JellyfinQt/DTO/dlnaprofiletype.h" +#include "JellyfinQt/DTO/encodingcontext.h" +#include "JellyfinQt/DTO/transcodeseekinfo.h" + +namespace Jellyfin { +namespace DTO { + +class TranscodingProfile : public QObject { + Q_OBJECT +public: + explicit TranscodingProfile(QObject *parent = nullptr); + static TranscodingProfile *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString container READ container WRITE setContainer NOTIFY containerChanged) + Q_PROPERTY(DlnaProfileType type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged) + Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged) + Q_PROPERTY(QString protocol READ protocol WRITE setProtocol NOTIFY protocolChanged) + Q_PROPERTY(bool estimateContentLength READ estimateContentLength WRITE setEstimateContentLength NOTIFY estimateContentLengthChanged) + Q_PROPERTY(bool enableMpegtsM2TsMode READ enableMpegtsM2TsMode WRITE setEnableMpegtsM2TsMode NOTIFY enableMpegtsM2TsModeChanged) + Q_PROPERTY(TranscodeSeekInfo transcodeSeekInfo READ transcodeSeekInfo WRITE setTranscodeSeekInfo NOTIFY transcodeSeekInfoChanged) + Q_PROPERTY(bool copyTimestamps READ copyTimestamps WRITE setCopyTimestamps NOTIFY copyTimestampsChanged) + Q_PROPERTY(EncodingContext context READ context WRITE setContext NOTIFY contextChanged) + Q_PROPERTY(bool enableSubtitlesInManifest READ enableSubtitlesInManifest WRITE setEnableSubtitlesInManifest NOTIFY enableSubtitlesInManifestChanged) + Q_PROPERTY(QString maxAudioChannels READ maxAudioChannels WRITE setMaxAudioChannels NOTIFY maxAudioChannelsChanged) + Q_PROPERTY(qint32 minSegments READ minSegments WRITE setMinSegments NOTIFY minSegmentsChanged) + Q_PROPERTY(qint32 segmentLength READ segmentLength WRITE setSegmentLength NOTIFY segmentLengthChanged) + Q_PROPERTY(bool breakOnNonKeyFrames READ breakOnNonKeyFrames WRITE setBreakOnNonKeyFrames NOTIFY breakOnNonKeyFramesChanged) + + QString container() const; + void setContainer(QString newContainer); + + DlnaProfileType type() const; + void setType(DlnaProfileType newType); + + QString videoCodec() const; + void setVideoCodec(QString newVideoCodec); + + QString audioCodec() const; + void setAudioCodec(QString newAudioCodec); + + QString protocol() const; + void setProtocol(QString newProtocol); + + 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); + + qint32 minSegments() const; + void setMinSegments(qint32 newMinSegments); + + qint32 segmentLength() const; + void setSegmentLength(qint32 newSegmentLength); + + bool breakOnNonKeyFrames() const; + void setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames); + +signals: + void containerChanged(QString newContainer); + void typeChanged(DlnaProfileType newType); + void videoCodecChanged(QString newVideoCodec); + void audioCodecChanged(QString newAudioCodec); + void protocolChanged(QString newProtocol); + void estimateContentLengthChanged(bool newEstimateContentLength); + void enableMpegtsM2TsModeChanged(bool newEnableMpegtsM2TsMode); + void transcodeSeekInfoChanged(TranscodeSeekInfo newTranscodeSeekInfo); + void copyTimestampsChanged(bool newCopyTimestamps); + void contextChanged(EncodingContext newContext); + void enableSubtitlesInManifestChanged(bool newEnableSubtitlesInManifest); + void maxAudioChannelsChanged(QString newMaxAudioChannels); + void minSegmentsChanged(qint32 newMinSegments); + void segmentLengthChanged(qint32 newSegmentLength); + void breakOnNonKeyFramesChanged(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 Jellyfin +} // NS DTO + +#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..f4e4da9 --- /dev/null +++ b/core/include/JellyfinQt/DTO/transportstreamtimestamp.h @@ -0,0 +1,55 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_TRANSPORTSTREAMTIMESTAMP_H +#define JELLYFIN_DTO_TRANSPORTSTREAMTIMESTAMP_H + +#include + +namespace Jellyfin { +namespace DTO { + +class TransportStreamTimestampClass { + Q_GADGET +public: + enum Value { + None, + Zero, + Valid, + }; + Q_ENUM(Value) +private: + explicit TransportStreamTimestampClass(); +}; +typedef TransportStreamTimestampClass::Value TransportStreamTimestamp; + +} // NS Jellyfin +} // NS DTO + +#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..ba82e31 --- /dev/null +++ b/core/include/JellyfinQt/DTO/tunerchannelmapping.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_TUNERCHANNELMAPPING_H +#define JELLYFIN_DTO_TUNERCHANNELMAPPING_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TunerChannelMapping : public QObject { + Q_OBJECT +public: + explicit TunerChannelMapping(QObject *parent = nullptr); + static TunerChannelMapping *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(QString providerChannelName READ providerChannelName WRITE setProviderChannelName NOTIFY providerChannelNameChanged) + Q_PROPERTY(QString providerChannelId READ providerChannelId WRITE setProviderChannelId NOTIFY providerChannelIdChanged) + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + + QString name() const; + void setName(QString newName); + + QString providerChannelName() const; + void setProviderChannelName(QString newProviderChannelName); + + QString providerChannelId() const; + void setProviderChannelId(QString newProviderChannelId); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + +signals: + void nameChanged(QString newName); + void providerChannelNameChanged(QString newProviderChannelName); + void providerChannelIdChanged(QString newProviderChannelId); + void jellyfinIdChanged(QString newJellyfinId); +protected: + QString m_name; + QString m_providerChannelName; + QString m_providerChannelId; + QString m_jellyfinId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..546301f --- /dev/null +++ b/core/include/JellyfinQt/DTO/tunerhostinfo.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_TUNERHOSTINFO_H +#define JELLYFIN_DTO_TUNERHOSTINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class TunerHostInfo : public QObject { + Q_OBJECT +public: + explicit TunerHostInfo(QObject *parent = nullptr); + static TunerHostInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(QString url READ url WRITE setUrl NOTIFY urlChanged) + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QString deviceId READ deviceId WRITE setDeviceId NOTIFY deviceIdChanged) + Q_PROPERTY(QString friendlyName READ friendlyName WRITE setFriendlyName NOTIFY friendlyNameChanged) + Q_PROPERTY(bool importFavoritesOnly READ importFavoritesOnly WRITE setImportFavoritesOnly NOTIFY importFavoritesOnlyChanged) + Q_PROPERTY(bool allowHWTranscoding READ allowHWTranscoding WRITE setAllowHWTranscoding NOTIFY allowHWTranscodingChanged) + Q_PROPERTY(bool enableStreamLooping READ enableStreamLooping WRITE setEnableStreamLooping NOTIFY enableStreamLoopingChanged) + Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged) + Q_PROPERTY(qint32 tunerCount READ tunerCount WRITE setTunerCount NOTIFY tunerCountChanged) + Q_PROPERTY(QString userAgent READ userAgent WRITE setUserAgent NOTIFY userAgentChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString url() const; + void setUrl(QString newUrl); + + QString type() const; + void setType(QString newType); + + QString deviceId() const; + void setDeviceId(QString newDeviceId); + + QString friendlyName() const; + void setFriendlyName(QString newFriendlyName); + + 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); + + qint32 tunerCount() const; + void setTunerCount(qint32 newTunerCount); + + QString userAgent() const; + void setUserAgent(QString newUserAgent); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void urlChanged(QString newUrl); + void typeChanged(QString newType); + void deviceIdChanged(QString newDeviceId); + void friendlyNameChanged(QString newFriendlyName); + void importFavoritesOnlyChanged(bool newImportFavoritesOnly); + void allowHWTranscodingChanged(bool newAllowHWTranscoding); + void enableStreamLoopingChanged(bool newEnableStreamLooping); + void sourceChanged(QString newSource); + void tunerCountChanged(qint32 newTunerCount); + void userAgentChanged(QString newUserAgent); +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 Jellyfin +} // NS DTO + +#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..cbb3f7e --- /dev/null +++ b/core/include/JellyfinQt/DTO/typeoptions.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_TYPEOPTIONS_H +#define JELLYFIN_DTO_TYPEOPTIONS_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ImageOption; + +class TypeOptions : public QObject { + Q_OBJECT +public: + explicit TypeOptions(QObject *parent = nullptr); + static TypeOptions *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged) + Q_PROPERTY(QStringList metadataFetchers READ metadataFetchers WRITE setMetadataFetchers NOTIFY metadataFetchersChanged) + Q_PROPERTY(QStringList metadataFetcherOrder READ metadataFetcherOrder WRITE setMetadataFetcherOrder NOTIFY metadataFetcherOrderChanged) + Q_PROPERTY(QStringList imageFetchers READ imageFetchers WRITE setImageFetchers NOTIFY imageFetchersChanged) + Q_PROPERTY(QStringList imageFetcherOrder READ imageFetcherOrder WRITE setImageFetcherOrder NOTIFY imageFetcherOrderChanged) + Q_PROPERTY(QList imageOptions READ imageOptions WRITE setImageOptions NOTIFY imageOptionsChanged) + + QString type() const; + void setType(QString newType); + + QStringList metadataFetchers() const; + void setMetadataFetchers(QStringList newMetadataFetchers); + + QStringList metadataFetcherOrder() const; + void setMetadataFetcherOrder(QStringList newMetadataFetcherOrder); + + QStringList imageFetchers() const; + void setImageFetchers(QStringList newImageFetchers); + + QStringList imageFetcherOrder() const; + void setImageFetcherOrder(QStringList newImageFetcherOrder); + + QList imageOptions() const; + void setImageOptions(QList newImageOptions); + +signals: + void typeChanged(QString newType); + void metadataFetchersChanged(QStringList newMetadataFetchers); + void metadataFetcherOrderChanged(QStringList newMetadataFetcherOrder); + void imageFetchersChanged(QStringList newImageFetchers); + void imageFetcherOrderChanged(QStringList newImageFetcherOrder); + void imageOptionsChanged(QList newImageOptions); +protected: + QString m_type; + QStringList m_metadataFetchers; + QStringList m_metadataFetcherOrder; + QStringList m_imageFetchers; + QStringList m_imageFetcherOrder; + QList m_imageOptions; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_TYPEOPTIONS_H diff --git a/core/include/JellyfinQt/DTO/types.h b/core/include/JellyfinQt/DTO/types.h deleted file mode 100644 index ed4d9a2..0000000 --- a/core/include/JellyfinQt/DTO/types.h +++ /dev/null @@ -1,41 +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_TYPES_H -#define JELLYFIN_DTO_TYPES_H - -#include "dto.h" -#include "item.h" -#include "mediastream.h" -#include "namedguidpair.h" -#include "user.h" -#include "userdata.h" - -namespace Jellyfin { -namespace DTO { - -/** - * @brief registerTypes Registers all DTO types to the QML type system - * @param uri The uri to register the items under. - */ -void registerTypes(const char *uri); - -} // NS DTO -} // NS Jellyfin - -#endif // JELLYFIN_DTO_TYPES_H diff --git a/core/include/JellyfinQt/DTO/unrateditem.h b/core/include/JellyfinQt/DTO/unrateditem.h new file mode 100644 index 0000000..6ff08bd --- /dev/null +++ b/core/include/JellyfinQt/DTO/unrateditem.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_UNRATEDITEM_H +#define JELLYFIN_DTO_UNRATEDITEM_H + +#include + +namespace Jellyfin { +namespace DTO { + +class UnratedItemClass { + Q_GADGET +public: + enum Value { + Movie, + Trailer, + Series, + Music, + Book, + LiveTvChannel, + LiveTvProgram, + ChannelContent, + Other, + }; + Q_ENUM(Value) +private: + explicit UnratedItemClass(); +}; +typedef UnratedItemClass::Value UnratedItem; + +} // NS Jellyfin +} // NS DTO + +#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..ca74050 --- /dev/null +++ b/core/include/JellyfinQt/DTO/updatelibraryoptionsdto.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_UPDATELIBRARYOPTIONSDTO_H +#define JELLYFIN_DTO_UPDATELIBRARYOPTIONSDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryOptions; + +class UpdateLibraryOptionsDto : public QObject { + Q_OBJECT +public: + explicit UpdateLibraryOptionsDto(QObject *parent = nullptr); + static UpdateLibraryOptionsDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the library item id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + Q_PROPERTY(LibraryOptions * libraryOptions READ libraryOptions WRITE setLibraryOptions NOTIFY libraryOptionsChanged) + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + LibraryOptions * libraryOptions() const; + void setLibraryOptions(LibraryOptions * newLibraryOptions); + +signals: + void jellyfinIdChanged(QString newJellyfinId); + void libraryOptionsChanged(LibraryOptions * newLibraryOptions); +protected: + QString m_jellyfinId; + LibraryOptions * m_libraryOptions = nullptr; +}; + +} // NS Jellyfin +} // NS DTO + +#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..1648605 --- /dev/null +++ b/core/include/JellyfinQt/DTO/updateusereasypassword.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_UPDATEUSEREASYPASSWORD_H +#define JELLYFIN_DTO_UPDATEUSEREASYPASSWORD_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class UpdateUserEasyPassword : public QObject { + Q_OBJECT +public: + explicit UpdateUserEasyPassword(QObject *parent = nullptr); + static UpdateUserEasyPassword *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the new sha1-hashed password. + */ + Q_PROPERTY(QString newPassword READ newPassword WRITE setNewPassword NOTIFY newPasswordChanged) + /** + * @brief Gets or sets the new password. + */ + Q_PROPERTY(QString newPw READ newPw WRITE setNewPw NOTIFY newPwChanged) + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + Q_PROPERTY(bool resetPassword READ resetPassword WRITE setResetPassword NOTIFY resetPasswordChanged) + + QString newPassword() const; + void setNewPassword(QString newNewPassword); + + QString newPw() const; + void setNewPw(QString newNewPw); + + bool resetPassword() const; + void setResetPassword(bool newResetPassword); + +signals: + void newPasswordChanged(QString newNewPassword); + void newPwChanged(QString newNewPw); + void resetPasswordChanged(bool newResetPassword); +protected: + QString m_newPassword; + QString m_newPw; + bool m_resetPassword; +}; + +} // NS Jellyfin +} // NS DTO + +#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..241c9df --- /dev/null +++ b/core/include/JellyfinQt/DTO/updateuserpassword.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_UPDATEUSERPASSWORD_H +#define JELLYFIN_DTO_UPDATEUSERPASSWORD_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class UpdateUserPassword : public QObject { + Q_OBJECT +public: + explicit UpdateUserPassword(QObject *parent = nullptr); + static UpdateUserPassword *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the current sha1-hashed password. + */ + Q_PROPERTY(QString currentPassword READ currentPassword WRITE setCurrentPassword NOTIFY currentPasswordChanged) + /** + * @brief Gets or sets the current plain text password. + */ + Q_PROPERTY(QString currentPw READ currentPw WRITE setCurrentPw NOTIFY currentPwChanged) + /** + * @brief Gets or sets the new plain text password. + */ + Q_PROPERTY(QString newPw READ newPw WRITE setNewPw NOTIFY newPwChanged) + /** + * @brief Gets or sets a value indicating whether to reset the password. + */ + Q_PROPERTY(bool resetPassword READ resetPassword WRITE setResetPassword NOTIFY resetPasswordChanged) + + QString currentPassword() const; + void setCurrentPassword(QString newCurrentPassword); + + QString currentPw() const; + void setCurrentPw(QString newCurrentPw); + + QString newPw() const; + void setNewPw(QString newNewPw); + + bool resetPassword() const; + void setResetPassword(bool newResetPassword); + +signals: + void currentPasswordChanged(QString newCurrentPassword); + void currentPwChanged(QString newCurrentPw); + void newPwChanged(QString newNewPw); + void resetPasswordChanged(bool newResetPassword); +protected: + QString m_currentPassword; + QString m_currentPw; + QString m_newPw; + bool m_resetPassword; +}; + +} // NS Jellyfin +} // NS DTO + +#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..4908653 --- /dev/null +++ b/core/include/JellyfinQt/DTO/uploadsubtitledto.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_UPLOADSUBTITLEDTO_H +#define JELLYFIN_DTO_UPLOADSUBTITLEDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class UploadSubtitleDto : public QObject { + Q_OBJECT +public: + explicit UploadSubtitleDto(QObject *parent = nullptr); + static UploadSubtitleDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the subtitle language. + */ + Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged) + /** + * @brief Gets or sets the subtitle format. + */ + Q_PROPERTY(QString format READ format WRITE setFormat NOTIFY formatChanged) + /** + * @brief Gets or sets a value indicating whether the subtitle is forced. + */ + Q_PROPERTY(bool isForced READ isForced WRITE setIsForced NOTIFY isForcedChanged) + /** + * @brief Gets or sets the subtitle data. + */ + Q_PROPERTY(QString data READ data WRITE setData NOTIFY dataChanged) + + QString language() const; + void setLanguage(QString newLanguage); + + QString format() const; + void setFormat(QString newFormat); + + bool isForced() const; + void setIsForced(bool newIsForced); + + QString data() const; + void setData(QString newData); + +signals: + void languageChanged(QString newLanguage); + void formatChanged(QString newFormat); + void isForcedChanged(bool newIsForced); + void dataChanged(QString newData); +protected: + QString m_language; + QString m_format; + bool m_isForced; + QString m_data; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_UPLOADSUBTITLEDTO_H diff --git a/core/include/JellyfinQt/DTO/user.h b/core/include/JellyfinQt/DTO/user.h index 1c0bc7c..dbd37eb 100644 --- a/core/include/JellyfinQt/DTO/user.h +++ b/core/include/JellyfinQt/DTO/user.h @@ -1,73 +1,43 @@ /* -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 + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ #ifndef JELLYFIN_DTO_USER_H #define JELLYFIN_DTO_USER_H -#include -#include - -#include "dto.h" +#include "JellyfinQt/DTO/userdto.h" namespace Jellyfin { namespace DTO { -class User : public RemoteData { - Q_OBJECT -public: - Q_INVOKABLE User(QObject *parent = nullptr); +using User = UserDto; - Q_PROPERTY(QString jellyfinId MEMBER m_jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) - Q_PROPERTY(QString name MEMBER m_name NOTIFY nameChanged) - Q_PROPERTY(QString primaryImageTag MEMBER m_primaryImageTag NOTIFY primaryImageTagChanged) - Q_PROPERTY(bool hasPassword MEMBER m_hasPassword NOTIFY hasPasswordChanged) - Q_PROPERTY(bool hasConfiguredPassword MEMBER m_hasConfiguredPassword NOTIFY hasConfiguredPasswordChanged) - Q_PROPERTY(bool hasConfiguredEasyPassword MEMBER m_hasConfiguredEasyPassword NOTIFY hasConfiguredEasyPasswordChanged) - - void setJellyfinId(const QString &newJellyfinId) { - if (m_jellyfinId != newJellyfinId) { - this->m_jellyfinId = newJellyfinId; - emit jellyfinIdChanged(newJellyfinId); - reload(); - } - } -signals: - void nameChanged(const QString &newName); - void jellyfinIdChanged(const QString &newJellyfinId); - void primaryImageTagChanged(const QString &newPrimaryImageTag); - void hasPasswordChanged(bool newHasPasswordChanged); - void hasConfiguredPasswordChanged(bool newHasConfiguredPasswordChanged); - void hasConfiguredEasyPasswordChanged(bool newHasConfiguredEasyPasswordChanged); - -protected: - QString getDataUrl() const override; - bool canReload() const override; -private: - QString m_name; - QString m_jellyfinId; - QString m_primaryImageTag; - bool m_hasPassword; - bool m_hasConfiguredPassword; - bool m_hasConfiguredEasyPassword; -}; - -} // NS DTO } // NS Jellyfin +} // NS DTO -#endif // JELLYFIN_DTO_USER +#endif // JELLYFIN_DTO_USER_H diff --git a/core/include/JellyfinQt/DTO/userconfiguration.h b/core/include/JellyfinQt/DTO/userconfiguration.h new file mode 100644 index 0000000..92386f6 --- /dev/null +++ b/core/include/JellyfinQt/DTO/userconfiguration.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_USERCONFIGURATION_H +#define JELLYFIN_DTO_USERCONFIGURATION_H + +#include +#include +#include +#include +#include + +#include "JellyfinQt/DTO/subtitleplaybackmode.h" + +namespace Jellyfin { +namespace DTO { + +class UserConfiguration : public QObject { + Q_OBJECT +public: + explicit UserConfiguration(QObject *parent = nullptr); + static UserConfiguration *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the audio language preference. + */ + Q_PROPERTY(QString audioLanguagePreference READ audioLanguagePreference WRITE setAudioLanguagePreference NOTIFY audioLanguagePreferenceChanged) + /** + * @brief Gets or sets a value indicating whether [play default audio track]. + */ + Q_PROPERTY(bool playDefaultAudioTrack READ playDefaultAudioTrack WRITE setPlayDefaultAudioTrack NOTIFY playDefaultAudioTrackChanged) + /** + * @brief Gets or sets the subtitle language preference. + */ + Q_PROPERTY(QString subtitleLanguagePreference READ subtitleLanguagePreference WRITE setSubtitleLanguagePreference NOTIFY subtitleLanguagePreferenceChanged) + Q_PROPERTY(bool displayMissingEpisodes READ displayMissingEpisodes WRITE setDisplayMissingEpisodes NOTIFY displayMissingEpisodesChanged) + Q_PROPERTY(QStringList groupedFolders READ groupedFolders WRITE setGroupedFolders NOTIFY groupedFoldersChanged) + Q_PROPERTY(SubtitlePlaybackMode subtitleMode READ subtitleMode WRITE setSubtitleMode NOTIFY subtitleModeChanged) + Q_PROPERTY(bool displayCollectionsView READ displayCollectionsView WRITE setDisplayCollectionsView NOTIFY displayCollectionsViewChanged) + Q_PROPERTY(bool enableLocalPassword READ enableLocalPassword WRITE setEnableLocalPassword NOTIFY enableLocalPasswordChanged) + Q_PROPERTY(QStringList orderedViews READ orderedViews WRITE setOrderedViews NOTIFY orderedViewsChanged) + Q_PROPERTY(QStringList latestItemsExcludes READ latestItemsExcludes WRITE setLatestItemsExcludes NOTIFY latestItemsExcludesChanged) + Q_PROPERTY(QStringList myMediaExcludes READ myMediaExcludes WRITE setMyMediaExcludes NOTIFY myMediaExcludesChanged) + Q_PROPERTY(bool hidePlayedInLatest READ hidePlayedInLatest WRITE setHidePlayedInLatest NOTIFY hidePlayedInLatestChanged) + Q_PROPERTY(bool rememberAudioSelections READ rememberAudioSelections WRITE setRememberAudioSelections NOTIFY rememberAudioSelectionsChanged) + Q_PROPERTY(bool rememberSubtitleSelections READ rememberSubtitleSelections WRITE setRememberSubtitleSelections NOTIFY rememberSubtitleSelectionsChanged) + Q_PROPERTY(bool enableNextEpisodeAutoPlay READ enableNextEpisodeAutoPlay WRITE setEnableNextEpisodeAutoPlay NOTIFY enableNextEpisodeAutoPlayChanged) + + QString audioLanguagePreference() const; + void setAudioLanguagePreference(QString newAudioLanguagePreference); + + bool playDefaultAudioTrack() const; + void setPlayDefaultAudioTrack(bool newPlayDefaultAudioTrack); + + QString subtitleLanguagePreference() const; + void setSubtitleLanguagePreference(QString newSubtitleLanguagePreference); + + bool displayMissingEpisodes() const; + void setDisplayMissingEpisodes(bool newDisplayMissingEpisodes); + + QStringList groupedFolders() const; + void setGroupedFolders(QStringList newGroupedFolders); + + 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); + + QStringList latestItemsExcludes() const; + void setLatestItemsExcludes(QStringList newLatestItemsExcludes); + + QStringList myMediaExcludes() const; + void setMyMediaExcludes(QStringList newMyMediaExcludes); + + 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); + +signals: + void audioLanguagePreferenceChanged(QString newAudioLanguagePreference); + void playDefaultAudioTrackChanged(bool newPlayDefaultAudioTrack); + void subtitleLanguagePreferenceChanged(QString newSubtitleLanguagePreference); + void displayMissingEpisodesChanged(bool newDisplayMissingEpisodes); + void groupedFoldersChanged(QStringList newGroupedFolders); + void subtitleModeChanged(SubtitlePlaybackMode newSubtitleMode); + void displayCollectionsViewChanged(bool newDisplayCollectionsView); + void enableLocalPasswordChanged(bool newEnableLocalPassword); + void orderedViewsChanged(QStringList newOrderedViews); + void latestItemsExcludesChanged(QStringList newLatestItemsExcludes); + void myMediaExcludesChanged(QStringList newMyMediaExcludes); + void hidePlayedInLatestChanged(bool newHidePlayedInLatest); + void rememberAudioSelectionsChanged(bool newRememberAudioSelections); + void rememberSubtitleSelectionsChanged(bool newRememberSubtitleSelections); + void enableNextEpisodeAutoPlayChanged(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 Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_USERCONFIGURATION_H diff --git a/core/include/JellyfinQt/DTO/userdata.h b/core/include/JellyfinQt/DTO/userdata.h index 8ffb77b..b7b2027 100644 --- a/core/include/JellyfinQt/DTO/userdata.h +++ b/core/include/JellyfinQt/DTO/userdata.h @@ -1,83 +1,43 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. +#ifndef JELLYFIN_DTO_USERDATA_H +#define JELLYFIN_DTO_USERDATA_H -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -#ifndef JELLYFIN_DTO_USERDATA -#define JELLYFIN_DTO_USERDATA - -#include -#include -#include - -#include "dto.h" +#include "JellyfinQt/DTO/useritemdatadto.h" namespace Jellyfin { namespace DTO { -class UserData : public JsonSerializable { - Q_OBJECT -public: - Q_INVOKABLE explicit UserData(QObject *parent = nullptr); +using UserData = UserItemDataDto; - Q_PROPERTY(double playedPercentage READ playedPercentage WRITE setPlayedPercentage RESET resetPlayedPercentage NOTIFY playedPercentageChanged) - Q_PROPERTY(qint64 playbackPositionTicks READ playbackPositionTicks WRITE setPlaybackPositionTicks NOTIFY playbackPositionTicksChanged) - Q_PROPERTY(bool isFavorite READ isFavorite WRITE setIsFavorite NOTIFY isFavoriteChanged) - Q_PROPERTY(bool likes READ likes WRITE setLikes RESET resetLikes NOTIFY likesChanged) - Q_PROPERTY(bool played READ played WRITE setPlayed NOTIFY playedChanged) - Q_PROPERTY(QString itemId READ itemId MEMBER m_itemId) +} // NS Jellyfin +} // NS DTO - double playedPercentage() const { return m_playedPercentage.value_or(0.0); } - void setPlayedPercentage(double newPlayedPercentage) { m_playedPercentage = newPlayedPercentage; emit playedPercentageChanged(newPlayedPercentage); } - void resetPlayedPercentage() { m_playedPercentage = std::nullopt; emit playedPercentageChanged(0.0); updateOnServer(); } - - qint64 playbackPositionTicks() const { return m_playbackPositionTicks; } - void setPlaybackPositionTicks(qint64 newPlaybackPositionTicks) { m_playbackPositionTicks = newPlaybackPositionTicks; emit playbackPositionTicksChanged(newPlaybackPositionTicks); } - - bool played() const { return m_played; } - void setPlayed(bool newPlayed) { m_played = newPlayed; emit playedChanged(newPlayed); updateOnServer(); } - - bool likes() const { return m_likes.value_or(false); } - void setLikes(bool newLikes) { m_likes = newLikes; emit likesChanged(newLikes); } - void resetLikes() { m_likes = std::nullopt; emit likesChanged(false); updateOnServer(); } - - bool isFavorite() const { return m_isFavorite; } - void setIsFavorite(bool newIsFavorite) { m_isFavorite = newIsFavorite; emit isFavoriteChanged(newIsFavorite); updateOnServer(); } - - const QString &itemId() const { return m_itemId; } -signals: - void playedPercentageChanged(double newPlayedPercentage); - void playbackPositionTicksChanged(qint64 playbackPositionTicks); - void isFavoriteChanged(bool newIsFavorite); - void likesChanged(bool newLikes); - void playedChanged(bool newPlayed); -public slots: - void updateOnServer(); - void onUpdated(UserData *other); -private: - std::optional m_playedPercentage = std::nullopt; - qint64 m_playbackPositionTicks = 0; - bool m_isFavorite = false; - std::optional m_likes = std::nullopt; - bool m_played; - QString m_itemId; -}; - -} -} - -#endif // JELLYFIN_DTO_USERDATA +#endif // JELLYFIN_DTO_USERDATA_H diff --git a/core/include/JellyfinQt/DTO/userdto.h b/core/include/JellyfinQt/DTO/userdto.h new file mode 100644 index 0000000..10a7980 --- /dev/null +++ b/core/include/JellyfinQt/DTO/userdto.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_USERDTO_H +#define JELLYFIN_DTO_USERDTO_H + +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class UserConfiguration; +class UserPolicy; + +class UserDto : public QObject { + Q_OBJECT +public: + explicit UserDto(QObject *parent = nullptr); + static UserDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the server identifier. + */ + Q_PROPERTY(QString serverId READ serverId WRITE setServerId NOTIFY serverIdChanged) + /** + * @brief Gets or sets the name of the server. +This is not used by the server and is for client-side usage only. + */ + Q_PROPERTY(QString serverName READ serverName WRITE setServerName NOTIFY serverNameChanged) + /** + * @brief Gets or sets the id. + */ + Q_PROPERTY(QString jellyfinId READ jellyfinId WRITE setJellyfinId NOTIFY jellyfinIdChanged) + /** + * @brief Gets or sets the primary image tag. + */ + Q_PROPERTY(QString primaryImageTag READ primaryImageTag WRITE setPrimaryImageTag NOTIFY primaryImageTagChanged) + /** + * @brief Gets or sets a value indicating whether this instance has password. + */ + Q_PROPERTY(bool hasPassword READ hasPassword WRITE setHasPassword NOTIFY hasPasswordChanged) + /** + * @brief Gets or sets a value indicating whether this instance has configured password. + */ + Q_PROPERTY(bool hasConfiguredPassword READ hasConfiguredPassword WRITE setHasConfiguredPassword NOTIFY hasConfiguredPasswordChanged) + /** + * @brief Gets or sets a value indicating whether this instance has configured easy password. + */ + Q_PROPERTY(bool hasConfiguredEasyPassword READ hasConfiguredEasyPassword WRITE setHasConfiguredEasyPassword NOTIFY hasConfiguredEasyPasswordChanged) + /** + * @brief Gets or sets whether async login is enabled or not. + */ + Q_PROPERTY(bool enableAutoLogin READ enableAutoLogin WRITE setEnableAutoLogin NOTIFY enableAutoLoginChanged) + /** + * @brief Gets or sets the last login date. + */ + Q_PROPERTY(QDateTime lastLoginDate READ lastLoginDate WRITE setLastLoginDate NOTIFY lastLoginDateChanged) + /** + * @brief Gets or sets the last activity date. + */ + Q_PROPERTY(QDateTime lastActivityDate READ lastActivityDate WRITE setLastActivityDate NOTIFY lastActivityDateChanged) + Q_PROPERTY(UserConfiguration * configuration READ configuration WRITE setConfiguration NOTIFY configurationChanged) + Q_PROPERTY(UserPolicy * policy READ policy WRITE setPolicy NOTIFY policyChanged) + /** + * @brief Gets or sets the primary image aspect ratio. + */ + Q_PROPERTY(double primaryImageAspectRatio READ primaryImageAspectRatio WRITE setPrimaryImageAspectRatio NOTIFY primaryImageAspectRatioChanged) + + QString name() const; + void setName(QString newName); + + QString serverId() const; + void setServerId(QString newServerId); + + QString serverName() const; + void setServerName(QString newServerName); + + QString jellyfinId() const; + void setJellyfinId(QString newJellyfinId); + + QString primaryImageTag() const; + void setPrimaryImageTag(QString newPrimaryImageTag); + + bool hasPassword() const; + void setHasPassword(bool newHasPassword); + + bool hasConfiguredPassword() const; + void setHasConfiguredPassword(bool newHasConfiguredPassword); + + bool hasConfiguredEasyPassword() const; + void setHasConfiguredEasyPassword(bool newHasConfiguredEasyPassword); + + bool enableAutoLogin() const; + void setEnableAutoLogin(bool newEnableAutoLogin); + + QDateTime lastLoginDate() const; + void setLastLoginDate(QDateTime newLastLoginDate); + + QDateTime lastActivityDate() const; + void setLastActivityDate(QDateTime newLastActivityDate); + + UserConfiguration * configuration() const; + void setConfiguration(UserConfiguration * newConfiguration); + + UserPolicy * policy() const; + void setPolicy(UserPolicy * newPolicy); + + double primaryImageAspectRatio() const; + void setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio); + +signals: + void nameChanged(QString newName); + void serverIdChanged(QString newServerId); + void serverNameChanged(QString newServerName); + void jellyfinIdChanged(QString newJellyfinId); + void primaryImageTagChanged(QString newPrimaryImageTag); + void hasPasswordChanged(bool newHasPassword); + void hasConfiguredPasswordChanged(bool newHasConfiguredPassword); + void hasConfiguredEasyPasswordChanged(bool newHasConfiguredEasyPassword); + void enableAutoLoginChanged(bool newEnableAutoLogin); + void lastLoginDateChanged(QDateTime newLastLoginDate); + void lastActivityDateChanged(QDateTime newLastActivityDate); + void configurationChanged(UserConfiguration * newConfiguration); + void policyChanged(UserPolicy * newPolicy); + void primaryImageAspectRatioChanged(double newPrimaryImageAspectRatio); +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; + bool m_enableAutoLogin; + QDateTime m_lastLoginDate; + QDateTime m_lastActivityDate; + UserConfiguration * m_configuration = nullptr; + UserPolicy * m_policy = nullptr; + double m_primaryImageAspectRatio; +}; + +} // NS Jellyfin +} // NS DTO + +#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..12e4a07 --- /dev/null +++ b/core/include/JellyfinQt/DTO/useritemdatadto.h @@ -0,0 +1,156 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 + +namespace Jellyfin { +namespace DTO { + +class UserItemDataDto : public QObject { + Q_OBJECT +public: + explicit UserItemDataDto(QObject *parent = nullptr); + static UserItemDataDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the rating. + */ + Q_PROPERTY(double rating READ rating WRITE setRating NOTIFY ratingChanged) + /** + * @brief Gets or sets the played percentage. + */ + Q_PROPERTY(double playedPercentage READ playedPercentage WRITE setPlayedPercentage NOTIFY playedPercentageChanged) + /** + * @brief Gets or sets the unplayed item count. + */ + Q_PROPERTY(qint32 unplayedItemCount READ unplayedItemCount WRITE setUnplayedItemCount NOTIFY unplayedItemCountChanged) + /** + * @brief Gets or sets the playback position ticks. + */ + Q_PROPERTY(qint64 playbackPositionTicks READ playbackPositionTicks WRITE setPlaybackPositionTicks NOTIFY playbackPositionTicksChanged) + /** + * @brief Gets or sets the play count. + */ + Q_PROPERTY(qint32 playCount READ playCount WRITE setPlayCount NOTIFY playCountChanged) + /** + * @brief Gets or sets a value indicating whether this instance is favorite. + */ + Q_PROPERTY(bool isFavorite READ isFavorite WRITE setIsFavorite NOTIFY isFavoriteChanged) + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. + */ + Q_PROPERTY(bool likes READ likes WRITE setLikes NOTIFY likesChanged) + /** + * @brief Gets or sets the last played date. + */ + Q_PROPERTY(QDateTime lastPlayedDate READ lastPlayedDate WRITE setLastPlayedDate NOTIFY lastPlayedDateChanged) + /** + * @brief Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. + */ + Q_PROPERTY(bool played READ played WRITE setPlayed NOTIFY playedChanged) + /** + * @brief Gets or sets the key. + */ + Q_PROPERTY(QString key READ key WRITE setKey NOTIFY keyChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + + double rating() const; + void setRating(double newRating); + + double playedPercentage() const; + void setPlayedPercentage(double newPlayedPercentage); + + qint32 unplayedItemCount() const; + void setUnplayedItemCount(qint32 newUnplayedItemCount); + + qint64 playbackPositionTicks() const; + void setPlaybackPositionTicks(qint64 newPlaybackPositionTicks); + + qint32 playCount() const; + void setPlayCount(qint32 newPlayCount); + + bool isFavorite() const; + void setIsFavorite(bool newIsFavorite); + + bool likes() const; + void setLikes(bool newLikes); + + QDateTime lastPlayedDate() const; + void setLastPlayedDate(QDateTime newLastPlayedDate); + + bool played() const; + void setPlayed(bool newPlayed); + + QString key() const; + void setKey(QString newKey); + + QString itemId() const; + void setItemId(QString newItemId); + +signals: + void ratingChanged(double newRating); + void playedPercentageChanged(double newPlayedPercentage); + void unplayedItemCountChanged(qint32 newUnplayedItemCount); + void playbackPositionTicksChanged(qint64 newPlaybackPositionTicks); + void playCountChanged(qint32 newPlayCount); + void isFavoriteChanged(bool newIsFavorite); + void likesChanged(bool newLikes); + void lastPlayedDateChanged(QDateTime newLastPlayedDate); + void playedChanged(bool newPlayed); + void keyChanged(QString newKey); + void itemIdChanged(QString newItemId); +protected: + double m_rating; + double m_playedPercentage; + qint32 m_unplayedItemCount; + qint64 m_playbackPositionTicks; + qint32 m_playCount; + bool m_isFavorite; + bool m_likes; + QDateTime m_lastPlayedDate; + bool m_played; + QString m_key; + QString m_itemId; +}; + +} // NS Jellyfin +} // NS DTO + +#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..36050fa --- /dev/null +++ b/core/include/JellyfinQt/DTO/userpolicy.h @@ -0,0 +1,312 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin'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 "JellyfinQt/DTO/syncplayuseraccesstype.h" +#include "JellyfinQt/DTO/unrateditem.h" + +namespace Jellyfin { +namespace DTO { + +class AccessSchedule; + +class UserPolicy : public QObject { + Q_OBJECT +public: + explicit UserPolicy(QObject *parent = nullptr); + static UserPolicy *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether this instance is administrator. + */ + Q_PROPERTY(bool isAdministrator READ isAdministrator WRITE setIsAdministrator NOTIFY isAdministratorChanged) + /** + * @brief Gets or sets a value indicating whether this instance is hidden. + */ + Q_PROPERTY(bool isHidden READ isHidden WRITE setIsHidden NOTIFY isHiddenChanged) + /** + * @brief Gets or sets a value indicating whether this instance is disabled. + */ + Q_PROPERTY(bool isDisabled READ isDisabled WRITE setIsDisabled NOTIFY isDisabledChanged) + /** + * @brief Gets or sets the max parental rating. + */ + Q_PROPERTY(qint32 maxParentalRating READ maxParentalRating WRITE setMaxParentalRating NOTIFY maxParentalRatingChanged) + Q_PROPERTY(QStringList blockedTags READ blockedTags WRITE setBlockedTags NOTIFY blockedTagsChanged) + Q_PROPERTY(bool enableUserPreferenceAccess READ enableUserPreferenceAccess WRITE setEnableUserPreferenceAccess NOTIFY enableUserPreferenceAccessChanged) + Q_PROPERTY(QList accessSchedules READ accessSchedules WRITE setAccessSchedules NOTIFY accessSchedulesChanged) + Q_PROPERTY(QList blockUnratedItems READ blockUnratedItems WRITE setBlockUnratedItems NOTIFY blockUnratedItemsChanged) + Q_PROPERTY(bool enableRemoteControlOfOtherUsers READ enableRemoteControlOfOtherUsers WRITE setEnableRemoteControlOfOtherUsers NOTIFY enableRemoteControlOfOtherUsersChanged) + Q_PROPERTY(bool enableSharedDeviceControl READ enableSharedDeviceControl WRITE setEnableSharedDeviceControl NOTIFY enableSharedDeviceControlChanged) + Q_PROPERTY(bool enableRemoteAccess READ enableRemoteAccess WRITE setEnableRemoteAccess NOTIFY enableRemoteAccessChanged) + Q_PROPERTY(bool enableLiveTvManagement READ enableLiveTvManagement WRITE setEnableLiveTvManagement NOTIFY enableLiveTvManagementChanged) + Q_PROPERTY(bool enableLiveTvAccess READ enableLiveTvAccess WRITE setEnableLiveTvAccess NOTIFY enableLiveTvAccessChanged) + Q_PROPERTY(bool enableMediaPlayback READ enableMediaPlayback WRITE setEnableMediaPlayback NOTIFY enableMediaPlaybackChanged) + Q_PROPERTY(bool enableAudioPlaybackTranscoding READ enableAudioPlaybackTranscoding WRITE setEnableAudioPlaybackTranscoding NOTIFY enableAudioPlaybackTranscodingChanged) + Q_PROPERTY(bool enableVideoPlaybackTranscoding READ enableVideoPlaybackTranscoding WRITE setEnableVideoPlaybackTranscoding NOTIFY enableVideoPlaybackTranscodingChanged) + Q_PROPERTY(bool enablePlaybackRemuxing READ enablePlaybackRemuxing WRITE setEnablePlaybackRemuxing NOTIFY enablePlaybackRemuxingChanged) + Q_PROPERTY(bool forceRemoteSourceTranscoding READ forceRemoteSourceTranscoding WRITE setForceRemoteSourceTranscoding NOTIFY forceRemoteSourceTranscodingChanged) + Q_PROPERTY(bool enableContentDeletion READ enableContentDeletion WRITE setEnableContentDeletion NOTIFY enableContentDeletionChanged) + Q_PROPERTY(QStringList enableContentDeletionFromFolders READ enableContentDeletionFromFolders WRITE setEnableContentDeletionFromFolders NOTIFY enableContentDeletionFromFoldersChanged) + Q_PROPERTY(bool enableContentDownloading READ enableContentDownloading WRITE setEnableContentDownloading NOTIFY enableContentDownloadingChanged) + /** + * @brief Gets or sets a value indicating whether [enable synchronize]. + */ + Q_PROPERTY(bool enableSyncTranscoding READ enableSyncTranscoding WRITE setEnableSyncTranscoding NOTIFY enableSyncTranscodingChanged) + Q_PROPERTY(bool enableMediaConversion READ enableMediaConversion WRITE setEnableMediaConversion NOTIFY enableMediaConversionChanged) + Q_PROPERTY(QStringList enabledDevices READ enabledDevices WRITE setEnabledDevices NOTIFY enabledDevicesChanged) + Q_PROPERTY(bool enableAllDevices READ enableAllDevices WRITE setEnableAllDevices NOTIFY enableAllDevicesChanged) + Q_PROPERTY(QStringList enabledChannels READ enabledChannels WRITE setEnabledChannels NOTIFY enabledChannelsChanged) + Q_PROPERTY(bool enableAllChannels READ enableAllChannels WRITE setEnableAllChannels NOTIFY enableAllChannelsChanged) + Q_PROPERTY(QStringList enabledFolders READ enabledFolders WRITE setEnabledFolders NOTIFY enabledFoldersChanged) + Q_PROPERTY(bool enableAllFolders READ enableAllFolders WRITE setEnableAllFolders NOTIFY enableAllFoldersChanged) + Q_PROPERTY(qint32 invalidLoginAttemptCount READ invalidLoginAttemptCount WRITE setInvalidLoginAttemptCount NOTIFY invalidLoginAttemptCountChanged) + Q_PROPERTY(qint32 loginAttemptsBeforeLockout READ loginAttemptsBeforeLockout WRITE setLoginAttemptsBeforeLockout NOTIFY loginAttemptsBeforeLockoutChanged) + Q_PROPERTY(qint32 maxActiveSessions READ maxActiveSessions WRITE setMaxActiveSessions NOTIFY maxActiveSessionsChanged) + Q_PROPERTY(bool enablePublicSharing READ enablePublicSharing WRITE setEnablePublicSharing NOTIFY enablePublicSharingChanged) + Q_PROPERTY(QStringList blockedMediaFolders READ blockedMediaFolders WRITE setBlockedMediaFolders NOTIFY blockedMediaFoldersChanged) + Q_PROPERTY(QStringList blockedChannels READ blockedChannels WRITE setBlockedChannels NOTIFY blockedChannelsChanged) + Q_PROPERTY(qint32 remoteClientBitrateLimit READ remoteClientBitrateLimit WRITE setRemoteClientBitrateLimit NOTIFY remoteClientBitrateLimitChanged) + Q_PROPERTY(QString authenticationProviderId READ authenticationProviderId WRITE setAuthenticationProviderId NOTIFY authenticationProviderIdChanged) + Q_PROPERTY(QString passwordResetProviderId READ passwordResetProviderId WRITE setPasswordResetProviderId NOTIFY passwordResetProviderIdChanged) + Q_PROPERTY(SyncPlayUserAccessType syncPlayAccess READ syncPlayAccess WRITE setSyncPlayAccess NOTIFY syncPlayAccessChanged) + + bool isAdministrator() const; + void setIsAdministrator(bool newIsAdministrator); + + bool isHidden() const; + void setIsHidden(bool newIsHidden); + + bool isDisabled() const; + void setIsDisabled(bool newIsDisabled); + + qint32 maxParentalRating() const; + void setMaxParentalRating(qint32 newMaxParentalRating); + + QStringList blockedTags() const; + void setBlockedTags(QStringList newBlockedTags); + + bool enableUserPreferenceAccess() const; + void setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess); + + QList accessSchedules() const; + void setAccessSchedules(QList newAccessSchedules); + + QList blockUnratedItems() const; + void setBlockUnratedItems(QList newBlockUnratedItems); + + 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 enableContentDownloading() const; + void setEnableContentDownloading(bool newEnableContentDownloading); + + bool enableSyncTranscoding() const; + void setEnableSyncTranscoding(bool newEnableSyncTranscoding); + + bool enableMediaConversion() const; + void setEnableMediaConversion(bool newEnableMediaConversion); + + QStringList enabledDevices() const; + void setEnabledDevices(QStringList newEnabledDevices); + + bool enableAllDevices() const; + void setEnableAllDevices(bool newEnableAllDevices); + + QStringList enabledChannels() const; + void setEnabledChannels(QStringList newEnabledChannels); + + bool enableAllChannels() const; + void setEnableAllChannels(bool newEnableAllChannels); + + QStringList enabledFolders() const; + void setEnabledFolders(QStringList newEnabledFolders); + + 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); + + QStringList blockedChannels() const; + void setBlockedChannels(QStringList newBlockedChannels); + + qint32 remoteClientBitrateLimit() const; + void setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit); + + QString authenticationProviderId() const; + void setAuthenticationProviderId(QString newAuthenticationProviderId); + + QString passwordResetProviderId() const; + void setPasswordResetProviderId(QString newPasswordResetProviderId); + + SyncPlayUserAccessType syncPlayAccess() const; + void setSyncPlayAccess(SyncPlayUserAccessType newSyncPlayAccess); + +signals: + void isAdministratorChanged(bool newIsAdministrator); + void isHiddenChanged(bool newIsHidden); + void isDisabledChanged(bool newIsDisabled); + void maxParentalRatingChanged(qint32 newMaxParentalRating); + void blockedTagsChanged(QStringList newBlockedTags); + void enableUserPreferenceAccessChanged(bool newEnableUserPreferenceAccess); + void accessSchedulesChanged(QList newAccessSchedules); + void blockUnratedItemsChanged(QList newBlockUnratedItems); + void enableRemoteControlOfOtherUsersChanged(bool newEnableRemoteControlOfOtherUsers); + void enableSharedDeviceControlChanged(bool newEnableSharedDeviceControl); + void enableRemoteAccessChanged(bool newEnableRemoteAccess); + void enableLiveTvManagementChanged(bool newEnableLiveTvManagement); + void enableLiveTvAccessChanged(bool newEnableLiveTvAccess); + void enableMediaPlaybackChanged(bool newEnableMediaPlayback); + void enableAudioPlaybackTranscodingChanged(bool newEnableAudioPlaybackTranscoding); + void enableVideoPlaybackTranscodingChanged(bool newEnableVideoPlaybackTranscoding); + void enablePlaybackRemuxingChanged(bool newEnablePlaybackRemuxing); + void forceRemoteSourceTranscodingChanged(bool newForceRemoteSourceTranscoding); + void enableContentDeletionChanged(bool newEnableContentDeletion); + void enableContentDeletionFromFoldersChanged(QStringList newEnableContentDeletionFromFolders); + void enableContentDownloadingChanged(bool newEnableContentDownloading); + void enableSyncTranscodingChanged(bool newEnableSyncTranscoding); + void enableMediaConversionChanged(bool newEnableMediaConversion); + void enabledDevicesChanged(QStringList newEnabledDevices); + void enableAllDevicesChanged(bool newEnableAllDevices); + void enabledChannelsChanged(QStringList newEnabledChannels); + void enableAllChannelsChanged(bool newEnableAllChannels); + void enabledFoldersChanged(QStringList newEnabledFolders); + void enableAllFoldersChanged(bool newEnableAllFolders); + void invalidLoginAttemptCountChanged(qint32 newInvalidLoginAttemptCount); + void loginAttemptsBeforeLockoutChanged(qint32 newLoginAttemptsBeforeLockout); + void maxActiveSessionsChanged(qint32 newMaxActiveSessions); + void enablePublicSharingChanged(bool newEnablePublicSharing); + void blockedMediaFoldersChanged(QStringList newBlockedMediaFolders); + void blockedChannelsChanged(QStringList newBlockedChannels); + void remoteClientBitrateLimitChanged(qint32 newRemoteClientBitrateLimit); + void authenticationProviderIdChanged(QString newAuthenticationProviderId); + void passwordResetProviderIdChanged(QString newPasswordResetProviderId); + void syncPlayAccessChanged(SyncPlayUserAccessType newSyncPlayAccess); +protected: + bool m_isAdministrator; + bool m_isHidden; + bool m_isDisabled; + qint32 m_maxParentalRating; + 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 Jellyfin +} // NS DTO + +#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..45e94c2 --- /dev/null +++ b/core/include/JellyfinQt/DTO/utctimeresponse.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_UTCTIMERESPONSE_H +#define JELLYFIN_DTO_UTCTIMERESPONSE_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class UtcTimeResponse : public QObject { + Q_OBJECT +public: + explicit UtcTimeResponse(QObject *parent = nullptr); + static UtcTimeResponse *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the UTC time when request has been received. + */ + Q_PROPERTY(QDateTime requestReceptionTime READ requestReceptionTime WRITE setRequestReceptionTime NOTIFY requestReceptionTimeChanged) + /** + * @brief Gets the UTC time when response has been sent. + */ + Q_PROPERTY(QDateTime responseTransmissionTime READ responseTransmissionTime WRITE setResponseTransmissionTime NOTIFY responseTransmissionTimeChanged) + + QDateTime requestReceptionTime() const; + void setRequestReceptionTime(QDateTime newRequestReceptionTime); + + QDateTime responseTransmissionTime() const; + void setResponseTransmissionTime(QDateTime newResponseTransmissionTime); + +signals: + void requestReceptionTimeChanged(QDateTime newRequestReceptionTime); + void responseTransmissionTimeChanged(QDateTime newResponseTransmissionTime); +protected: + QDateTime m_requestReceptionTime; + QDateTime m_responseTransmissionTime; +}; + +} // NS Jellyfin +} // NS DTO + +#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..6766be9 --- /dev/null +++ b/core/include/JellyfinQt/DTO/validatepathdto.h @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VALIDATEPATHDTO_H +#define JELLYFIN_DTO_VALIDATEPATHDTO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class ValidatePathDto : public QObject { + Q_OBJECT +public: + explicit ValidatePathDto(QObject *parent = nullptr); + static ValidatePathDto *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets a value indicating whether validate if path is writable. + */ + Q_PROPERTY(bool validateWritable READ validateWritable WRITE setValidateWritable NOTIFY validateWritableChanged) + /** + * @brief Gets or sets the path. + */ + Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) + /** + * @brief Gets or sets is path file. + */ + Q_PROPERTY(bool isFile READ isFile WRITE setIsFile NOTIFY isFileChanged) + + bool validateWritable() const; + void setValidateWritable(bool newValidateWritable); + + QString path() const; + void setPath(QString newPath); + + bool isFile() const; + void setIsFile(bool newIsFile); + +signals: + void validateWritableChanged(bool newValidateWritable); + void pathChanged(QString newPath); + void isFileChanged(bool newIsFile); +protected: + bool m_validateWritable; + QString m_path; + bool m_isFile; +}; + +} // NS Jellyfin +} // NS DTO + +#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..75ac77c --- /dev/null +++ b/core/include/JellyfinQt/DTO/version.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_VERSION_H +#define JELLYFIN_DTO_VERSION_H + +#include +#include + +namespace Jellyfin { +namespace DTO { + +class Version : public QObject { + Q_OBJECT +public: + explicit Version(QObject *parent = nullptr); + static Version *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + Q_PROPERTY(qint32 major READ major WRITE setMajor NOTIFY majorChanged) + Q_PROPERTY(qint32 minor READ minor WRITE setMinor NOTIFY minorChanged) + Q_PROPERTY(qint32 build READ build WRITE setBuild NOTIFY buildChanged) + Q_PROPERTY(qint32 revision READ revision WRITE setRevision NOTIFY revisionChanged) + Q_PROPERTY(qint32 majorRevision READ majorRevision WRITE setMajorRevision NOTIFY majorRevisionChanged) + Q_PROPERTY(qint32 minorRevision READ minorRevision WRITE setMinorRevision NOTIFY minorRevisionChanged) + + 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); + +signals: + void majorChanged(qint32 newMajor); + void minorChanged(qint32 newMinor); + void buildChanged(qint32 newBuild); + void revisionChanged(qint32 newRevision); + void majorRevisionChanged(qint32 newMajorRevision); + void minorRevisionChanged(qint32 newMinorRevision); +protected: + qint32 m_major; + qint32 m_minor; + qint32 m_build; + qint32 m_revision; + qint32 m_majorRevision; + qint32 m_minorRevision; +}; + +} // NS Jellyfin +} // NS DTO + +#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..945cea0 --- /dev/null +++ b/core/include/JellyfinQt/DTO/versioninfo.h @@ -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. + */ + +#ifndef JELLYFIN_DTO_VERSIONINFO_H +#define JELLYFIN_DTO_VERSIONINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class Version; + +class VersionInfo : public QObject { + Q_OBJECT +public: + explicit VersionInfo(QObject *parent = nullptr); + static VersionInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the version. + */ + Q_PROPERTY(QString version READ version WRITE setVersion NOTIFY versionChanged) + Q_PROPERTY(Version * versionNumber READ versionNumber WRITE setVersionNumber NOTIFY versionNumberChanged) + /** + * @brief Gets or sets the changelog for this version. + */ + Q_PROPERTY(QString changelog READ changelog WRITE setChangelog NOTIFY changelogChanged) + /** + * @brief Gets or sets the ABI that this version was built against. + */ + Q_PROPERTY(QString targetAbi READ targetAbi WRITE setTargetAbi NOTIFY targetAbiChanged) + /** + * @brief Gets or sets the source URL. + */ + Q_PROPERTY(QString sourceUrl READ sourceUrl WRITE setSourceUrl NOTIFY sourceUrlChanged) + /** + * @brief Gets or sets a checksum for the binary. + */ + Q_PROPERTY(QString checksum READ checksum WRITE setChecksum NOTIFY checksumChanged) + /** + * @brief Gets or sets a timestamp of when the binary was built. + */ + Q_PROPERTY(QString timestamp READ timestamp WRITE setTimestamp NOTIFY timestampChanged) + /** + * @brief Gets or sets the repository name. + */ + Q_PROPERTY(QString repositoryName READ repositoryName WRITE setRepositoryName NOTIFY repositoryNameChanged) + /** + * @brief Gets or sets the repository url. + */ + Q_PROPERTY(QString repositoryUrl READ repositoryUrl WRITE setRepositoryUrl NOTIFY repositoryUrlChanged) + + QString version() const; + void setVersion(QString newVersion); + + Version * versionNumber() const; + void setVersionNumber(Version * newVersionNumber); + + QString changelog() const; + void setChangelog(QString newChangelog); + + QString targetAbi() const; + void setTargetAbi(QString newTargetAbi); + + QString sourceUrl() const; + void setSourceUrl(QString newSourceUrl); + + QString checksum() const; + void setChecksum(QString newChecksum); + + QString timestamp() const; + void setTimestamp(QString newTimestamp); + + QString repositoryName() const; + void setRepositoryName(QString newRepositoryName); + + QString repositoryUrl() const; + void setRepositoryUrl(QString newRepositoryUrl); + +signals: + void versionChanged(QString newVersion); + void versionNumberChanged(Version * newVersionNumber); + void changelogChanged(QString newChangelog); + void targetAbiChanged(QString newTargetAbi); + void sourceUrlChanged(QString newSourceUrl); + void checksumChanged(QString newChecksum); + void timestampChanged(QString newTimestamp); + void repositoryNameChanged(QString newRepositoryName); + void repositoryUrlChanged(QString newRepositoryUrl); +protected: + QString m_version; + Version * 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 Jellyfin +} // NS DTO + +#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..7e5e8c6 --- /dev/null +++ b/core/include/JellyfinQt/DTO/video3dformat.h @@ -0,0 +1,57 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIDEO3DFORMAT_H +#define JELLYFIN_DTO_VIDEO3DFORMAT_H + +#include + +namespace Jellyfin { +namespace DTO { + +class Video3DFormatClass { + Q_GADGET +public: + enum Value { + HalfSideBySide, + FullSideBySide, + FullTopAndBottom, + HalfTopAndBottom, + MVC, + }; + Q_ENUM(Value) +private: + explicit Video3DFormatClass(); +}; +typedef Video3DFormatClass::Value Video3DFormat; + +} // NS Jellyfin +} // NS DTO + +#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..9be962f --- /dev/null +++ b/core/include/JellyfinQt/DTO/videotype.h @@ -0,0 +1,56 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIDEOTYPE_H +#define JELLYFIN_DTO_VIDEOTYPE_H + +#include + +namespace Jellyfin { +namespace DTO { + +class VideoTypeClass { + Q_GADGET +public: + enum Value { + VideoFile, + Iso, + Dvd, + BluRay, + }; + Q_ENUM(Value) +private: + explicit VideoTypeClass(); +}; +typedef VideoTypeClass::Value VideoType; + +} // NS Jellyfin +} // NS DTO + +#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..ce278bd --- /dev/null +++ b/core/include/JellyfinQt/DTO/virtualfolderinfo.h @@ -0,0 +1,123 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#ifndef JELLYFIN_DTO_VIRTUALFOLDERINFO_H +#define JELLYFIN_DTO_VIRTUALFOLDERINFO_H + +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class LibraryOptions; + +class VirtualFolderInfo : public QObject { + Q_OBJECT +public: + explicit VirtualFolderInfo(QObject *parent = nullptr); + static VirtualFolderInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the locations. + */ + Q_PROPERTY(QStringList locations READ locations WRITE setLocations NOTIFY locationsChanged) + /** + * @brief Gets or sets the type of the collection. + */ + Q_PROPERTY(QString collectionType READ collectionType WRITE setCollectionType NOTIFY collectionTypeChanged) + Q_PROPERTY(LibraryOptions * libraryOptions READ libraryOptions WRITE setLibraryOptions NOTIFY libraryOptionsChanged) + /** + * @brief Gets or sets the item identifier. + */ + Q_PROPERTY(QString itemId READ itemId WRITE setItemId NOTIFY itemIdChanged) + /** + * @brief Gets or sets the primary image item identifier. + */ + Q_PROPERTY(QString primaryImageItemId READ primaryImageItemId WRITE setPrimaryImageItemId NOTIFY primaryImageItemIdChanged) + Q_PROPERTY(double refreshProgress READ refreshProgress WRITE setRefreshProgress NOTIFY refreshProgressChanged) + Q_PROPERTY(QString refreshStatus READ refreshStatus WRITE setRefreshStatus NOTIFY refreshStatusChanged) + + QString name() const; + void setName(QString newName); + + QStringList locations() const; + void setLocations(QStringList newLocations); + + QString collectionType() const; + void setCollectionType(QString newCollectionType); + + LibraryOptions * libraryOptions() const; + void setLibraryOptions(LibraryOptions * newLibraryOptions); + + QString itemId() const; + void setItemId(QString newItemId); + + QString primaryImageItemId() const; + void setPrimaryImageItemId(QString newPrimaryImageItemId); + + double refreshProgress() const; + void setRefreshProgress(double newRefreshProgress); + + QString refreshStatus() const; + void setRefreshStatus(QString newRefreshStatus); + +signals: + void nameChanged(QString newName); + void locationsChanged(QStringList newLocations); + void collectionTypeChanged(QString newCollectionType); + void libraryOptionsChanged(LibraryOptions * newLibraryOptions); + void itemIdChanged(QString newItemId); + void primaryImageItemIdChanged(QString newPrimaryImageItemId); + void refreshProgressChanged(double newRefreshProgress); + void refreshStatusChanged(QString newRefreshStatus); +protected: + QString m_name; + QStringList m_locations; + QString m_collectionType; + LibraryOptions * m_libraryOptions = nullptr; + QString m_itemId; + QString m_primaryImageItemId; + double m_refreshProgress; + QString m_refreshStatus; +}; + +} // NS Jellyfin +} // NS DTO + +#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..628c071 --- /dev/null +++ b/core/include/JellyfinQt/DTO/wakeonlaninfo.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_WAKEONLANINFO_H +#define JELLYFIN_DTO_WAKEONLANINFO_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class WakeOnLanInfo : public QObject { + Q_OBJECT +public: + explicit WakeOnLanInfo(QObject *parent = nullptr); + static WakeOnLanInfo *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets the MAC address of the device. + */ + Q_PROPERTY(QString macAddress READ macAddress WRITE setMacAddress NOTIFY macAddressChanged) + /** + * @brief Gets or sets the wake-on-LAN port. + */ + Q_PROPERTY(qint32 port READ port WRITE setPort NOTIFY portChanged) + + QString macAddress() const; + void setMacAddress(QString newMacAddress); + + qint32 port() const; + void setPort(qint32 newPort); + +signals: + void macAddressChanged(QString newMacAddress); + void portChanged(qint32 newPort); +protected: + QString m_macAddress; + qint32 m_port; +}; + +} // NS Jellyfin +} // NS DTO + +#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..7dea96e --- /dev/null +++ b/core/include/JellyfinQt/DTO/xmlattribute.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_XMLATTRIBUTE_H +#define JELLYFIN_DTO_XMLATTRIBUTE_H + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +class XmlAttribute : public QObject { + Q_OBJECT +public: + explicit XmlAttribute(QObject *parent = nullptr); + static XmlAttribute *fromJSON(QJsonObject source, QObject *parent = nullptr); + void updateFromJSON(QJsonObject source); + QJsonObject toJSON(); + + /** + * @brief Gets or sets the name of the attribute. + */ + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + /** + * @brief Gets or sets the value of the attribute. + */ + Q_PROPERTY(QString value READ value WRITE setValue NOTIFY valueChanged) + + QString name() const; + void setName(QString newName); + + QString value() const; + void setValue(QString newValue); + +signals: + void nameChanged(QString newName); + void valueChanged(QString newValue); +protected: + QString m_name; + QString m_value; +}; + +} // NS Jellyfin +} // NS DTO + +#endif // JELLYFIN_DTO_XMLATTRIBUTE_H diff --git a/core/include/JellyfinQt/apiclient.h b/core/include/JellyfinQt/apiclient.h index d19f033..7cb4d64 100644 --- a/core/include/JellyfinQt/apiclient.h +++ b/core/include/JellyfinQt/apiclient.h @@ -46,7 +46,8 @@ class WebSocket; class PlaybackManager; namespace DTO { - class UserData; // Keep it as an opaque pointer + class UserItemDataDto; // Keep it as an opaque pointer + using UserData = UserItemDataDto; } using namespace DTO; diff --git a/core/include/JellyfinQt/apimodel.h b/core/include/JellyfinQt/apimodel.h index 20a7e06..fa6e91f 100644 --- a/core/include/JellyfinQt/apimodel.h +++ b/core/include/JellyfinQt/apimodel.h @@ -33,13 +33,12 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "apiclient.h" #include "jsonhelper.h" +#include "DTO/item.h" +#include "DTO/user.h" +#include "DTO/userdata.h" + namespace Jellyfin { -namespace DTO { - class Item; - class JsonSerializable; - class User; -} class SortOptions : public QObject { Q_OBJECT public: @@ -217,7 +216,7 @@ protected: * The model will have roleNames for "name" and "id". * */ -template +template class ApiModel : public BaseApiModel { public: /** diff --git a/core/include/JellyfinQt/jellyfin.h b/core/include/JellyfinQt/jellyfin.h index eb75ff2..2b0255b 100644 --- a/core/include/JellyfinQt/jellyfin.h +++ b/core/include/JellyfinQt/jellyfin.h @@ -21,21 +21,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include -#include "DTO/dto.h" +// #include "DTO/dto.h" #include "DTO/item.h" #include "DTO/mediastream.h" -#include "DTO/namedguidpair.h" -#include "DTO/types.h" -#include "DTO/user.h" -#include "DTO/userdata.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" namespace Jellyfin { + void registerTypes(const char *uri = "nl.netsoj.chris.Jellyfin"); + } #endif // JELLYFIN_H diff --git a/core/include/JellyfinQt/playbackmanager.h b/core/include/JellyfinQt/playbackmanager.h index 9ffc6de..08efa7b 100644 --- a/core/include/JellyfinQt/playbackmanager.h +++ b/core/include/JellyfinQt/playbackmanager.h @@ -34,7 +34,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include -#include "JellyfinQt/DTO/item.h" +#include +#include "remotedata.h" #include "apiclient.h" @@ -44,7 +45,8 @@ namespace Jellyfin { // Forward declaration of Jellyfin::ApiClient found in jellyfinapiclient.h class ApiClient; class ItemModel; -using namespace DTO; +class RemoteItem; + /** * @brief The PlaybackManager class manages the playback of Jellyfin items. It fetches streams based on Jellyfin items, posts @@ -67,7 +69,7 @@ public: explicit PlaybackManager(QObject *parent = nullptr); - Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient) + Q_PROPERTY(ApiClient *apiClient MEMBER m_apiClient WRITE setApiClient) Q_PROPERTY(QString streamUrl READ streamUrl NOTIFY streamUrlChanged) Q_PROPERTY(bool autoOpen MEMBER m_autoOpen NOTIFY autoOpenChanged) Q_PROPERTY(int audioIndex MEMBER m_audioIndex NOTIFY audioIndexChanged) @@ -90,7 +92,8 @@ public: Q_PROPERTY(QMediaPlayer::State playbackState READ playbackState NOTIFY playbackStateChanged) Q_PROPERTY(qint64 position READ position NOTIFY positionChanged) - Item *item() const { return m_item; } + BaseItemDto *item() const { return m_item->data(); } + void setApiClient(ApiClient *apiClient); QString streamUrl() const { return m_streamUrl; } PlayMethod playMethod() const { return m_playMethod; } @@ -107,7 +110,7 @@ public: QMediaPlayer::Error error () const { return m_mediaPlayer->error(); } QString errorString() const { return m_mediaPlayer->errorString(); } signals: - void itemChanged(Item *newItemId); + void itemChanged(BaseItemDto *newItemId); void streamUrlChanged(const QString &newStreamUrl); void autoOpenChanged(bool autoOpen); void audioIndexChanged(int audioIndex); @@ -163,7 +166,7 @@ private slots: private: QTimer m_updateTimer; ApiClient *m_apiClient = nullptr; - Item *m_item = nullptr; + RemoteItem *m_item; QString m_streamUrl; QString m_playSessionId; int m_audioIndex = 0; @@ -183,7 +186,7 @@ private: int m_queueIndex = 0; bool m_resumePlayback = true; - void setItem(Item *newItem); + void setItem(BaseItemDto *newItem); void swapMediaPlayer(); bool m_qmlIsParsingComponent = false; @@ -196,12 +199,12 @@ private: /** * @brief Retrieves the URL of the stream to open. */ - void fetchStreamUrl(const Item *item, bool autoOpen, const FetchCallback &callback); - void fetchAndSetStreamUrl(const Item *item); + void fetchStreamUrl(const BaseItemDto *item, bool autoOpen, const FetchCallback &callback); + void fetchAndSetStreamUrl(const BaseItemDto *item); void setStreamUrl(const QString &streamUrl); void setPlaybackState(QMediaPlayer::State newState); - Item *nextItem(); + BaseItemDto *nextItem(); void setQueue(ItemModel *itemModel); // Factor to multiply with when converting from milliseconds to ticks. diff --git a/core/include/JellyfinQt/DTO/dto.h b/core/include/JellyfinQt/remotedata.h similarity index 66% rename from core/include/JellyfinQt/DTO/dto.h rename to core/include/JellyfinQt/remotedata.h index 51dc4c2..d6d69f7 100644 --- a/core/include/JellyfinQt/DTO/dto.h +++ b/core/include/JellyfinQt/remotedata.h @@ -1,17 +1,14 @@ /* 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 @@ -31,27 +28,24 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include #include -#include "../apiclient.h" -#include "../jsonhelper.h" +#include "apiclient.h" +#include "jsonhelper.h" + +#include "DTO/baseitemdto.h" namespace Jellyfin { -namespace DTO { /** * @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 { +/*class JsonSerializable : public QObject { Q_OBJECT public: Q_INVOKABLE JsonSerializable(QObject *parent); virtual ~JsonSerializable(); - /** - * @brief Sets this objects properties based on obj. - * @param obj The data to load into this object. - */ void deserialize(const QJsonObject &obj); QJsonObject serialize(bool capitalize = true) const; private: @@ -59,27 +53,14 @@ private: QJsonValue variantToJson(const QVariant var) const; QVariant deserializeQObject(const QJsonObject &obj, const QMetaProperty &prop); - /** - * @brief Sets the first letter of the string to lower case (to make it camelCase). - * @param str The string to modify - * @return THe modified string - */ static QString fromPascalCase(QString str); - /** - * @brief Sets the first letter of the string to uper case (to make it PascalCase). - * @param str The string to modify - * @return THe modified string - */ static QString toPascalCase(QString st); static const QRegularExpression m_listExpression; static const QRegularExpression m_hashExpression; static int findTypeIdForProperty(QString type); - /** - * @brief Qt is doing weird. I'll keep track of the metatypes myself. - */ QHash m_nameMetatypeMap; -}; +};*/ /** @@ -89,8 +70,9 @@ private: * Subclasses should reimplement reload and call setStatus to update the QML part of the code * appropiatly. */ -class RemoteData : public JsonSerializable { +class RemoteDataBase : public QObject, public QQmlParserStatus { Q_OBJECT + Q_INTERFACES(QQmlParserStatus) public: enum Status { /// The data is unitialized and not loading either. @@ -104,13 +86,16 @@ public: }; Q_ENUM(Status) - explicit RemoteData(QObject *parent = nullptr); + 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; } @@ -124,6 +109,7 @@ signals: 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. */ @@ -149,26 +135,96 @@ protected: * Usage cases include checking if the * required properties, such as the item id are set. */ - virtual bool canReload() const = 0; + 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; 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; }; -} // NS DTO +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/" + m_data->jellyfinId(); + } + + bool canReload() const override { + return RemoteData::canReload() && !m_data->jellyfinId().isNull(); + } + + QString jellyfinId() const { return 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/websocket.h b/core/include/JellyfinQt/websocket.h index 7228c8a..c8490a2 100644 --- a/core/include/JellyfinQt/websocket.h +++ b/core/include/JellyfinQt/websocket.h @@ -37,7 +37,8 @@ namespace Jellyfin { class ApiClient; namespace DTO { -class UserData; + class UserItemDataDto; + using UserData = UserItemDataDto; } /** * @brief Keeps a connection with the Jellyfin server to receive real time updates. diff --git a/core/openapigenerator.d b/core/openapigenerator.d index 3a71ff3..7ed54e5 100755 --- a/core/openapigenerator.d +++ b/core/openapigenerator.d @@ -61,6 +61,14 @@ string CMAKE_VAR_PREFIX = "openapi"; string INCLUDE_PREFIX = "JellyfinQt/DTO"; string SRC_PREFIX = "DTO"; +string[string] compatAliases; + +static this() { + compatAliases["BaseItemDto"] = "Item"; + compatAliases["UserDto"] = "User"; + compatAliases["UserItemDataDto"] = "UserData"; +} + CasePolicy OPENAPI_CASING = CasePolicy.PASCAL; string[] CPP_NAMESPACE = ["Jellyfin", "DTO"]; CasePolicy CPP_FILENAME_CASING = CasePolicy.LOWER; @@ -112,18 +120,21 @@ void realMain(string[] args) { Node root = Loader.fromFile(schemeFile).load(); Appender!(string[]) headerFiles, implementationFiles; - foreach(ref string key, ref const Node scheme; root["components"]["schemas"]) { + 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, fileBase ~ ".h")]; implementationFiles ~= [buildPath(outputDirectory, "src", SRC_PREFIX, fileBase ~ ".cpp")]; } + foreach(string original, string compatAlias; compatAliases) { + writeCompatAliasFile(original, compatAlias); + } writeCMakeFile(headerFiles[], implementationFiles[]); } void writeCMakeFile(string[] headerFiles, string[] implementationFiles) { - File output = File(buildPath(outputDirectory, "..", CMAKE_INCLUDE_FILE), "w+"); + File output = File(buildPath(outputDirectory, CMAKE_INCLUDE_FILE), "w+"); output.writeln("cmake_minimum_required(VERSION 3.0)"); // Peek laziness: wrapping a C++ comment inside a CMake block comment because I couldn't be // donkey'd to do otherwise. @@ -136,7 +147,7 @@ void writeCMakeFile(string[] headerFiles, string[] implementationFiles) { output.writeln(); output.writef("\t%s", headerFile); } - output.writeln(); + output.writeln(")"); output.writeln(); output.writef("set(%s_SOURCES", CMAKE_VAR_PREFIX); @@ -144,7 +155,17 @@ void writeCMakeFile(string[] headerFiles, string[] implementationFiles) { output.writeln(); output.writef("\t%s", implementationFile); } - output.writeln(); + 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, fileBase ~ ".h"), "w+"); + File implementationFile = File(buildPath(outputDirectory, "src", SRC_PREFIX, fileBase ~ ".cpp"), "w+"); + + writeHeaderPreamble(headerFile, compatAlias, [], [original]); + headerFile.writefln("using %s = %s;", compatAlias, original); + writeHeaderPostamble(headerFile, compatAlias); } void generateFileForSchema(ref string name, ref const Node scheme, Node allSchemas) { @@ -170,7 +191,8 @@ void generateFileForSchema(ref string name, ref const Node scheme, Node allSchem if (scheme["type"].as!string == "object" && "properties" in scheme) { // Determine all imports Appender!(string[]) systemImports, userImports; - systemImports ~= ["QObject"]; + Appender!(string[]) forwardDeclarations; + systemImports ~= ["QObject", "QJsonObject"]; MetaTypeInfo[] usedTypes = collectTypeInfo(scheme["properties"], allSchemas); bool importedContainers = false; @@ -188,7 +210,11 @@ void generateFileForSchema(ref string name, ref const Node scheme, Node allSchem systemImports ~= [type.typeName]; } } else if (type.needsLocalImport && !userImports[].canFind(type.typeName)) { - userImports ~= type.typeName; + if (type.needsPointer) { + forwardDeclarations ~= type.typeName; + } else { + userImports ~= type.typeName; + } } } foreach (type; usedTypes) { @@ -198,10 +224,11 @@ void generateFileForSchema(ref string name, ref const Node scheme, Node allSchem // Sort them for nicer reading string[] sortedSystemImports = sort(systemImports[]).array; string[] sortedUserImports = sort(userImports[]).array; + string[] sortedForwardDeclarations = sort(forwardDeclarations[]).array; // Write implementation files - writeHeaderPreamble(headerFile, name, sortedSystemImports); - writeObjectHeader(headerFile, name, usedTypes, sortedUserImports); + writeHeaderPreamble(headerFile, name, sortedSystemImports, sortedUserImports); + writeObjectHeader(headerFile, name, usedTypes, sortedForwardDeclarations); writeHeaderPostamble(headerFile, name); writeImplementationPreamble(implementationFile, name, sortedUserImports); @@ -231,7 +258,7 @@ MetaTypeInfo[] collectTypeInfo(Node properties, Node allSchemas) { info.needsPointer = true; } info.needsLocalImport = true; - info.typeName = type; + info.typeName = type; return info; } if (!("type" in node)) { @@ -287,7 +314,7 @@ MetaTypeInfo[] collectTypeInfo(Node properties, Node allSchemas) { if (containedType.typeName == "QString") { info.typeName = "QStringList"; } else { - info.typeName = "QList<" ~ containedType.typeName ~ ">"; + info.typeName = "QList<" ~ containedType.typeNameWithQualifiers ~ ">"; } return info; default: @@ -313,7 +340,10 @@ void writeObjectHeader(File output, string name, MetaTypeInfo[] properties, stri output.writefln("class %s : public QObject {", className); output.writefln("\tQ_OBJECT"); output.writefln("public:"); - output.writefln("\t%s(QObject *parent = nullptr);", className); + output.writefln("\texplicit %s(QObject *parent = nullptr);", className); + output.writefln("\tstatic %s *fromJSON(QJsonObject source, QObject *parent = nullptr);", className); + output.writefln("\tvoid updateFromJSON(QJsonObject source);"); + output.writefln("\tQJsonObject toJSON();"); output.writeln(); // Generate Q_PROPERTIES @@ -367,6 +397,23 @@ void writeObjectImplementation(File output, string name, MetaTypeInfo[] properti output.writefln("%s::%s(QObject *parent) : QObject(parent) {}", className, className); output.writeln(); + output.writefln("%s *%s::fromJSON(QJsonObject source, QObject *parent) {", className, className); + output.writefln("\t%s *instance = new %s(parent);", className, className); + output.writefln("\tinstance->updateFromJSON(source);", className); + output.writefln("\treturn instance;"); + output.writefln("}"); + output.writeln(); + + output.writefln("void %s::updateFromJSON(QJsonObject source) {", className, className); + output.writefln("\tQ_UNIMPLEMENTED();"); + output.writefln("}"); + + output.writefln("QJsonObject %s::toJSON() {", className); + output.writefln("\tQ_UNIMPLEMENTED();"); + output.writefln("\tQJsonObject result;"); + output.writefln("\treturn result;"); + output.writefln("}"); + foreach(property; properties) { output.writefln("%s %s::%s() const { return %s; }", property.typeNameWithQualifiers, className, property.name, property.memberName); @@ -374,7 +421,7 @@ void writeObjectImplementation(File output, string name, MetaTypeInfo[] properti output.writefln("void %s::set%s(%s new%s) {", className, property.writeName, property.typeNameWithQualifiers, property.writeName); output.writefln("\t%s = new%s;", property.memberName, property.writeName); - output.writefln("\temit %sChanged(new%s)", property.name, property.writeName); + output.writefln("\temit %sChanged(new%s);", property.name, property.writeName); output.writefln("}"); output.writeln(); } @@ -383,28 +430,29 @@ void writeObjectImplementation(File output, string name, MetaTypeInfo[] properti // Enum void writeEnumHeader(File output, string name, string[] values, string doc = "") { string className = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_CASING); - output.writefln("class %s {", className); + output.writefln("class %sClass {", className); output.writefln("\tQ_GADGET"); output.writefln("public:"); - output.writefln("\tenum %s {", className); + output.writefln("\tenum Value {"); foreach (value; values) { output.writefln("\t\t%s,", value); } output.writefln("\t};"); - output.writefln("\tQ_ENUM(%s)", className); + output.writefln("\tQ_ENUM(Value)"); output.writefln("private:"); - output.writefln("\texplicit %s();", className); + output.writefln("\texplicit %sClass();", className); output.writefln("};"); + output.writefln("typedef %sClass::Value %s;", className, className); } void writeEnumImplementation(File output, string name) { string className = name.applyCasePolicy(OPENAPI_CASING, CPP_CLASS_CASING); string importName = name.applyCasePolicy(OPENAPI_CASING, CPP_FILENAME_CASING); - output.writefln("%s::%s() {}", name, name); + output.writefln("%sClass::%sClass() {}", name, name); } // Common -void writeHeaderPreamble(File output, string className, string[] imports = []) { +void writeHeaderPreamble(File output, string className, string[] imports = [], string[] userImports = []) { output.writeln(COPYRIGHT); string guard = guardName(CPP_NAMESPACE, className); output.writefln("#ifndef %s", guard); @@ -417,6 +465,11 @@ void writeHeaderPreamble(File output, string className, string[] imports = []) { if (imports.length > 0) output.writeln(); + foreach(file; userImports) { + output.writefln("#include \"%s\"", buildPath(INCLUDE_PREFIX, file.applyCasePolicy(OPENAPI_CASING, CasePolicy.LOWER) ~ ".h")); + } + if (userImports.length > 0) output.writeln(); + foreach (namespace; CPP_NAMESPACE) { output.writefln("namespace %s {", namespace); } diff --git a/core/src/DTO/accessschedule.cpp b/core/src/DTO/accessschedule.cpp new file mode 100644 index 0000000..7d134cb --- /dev/null +++ b/core/src/DTO/accessschedule.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 + +#include + +namespace Jellyfin { +namespace DTO { + +AccessSchedule::AccessSchedule(QObject *parent) : QObject(parent) {} + +AccessSchedule *AccessSchedule::fromJSON(QJsonObject source, QObject *parent) { + AccessSchedule *instance = new AccessSchedule(parent); + instance->updateFromJSON(source); + return instance; +} + +void AccessSchedule::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AccessSchedule::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint32 AccessSchedule::jellyfinId() const { return m_jellyfinId; } +void AccessSchedule::setJellyfinId(qint32 newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString AccessSchedule::userId() const { return m_userId; } +void AccessSchedule::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +DynamicDayOfWeek AccessSchedule::dayOfWeek() const { return m_dayOfWeek; } +void AccessSchedule::setDayOfWeek(DynamicDayOfWeek newDayOfWeek) { + m_dayOfWeek = newDayOfWeek; + emit dayOfWeekChanged(newDayOfWeek); +} + +double AccessSchedule::startHour() const { return m_startHour; } +void AccessSchedule::setStartHour(double newStartHour) { + m_startHour = newStartHour; + emit startHourChanged(newStartHour); +} + +double AccessSchedule::endHour() const { return m_endHour; } +void AccessSchedule::setEndHour(double newEndHour) { + m_endHour = newEndHour; + emit endHourChanged(newEndHour); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/activitylogentry.cpp b/core/src/DTO/activitylogentry.cpp new file mode 100644 index 0000000..3d410fb --- /dev/null +++ b/core/src/DTO/activitylogentry.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 + +#include + +namespace Jellyfin { +namespace DTO { + +ActivityLogEntry::ActivityLogEntry(QObject *parent) : QObject(parent) {} + +ActivityLogEntry *ActivityLogEntry::fromJSON(QJsonObject source, QObject *parent) { + ActivityLogEntry *instance = new ActivityLogEntry(parent); + instance->updateFromJSON(source); + return instance; +} + +void ActivityLogEntry::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ActivityLogEntry::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 ActivityLogEntry::jellyfinId() const { return m_jellyfinId; } +void ActivityLogEntry::setJellyfinId(qint64 newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString ActivityLogEntry::name() const { return m_name; } +void ActivityLogEntry::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ActivityLogEntry::overview() const { return m_overview; } +void ActivityLogEntry::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +QString ActivityLogEntry::shortOverview() const { return m_shortOverview; } +void ActivityLogEntry::setShortOverview(QString newShortOverview) { + m_shortOverview = newShortOverview; + emit shortOverviewChanged(newShortOverview); +} + +QString ActivityLogEntry::type() const { return m_type; } +void ActivityLogEntry::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString ActivityLogEntry::itemId() const { return m_itemId; } +void ActivityLogEntry::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QDateTime ActivityLogEntry::date() const { return m_date; } +void ActivityLogEntry::setDate(QDateTime newDate) { + m_date = newDate; + emit dateChanged(newDate); +} + +QString ActivityLogEntry::userId() const { return m_userId; } +void ActivityLogEntry::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString ActivityLogEntry::userPrimaryImageTag() const { return m_userPrimaryImageTag; } +void ActivityLogEntry::setUserPrimaryImageTag(QString newUserPrimaryImageTag) { + m_userPrimaryImageTag = newUserPrimaryImageTag; + emit userPrimaryImageTagChanged(newUserPrimaryImageTag); +} + +LogLevel ActivityLogEntry::severity() const { return m_severity; } +void ActivityLogEntry::setSeverity(LogLevel newSeverity) { + m_severity = newSeverity; + emit severityChanged(newSeverity); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/activitylogentryqueryresult.cpp b/core/src/DTO/activitylogentryqueryresult.cpp new file mode 100644 index 0000000..a77cc38 --- /dev/null +++ b/core/src/DTO/activitylogentryqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ActivityLogEntryQueryResult::ActivityLogEntryQueryResult(QObject *parent) : QObject(parent) {} + +ActivityLogEntryQueryResult *ActivityLogEntryQueryResult::fromJSON(QJsonObject source, QObject *parent) { + ActivityLogEntryQueryResult *instance = new ActivityLogEntryQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void ActivityLogEntryQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ActivityLogEntryQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList ActivityLogEntryQueryResult::items() const { return m_items; } +void ActivityLogEntryQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 ActivityLogEntryQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void ActivityLogEntryQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 ActivityLogEntryQueryResult::startIndex() const { return m_startIndex; } +void ActivityLogEntryQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/addvirtualfolderdto.cpp b/core/src/DTO/addvirtualfolderdto.cpp new file mode 100644 index 0000000..37738df --- /dev/null +++ b/core/src/DTO/addvirtualfolderdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AddVirtualFolderDto::AddVirtualFolderDto(QObject *parent) : QObject(parent) {} + +AddVirtualFolderDto *AddVirtualFolderDto::fromJSON(QJsonObject source, QObject *parent) { + AddVirtualFolderDto *instance = new AddVirtualFolderDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void AddVirtualFolderDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AddVirtualFolderDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +LibraryOptions * AddVirtualFolderDto::libraryOptions() const { return m_libraryOptions; } +void AddVirtualFolderDto::setLibraryOptions(LibraryOptions * newLibraryOptions) { + m_libraryOptions = newLibraryOptions; + emit libraryOptionsChanged(newLibraryOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/albuminfo.cpp b/core/src/DTO/albuminfo.cpp new file mode 100644 index 0000000..1728797 --- /dev/null +++ b/core/src/DTO/albuminfo.cpp @@ -0,0 +1,131 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AlbumInfo::AlbumInfo(QObject *parent) : QObject(parent) {} + +AlbumInfo *AlbumInfo::fromJSON(QJsonObject source, QObject *parent) { + AlbumInfo *instance = new AlbumInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void AlbumInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AlbumInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString AlbumInfo::name() const { return m_name; } +void AlbumInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString AlbumInfo::path() const { return m_path; } +void AlbumInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString AlbumInfo::metadataLanguage() const { return m_metadataLanguage; } +void AlbumInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString AlbumInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void AlbumInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject AlbumInfo::providerIds() const { return m_providerIds; } +void AlbumInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 AlbumInfo::year() const { return m_year; } +void AlbumInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 AlbumInfo::indexNumber() const { return m_indexNumber; } +void AlbumInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 AlbumInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void AlbumInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime AlbumInfo::premiereDate() const { return m_premiereDate; } +void AlbumInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool AlbumInfo::isAutomated() const { return m_isAutomated; } +void AlbumInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + +QStringList AlbumInfo::albumArtists() const { return m_albumArtists; } +void AlbumInfo::setAlbumArtists(QStringList newAlbumArtists) { + m_albumArtists = newAlbumArtists; + emit albumArtistsChanged(newAlbumArtists); +} + +QJsonObject AlbumInfo::artistProviderIds() const { return m_artistProviderIds; } +void AlbumInfo::setArtistProviderIds(QJsonObject newArtistProviderIds) { + m_artistProviderIds = newArtistProviderIds; + emit artistProviderIdsChanged(newArtistProviderIds); +} + +QList AlbumInfo::songInfos() const { return m_songInfos; } +void AlbumInfo::setSongInfos(QList newSongInfos) { + m_songInfos = newSongInfos; + emit songInfosChanged(newSongInfos); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/albuminforemotesearchquery.cpp b/core/src/DTO/albuminforemotesearchquery.cpp new file mode 100644 index 0000000..2ba9fab --- /dev/null +++ b/core/src/DTO/albuminforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AlbumInfoRemoteSearchQuery::AlbumInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +AlbumInfoRemoteSearchQuery *AlbumInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + AlbumInfoRemoteSearchQuery *instance = new AlbumInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void AlbumInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AlbumInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +AlbumInfo * AlbumInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void AlbumInfoRemoteSearchQuery::setSearchInfo(AlbumInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString AlbumInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void AlbumInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString AlbumInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void AlbumInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool AlbumInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void AlbumInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/allthememediaresult.cpp b/core/src/DTO/allthememediaresult.cpp new file mode 100644 index 0000000..f2c2827 --- /dev/null +++ b/core/src/DTO/allthememediaresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AllThemeMediaResult::AllThemeMediaResult(QObject *parent) : QObject(parent) {} + +AllThemeMediaResult *AllThemeMediaResult::fromJSON(QJsonObject source, QObject *parent) { + AllThemeMediaResult *instance = new AllThemeMediaResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void AllThemeMediaResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AllThemeMediaResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ThemeMediaResult * AllThemeMediaResult::themeVideosResult() const { return m_themeVideosResult; } +void AllThemeMediaResult::setThemeVideosResult(ThemeMediaResult * newThemeVideosResult) { + m_themeVideosResult = newThemeVideosResult; + emit themeVideosResultChanged(newThemeVideosResult); +} + +ThemeMediaResult * AllThemeMediaResult::themeSongsResult() const { return m_themeSongsResult; } +void AllThemeMediaResult::setThemeSongsResult(ThemeMediaResult * newThemeSongsResult) { + m_themeSongsResult = newThemeSongsResult; + emit themeSongsResultChanged(newThemeSongsResult); +} + +ThemeMediaResult * AllThemeMediaResult::soundtrackSongsResult() const { return m_soundtrackSongsResult; } +void AllThemeMediaResult::setSoundtrackSongsResult(ThemeMediaResult * newSoundtrackSongsResult) { + m_soundtrackSongsResult = newSoundtrackSongsResult; + emit soundtrackSongsResultChanged(newSoundtrackSongsResult); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/architecture.cpp b/core/src/DTO/architecture.cpp new file mode 100644 index 0000000..0b721e1 --- /dev/null +++ b/core/src/DTO/architecture.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/artistinfo.cpp b/core/src/DTO/artistinfo.cpp new file mode 100644 index 0000000..33836e8 --- /dev/null +++ b/core/src/DTO/artistinfo.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 { + +ArtistInfo::ArtistInfo(QObject *parent) : QObject(parent) {} + +ArtistInfo *ArtistInfo::fromJSON(QJsonObject source, QObject *parent) { + ArtistInfo *instance = new ArtistInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ArtistInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ArtistInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ArtistInfo::name() const { return m_name; } +void ArtistInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ArtistInfo::path() const { return m_path; } +void ArtistInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString ArtistInfo::metadataLanguage() const { return m_metadataLanguage; } +void ArtistInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString ArtistInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void ArtistInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject ArtistInfo::providerIds() const { return m_providerIds; } +void ArtistInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 ArtistInfo::year() const { return m_year; } +void ArtistInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 ArtistInfo::indexNumber() const { return m_indexNumber; } +void ArtistInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 ArtistInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void ArtistInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime ArtistInfo::premiereDate() const { return m_premiereDate; } +void ArtistInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool ArtistInfo::isAutomated() const { return m_isAutomated; } +void ArtistInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + +QList ArtistInfo::songInfos() const { return m_songInfos; } +void ArtistInfo::setSongInfos(QList newSongInfos) { + m_songInfos = newSongInfos; + emit songInfosChanged(newSongInfos); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/artistinforemotesearchquery.cpp b/core/src/DTO/artistinforemotesearchquery.cpp new file mode 100644 index 0000000..a184f69 --- /dev/null +++ b/core/src/DTO/artistinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ArtistInfoRemoteSearchQuery::ArtistInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +ArtistInfoRemoteSearchQuery *ArtistInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + ArtistInfoRemoteSearchQuery *instance = new ArtistInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void ArtistInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ArtistInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ArtistInfo * ArtistInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void ArtistInfoRemoteSearchQuery::setSearchInfo(ArtistInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString ArtistInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void ArtistInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString ArtistInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void ArtistInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool ArtistInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void ArtistInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/authenticateuserbyname.cpp b/core/src/DTO/authenticateuserbyname.cpp new file mode 100644 index 0000000..7a949ce --- /dev/null +++ b/core/src/DTO/authenticateuserbyname.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticateUserByName::AuthenticateUserByName(QObject *parent) : QObject(parent) {} + +AuthenticateUserByName *AuthenticateUserByName::fromJSON(QJsonObject source, QObject *parent) { + AuthenticateUserByName *instance = new AuthenticateUserByName(parent); + instance->updateFromJSON(source); + return instance; +} + +void AuthenticateUserByName::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AuthenticateUserByName::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString AuthenticateUserByName::username() const { return m_username; } +void AuthenticateUserByName::setUsername(QString newUsername) { + m_username = newUsername; + emit usernameChanged(newUsername); +} + +QString AuthenticateUserByName::pw() const { return m_pw; } +void AuthenticateUserByName::setPw(QString newPw) { + m_pw = newPw; + emit pwChanged(newPw); +} + +QString AuthenticateUserByName::password() const { return m_password; } +void AuthenticateUserByName::setPassword(QString newPassword) { + m_password = newPassword; + emit passwordChanged(newPassword); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/authenticationinfo.cpp b/core/src/DTO/authenticationinfo.cpp new file mode 100644 index 0000000..0ec1609 --- /dev/null +++ b/core/src/DTO/authenticationinfo.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 { + +AuthenticationInfo::AuthenticationInfo(QObject *parent) : QObject(parent) {} + +AuthenticationInfo *AuthenticationInfo::fromJSON(QJsonObject source, QObject *parent) { + AuthenticationInfo *instance = new AuthenticationInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void AuthenticationInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AuthenticationInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 AuthenticationInfo::jellyfinId() const { return m_jellyfinId; } +void AuthenticationInfo::setJellyfinId(qint64 newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString AuthenticationInfo::accessToken() const { return m_accessToken; } +void AuthenticationInfo::setAccessToken(QString newAccessToken) { + m_accessToken = newAccessToken; + emit accessTokenChanged(newAccessToken); +} + +QString AuthenticationInfo::deviceId() const { return m_deviceId; } +void AuthenticationInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; + emit deviceIdChanged(newDeviceId); +} + +QString AuthenticationInfo::appName() const { return m_appName; } +void AuthenticationInfo::setAppName(QString newAppName) { + m_appName = newAppName; + emit appNameChanged(newAppName); +} + +QString AuthenticationInfo::appVersion() const { return m_appVersion; } +void AuthenticationInfo::setAppVersion(QString newAppVersion) { + m_appVersion = newAppVersion; + emit appVersionChanged(newAppVersion); +} + +QString AuthenticationInfo::deviceName() const { return m_deviceName; } +void AuthenticationInfo::setDeviceName(QString newDeviceName) { + m_deviceName = newDeviceName; + emit deviceNameChanged(newDeviceName); +} + +QString AuthenticationInfo::userId() const { return m_userId; } +void AuthenticationInfo::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +bool AuthenticationInfo::isActive() const { return m_isActive; } +void AuthenticationInfo::setIsActive(bool newIsActive) { + m_isActive = newIsActive; + emit isActiveChanged(newIsActive); +} + +QDateTime AuthenticationInfo::dateCreated() const { return m_dateCreated; } +void AuthenticationInfo::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; + emit dateCreatedChanged(newDateCreated); +} + +QDateTime AuthenticationInfo::dateRevoked() const { return m_dateRevoked; } +void AuthenticationInfo::setDateRevoked(QDateTime newDateRevoked) { + m_dateRevoked = newDateRevoked; + emit dateRevokedChanged(newDateRevoked); +} + +QDateTime AuthenticationInfo::dateLastActivity() const { return m_dateLastActivity; } +void AuthenticationInfo::setDateLastActivity(QDateTime newDateLastActivity) { + m_dateLastActivity = newDateLastActivity; + emit dateLastActivityChanged(newDateLastActivity); +} + +QString AuthenticationInfo::userName() const { return m_userName; } +void AuthenticationInfo::setUserName(QString newUserName) { + m_userName = newUserName; + emit userNameChanged(newUserName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/authenticationinfoqueryresult.cpp b/core/src/DTO/authenticationinfoqueryresult.cpp new file mode 100644 index 0000000..6fec163 --- /dev/null +++ b/core/src/DTO/authenticationinfoqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticationInfoQueryResult::AuthenticationInfoQueryResult(QObject *parent) : QObject(parent) {} + +AuthenticationInfoQueryResult *AuthenticationInfoQueryResult::fromJSON(QJsonObject source, QObject *parent) { + AuthenticationInfoQueryResult *instance = new AuthenticationInfoQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void AuthenticationInfoQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AuthenticationInfoQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList AuthenticationInfoQueryResult::items() const { return m_items; } +void AuthenticationInfoQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 AuthenticationInfoQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void AuthenticationInfoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 AuthenticationInfoQueryResult::startIndex() const { return m_startIndex; } +void AuthenticationInfoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/authenticationresult.cpp b/core/src/DTO/authenticationresult.cpp new file mode 100644 index 0000000..d5496cb --- /dev/null +++ b/core/src/DTO/authenticationresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +AuthenticationResult::AuthenticationResult(QObject *parent) : QObject(parent) {} + +AuthenticationResult *AuthenticationResult::fromJSON(QJsonObject source, QObject *parent) { + AuthenticationResult *instance = new AuthenticationResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void AuthenticationResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject AuthenticationResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +UserDto * AuthenticationResult::user() const { return m_user; } +void AuthenticationResult::setUser(UserDto * newUser) { + m_user = newUser; + emit userChanged(newUser); +} + +SessionInfo * AuthenticationResult::sessionInfo() const { return m_sessionInfo; } +void AuthenticationResult::setSessionInfo(SessionInfo * newSessionInfo) { + m_sessionInfo = newSessionInfo; + emit sessionInfoChanged(newSessionInfo); +} + +QString AuthenticationResult::accessToken() const { return m_accessToken; } +void AuthenticationResult::setAccessToken(QString newAccessToken) { + m_accessToken = newAccessToken; + emit accessTokenChanged(newAccessToken); +} + +QString AuthenticationResult::serverId() const { return m_serverId; } +void AuthenticationResult::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/baseitem.cpp b/core/src/DTO/baseitem.cpp new file mode 100644 index 0000000..9b04ca3 --- /dev/null +++ b/core/src/DTO/baseitem.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 { + +BaseItem::BaseItem(QObject *parent) : QObject(parent) {} + +BaseItem *BaseItem::fromJSON(QJsonObject source, QObject *parent) { + BaseItem *instance = new BaseItem(parent); + instance->updateFromJSON(source); + return instance; +} + +void BaseItem::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BaseItem::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 BaseItem::size() const { return m_size; } +void BaseItem::setSize(qint64 newSize) { + m_size = newSize; + emit sizeChanged(newSize); +} + +QString BaseItem::container() const { return m_container; } +void BaseItem::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +QDateTime BaseItem::dateLastSaved() const { return m_dateLastSaved; } +void BaseItem::setDateLastSaved(QDateTime newDateLastSaved) { + m_dateLastSaved = newDateLastSaved; + emit dateLastSavedChanged(newDateLastSaved); +} + +QList BaseItem::remoteTrailers() const { return m_remoteTrailers; } +void BaseItem::setRemoteTrailers(QList newRemoteTrailers) { + m_remoteTrailers = newRemoteTrailers; + emit remoteTrailersChanged(newRemoteTrailers); +} + +bool BaseItem::isHD() const { return m_isHD; } +void BaseItem::setIsHD(bool newIsHD) { + m_isHD = newIsHD; + emit isHDChanged(newIsHD); +} + +bool BaseItem::isShortcut() const { return m_isShortcut; } +void BaseItem::setIsShortcut(bool newIsShortcut) { + m_isShortcut = newIsShortcut; + emit isShortcutChanged(newIsShortcut); +} + +QString BaseItem::shortcutPath() const { return m_shortcutPath; } +void BaseItem::setShortcutPath(QString newShortcutPath) { + m_shortcutPath = newShortcutPath; + emit shortcutPathChanged(newShortcutPath); +} + +qint32 BaseItem::width() const { return m_width; } +void BaseItem::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +qint32 BaseItem::height() const { return m_height; } +void BaseItem::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +QStringList BaseItem::extraIds() const { return m_extraIds; } +void BaseItem::setExtraIds(QStringList newExtraIds) { + m_extraIds = newExtraIds; + emit extraIdsChanged(newExtraIds); +} + +bool BaseItem::supportsExternalTransfer() const { return m_supportsExternalTransfer; } +void BaseItem::setSupportsExternalTransfer(bool newSupportsExternalTransfer) { + m_supportsExternalTransfer = newSupportsExternalTransfer; + emit supportsExternalTransferChanged(newSupportsExternalTransfer); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/baseitemdto.cpp b/core/src/DTO/baseitemdto.cpp new file mode 100644 index 0000000..d983147 --- /dev/null +++ b/core/src/DTO/baseitemdto.cpp @@ -0,0 +1,970 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemDto::BaseItemDto(QObject *parent) : QObject(parent) {} + +BaseItemDto *BaseItemDto::fromJSON(QJsonObject source, QObject *parent) { + BaseItemDto *instance = new BaseItemDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void BaseItemDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BaseItemDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString BaseItemDto::name() const { return m_name; } +void BaseItemDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString BaseItemDto::originalTitle() const { return m_originalTitle; } +void BaseItemDto::setOriginalTitle(QString newOriginalTitle) { + m_originalTitle = newOriginalTitle; + emit originalTitleChanged(newOriginalTitle); +} + +QString BaseItemDto::serverId() const { return m_serverId; } +void BaseItemDto::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + +QString BaseItemDto::jellyfinId() const { return m_jellyfinId; } +void BaseItemDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString BaseItemDto::etag() const { return m_etag; } +void BaseItemDto::setEtag(QString newEtag) { + m_etag = newEtag; + emit etagChanged(newEtag); +} + +QString BaseItemDto::sourceType() const { return m_sourceType; } +void BaseItemDto::setSourceType(QString newSourceType) { + m_sourceType = newSourceType; + emit sourceTypeChanged(newSourceType); +} + +QString BaseItemDto::playlistItemId() const { return m_playlistItemId; } +void BaseItemDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + +QDateTime BaseItemDto::dateCreated() const { return m_dateCreated; } +void BaseItemDto::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; + emit dateCreatedChanged(newDateCreated); +} + +QDateTime BaseItemDto::dateLastMediaAdded() const { return m_dateLastMediaAdded; } +void BaseItemDto::setDateLastMediaAdded(QDateTime newDateLastMediaAdded) { + m_dateLastMediaAdded = newDateLastMediaAdded; + emit dateLastMediaAddedChanged(newDateLastMediaAdded); +} + +QString BaseItemDto::extraType() const { return m_extraType; } +void BaseItemDto::setExtraType(QString newExtraType) { + m_extraType = newExtraType; + emit extraTypeChanged(newExtraType); +} + +qint32 BaseItemDto::airsBeforeSeasonNumber() const { return m_airsBeforeSeasonNumber; } +void BaseItemDto::setAirsBeforeSeasonNumber(qint32 newAirsBeforeSeasonNumber) { + m_airsBeforeSeasonNumber = newAirsBeforeSeasonNumber; + emit airsBeforeSeasonNumberChanged(newAirsBeforeSeasonNumber); +} + +qint32 BaseItemDto::airsAfterSeasonNumber() const { return m_airsAfterSeasonNumber; } +void BaseItemDto::setAirsAfterSeasonNumber(qint32 newAirsAfterSeasonNumber) { + m_airsAfterSeasonNumber = newAirsAfterSeasonNumber; + emit airsAfterSeasonNumberChanged(newAirsAfterSeasonNumber); +} + +qint32 BaseItemDto::airsBeforeEpisodeNumber() const { return m_airsBeforeEpisodeNumber; } +void BaseItemDto::setAirsBeforeEpisodeNumber(qint32 newAirsBeforeEpisodeNumber) { + m_airsBeforeEpisodeNumber = newAirsBeforeEpisodeNumber; + emit airsBeforeEpisodeNumberChanged(newAirsBeforeEpisodeNumber); +} + +bool BaseItemDto::canDelete() const { return m_canDelete; } +void BaseItemDto::setCanDelete(bool newCanDelete) { + m_canDelete = newCanDelete; + emit canDeleteChanged(newCanDelete); +} + +bool BaseItemDto::canDownload() const { return m_canDownload; } +void BaseItemDto::setCanDownload(bool newCanDownload) { + m_canDownload = newCanDownload; + emit canDownloadChanged(newCanDownload); +} + +bool BaseItemDto::hasSubtitles() const { return m_hasSubtitles; } +void BaseItemDto::setHasSubtitles(bool newHasSubtitles) { + m_hasSubtitles = newHasSubtitles; + emit hasSubtitlesChanged(newHasSubtitles); +} + +QString BaseItemDto::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } +void BaseItemDto::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; + emit preferredMetadataLanguageChanged(newPreferredMetadataLanguage); +} + +QString BaseItemDto::preferredMetadataCountryCode() const { return m_preferredMetadataCountryCode; } +void BaseItemDto::setPreferredMetadataCountryCode(QString newPreferredMetadataCountryCode) { + m_preferredMetadataCountryCode = newPreferredMetadataCountryCode; + emit preferredMetadataCountryCodeChanged(newPreferredMetadataCountryCode); +} + +bool BaseItemDto::supportsSync() const { return m_supportsSync; } +void BaseItemDto::setSupportsSync(bool newSupportsSync) { + m_supportsSync = newSupportsSync; + emit supportsSyncChanged(newSupportsSync); +} + +QString BaseItemDto::container() const { return m_container; } +void BaseItemDto::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +QString BaseItemDto::sortName() const { return m_sortName; } +void BaseItemDto::setSortName(QString newSortName) { + m_sortName = newSortName; + emit sortNameChanged(newSortName); +} + +QString BaseItemDto::forcedSortName() const { return m_forcedSortName; } +void BaseItemDto::setForcedSortName(QString newForcedSortName) { + m_forcedSortName = newForcedSortName; + emit forcedSortNameChanged(newForcedSortName); +} + +Video3DFormat BaseItemDto::video3DFormat() const { return m_video3DFormat; } +void BaseItemDto::setVideo3DFormat(Video3DFormat newVideo3DFormat) { + m_video3DFormat = newVideo3DFormat; + emit video3DFormatChanged(newVideo3DFormat); +} + +QDateTime BaseItemDto::premiereDate() const { return m_premiereDate; } +void BaseItemDto::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +QList BaseItemDto::externalUrls() const { return m_externalUrls; } +void BaseItemDto::setExternalUrls(QList newExternalUrls) { + m_externalUrls = newExternalUrls; + emit externalUrlsChanged(newExternalUrls); +} + +QList BaseItemDto::mediaSources() const { return m_mediaSources; } +void BaseItemDto::setMediaSources(QList newMediaSources) { + m_mediaSources = newMediaSources; + emit mediaSourcesChanged(newMediaSources); +} + +float BaseItemDto::criticRating() const { return m_criticRating; } +void BaseItemDto::setCriticRating(float newCriticRating) { + m_criticRating = newCriticRating; + emit criticRatingChanged(newCriticRating); +} + +QStringList BaseItemDto::productionLocations() const { return m_productionLocations; } +void BaseItemDto::setProductionLocations(QStringList newProductionLocations) { + m_productionLocations = newProductionLocations; + emit productionLocationsChanged(newProductionLocations); +} + +QString BaseItemDto::path() const { return m_path; } +void BaseItemDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +bool BaseItemDto::enableMediaSourceDisplay() const { return m_enableMediaSourceDisplay; } +void BaseItemDto::setEnableMediaSourceDisplay(bool newEnableMediaSourceDisplay) { + m_enableMediaSourceDisplay = newEnableMediaSourceDisplay; + emit enableMediaSourceDisplayChanged(newEnableMediaSourceDisplay); +} + +QString BaseItemDto::officialRating() const { return m_officialRating; } +void BaseItemDto::setOfficialRating(QString newOfficialRating) { + m_officialRating = newOfficialRating; + emit officialRatingChanged(newOfficialRating); +} + +QString BaseItemDto::customRating() const { return m_customRating; } +void BaseItemDto::setCustomRating(QString newCustomRating) { + m_customRating = newCustomRating; + emit customRatingChanged(newCustomRating); +} + +QString BaseItemDto::channelId() const { return m_channelId; } +void BaseItemDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; + emit channelIdChanged(newChannelId); +} + +QString BaseItemDto::channelName() const { return m_channelName; } +void BaseItemDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; + emit channelNameChanged(newChannelName); +} + +QString BaseItemDto::overview() const { return m_overview; } +void BaseItemDto::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +QStringList BaseItemDto::taglines() const { return m_taglines; } +void BaseItemDto::setTaglines(QStringList newTaglines) { + m_taglines = newTaglines; + emit taglinesChanged(newTaglines); +} + +QStringList BaseItemDto::genres() const { return m_genres; } +void BaseItemDto::setGenres(QStringList newGenres) { + m_genres = newGenres; + emit genresChanged(newGenres); +} + +float BaseItemDto::communityRating() const { return m_communityRating; } +void BaseItemDto::setCommunityRating(float newCommunityRating) { + m_communityRating = newCommunityRating; + emit communityRatingChanged(newCommunityRating); +} + +qint64 BaseItemDto::cumulativeRunTimeTicks() const { return m_cumulativeRunTimeTicks; } +void BaseItemDto::setCumulativeRunTimeTicks(qint64 newCumulativeRunTimeTicks) { + m_cumulativeRunTimeTicks = newCumulativeRunTimeTicks; + emit cumulativeRunTimeTicksChanged(newCumulativeRunTimeTicks); +} + +qint64 BaseItemDto::runTimeTicks() const { return m_runTimeTicks; } +void BaseItemDto::setRunTimeTicks(qint64 newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; + emit runTimeTicksChanged(newRunTimeTicks); +} + +PlayAccess BaseItemDto::playAccess() const { return m_playAccess; } +void BaseItemDto::setPlayAccess(PlayAccess newPlayAccess) { + m_playAccess = newPlayAccess; + emit playAccessChanged(newPlayAccess); +} + +QString BaseItemDto::aspectRatio() const { return m_aspectRatio; } +void BaseItemDto::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; + emit aspectRatioChanged(newAspectRatio); +} + +qint32 BaseItemDto::productionYear() const { return m_productionYear; } +void BaseItemDto::setProductionYear(qint32 newProductionYear) { + m_productionYear = newProductionYear; + emit productionYearChanged(newProductionYear); +} + +bool BaseItemDto::isPlaceHolder() const { return m_isPlaceHolder; } +void BaseItemDto::setIsPlaceHolder(bool newIsPlaceHolder) { + m_isPlaceHolder = newIsPlaceHolder; + emit isPlaceHolderChanged(newIsPlaceHolder); +} + +QString BaseItemDto::number() const { return m_number; } +void BaseItemDto::setNumber(QString newNumber) { + m_number = newNumber; + emit numberChanged(newNumber); +} + +QString BaseItemDto::channelNumber() const { return m_channelNumber; } +void BaseItemDto::setChannelNumber(QString newChannelNumber) { + m_channelNumber = newChannelNumber; + emit channelNumberChanged(newChannelNumber); +} + +qint32 BaseItemDto::indexNumber() const { return m_indexNumber; } +void BaseItemDto::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 BaseItemDto::indexNumberEnd() const { return m_indexNumberEnd; } +void BaseItemDto::setIndexNumberEnd(qint32 newIndexNumberEnd) { + m_indexNumberEnd = newIndexNumberEnd; + emit indexNumberEndChanged(newIndexNumberEnd); +} + +qint32 BaseItemDto::parentIndexNumber() const { return m_parentIndexNumber; } +void BaseItemDto::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QList BaseItemDto::remoteTrailers() const { return m_remoteTrailers; } +void BaseItemDto::setRemoteTrailers(QList newRemoteTrailers) { + m_remoteTrailers = newRemoteTrailers; + emit remoteTrailersChanged(newRemoteTrailers); +} + +QJsonObject BaseItemDto::providerIds() const { return m_providerIds; } +void BaseItemDto::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +bool BaseItemDto::isHD() const { return m_isHD; } +void BaseItemDto::setIsHD(bool newIsHD) { + m_isHD = newIsHD; + emit isHDChanged(newIsHD); +} + +bool BaseItemDto::isFolder() const { return m_isFolder; } +void BaseItemDto::setIsFolder(bool newIsFolder) { + m_isFolder = newIsFolder; + emit isFolderChanged(newIsFolder); +} + +QString BaseItemDto::parentId() const { return m_parentId; } +void BaseItemDto::setParentId(QString newParentId) { + m_parentId = newParentId; + emit parentIdChanged(newParentId); +} + +QString BaseItemDto::type() const { return m_type; } +void BaseItemDto::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QList BaseItemDto::people() const { return m_people; } +void BaseItemDto::setPeople(QList newPeople) { + m_people = newPeople; + emit peopleChanged(newPeople); +} + +QList BaseItemDto::studios() const { return m_studios; } +void BaseItemDto::setStudios(QList newStudios) { + m_studios = newStudios; + emit studiosChanged(newStudios); +} + +QList BaseItemDto::genreItems() const { return m_genreItems; } +void BaseItemDto::setGenreItems(QList newGenreItems) { + m_genreItems = newGenreItems; + emit genreItemsChanged(newGenreItems); +} + +QString BaseItemDto::parentLogoItemId() const { return m_parentLogoItemId; } +void BaseItemDto::setParentLogoItemId(QString newParentLogoItemId) { + m_parentLogoItemId = newParentLogoItemId; + emit parentLogoItemIdChanged(newParentLogoItemId); +} + +QString BaseItemDto::parentBackdropItemId() const { return m_parentBackdropItemId; } +void BaseItemDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; + emit parentBackdropItemIdChanged(newParentBackdropItemId); +} + +QStringList BaseItemDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } +void BaseItemDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; + emit parentBackdropImageTagsChanged(newParentBackdropImageTags); +} + +qint32 BaseItemDto::localTrailerCount() const { return m_localTrailerCount; } +void BaseItemDto::setLocalTrailerCount(qint32 newLocalTrailerCount) { + m_localTrailerCount = newLocalTrailerCount; + emit localTrailerCountChanged(newLocalTrailerCount); +} + +UserItemDataDto * BaseItemDto::userData() const { return m_userData; } +void BaseItemDto::setUserData(UserItemDataDto * newUserData) { + m_userData = newUserData; + emit userDataChanged(newUserData); +} + +qint32 BaseItemDto::recursiveItemCount() const { return m_recursiveItemCount; } +void BaseItemDto::setRecursiveItemCount(qint32 newRecursiveItemCount) { + m_recursiveItemCount = newRecursiveItemCount; + emit recursiveItemCountChanged(newRecursiveItemCount); +} + +qint32 BaseItemDto::childCount() const { return m_childCount; } +void BaseItemDto::setChildCount(qint32 newChildCount) { + m_childCount = newChildCount; + emit childCountChanged(newChildCount); +} + +QString BaseItemDto::seriesName() const { return m_seriesName; } +void BaseItemDto::setSeriesName(QString newSeriesName) { + m_seriesName = newSeriesName; + emit seriesNameChanged(newSeriesName); +} + +QString BaseItemDto::seriesId() const { return m_seriesId; } +void BaseItemDto::setSeriesId(QString newSeriesId) { + m_seriesId = newSeriesId; + emit seriesIdChanged(newSeriesId); +} + +QString BaseItemDto::seasonId() const { return m_seasonId; } +void BaseItemDto::setSeasonId(QString newSeasonId) { + m_seasonId = newSeasonId; + emit seasonIdChanged(newSeasonId); +} + +qint32 BaseItemDto::specialFeatureCount() const { return m_specialFeatureCount; } +void BaseItemDto::setSpecialFeatureCount(qint32 newSpecialFeatureCount) { + m_specialFeatureCount = newSpecialFeatureCount; + emit specialFeatureCountChanged(newSpecialFeatureCount); +} + +QString BaseItemDto::displayPreferencesId() const { return m_displayPreferencesId; } +void BaseItemDto::setDisplayPreferencesId(QString newDisplayPreferencesId) { + m_displayPreferencesId = newDisplayPreferencesId; + emit displayPreferencesIdChanged(newDisplayPreferencesId); +} + +QString BaseItemDto::status() const { return m_status; } +void BaseItemDto::setStatus(QString newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString BaseItemDto::airTime() const { return m_airTime; } +void BaseItemDto::setAirTime(QString newAirTime) { + m_airTime = newAirTime; + emit airTimeChanged(newAirTime); +} + +QList BaseItemDto::airDays() const { return m_airDays; } +void BaseItemDto::setAirDays(QList newAirDays) { + m_airDays = newAirDays; + emit airDaysChanged(newAirDays); +} + +QStringList BaseItemDto::tags() const { return m_tags; } +void BaseItemDto::setTags(QStringList newTags) { + m_tags = newTags; + emit tagsChanged(newTags); +} + +double BaseItemDto::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } +void BaseItemDto::setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; + emit primaryImageAspectRatioChanged(newPrimaryImageAspectRatio); +} + +QStringList BaseItemDto::artists() const { return m_artists; } +void BaseItemDto::setArtists(QStringList newArtists) { + m_artists = newArtists; + emit artistsChanged(newArtists); +} + +QList BaseItemDto::artistItems() const { return m_artistItems; } +void BaseItemDto::setArtistItems(QList newArtistItems) { + m_artistItems = newArtistItems; + emit artistItemsChanged(newArtistItems); +} + +QString BaseItemDto::album() const { return m_album; } +void BaseItemDto::setAlbum(QString newAlbum) { + m_album = newAlbum; + emit albumChanged(newAlbum); +} + +QString BaseItemDto::collectionType() const { return m_collectionType; } +void BaseItemDto::setCollectionType(QString newCollectionType) { + m_collectionType = newCollectionType; + emit collectionTypeChanged(newCollectionType); +} + +QString BaseItemDto::displayOrder() const { return m_displayOrder; } +void BaseItemDto::setDisplayOrder(QString newDisplayOrder) { + m_displayOrder = newDisplayOrder; + emit displayOrderChanged(newDisplayOrder); +} + +QString BaseItemDto::albumId() const { return m_albumId; } +void BaseItemDto::setAlbumId(QString newAlbumId) { + m_albumId = newAlbumId; + emit albumIdChanged(newAlbumId); +} + +QString BaseItemDto::albumPrimaryImageTag() const { return m_albumPrimaryImageTag; } +void BaseItemDto::setAlbumPrimaryImageTag(QString newAlbumPrimaryImageTag) { + m_albumPrimaryImageTag = newAlbumPrimaryImageTag; + emit albumPrimaryImageTagChanged(newAlbumPrimaryImageTag); +} + +QString BaseItemDto::seriesPrimaryImageTag() const { return m_seriesPrimaryImageTag; } +void BaseItemDto::setSeriesPrimaryImageTag(QString newSeriesPrimaryImageTag) { + m_seriesPrimaryImageTag = newSeriesPrimaryImageTag; + emit seriesPrimaryImageTagChanged(newSeriesPrimaryImageTag); +} + +QString BaseItemDto::albumArtist() const { return m_albumArtist; } +void BaseItemDto::setAlbumArtist(QString newAlbumArtist) { + m_albumArtist = newAlbumArtist; + emit albumArtistChanged(newAlbumArtist); +} + +QList BaseItemDto::albumArtists() const { return m_albumArtists; } +void BaseItemDto::setAlbumArtists(QList newAlbumArtists) { + m_albumArtists = newAlbumArtists; + emit albumArtistsChanged(newAlbumArtists); +} + +QString BaseItemDto::seasonName() const { return m_seasonName; } +void BaseItemDto::setSeasonName(QString newSeasonName) { + m_seasonName = newSeasonName; + emit seasonNameChanged(newSeasonName); +} + +QList BaseItemDto::mediaStreams() const { return m_mediaStreams; } +void BaseItemDto::setMediaStreams(QList newMediaStreams) { + m_mediaStreams = newMediaStreams; + emit mediaStreamsChanged(newMediaStreams); +} + +VideoType BaseItemDto::videoType() const { return m_videoType; } +void BaseItemDto::setVideoType(VideoType newVideoType) { + m_videoType = newVideoType; + emit videoTypeChanged(newVideoType); +} + +qint32 BaseItemDto::partCount() const { return m_partCount; } +void BaseItemDto::setPartCount(qint32 newPartCount) { + m_partCount = newPartCount; + emit partCountChanged(newPartCount); +} + +qint32 BaseItemDto::mediaSourceCount() const { return m_mediaSourceCount; } +void BaseItemDto::setMediaSourceCount(qint32 newMediaSourceCount) { + m_mediaSourceCount = newMediaSourceCount; + emit mediaSourceCountChanged(newMediaSourceCount); +} + +QJsonObject BaseItemDto::imageTags() const { return m_imageTags; } +void BaseItemDto::setImageTags(QJsonObject newImageTags) { + m_imageTags = newImageTags; + emit imageTagsChanged(newImageTags); +} + +QStringList BaseItemDto::backdropImageTags() const { return m_backdropImageTags; } +void BaseItemDto::setBackdropImageTags(QStringList newBackdropImageTags) { + m_backdropImageTags = newBackdropImageTags; + emit backdropImageTagsChanged(newBackdropImageTags); +} + +QStringList BaseItemDto::screenshotImageTags() const { return m_screenshotImageTags; } +void BaseItemDto::setScreenshotImageTags(QStringList newScreenshotImageTags) { + m_screenshotImageTags = newScreenshotImageTags; + emit screenshotImageTagsChanged(newScreenshotImageTags); +} + +QString BaseItemDto::parentLogoImageTag() const { return m_parentLogoImageTag; } +void BaseItemDto::setParentLogoImageTag(QString newParentLogoImageTag) { + m_parentLogoImageTag = newParentLogoImageTag; + emit parentLogoImageTagChanged(newParentLogoImageTag); +} + +QString BaseItemDto::parentArtItemId() const { return m_parentArtItemId; } +void BaseItemDto::setParentArtItemId(QString newParentArtItemId) { + m_parentArtItemId = newParentArtItemId; + emit parentArtItemIdChanged(newParentArtItemId); +} + +QString BaseItemDto::parentArtImageTag() const { return m_parentArtImageTag; } +void BaseItemDto::setParentArtImageTag(QString newParentArtImageTag) { + m_parentArtImageTag = newParentArtImageTag; + emit parentArtImageTagChanged(newParentArtImageTag); +} + +QString BaseItemDto::seriesThumbImageTag() const { return m_seriesThumbImageTag; } +void BaseItemDto::setSeriesThumbImageTag(QString newSeriesThumbImageTag) { + m_seriesThumbImageTag = newSeriesThumbImageTag; + emit seriesThumbImageTagChanged(newSeriesThumbImageTag); +} + +QJsonObject BaseItemDto::imageBlurHashes() const { return m_imageBlurHashes; } +void BaseItemDto::setImageBlurHashes(QJsonObject newImageBlurHashes) { + m_imageBlurHashes = newImageBlurHashes; + emit imageBlurHashesChanged(newImageBlurHashes); +} + +QString BaseItemDto::seriesStudio() const { return m_seriesStudio; } +void BaseItemDto::setSeriesStudio(QString newSeriesStudio) { + m_seriesStudio = newSeriesStudio; + emit seriesStudioChanged(newSeriesStudio); +} + +QString BaseItemDto::parentThumbItemId() const { return m_parentThumbItemId; } +void BaseItemDto::setParentThumbItemId(QString newParentThumbItemId) { + m_parentThumbItemId = newParentThumbItemId; + emit parentThumbItemIdChanged(newParentThumbItemId); +} + +QString BaseItemDto::parentThumbImageTag() const { return m_parentThumbImageTag; } +void BaseItemDto::setParentThumbImageTag(QString newParentThumbImageTag) { + m_parentThumbImageTag = newParentThumbImageTag; + emit parentThumbImageTagChanged(newParentThumbImageTag); +} + +QString BaseItemDto::parentPrimaryImageItemId() const { return m_parentPrimaryImageItemId; } +void BaseItemDto::setParentPrimaryImageItemId(QString newParentPrimaryImageItemId) { + m_parentPrimaryImageItemId = newParentPrimaryImageItemId; + emit parentPrimaryImageItemIdChanged(newParentPrimaryImageItemId); +} + +QString BaseItemDto::parentPrimaryImageTag() const { return m_parentPrimaryImageTag; } +void BaseItemDto::setParentPrimaryImageTag(QString newParentPrimaryImageTag) { + m_parentPrimaryImageTag = newParentPrimaryImageTag; + emit parentPrimaryImageTagChanged(newParentPrimaryImageTag); +} + +QList BaseItemDto::chapters() const { return m_chapters; } +void BaseItemDto::setChapters(QList newChapters) { + m_chapters = newChapters; + emit chaptersChanged(newChapters); +} + +LocationType BaseItemDto::locationType() const { return m_locationType; } +void BaseItemDto::setLocationType(LocationType newLocationType) { + m_locationType = newLocationType; + emit locationTypeChanged(newLocationType); +} + +IsoType BaseItemDto::isoType() const { return m_isoType; } +void BaseItemDto::setIsoType(IsoType newIsoType) { + m_isoType = newIsoType; + emit isoTypeChanged(newIsoType); +} + +QString BaseItemDto::mediaType() const { return m_mediaType; } +void BaseItemDto::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; + emit mediaTypeChanged(newMediaType); +} + +QDateTime BaseItemDto::endDate() const { return m_endDate; } +void BaseItemDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; + emit endDateChanged(newEndDate); +} + +QList BaseItemDto::lockedFields() const { return m_lockedFields; } +void BaseItemDto::setLockedFields(QList newLockedFields) { + m_lockedFields = newLockedFields; + emit lockedFieldsChanged(newLockedFields); +} + +qint32 BaseItemDto::trailerCount() const { return m_trailerCount; } +void BaseItemDto::setTrailerCount(qint32 newTrailerCount) { + m_trailerCount = newTrailerCount; + emit trailerCountChanged(newTrailerCount); +} + +qint32 BaseItemDto::movieCount() const { return m_movieCount; } +void BaseItemDto::setMovieCount(qint32 newMovieCount) { + m_movieCount = newMovieCount; + emit movieCountChanged(newMovieCount); +} + +qint32 BaseItemDto::seriesCount() const { return m_seriesCount; } +void BaseItemDto::setSeriesCount(qint32 newSeriesCount) { + m_seriesCount = newSeriesCount; + emit seriesCountChanged(newSeriesCount); +} + +qint32 BaseItemDto::programCount() const { return m_programCount; } +void BaseItemDto::setProgramCount(qint32 newProgramCount) { + m_programCount = newProgramCount; + emit programCountChanged(newProgramCount); +} + +qint32 BaseItemDto::episodeCount() const { return m_episodeCount; } +void BaseItemDto::setEpisodeCount(qint32 newEpisodeCount) { + m_episodeCount = newEpisodeCount; + emit episodeCountChanged(newEpisodeCount); +} + +qint32 BaseItemDto::songCount() const { return m_songCount; } +void BaseItemDto::setSongCount(qint32 newSongCount) { + m_songCount = newSongCount; + emit songCountChanged(newSongCount); +} + +qint32 BaseItemDto::albumCount() const { return m_albumCount; } +void BaseItemDto::setAlbumCount(qint32 newAlbumCount) { + m_albumCount = newAlbumCount; + emit albumCountChanged(newAlbumCount); +} + +qint32 BaseItemDto::artistCount() const { return m_artistCount; } +void BaseItemDto::setArtistCount(qint32 newArtistCount) { + m_artistCount = newArtistCount; + emit artistCountChanged(newArtistCount); +} + +qint32 BaseItemDto::musicVideoCount() const { return m_musicVideoCount; } +void BaseItemDto::setMusicVideoCount(qint32 newMusicVideoCount) { + m_musicVideoCount = newMusicVideoCount; + emit musicVideoCountChanged(newMusicVideoCount); +} + +bool BaseItemDto::lockData() const { return m_lockData; } +void BaseItemDto::setLockData(bool newLockData) { + m_lockData = newLockData; + emit lockDataChanged(newLockData); +} + +qint32 BaseItemDto::width() const { return m_width; } +void BaseItemDto::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +qint32 BaseItemDto::height() const { return m_height; } +void BaseItemDto::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +QString BaseItemDto::cameraMake() const { return m_cameraMake; } +void BaseItemDto::setCameraMake(QString newCameraMake) { + m_cameraMake = newCameraMake; + emit cameraMakeChanged(newCameraMake); +} + +QString BaseItemDto::cameraModel() const { return m_cameraModel; } +void BaseItemDto::setCameraModel(QString newCameraModel) { + m_cameraModel = newCameraModel; + emit cameraModelChanged(newCameraModel); +} + +QString BaseItemDto::software() const { return m_software; } +void BaseItemDto::setSoftware(QString newSoftware) { + m_software = newSoftware; + emit softwareChanged(newSoftware); +} + +double BaseItemDto::exposureTime() const { return m_exposureTime; } +void BaseItemDto::setExposureTime(double newExposureTime) { + m_exposureTime = newExposureTime; + emit exposureTimeChanged(newExposureTime); +} + +double BaseItemDto::focalLength() const { return m_focalLength; } +void BaseItemDto::setFocalLength(double newFocalLength) { + m_focalLength = newFocalLength; + emit focalLengthChanged(newFocalLength); +} + +ImageOrientation BaseItemDto::imageOrientation() const { return m_imageOrientation; } +void BaseItemDto::setImageOrientation(ImageOrientation newImageOrientation) { + m_imageOrientation = newImageOrientation; + emit imageOrientationChanged(newImageOrientation); +} + +double BaseItemDto::aperture() const { return m_aperture; } +void BaseItemDto::setAperture(double newAperture) { + m_aperture = newAperture; + emit apertureChanged(newAperture); +} + +double BaseItemDto::shutterSpeed() const { return m_shutterSpeed; } +void BaseItemDto::setShutterSpeed(double newShutterSpeed) { + m_shutterSpeed = newShutterSpeed; + emit shutterSpeedChanged(newShutterSpeed); +} + +double BaseItemDto::latitude() const { return m_latitude; } +void BaseItemDto::setLatitude(double newLatitude) { + m_latitude = newLatitude; + emit latitudeChanged(newLatitude); +} + +double BaseItemDto::longitude() const { return m_longitude; } +void BaseItemDto::setLongitude(double newLongitude) { + m_longitude = newLongitude; + emit longitudeChanged(newLongitude); +} + +double BaseItemDto::altitude() const { return m_altitude; } +void BaseItemDto::setAltitude(double newAltitude) { + m_altitude = newAltitude; + emit altitudeChanged(newAltitude); +} + +qint32 BaseItemDto::isoSpeedRating() const { return m_isoSpeedRating; } +void BaseItemDto::setIsoSpeedRating(qint32 newIsoSpeedRating) { + m_isoSpeedRating = newIsoSpeedRating; + emit isoSpeedRatingChanged(newIsoSpeedRating); +} + +QString BaseItemDto::seriesTimerId() const { return m_seriesTimerId; } +void BaseItemDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; + emit seriesTimerIdChanged(newSeriesTimerId); +} + +QString BaseItemDto::programId() const { return m_programId; } +void BaseItemDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; + emit programIdChanged(newProgramId); +} + +QString BaseItemDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } +void BaseItemDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; + emit channelPrimaryImageTagChanged(newChannelPrimaryImageTag); +} + +QDateTime BaseItemDto::startDate() const { return m_startDate; } +void BaseItemDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; + emit startDateChanged(newStartDate); +} + +double BaseItemDto::completionPercentage() const { return m_completionPercentage; } +void BaseItemDto::setCompletionPercentage(double newCompletionPercentage) { + m_completionPercentage = newCompletionPercentage; + emit completionPercentageChanged(newCompletionPercentage); +} + +bool BaseItemDto::isRepeat() const { return m_isRepeat; } +void BaseItemDto::setIsRepeat(bool newIsRepeat) { + m_isRepeat = newIsRepeat; + emit isRepeatChanged(newIsRepeat); +} + +QString BaseItemDto::episodeTitle() const { return m_episodeTitle; } +void BaseItemDto::setEpisodeTitle(QString newEpisodeTitle) { + m_episodeTitle = newEpisodeTitle; + emit episodeTitleChanged(newEpisodeTitle); +} + +ChannelType BaseItemDto::channelType() const { return m_channelType; } +void BaseItemDto::setChannelType(ChannelType newChannelType) { + m_channelType = newChannelType; + emit channelTypeChanged(newChannelType); +} + +ProgramAudio BaseItemDto::audio() const { return m_audio; } +void BaseItemDto::setAudio(ProgramAudio newAudio) { + m_audio = newAudio; + emit audioChanged(newAudio); +} + +bool BaseItemDto::isMovie() const { return m_isMovie; } +void BaseItemDto::setIsMovie(bool newIsMovie) { + m_isMovie = newIsMovie; + emit isMovieChanged(newIsMovie); +} + +bool BaseItemDto::isSports() const { return m_isSports; } +void BaseItemDto::setIsSports(bool newIsSports) { + m_isSports = newIsSports; + emit isSportsChanged(newIsSports); +} + +bool BaseItemDto::isSeries() const { return m_isSeries; } +void BaseItemDto::setIsSeries(bool newIsSeries) { + m_isSeries = newIsSeries; + emit isSeriesChanged(newIsSeries); +} + +bool BaseItemDto::isLive() const { return m_isLive; } +void BaseItemDto::setIsLive(bool newIsLive) { + m_isLive = newIsLive; + emit isLiveChanged(newIsLive); +} + +bool BaseItemDto::isNews() const { return m_isNews; } +void BaseItemDto::setIsNews(bool newIsNews) { + m_isNews = newIsNews; + emit isNewsChanged(newIsNews); +} + +bool BaseItemDto::isKids() const { return m_isKids; } +void BaseItemDto::setIsKids(bool newIsKids) { + m_isKids = newIsKids; + emit isKidsChanged(newIsKids); +} + +bool BaseItemDto::isPremiere() const { return m_isPremiere; } +void BaseItemDto::setIsPremiere(bool newIsPremiere) { + m_isPremiere = newIsPremiere; + emit isPremiereChanged(newIsPremiere); +} + +QString BaseItemDto::timerId() const { return m_timerId; } +void BaseItemDto::setTimerId(QString newTimerId) { + m_timerId = newTimerId; + emit timerIdChanged(newTimerId); +} + +BaseItemDto * BaseItemDto::currentProgram() const { return m_currentProgram; } +void BaseItemDto::setCurrentProgram(BaseItemDto * newCurrentProgram) { + m_currentProgram = newCurrentProgram; + emit currentProgramChanged(newCurrentProgram); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/baseitemdtoqueryresult.cpp b/core/src/DTO/baseitemdtoqueryresult.cpp new file mode 100644 index 0000000..bc79fc8 --- /dev/null +++ b/core/src/DTO/baseitemdtoqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemDtoQueryResult::BaseItemDtoQueryResult(QObject *parent) : QObject(parent) {} + +BaseItemDtoQueryResult *BaseItemDtoQueryResult::fromJSON(QJsonObject source, QObject *parent) { + BaseItemDtoQueryResult *instance = new BaseItemDtoQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void BaseItemDtoQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BaseItemDtoQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList BaseItemDtoQueryResult::items() const { return m_items; } +void BaseItemDtoQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 BaseItemDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void BaseItemDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 BaseItemDtoQueryResult::startIndex() const { return m_startIndex; } +void BaseItemDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/baseitemperson.cpp b/core/src/DTO/baseitemperson.cpp new file mode 100644 index 0000000..0b56a76 --- /dev/null +++ b/core/src/DTO/baseitemperson.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BaseItemPerson::BaseItemPerson(QObject *parent) : QObject(parent) {} + +BaseItemPerson *BaseItemPerson::fromJSON(QJsonObject source, QObject *parent) { + BaseItemPerson *instance = new BaseItemPerson(parent); + instance->updateFromJSON(source); + return instance; +} + +void BaseItemPerson::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BaseItemPerson::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString BaseItemPerson::name() const { return m_name; } +void BaseItemPerson::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString BaseItemPerson::jellyfinId() const { return m_jellyfinId; } +void BaseItemPerson::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString BaseItemPerson::role() const { return m_role; } +void BaseItemPerson::setRole(QString newRole) { + m_role = newRole; + emit roleChanged(newRole); +} + +QString BaseItemPerson::type() const { return m_type; } +void BaseItemPerson::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString BaseItemPerson::primaryImageTag() const { return m_primaryImageTag; } +void BaseItemPerson::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; + emit primaryImageTagChanged(newPrimaryImageTag); +} + +QJsonObject BaseItemPerson::imageBlurHashes() const { return m_imageBlurHashes; } +void BaseItemPerson::setImageBlurHashes(QJsonObject newImageBlurHashes) { + m_imageBlurHashes = newImageBlurHashes; + emit imageBlurHashesChanged(newImageBlurHashes); +} + + +} // NS Jellyfin +} // NS DTO 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..f1f95a2 --- /dev/null +++ b/core/src/DTO/bookinfo.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 { + +BookInfo::BookInfo(QObject *parent) : QObject(parent) {} + +BookInfo *BookInfo::fromJSON(QJsonObject source, QObject *parent) { + BookInfo *instance = new BookInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void BookInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BookInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString BookInfo::name() const { return m_name; } +void BookInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString BookInfo::path() const { return m_path; } +void BookInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString BookInfo::metadataLanguage() const { return m_metadataLanguage; } +void BookInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString BookInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void BookInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject BookInfo::providerIds() const { return m_providerIds; } +void BookInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 BookInfo::year() const { return m_year; } +void BookInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 BookInfo::indexNumber() const { return m_indexNumber; } +void BookInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 BookInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void BookInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime BookInfo::premiereDate() const { return m_premiereDate; } +void BookInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool BookInfo::isAutomated() const { return m_isAutomated; } +void BookInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + +QString BookInfo::seriesName() const { return m_seriesName; } +void BookInfo::setSeriesName(QString newSeriesName) { + m_seriesName = newSeriesName; + emit seriesNameChanged(newSeriesName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/bookinforemotesearchquery.cpp b/core/src/DTO/bookinforemotesearchquery.cpp new file mode 100644 index 0000000..e0fb40c --- /dev/null +++ b/core/src/DTO/bookinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BookInfoRemoteSearchQuery::BookInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +BookInfoRemoteSearchQuery *BookInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + BookInfoRemoteSearchQuery *instance = new BookInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void BookInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BookInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +BookInfo * BookInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void BookInfoRemoteSearchQuery::setSearchInfo(BookInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString BookInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void BookInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString BookInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void BookInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool BookInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void BookInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/boxsetinfo.cpp b/core/src/DTO/boxsetinfo.cpp new file mode 100644 index 0000000..cbd9f77 --- /dev/null +++ b/core/src/DTO/boxsetinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BoxSetInfo::BoxSetInfo(QObject *parent) : QObject(parent) {} + +BoxSetInfo *BoxSetInfo::fromJSON(QJsonObject source, QObject *parent) { + BoxSetInfo *instance = new BoxSetInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void BoxSetInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BoxSetInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString BoxSetInfo::name() const { return m_name; } +void BoxSetInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString BoxSetInfo::path() const { return m_path; } +void BoxSetInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString BoxSetInfo::metadataLanguage() const { return m_metadataLanguage; } +void BoxSetInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString BoxSetInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void BoxSetInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject BoxSetInfo::providerIds() const { return m_providerIds; } +void BoxSetInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 BoxSetInfo::year() const { return m_year; } +void BoxSetInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 BoxSetInfo::indexNumber() const { return m_indexNumber; } +void BoxSetInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 BoxSetInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void BoxSetInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime BoxSetInfo::premiereDate() const { return m_premiereDate; } +void BoxSetInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool BoxSetInfo::isAutomated() const { return m_isAutomated; } +void BoxSetInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/boxsetinforemotesearchquery.cpp b/core/src/DTO/boxsetinforemotesearchquery.cpp new file mode 100644 index 0000000..0225701 --- /dev/null +++ b/core/src/DTO/boxsetinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BoxSetInfoRemoteSearchQuery::BoxSetInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +BoxSetInfoRemoteSearchQuery *BoxSetInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + BoxSetInfoRemoteSearchQuery *instance = new BoxSetInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void BoxSetInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BoxSetInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +BoxSetInfo * BoxSetInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void BoxSetInfoRemoteSearchQuery::setSearchInfo(BoxSetInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString BoxSetInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void BoxSetInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString BoxSetInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void BoxSetInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool BoxSetInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void BoxSetInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/brandingoptions.cpp b/core/src/DTO/brandingoptions.cpp new file mode 100644 index 0000000..9f2226e --- /dev/null +++ b/core/src/DTO/brandingoptions.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BrandingOptions::BrandingOptions(QObject *parent) : QObject(parent) {} + +BrandingOptions *BrandingOptions::fromJSON(QJsonObject source, QObject *parent) { + BrandingOptions *instance = new BrandingOptions(parent); + instance->updateFromJSON(source); + return instance; +} + +void BrandingOptions::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BrandingOptions::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString BrandingOptions::loginDisclaimer() const { return m_loginDisclaimer; } +void BrandingOptions::setLoginDisclaimer(QString newLoginDisclaimer) { + m_loginDisclaimer = newLoginDisclaimer; + emit loginDisclaimerChanged(newLoginDisclaimer); +} + +QString BrandingOptions::customCss() const { return m_customCss; } +void BrandingOptions::setCustomCss(QString newCustomCss) { + m_customCss = newCustomCss; + emit customCssChanged(newCustomCss); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/bufferrequestdto.cpp b/core/src/DTO/bufferrequestdto.cpp new file mode 100644 index 0000000..2186ba0 --- /dev/null +++ b/core/src/DTO/bufferrequestdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +BufferRequestDto::BufferRequestDto(QObject *parent) : QObject(parent) {} + +BufferRequestDto *BufferRequestDto::fromJSON(QJsonObject source, QObject *parent) { + BufferRequestDto *instance = new BufferRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void BufferRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject BufferRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime BufferRequestDto::when() const { return m_when; } +void BufferRequestDto::setWhen(QDateTime newWhen) { + m_when = newWhen; + emit whenChanged(newWhen); +} + +qint64 BufferRequestDto::positionTicks() const { return m_positionTicks; } +void BufferRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +bool BufferRequestDto::isPlaying() const { return m_isPlaying; } +void BufferRequestDto::setIsPlaying(bool newIsPlaying) { + m_isPlaying = newIsPlaying; + emit isPlayingChanged(newIsPlaying); +} + +QString BufferRequestDto::playlistItemId() const { return m_playlistItemId; } +void BufferRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/channelfeatures.cpp b/core/src/DTO/channelfeatures.cpp new file mode 100644 index 0000000..6209015 --- /dev/null +++ b/core/src/DTO/channelfeatures.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 + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +ChannelFeatures::ChannelFeatures(QObject *parent) : QObject(parent) {} + +ChannelFeatures *ChannelFeatures::fromJSON(QJsonObject source, QObject *parent) { + ChannelFeatures *instance = new ChannelFeatures(parent); + instance->updateFromJSON(source); + return instance; +} + +void ChannelFeatures::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ChannelFeatures::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ChannelFeatures::name() const { return m_name; } +void ChannelFeatures::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ChannelFeatures::jellyfinId() const { return m_jellyfinId; } +void ChannelFeatures::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +bool ChannelFeatures::canSearch() const { return m_canSearch; } +void ChannelFeatures::setCanSearch(bool newCanSearch) { + m_canSearch = newCanSearch; + emit canSearchChanged(newCanSearch); +} + +QList ChannelFeatures::mediaTypes() const { return m_mediaTypes; } +void ChannelFeatures::setMediaTypes(QList newMediaTypes) { + m_mediaTypes = newMediaTypes; + emit mediaTypesChanged(newMediaTypes); +} + +QList ChannelFeatures::contentTypes() const { return m_contentTypes; } +void ChannelFeatures::setContentTypes(QList newContentTypes) { + m_contentTypes = newContentTypes; + emit contentTypesChanged(newContentTypes); +} + +qint32 ChannelFeatures::maxPageSize() const { return m_maxPageSize; } +void ChannelFeatures::setMaxPageSize(qint32 newMaxPageSize) { + m_maxPageSize = newMaxPageSize; + emit maxPageSizeChanged(newMaxPageSize); +} + +qint32 ChannelFeatures::autoRefreshLevels() const { return m_autoRefreshLevels; } +void ChannelFeatures::setAutoRefreshLevels(qint32 newAutoRefreshLevels) { + m_autoRefreshLevels = newAutoRefreshLevels; + emit autoRefreshLevelsChanged(newAutoRefreshLevels); +} + +QList ChannelFeatures::defaultSortFields() const { return m_defaultSortFields; } +void ChannelFeatures::setDefaultSortFields(QList newDefaultSortFields) { + m_defaultSortFields = newDefaultSortFields; + emit defaultSortFieldsChanged(newDefaultSortFields); +} + +bool ChannelFeatures::supportsSortOrderToggle() const { return m_supportsSortOrderToggle; } +void ChannelFeatures::setSupportsSortOrderToggle(bool newSupportsSortOrderToggle) { + m_supportsSortOrderToggle = newSupportsSortOrderToggle; + emit supportsSortOrderToggleChanged(newSupportsSortOrderToggle); +} + +bool ChannelFeatures::supportsLatestMedia() const { return m_supportsLatestMedia; } +void ChannelFeatures::setSupportsLatestMedia(bool newSupportsLatestMedia) { + m_supportsLatestMedia = newSupportsLatestMedia; + emit supportsLatestMediaChanged(newSupportsLatestMedia); +} + +bool ChannelFeatures::canFilter() const { return m_canFilter; } +void ChannelFeatures::setCanFilter(bool newCanFilter) { + m_canFilter = newCanFilter; + emit canFilterChanged(newCanFilter); +} + +bool ChannelFeatures::supportsContentDownloading() const { return m_supportsContentDownloading; } +void ChannelFeatures::setSupportsContentDownloading(bool newSupportsContentDownloading) { + m_supportsContentDownloading = newSupportsContentDownloading; + emit supportsContentDownloadingChanged(newSupportsContentDownloading); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/channelitemsortfield.cpp b/core/src/DTO/channelitemsortfield.cpp new file mode 100644 index 0000000..04485e6 --- /dev/null +++ b/core/src/DTO/channelitemsortfield.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/channelmappingoptionsdto.cpp b/core/src/DTO/channelmappingoptionsdto.cpp new file mode 100644 index 0000000..6ce6f39 --- /dev/null +++ b/core/src/DTO/channelmappingoptionsdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChannelMappingOptionsDto::ChannelMappingOptionsDto(QObject *parent) : QObject(parent) {} + +ChannelMappingOptionsDto *ChannelMappingOptionsDto::fromJSON(QJsonObject source, QObject *parent) { + ChannelMappingOptionsDto *instance = new ChannelMappingOptionsDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void ChannelMappingOptionsDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ChannelMappingOptionsDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList ChannelMappingOptionsDto::tunerChannels() const { return m_tunerChannels; } +void ChannelMappingOptionsDto::setTunerChannels(QList newTunerChannels) { + m_tunerChannels = newTunerChannels; + emit tunerChannelsChanged(newTunerChannels); +} + +QList ChannelMappingOptionsDto::providerChannels() const { return m_providerChannels; } +void ChannelMappingOptionsDto::setProviderChannels(QList newProviderChannels) { + m_providerChannels = newProviderChannels; + emit providerChannelsChanged(newProviderChannels); +} + +QList ChannelMappingOptionsDto::mappings() const { return m_mappings; } +void ChannelMappingOptionsDto::setMappings(QList newMappings) { + m_mappings = newMappings; + emit mappingsChanged(newMappings); +} + +QString ChannelMappingOptionsDto::providerName() const { return m_providerName; } +void ChannelMappingOptionsDto::setProviderName(QString newProviderName) { + m_providerName = newProviderName; + emit providerNameChanged(newProviderName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/channelmediacontenttype.cpp b/core/src/DTO/channelmediacontenttype.cpp new file mode 100644 index 0000000..509fda4 --- /dev/null +++ b/core/src/DTO/channelmediacontenttype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/channelmediatype.cpp b/core/src/DTO/channelmediatype.cpp new file mode 100644 index 0000000..f312205 --- /dev/null +++ b/core/src/DTO/channelmediatype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/channeltype.cpp b/core/src/DTO/channeltype.cpp new file mode 100644 index 0000000..2ae979c --- /dev/null +++ b/core/src/DTO/channeltype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/chapterinfo.cpp b/core/src/DTO/chapterinfo.cpp new file mode 100644 index 0000000..c2f0821 --- /dev/null +++ b/core/src/DTO/chapterinfo.cpp @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ChapterInfo::ChapterInfo(QObject *parent) : QObject(parent) {} + +ChapterInfo *ChapterInfo::fromJSON(QJsonObject source, QObject *parent) { + ChapterInfo *instance = new ChapterInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ChapterInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ChapterInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 ChapterInfo::startPositionTicks() const { return m_startPositionTicks; } +void ChapterInfo::setStartPositionTicks(qint64 newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; + emit startPositionTicksChanged(newStartPositionTicks); +} + +QString ChapterInfo::name() const { return m_name; } +void ChapterInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ChapterInfo::imagePath() const { return m_imagePath; } +void ChapterInfo::setImagePath(QString newImagePath) { + m_imagePath = newImagePath; + emit imagePathChanged(newImagePath); +} + +QDateTime ChapterInfo::imageDateModified() const { return m_imageDateModified; } +void ChapterInfo::setImageDateModified(QDateTime newImageDateModified) { + m_imageDateModified = newImageDateModified; + emit imageDateModifiedChanged(newImageDateModified); +} + +QString ChapterInfo::imageTag() const { return m_imageTag; } +void ChapterInfo::setImageTag(QString newImageTag) { + m_imageTag = newImageTag; + emit imageTagChanged(newImageTag); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/clientcapabilities.cpp b/core/src/DTO/clientcapabilities.cpp new file mode 100644 index 0000000..0e8128a --- /dev/null +++ b/core/src/DTO/clientcapabilities.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 + +#include + +namespace Jellyfin { +namespace DTO { + +ClientCapabilities::ClientCapabilities(QObject *parent) : QObject(parent) {} + +ClientCapabilities *ClientCapabilities::fromJSON(QJsonObject source, QObject *parent) { + ClientCapabilities *instance = new ClientCapabilities(parent); + instance->updateFromJSON(source); + return instance; +} + +void ClientCapabilities::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ClientCapabilities::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList ClientCapabilities::playableMediaTypes() const { return m_playableMediaTypes; } +void ClientCapabilities::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; + emit playableMediaTypesChanged(newPlayableMediaTypes); +} + +QList ClientCapabilities::supportedCommands() const { return m_supportedCommands; } +void ClientCapabilities::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; + emit supportedCommandsChanged(newSupportedCommands); +} + +bool ClientCapabilities::supportsMediaControl() const { return m_supportsMediaControl; } +void ClientCapabilities::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; + emit supportsMediaControlChanged(newSupportsMediaControl); +} + +bool ClientCapabilities::supportsContentUploading() const { return m_supportsContentUploading; } +void ClientCapabilities::setSupportsContentUploading(bool newSupportsContentUploading) { + m_supportsContentUploading = newSupportsContentUploading; + emit supportsContentUploadingChanged(newSupportsContentUploading); +} + +QString ClientCapabilities::messageCallbackUrl() const { return m_messageCallbackUrl; } +void ClientCapabilities::setMessageCallbackUrl(QString newMessageCallbackUrl) { + m_messageCallbackUrl = newMessageCallbackUrl; + emit messageCallbackUrlChanged(newMessageCallbackUrl); +} + +bool ClientCapabilities::supportsPersistentIdentifier() const { return m_supportsPersistentIdentifier; } +void ClientCapabilities::setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier) { + m_supportsPersistentIdentifier = newSupportsPersistentIdentifier; + emit supportsPersistentIdentifierChanged(newSupportsPersistentIdentifier); +} + +bool ClientCapabilities::supportsSync() const { return m_supportsSync; } +void ClientCapabilities::setSupportsSync(bool newSupportsSync) { + m_supportsSync = newSupportsSync; + emit supportsSyncChanged(newSupportsSync); +} + +DeviceProfile * ClientCapabilities::deviceProfile() const { return m_deviceProfile; } +void ClientCapabilities::setDeviceProfile(DeviceProfile * newDeviceProfile) { + m_deviceProfile = newDeviceProfile; + emit deviceProfileChanged(newDeviceProfile); +} + +QString ClientCapabilities::appStoreUrl() const { return m_appStoreUrl; } +void ClientCapabilities::setAppStoreUrl(QString newAppStoreUrl) { + m_appStoreUrl = newAppStoreUrl; + emit appStoreUrlChanged(newAppStoreUrl); +} + +QString ClientCapabilities::iconUrl() const { return m_iconUrl; } +void ClientCapabilities::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; + emit iconUrlChanged(newIconUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/clientcapabilitiesdto.cpp b/core/src/DTO/clientcapabilitiesdto.cpp new file mode 100644 index 0000000..51b038a --- /dev/null +++ b/core/src/DTO/clientcapabilitiesdto.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 + +#include + +namespace Jellyfin { +namespace DTO { + +ClientCapabilitiesDto::ClientCapabilitiesDto(QObject *parent) : QObject(parent) {} + +ClientCapabilitiesDto *ClientCapabilitiesDto::fromJSON(QJsonObject source, QObject *parent) { + ClientCapabilitiesDto *instance = new ClientCapabilitiesDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void ClientCapabilitiesDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ClientCapabilitiesDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList ClientCapabilitiesDto::playableMediaTypes() const { return m_playableMediaTypes; } +void ClientCapabilitiesDto::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; + emit playableMediaTypesChanged(newPlayableMediaTypes); +} + +QList ClientCapabilitiesDto::supportedCommands() const { return m_supportedCommands; } +void ClientCapabilitiesDto::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; + emit supportedCommandsChanged(newSupportedCommands); +} + +bool ClientCapabilitiesDto::supportsMediaControl() const { return m_supportsMediaControl; } +void ClientCapabilitiesDto::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; + emit supportsMediaControlChanged(newSupportsMediaControl); +} + +bool ClientCapabilitiesDto::supportsContentUploading() const { return m_supportsContentUploading; } +void ClientCapabilitiesDto::setSupportsContentUploading(bool newSupportsContentUploading) { + m_supportsContentUploading = newSupportsContentUploading; + emit supportsContentUploadingChanged(newSupportsContentUploading); +} + +QString ClientCapabilitiesDto::messageCallbackUrl() const { return m_messageCallbackUrl; } +void ClientCapabilitiesDto::setMessageCallbackUrl(QString newMessageCallbackUrl) { + m_messageCallbackUrl = newMessageCallbackUrl; + emit messageCallbackUrlChanged(newMessageCallbackUrl); +} + +bool ClientCapabilitiesDto::supportsPersistentIdentifier() const { return m_supportsPersistentIdentifier; } +void ClientCapabilitiesDto::setSupportsPersistentIdentifier(bool newSupportsPersistentIdentifier) { + m_supportsPersistentIdentifier = newSupportsPersistentIdentifier; + emit supportsPersistentIdentifierChanged(newSupportsPersistentIdentifier); +} + +bool ClientCapabilitiesDto::supportsSync() const { return m_supportsSync; } +void ClientCapabilitiesDto::setSupportsSync(bool newSupportsSync) { + m_supportsSync = newSupportsSync; + emit supportsSyncChanged(newSupportsSync); +} + +DeviceProfile * ClientCapabilitiesDto::deviceProfile() const { return m_deviceProfile; } +void ClientCapabilitiesDto::setDeviceProfile(DeviceProfile * newDeviceProfile) { + m_deviceProfile = newDeviceProfile; + emit deviceProfileChanged(newDeviceProfile); +} + +QString ClientCapabilitiesDto::appStoreUrl() const { return m_appStoreUrl; } +void ClientCapabilitiesDto::setAppStoreUrl(QString newAppStoreUrl) { + m_appStoreUrl = newAppStoreUrl; + emit appStoreUrlChanged(newAppStoreUrl); +} + +QString ClientCapabilitiesDto::iconUrl() const { return m_iconUrl; } +void ClientCapabilitiesDto::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; + emit iconUrlChanged(newIconUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/codecprofile.cpp b/core/src/DTO/codecprofile.cpp new file mode 100644 index 0000000..8eb1b52 --- /dev/null +++ b/core/src/DTO/codecprofile.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 + +#include + +namespace Jellyfin { +namespace DTO { + +CodecProfile::CodecProfile(QObject *parent) : QObject(parent) {} + +CodecProfile *CodecProfile::fromJSON(QJsonObject source, QObject *parent) { + CodecProfile *instance = new CodecProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void CodecProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CodecProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +CodecType CodecProfile::type() const { return m_type; } +void CodecProfile::setType(CodecType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QList CodecProfile::conditions() const { return m_conditions; } +void CodecProfile::setConditions(QList newConditions) { + m_conditions = newConditions; + emit conditionsChanged(newConditions); +} + +QList CodecProfile::applyConditions() const { return m_applyConditions; } +void CodecProfile::setApplyConditions(QList newApplyConditions) { + m_applyConditions = newApplyConditions; + emit applyConditionsChanged(newApplyConditions); +} + +QString CodecProfile::codec() const { return m_codec; } +void CodecProfile::setCodec(QString newCodec) { + m_codec = newCodec; + emit codecChanged(newCodec); +} + +QString CodecProfile::container() const { return m_container; } +void CodecProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/codectype.cpp b/core/src/DTO/codectype.cpp new file mode 100644 index 0000000..7c20326 --- /dev/null +++ b/core/src/DTO/codectype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/collectioncreationresult.cpp b/core/src/DTO/collectioncreationresult.cpp new file mode 100644 index 0000000..fef9a15 --- /dev/null +++ b/core/src/DTO/collectioncreationresult.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CollectionCreationResult::CollectionCreationResult(QObject *parent) : QObject(parent) {} + +CollectionCreationResult *CollectionCreationResult::fromJSON(QJsonObject source, QObject *parent) { + CollectionCreationResult *instance = new CollectionCreationResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void CollectionCreationResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CollectionCreationResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString CollectionCreationResult::jellyfinId() const { return m_jellyfinId; } +void CollectionCreationResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/configurationpageinfo.cpp b/core/src/DTO/configurationpageinfo.cpp new file mode 100644 index 0000000..d55fedb --- /dev/null +++ b/core/src/DTO/configurationpageinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ConfigurationPageInfo::ConfigurationPageInfo(QObject *parent) : QObject(parent) {} + +ConfigurationPageInfo *ConfigurationPageInfo::fromJSON(QJsonObject source, QObject *parent) { + ConfigurationPageInfo *instance = new ConfigurationPageInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ConfigurationPageInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ConfigurationPageInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ConfigurationPageInfo::name() const { return m_name; } +void ConfigurationPageInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +bool ConfigurationPageInfo::enableInMainMenu() const { return m_enableInMainMenu; } +void ConfigurationPageInfo::setEnableInMainMenu(bool newEnableInMainMenu) { + m_enableInMainMenu = newEnableInMainMenu; + emit enableInMainMenuChanged(newEnableInMainMenu); +} + +QString ConfigurationPageInfo::menuSection() const { return m_menuSection; } +void ConfigurationPageInfo::setMenuSection(QString newMenuSection) { + m_menuSection = newMenuSection; + emit menuSectionChanged(newMenuSection); +} + +QString ConfigurationPageInfo::menuIcon() const { return m_menuIcon; } +void ConfigurationPageInfo::setMenuIcon(QString newMenuIcon) { + m_menuIcon = newMenuIcon; + emit menuIconChanged(newMenuIcon); +} + +QString ConfigurationPageInfo::displayName() const { return m_displayName; } +void ConfigurationPageInfo::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; + emit displayNameChanged(newDisplayName); +} + +ConfigurationPageType ConfigurationPageInfo::configurationPageType() const { return m_configurationPageType; } +void ConfigurationPageInfo::setConfigurationPageType(ConfigurationPageType newConfigurationPageType) { + m_configurationPageType = newConfigurationPageType; + emit configurationPageTypeChanged(newConfigurationPageType); +} + +QString ConfigurationPageInfo::pluginId() const { return m_pluginId; } +void ConfigurationPageInfo::setPluginId(QString newPluginId) { + m_pluginId = newPluginId; + emit pluginIdChanged(newPluginId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/configurationpagetype.cpp b/core/src/DTO/configurationpagetype.cpp new file mode 100644 index 0000000..e109cb9 --- /dev/null +++ b/core/src/DTO/configurationpagetype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/containerprofile.cpp b/core/src/DTO/containerprofile.cpp new file mode 100644 index 0000000..21c28f6 --- /dev/null +++ b/core/src/DTO/containerprofile.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ContainerProfile::ContainerProfile(QObject *parent) : QObject(parent) {} + +ContainerProfile *ContainerProfile::fromJSON(QJsonObject source, QObject *parent) { + ContainerProfile *instance = new ContainerProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void ContainerProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ContainerProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +DlnaProfileType ContainerProfile::type() const { return m_type; } +void ContainerProfile::setType(DlnaProfileType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QList ContainerProfile::conditions() const { return m_conditions; } +void ContainerProfile::setConditions(QList newConditions) { + m_conditions = newConditions; + emit conditionsChanged(newConditions); +} + +QString ContainerProfile::container() const { return m_container; } +void ContainerProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/controlresponse.cpp b/core/src/DTO/controlresponse.cpp new file mode 100644 index 0000000..2084c4d --- /dev/null +++ b/core/src/DTO/controlresponse.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ControlResponse::ControlResponse(QObject *parent) : QObject(parent) {} + +ControlResponse *ControlResponse::fromJSON(QJsonObject source, QObject *parent) { + ControlResponse *instance = new ControlResponse(parent); + instance->updateFromJSON(source); + return instance; +} + +void ControlResponse::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ControlResponse::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QJsonObject ControlResponse::headers() const { return m_headers; } +void ControlResponse::setHeaders(QJsonObject newHeaders) { + m_headers = newHeaders; + emit headersChanged(newHeaders); +} + +QString ControlResponse::xml() const { return m_xml; } +void ControlResponse::setXml(QString newXml) { + m_xml = newXml; + emit xmlChanged(newXml); +} + +bool ControlResponse::isSuccessful() const { return m_isSuccessful; } +void ControlResponse::setIsSuccessful(bool newIsSuccessful) { + m_isSuccessful = newIsSuccessful; + emit isSuccessfulChanged(newIsSuccessful); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/countryinfo.cpp b/core/src/DTO/countryinfo.cpp new file mode 100644 index 0000000..822fbe8 --- /dev/null +++ b/core/src/DTO/countryinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CountryInfo::CountryInfo(QObject *parent) : QObject(parent) {} + +CountryInfo *CountryInfo::fromJSON(QJsonObject source, QObject *parent) { + CountryInfo *instance = new CountryInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void CountryInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CountryInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString CountryInfo::name() const { return m_name; } +void CountryInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString CountryInfo::displayName() const { return m_displayName; } +void CountryInfo::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; + emit displayNameChanged(newDisplayName); +} + +QString CountryInfo::twoLetterISORegionName() const { return m_twoLetterISORegionName; } +void CountryInfo::setTwoLetterISORegionName(QString newTwoLetterISORegionName) { + m_twoLetterISORegionName = newTwoLetterISORegionName; + emit twoLetterISORegionNameChanged(newTwoLetterISORegionName); +} + +QString CountryInfo::threeLetterISORegionName() const { return m_threeLetterISORegionName; } +void CountryInfo::setThreeLetterISORegionName(QString newThreeLetterISORegionName) { + m_threeLetterISORegionName = newThreeLetterISORegionName; + emit threeLetterISORegionNameChanged(newThreeLetterISORegionName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/createplaylistdto.cpp b/core/src/DTO/createplaylistdto.cpp new file mode 100644 index 0000000..2b57770 --- /dev/null +++ b/core/src/DTO/createplaylistdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CreatePlaylistDto::CreatePlaylistDto(QObject *parent) : QObject(parent) {} + +CreatePlaylistDto *CreatePlaylistDto::fromJSON(QJsonObject source, QObject *parent) { + CreatePlaylistDto *instance = new CreatePlaylistDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void CreatePlaylistDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CreatePlaylistDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString CreatePlaylistDto::name() const { return m_name; } +void CreatePlaylistDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QStringList CreatePlaylistDto::ids() const { return m_ids; } +void CreatePlaylistDto::setIds(QStringList newIds) { + m_ids = newIds; + emit idsChanged(newIds); +} + +QString CreatePlaylistDto::userId() const { return m_userId; } +void CreatePlaylistDto::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString CreatePlaylistDto::mediaType() const { return m_mediaType; } +void CreatePlaylistDto::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; + emit mediaTypeChanged(newMediaType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/createuserbyname.cpp b/core/src/DTO/createuserbyname.cpp new file mode 100644 index 0000000..b0b08f4 --- /dev/null +++ b/core/src/DTO/createuserbyname.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CreateUserByName::CreateUserByName(QObject *parent) : QObject(parent) {} + +CreateUserByName *CreateUserByName::fromJSON(QJsonObject source, QObject *parent) { + CreateUserByName *instance = new CreateUserByName(parent); + instance->updateFromJSON(source); + return instance; +} + +void CreateUserByName::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CreateUserByName::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString CreateUserByName::name() const { return m_name; } +void CreateUserByName::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString CreateUserByName::password() const { return m_password; } +void CreateUserByName::setPassword(QString newPassword) { + m_password = newPassword; + emit passwordChanged(newPassword); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/culturedto.cpp b/core/src/DTO/culturedto.cpp new file mode 100644 index 0000000..ea35630 --- /dev/null +++ b/core/src/DTO/culturedto.cpp @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +CultureDto::CultureDto(QObject *parent) : QObject(parent) {} + +CultureDto *CultureDto::fromJSON(QJsonObject source, QObject *parent) { + CultureDto *instance = new CultureDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void CultureDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject CultureDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString CultureDto::name() const { return m_name; } +void CultureDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString CultureDto::displayName() const { return m_displayName; } +void CultureDto::setDisplayName(QString newDisplayName) { + m_displayName = newDisplayName; + emit displayNameChanged(newDisplayName); +} + +QString CultureDto::twoLetterISOLanguageName() const { return m_twoLetterISOLanguageName; } +void CultureDto::setTwoLetterISOLanguageName(QString newTwoLetterISOLanguageName) { + m_twoLetterISOLanguageName = newTwoLetterISOLanguageName; + emit twoLetterISOLanguageNameChanged(newTwoLetterISOLanguageName); +} + +QString CultureDto::threeLetterISOLanguageName() const { return m_threeLetterISOLanguageName; } +void CultureDto::setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName) { + m_threeLetterISOLanguageName = newThreeLetterISOLanguageName; + emit threeLetterISOLanguageNameChanged(newThreeLetterISOLanguageName); +} + +QStringList CultureDto::threeLetterISOLanguageNames() const { return m_threeLetterISOLanguageNames; } +void CultureDto::setThreeLetterISOLanguageNames(QStringList newThreeLetterISOLanguageNames) { + m_threeLetterISOLanguageNames = newThreeLetterISOLanguageNames; + emit threeLetterISOLanguageNamesChanged(newThreeLetterISOLanguageNames); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/dayofweek.cpp b/core/src/DTO/dayofweek.cpp new file mode 100644 index 0000000..2494b96 --- /dev/null +++ b/core/src/DTO/dayofweek.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/daypattern.cpp b/core/src/DTO/daypattern.cpp new file mode 100644 index 0000000..433253d --- /dev/null +++ b/core/src/DTO/daypattern.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/defaultdirectorybrowserinfodto.cpp b/core/src/DTO/defaultdirectorybrowserinfodto.cpp new file mode 100644 index 0000000..f160af1 --- /dev/null +++ b/core/src/DTO/defaultdirectorybrowserinfodto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DefaultDirectoryBrowserInfoDto::DefaultDirectoryBrowserInfoDto(QObject *parent) : QObject(parent) {} + +DefaultDirectoryBrowserInfoDto *DefaultDirectoryBrowserInfoDto::fromJSON(QJsonObject source, QObject *parent) { + DefaultDirectoryBrowserInfoDto *instance = new DefaultDirectoryBrowserInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void DefaultDirectoryBrowserInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DefaultDirectoryBrowserInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DefaultDirectoryBrowserInfoDto::path() const { return m_path; } +void DefaultDirectoryBrowserInfoDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceidentification.cpp b/core/src/DTO/deviceidentification.cpp new file mode 100644 index 0000000..2447a40 --- /dev/null +++ b/core/src/DTO/deviceidentification.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceIdentification::DeviceIdentification(QObject *parent) : QObject(parent) {} + +DeviceIdentification *DeviceIdentification::fromJSON(QJsonObject source, QObject *parent) { + DeviceIdentification *instance = new DeviceIdentification(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceIdentification::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceIdentification::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DeviceIdentification::friendlyName() const { return m_friendlyName; } +void DeviceIdentification::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; + emit friendlyNameChanged(newFriendlyName); +} + +QString DeviceIdentification::modelNumber() const { return m_modelNumber; } +void DeviceIdentification::setModelNumber(QString newModelNumber) { + m_modelNumber = newModelNumber; + emit modelNumberChanged(newModelNumber); +} + +QString DeviceIdentification::serialNumber() const { return m_serialNumber; } +void DeviceIdentification::setSerialNumber(QString newSerialNumber) { + m_serialNumber = newSerialNumber; + emit serialNumberChanged(newSerialNumber); +} + +QString DeviceIdentification::modelName() const { return m_modelName; } +void DeviceIdentification::setModelName(QString newModelName) { + m_modelName = newModelName; + emit modelNameChanged(newModelName); +} + +QString DeviceIdentification::modelDescription() const { return m_modelDescription; } +void DeviceIdentification::setModelDescription(QString newModelDescription) { + m_modelDescription = newModelDescription; + emit modelDescriptionChanged(newModelDescription); +} + +QString DeviceIdentification::modelUrl() const { return m_modelUrl; } +void DeviceIdentification::setModelUrl(QString newModelUrl) { + m_modelUrl = newModelUrl; + emit modelUrlChanged(newModelUrl); +} + +QString DeviceIdentification::manufacturer() const { return m_manufacturer; } +void DeviceIdentification::setManufacturer(QString newManufacturer) { + m_manufacturer = newManufacturer; + emit manufacturerChanged(newManufacturer); +} + +QString DeviceIdentification::manufacturerUrl() const { return m_manufacturerUrl; } +void DeviceIdentification::setManufacturerUrl(QString newManufacturerUrl) { + m_manufacturerUrl = newManufacturerUrl; + emit manufacturerUrlChanged(newManufacturerUrl); +} + +QList DeviceIdentification::headers() const { return m_headers; } +void DeviceIdentification::setHeaders(QList newHeaders) { + m_headers = newHeaders; + emit headersChanged(newHeaders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceinfo.cpp b/core/src/DTO/deviceinfo.cpp new file mode 100644 index 0000000..22b28f1 --- /dev/null +++ b/core/src/DTO/deviceinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceInfo::DeviceInfo(QObject *parent) : QObject(parent) {} + +DeviceInfo *DeviceInfo::fromJSON(QJsonObject source, QObject *parent) { + DeviceInfo *instance = new DeviceInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DeviceInfo::name() const { return m_name; } +void DeviceInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString DeviceInfo::jellyfinId() const { return m_jellyfinId; } +void DeviceInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString DeviceInfo::lastUserName() const { return m_lastUserName; } +void DeviceInfo::setLastUserName(QString newLastUserName) { + m_lastUserName = newLastUserName; + emit lastUserNameChanged(newLastUserName); +} + +QString DeviceInfo::appName() const { return m_appName; } +void DeviceInfo::setAppName(QString newAppName) { + m_appName = newAppName; + emit appNameChanged(newAppName); +} + +QString DeviceInfo::appVersion() const { return m_appVersion; } +void DeviceInfo::setAppVersion(QString newAppVersion) { + m_appVersion = newAppVersion; + emit appVersionChanged(newAppVersion); +} + +QString DeviceInfo::lastUserId() const { return m_lastUserId; } +void DeviceInfo::setLastUserId(QString newLastUserId) { + m_lastUserId = newLastUserId; + emit lastUserIdChanged(newLastUserId); +} + +QDateTime DeviceInfo::dateLastActivity() const { return m_dateLastActivity; } +void DeviceInfo::setDateLastActivity(QDateTime newDateLastActivity) { + m_dateLastActivity = newDateLastActivity; + emit dateLastActivityChanged(newDateLastActivity); +} + +ClientCapabilities * DeviceInfo::capabilities() const { return m_capabilities; } +void DeviceInfo::setCapabilities(ClientCapabilities * newCapabilities) { + m_capabilities = newCapabilities; + emit capabilitiesChanged(newCapabilities); +} + +QString DeviceInfo::iconUrl() const { return m_iconUrl; } +void DeviceInfo::setIconUrl(QString newIconUrl) { + m_iconUrl = newIconUrl; + emit iconUrlChanged(newIconUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceinfoqueryresult.cpp b/core/src/DTO/deviceinfoqueryresult.cpp new file mode 100644 index 0000000..4acd4c1 --- /dev/null +++ b/core/src/DTO/deviceinfoqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceInfoQueryResult::DeviceInfoQueryResult(QObject *parent) : QObject(parent) {} + +DeviceInfoQueryResult *DeviceInfoQueryResult::fromJSON(QJsonObject source, QObject *parent) { + DeviceInfoQueryResult *instance = new DeviceInfoQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceInfoQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceInfoQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList DeviceInfoQueryResult::items() const { return m_items; } +void DeviceInfoQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 DeviceInfoQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void DeviceInfoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 DeviceInfoQueryResult::startIndex() const { return m_startIndex; } +void DeviceInfoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceoptions.cpp b/core/src/DTO/deviceoptions.cpp new file mode 100644 index 0000000..7446dba --- /dev/null +++ b/core/src/DTO/deviceoptions.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceOptions::DeviceOptions(QObject *parent) : QObject(parent) {} + +DeviceOptions *DeviceOptions::fromJSON(QJsonObject source, QObject *parent) { + DeviceOptions *instance = new DeviceOptions(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceOptions::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceOptions::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DeviceOptions::customName() const { return m_customName; } +void DeviceOptions::setCustomName(QString newCustomName) { + m_customName = newCustomName; + emit customNameChanged(newCustomName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceprofile.cpp b/core/src/DTO/deviceprofile.cpp new file mode 100644 index 0000000..2552514 --- /dev/null +++ b/core/src/DTO/deviceprofile.cpp @@ -0,0 +1,287 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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(QObject *parent) : QObject(parent) {} + +DeviceProfile *DeviceProfile::fromJSON(QJsonObject source, QObject *parent) { + DeviceProfile *instance = new DeviceProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DeviceProfile::name() const { return m_name; } +void DeviceProfile::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString DeviceProfile::jellyfinId() const { return m_jellyfinId; } +void DeviceProfile::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +DeviceIdentification * DeviceProfile::identification() const { return m_identification; } +void DeviceProfile::setIdentification(DeviceIdentification * newIdentification) { + m_identification = newIdentification; + emit identificationChanged(newIdentification); +} + +QString DeviceProfile::friendlyName() const { return m_friendlyName; } +void DeviceProfile::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; + emit friendlyNameChanged(newFriendlyName); +} + +QString DeviceProfile::manufacturer() const { return m_manufacturer; } +void DeviceProfile::setManufacturer(QString newManufacturer) { + m_manufacturer = newManufacturer; + emit manufacturerChanged(newManufacturer); +} + +QString DeviceProfile::manufacturerUrl() const { return m_manufacturerUrl; } +void DeviceProfile::setManufacturerUrl(QString newManufacturerUrl) { + m_manufacturerUrl = newManufacturerUrl; + emit manufacturerUrlChanged(newManufacturerUrl); +} + +QString DeviceProfile::modelName() const { return m_modelName; } +void DeviceProfile::setModelName(QString newModelName) { + m_modelName = newModelName; + emit modelNameChanged(newModelName); +} + +QString DeviceProfile::modelDescription() const { return m_modelDescription; } +void DeviceProfile::setModelDescription(QString newModelDescription) { + m_modelDescription = newModelDescription; + emit modelDescriptionChanged(newModelDescription); +} + +QString DeviceProfile::modelNumber() const { return m_modelNumber; } +void DeviceProfile::setModelNumber(QString newModelNumber) { + m_modelNumber = newModelNumber; + emit modelNumberChanged(newModelNumber); +} + +QString DeviceProfile::modelUrl() const { return m_modelUrl; } +void DeviceProfile::setModelUrl(QString newModelUrl) { + m_modelUrl = newModelUrl; + emit modelUrlChanged(newModelUrl); +} + +QString DeviceProfile::serialNumber() const { return m_serialNumber; } +void DeviceProfile::setSerialNumber(QString newSerialNumber) { + m_serialNumber = newSerialNumber; + emit serialNumberChanged(newSerialNumber); +} + +bool DeviceProfile::enableAlbumArtInDidl() const { return m_enableAlbumArtInDidl; } +void DeviceProfile::setEnableAlbumArtInDidl(bool newEnableAlbumArtInDidl) { + m_enableAlbumArtInDidl = newEnableAlbumArtInDidl; + emit enableAlbumArtInDidlChanged(newEnableAlbumArtInDidl); +} + +bool DeviceProfile::enableSingleAlbumArtLimit() const { return m_enableSingleAlbumArtLimit; } +void DeviceProfile::setEnableSingleAlbumArtLimit(bool newEnableSingleAlbumArtLimit) { + m_enableSingleAlbumArtLimit = newEnableSingleAlbumArtLimit; + emit enableSingleAlbumArtLimitChanged(newEnableSingleAlbumArtLimit); +} + +bool DeviceProfile::enableSingleSubtitleLimit() const { return m_enableSingleSubtitleLimit; } +void DeviceProfile::setEnableSingleSubtitleLimit(bool newEnableSingleSubtitleLimit) { + m_enableSingleSubtitleLimit = newEnableSingleSubtitleLimit; + emit enableSingleSubtitleLimitChanged(newEnableSingleSubtitleLimit); +} + +QString DeviceProfile::supportedMediaTypes() const { return m_supportedMediaTypes; } +void DeviceProfile::setSupportedMediaTypes(QString newSupportedMediaTypes) { + m_supportedMediaTypes = newSupportedMediaTypes; + emit supportedMediaTypesChanged(newSupportedMediaTypes); +} + +QString DeviceProfile::userId() const { return m_userId; } +void DeviceProfile::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString DeviceProfile::albumArtPn() const { return m_albumArtPn; } +void DeviceProfile::setAlbumArtPn(QString newAlbumArtPn) { + m_albumArtPn = newAlbumArtPn; + emit albumArtPnChanged(newAlbumArtPn); +} + +qint32 DeviceProfile::maxAlbumArtWidth() const { return m_maxAlbumArtWidth; } +void DeviceProfile::setMaxAlbumArtWidth(qint32 newMaxAlbumArtWidth) { + m_maxAlbumArtWidth = newMaxAlbumArtWidth; + emit maxAlbumArtWidthChanged(newMaxAlbumArtWidth); +} + +qint32 DeviceProfile::maxAlbumArtHeight() const { return m_maxAlbumArtHeight; } +void DeviceProfile::setMaxAlbumArtHeight(qint32 newMaxAlbumArtHeight) { + m_maxAlbumArtHeight = newMaxAlbumArtHeight; + emit maxAlbumArtHeightChanged(newMaxAlbumArtHeight); +} + +qint32 DeviceProfile::maxIconWidth() const { return m_maxIconWidth; } +void DeviceProfile::setMaxIconWidth(qint32 newMaxIconWidth) { + m_maxIconWidth = newMaxIconWidth; + emit maxIconWidthChanged(newMaxIconWidth); +} + +qint32 DeviceProfile::maxIconHeight() const { return m_maxIconHeight; } +void DeviceProfile::setMaxIconHeight(qint32 newMaxIconHeight) { + m_maxIconHeight = newMaxIconHeight; + emit maxIconHeightChanged(newMaxIconHeight); +} + +qint32 DeviceProfile::maxStreamingBitrate() const { return m_maxStreamingBitrate; } +void DeviceProfile::setMaxStreamingBitrate(qint32 newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; + emit maxStreamingBitrateChanged(newMaxStreamingBitrate); +} + +qint32 DeviceProfile::maxStaticBitrate() const { return m_maxStaticBitrate; } +void DeviceProfile::setMaxStaticBitrate(qint32 newMaxStaticBitrate) { + m_maxStaticBitrate = newMaxStaticBitrate; + emit maxStaticBitrateChanged(newMaxStaticBitrate); +} + +qint32 DeviceProfile::musicStreamingTranscodingBitrate() const { return m_musicStreamingTranscodingBitrate; } +void DeviceProfile::setMusicStreamingTranscodingBitrate(qint32 newMusicStreamingTranscodingBitrate) { + m_musicStreamingTranscodingBitrate = newMusicStreamingTranscodingBitrate; + emit musicStreamingTranscodingBitrateChanged(newMusicStreamingTranscodingBitrate); +} + +qint32 DeviceProfile::maxStaticMusicBitrate() const { return m_maxStaticMusicBitrate; } +void DeviceProfile::setMaxStaticMusicBitrate(qint32 newMaxStaticMusicBitrate) { + m_maxStaticMusicBitrate = newMaxStaticMusicBitrate; + emit maxStaticMusicBitrateChanged(newMaxStaticMusicBitrate); +} + +QString DeviceProfile::sonyAggregationFlags() const { return m_sonyAggregationFlags; } +void DeviceProfile::setSonyAggregationFlags(QString newSonyAggregationFlags) { + m_sonyAggregationFlags = newSonyAggregationFlags; + emit sonyAggregationFlagsChanged(newSonyAggregationFlags); +} + +QString DeviceProfile::protocolInfo() const { return m_protocolInfo; } +void DeviceProfile::setProtocolInfo(QString newProtocolInfo) { + m_protocolInfo = newProtocolInfo; + emit protocolInfoChanged(newProtocolInfo); +} + +qint32 DeviceProfile::timelineOffsetSeconds() const { return m_timelineOffsetSeconds; } +void DeviceProfile::setTimelineOffsetSeconds(qint32 newTimelineOffsetSeconds) { + m_timelineOffsetSeconds = newTimelineOffsetSeconds; + emit timelineOffsetSecondsChanged(newTimelineOffsetSeconds); +} + +bool DeviceProfile::requiresPlainVideoItems() const { return m_requiresPlainVideoItems; } +void DeviceProfile::setRequiresPlainVideoItems(bool newRequiresPlainVideoItems) { + m_requiresPlainVideoItems = newRequiresPlainVideoItems; + emit requiresPlainVideoItemsChanged(newRequiresPlainVideoItems); +} + +bool DeviceProfile::requiresPlainFolders() const { return m_requiresPlainFolders; } +void DeviceProfile::setRequiresPlainFolders(bool newRequiresPlainFolders) { + m_requiresPlainFolders = newRequiresPlainFolders; + emit requiresPlainFoldersChanged(newRequiresPlainFolders); +} + +bool DeviceProfile::enableMSMediaReceiverRegistrar() const { return m_enableMSMediaReceiverRegistrar; } +void DeviceProfile::setEnableMSMediaReceiverRegistrar(bool newEnableMSMediaReceiverRegistrar) { + m_enableMSMediaReceiverRegistrar = newEnableMSMediaReceiverRegistrar; + emit enableMSMediaReceiverRegistrarChanged(newEnableMSMediaReceiverRegistrar); +} + +bool DeviceProfile::ignoreTranscodeByteRangeRequests() const { return m_ignoreTranscodeByteRangeRequests; } +void DeviceProfile::setIgnoreTranscodeByteRangeRequests(bool newIgnoreTranscodeByteRangeRequests) { + m_ignoreTranscodeByteRangeRequests = newIgnoreTranscodeByteRangeRequests; + emit ignoreTranscodeByteRangeRequestsChanged(newIgnoreTranscodeByteRangeRequests); +} + +QList DeviceProfile::xmlRootAttributes() const { return m_xmlRootAttributes; } +void DeviceProfile::setXmlRootAttributes(QList newXmlRootAttributes) { + m_xmlRootAttributes = newXmlRootAttributes; + emit xmlRootAttributesChanged(newXmlRootAttributes); +} + +QList DeviceProfile::directPlayProfiles() const { return m_directPlayProfiles; } +void DeviceProfile::setDirectPlayProfiles(QList newDirectPlayProfiles) { + m_directPlayProfiles = newDirectPlayProfiles; + emit directPlayProfilesChanged(newDirectPlayProfiles); +} + +QList DeviceProfile::transcodingProfiles() const { return m_transcodingProfiles; } +void DeviceProfile::setTranscodingProfiles(QList newTranscodingProfiles) { + m_transcodingProfiles = newTranscodingProfiles; + emit transcodingProfilesChanged(newTranscodingProfiles); +} + +QList DeviceProfile::containerProfiles() const { return m_containerProfiles; } +void DeviceProfile::setContainerProfiles(QList newContainerProfiles) { + m_containerProfiles = newContainerProfiles; + emit containerProfilesChanged(newContainerProfiles); +} + +QList DeviceProfile::codecProfiles() const { return m_codecProfiles; } +void DeviceProfile::setCodecProfiles(QList newCodecProfiles) { + m_codecProfiles = newCodecProfiles; + emit codecProfilesChanged(newCodecProfiles); +} + +QList DeviceProfile::responseProfiles() const { return m_responseProfiles; } +void DeviceProfile::setResponseProfiles(QList newResponseProfiles) { + m_responseProfiles = newResponseProfiles; + emit responseProfilesChanged(newResponseProfiles); +} + +QList DeviceProfile::subtitleProfiles() const { return m_subtitleProfiles; } +void DeviceProfile::setSubtitleProfiles(QList newSubtitleProfiles) { + m_subtitleProfiles = newSubtitleProfiles; + emit subtitleProfilesChanged(newSubtitleProfiles); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceprofileinfo.cpp b/core/src/DTO/deviceprofileinfo.cpp new file mode 100644 index 0000000..6ff07ce --- /dev/null +++ b/core/src/DTO/deviceprofileinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +DeviceProfileInfo::DeviceProfileInfo(QObject *parent) : QObject(parent) {} + +DeviceProfileInfo *DeviceProfileInfo::fromJSON(QJsonObject source, QObject *parent) { + DeviceProfileInfo *instance = new DeviceProfileInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void DeviceProfileInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DeviceProfileInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DeviceProfileInfo::jellyfinId() const { return m_jellyfinId; } +void DeviceProfileInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString DeviceProfileInfo::name() const { return m_name; } +void DeviceProfileInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +DeviceProfileType DeviceProfileInfo::type() const { return m_type; } +void DeviceProfileInfo::setType(DeviceProfileType newType) { + m_type = newType; + emit typeChanged(newType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/deviceprofiletype.cpp b/core/src/DTO/deviceprofiletype.cpp new file mode 100644 index 0000000..cc1dc27 --- /dev/null +++ b/core/src/DTO/deviceprofiletype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/directplayprofile.cpp b/core/src/DTO/directplayprofile.cpp new file mode 100644 index 0000000..f6645e8 --- /dev/null +++ b/core/src/DTO/directplayprofile.cpp @@ -0,0 +1,79 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +DirectPlayProfile::DirectPlayProfile(QObject *parent) : QObject(parent) {} + +DirectPlayProfile *DirectPlayProfile::fromJSON(QJsonObject source, QObject *parent) { + DirectPlayProfile *instance = new DirectPlayProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void DirectPlayProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DirectPlayProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DirectPlayProfile::container() const { return m_container; } +void DirectPlayProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +QString DirectPlayProfile::audioCodec() const { return m_audioCodec; } +void DirectPlayProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; + emit audioCodecChanged(newAudioCodec); +} + +QString DirectPlayProfile::videoCodec() const { return m_videoCodec; } +void DirectPlayProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; + emit videoCodecChanged(newVideoCodec); +} + +DlnaProfileType DirectPlayProfile::type() const { return m_type; } +void DirectPlayProfile::setType(DlnaProfileType newType) { + m_type = newType; + emit typeChanged(newType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/displaypreferencesdto.cpp b/core/src/DTO/displaypreferencesdto.cpp new file mode 100644 index 0000000..39eadcb --- /dev/null +++ b/core/src/DTO/displaypreferencesdto.cpp @@ -0,0 +1,140 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +DisplayPreferencesDto::DisplayPreferencesDto(QObject *parent) : QObject(parent) {} + +DisplayPreferencesDto *DisplayPreferencesDto::fromJSON(QJsonObject source, QObject *parent) { + DisplayPreferencesDto *instance = new DisplayPreferencesDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void DisplayPreferencesDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject DisplayPreferencesDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString DisplayPreferencesDto::jellyfinId() const { return m_jellyfinId; } +void DisplayPreferencesDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString DisplayPreferencesDto::viewType() const { return m_viewType; } +void DisplayPreferencesDto::setViewType(QString newViewType) { + m_viewType = newViewType; + emit viewTypeChanged(newViewType); +} + +QString DisplayPreferencesDto::sortBy() const { return m_sortBy; } +void DisplayPreferencesDto::setSortBy(QString newSortBy) { + m_sortBy = newSortBy; + emit sortByChanged(newSortBy); +} + +QString DisplayPreferencesDto::indexBy() const { return m_indexBy; } +void DisplayPreferencesDto::setIndexBy(QString newIndexBy) { + m_indexBy = newIndexBy; + emit indexByChanged(newIndexBy); +} + +bool DisplayPreferencesDto::rememberIndexing() const { return m_rememberIndexing; } +void DisplayPreferencesDto::setRememberIndexing(bool newRememberIndexing) { + m_rememberIndexing = newRememberIndexing; + emit rememberIndexingChanged(newRememberIndexing); +} + +qint32 DisplayPreferencesDto::primaryImageHeight() const { return m_primaryImageHeight; } +void DisplayPreferencesDto::setPrimaryImageHeight(qint32 newPrimaryImageHeight) { + m_primaryImageHeight = newPrimaryImageHeight; + emit primaryImageHeightChanged(newPrimaryImageHeight); +} + +qint32 DisplayPreferencesDto::primaryImageWidth() const { return m_primaryImageWidth; } +void DisplayPreferencesDto::setPrimaryImageWidth(qint32 newPrimaryImageWidth) { + m_primaryImageWidth = newPrimaryImageWidth; + emit primaryImageWidthChanged(newPrimaryImageWidth); +} + +QJsonObject DisplayPreferencesDto::customPrefs() const { return m_customPrefs; } +void DisplayPreferencesDto::setCustomPrefs(QJsonObject newCustomPrefs) { + m_customPrefs = newCustomPrefs; + emit customPrefsChanged(newCustomPrefs); +} + +ScrollDirection DisplayPreferencesDto::scrollDirection() const { return m_scrollDirection; } +void DisplayPreferencesDto::setScrollDirection(ScrollDirection newScrollDirection) { + m_scrollDirection = newScrollDirection; + emit scrollDirectionChanged(newScrollDirection); +} + +bool DisplayPreferencesDto::showBackdrop() const { return m_showBackdrop; } +void DisplayPreferencesDto::setShowBackdrop(bool newShowBackdrop) { + m_showBackdrop = newShowBackdrop; + emit showBackdropChanged(newShowBackdrop); +} + +bool DisplayPreferencesDto::rememberSorting() const { return m_rememberSorting; } +void DisplayPreferencesDto::setRememberSorting(bool newRememberSorting) { + m_rememberSorting = newRememberSorting; + emit rememberSortingChanged(newRememberSorting); +} + +SortOrder DisplayPreferencesDto::sortOrder() const { return m_sortOrder; } +void DisplayPreferencesDto::setSortOrder(SortOrder newSortOrder) { + m_sortOrder = newSortOrder; + emit sortOrderChanged(newSortOrder); +} + +bool DisplayPreferencesDto::showSidebar() const { return m_showSidebar; } +void DisplayPreferencesDto::setShowSidebar(bool newShowSidebar) { + m_showSidebar = newShowSidebar; + emit showSidebarChanged(newShowSidebar); +} + +QString DisplayPreferencesDto::client() const { return m_client; } +void DisplayPreferencesDto::setClient(QString newClient) { + m_client = newClient; + emit clientChanged(newClient); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/dlnaprofiletype.cpp b/core/src/DTO/dlnaprofiletype.cpp new file mode 100644 index 0000000..215f873 --- /dev/null +++ b/core/src/DTO/dlnaprofiletype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/dynamicdayofweek.cpp b/core/src/DTO/dynamicdayofweek.cpp new file mode 100644 index 0000000..b5c2269 --- /dev/null +++ b/core/src/DTO/dynamicdayofweek.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/encodingcontext.cpp b/core/src/DTO/encodingcontext.cpp new file mode 100644 index 0000000..dd7c57a --- /dev/null +++ b/core/src/DTO/encodingcontext.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/endpointinfo.cpp b/core/src/DTO/endpointinfo.cpp new file mode 100644 index 0000000..2bf6f7d --- /dev/null +++ b/core/src/DTO/endpointinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +EndPointInfo::EndPointInfo(QObject *parent) : QObject(parent) {} + +EndPointInfo *EndPointInfo::fromJSON(QJsonObject source, QObject *parent) { + EndPointInfo *instance = new EndPointInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void EndPointInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject EndPointInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool EndPointInfo::isLocal() const { return m_isLocal; } +void EndPointInfo::setIsLocal(bool newIsLocal) { + m_isLocal = newIsLocal; + emit isLocalChanged(newIsLocal); +} + +bool EndPointInfo::isInNetwork() const { return m_isInNetwork; } +void EndPointInfo::setIsInNetwork(bool newIsInNetwork) { + m_isInNetwork = newIsInNetwork; + emit isInNetworkChanged(newIsInNetwork); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/externalidinfo.cpp b/core/src/DTO/externalidinfo.cpp new file mode 100644 index 0000000..87e203b --- /dev/null +++ b/core/src/DTO/externalidinfo.cpp @@ -0,0 +1,79 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ExternalIdInfo::ExternalIdInfo(QObject *parent) : QObject(parent) {} + +ExternalIdInfo *ExternalIdInfo::fromJSON(QJsonObject source, QObject *parent) { + ExternalIdInfo *instance = new ExternalIdInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ExternalIdInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ExternalIdInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ExternalIdInfo::name() const { return m_name; } +void ExternalIdInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ExternalIdInfo::key() const { return m_key; } +void ExternalIdInfo::setKey(QString newKey) { + m_key = newKey; + emit keyChanged(newKey); +} + +ExternalIdMediaType ExternalIdInfo::type() const { return m_type; } +void ExternalIdInfo::setType(ExternalIdMediaType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString ExternalIdInfo::urlFormatString() const { return m_urlFormatString; } +void ExternalIdInfo::setUrlFormatString(QString newUrlFormatString) { + m_urlFormatString = newUrlFormatString; + emit urlFormatStringChanged(newUrlFormatString); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/externalidmediatype.cpp b/core/src/DTO/externalidmediatype.cpp new file mode 100644 index 0000000..c9a31a3 --- /dev/null +++ b/core/src/DTO/externalidmediatype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/externalurl.cpp b/core/src/DTO/externalurl.cpp new file mode 100644 index 0000000..5d12cd7 --- /dev/null +++ b/core/src/DTO/externalurl.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ExternalUrl::ExternalUrl(QObject *parent) : QObject(parent) {} + +ExternalUrl *ExternalUrl::fromJSON(QJsonObject source, QObject *parent) { + ExternalUrl *instance = new ExternalUrl(parent); + instance->updateFromJSON(source); + return instance; +} + +void ExternalUrl::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ExternalUrl::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ExternalUrl::name() const { return m_name; } +void ExternalUrl::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ExternalUrl::url() const { return m_url; } +void ExternalUrl::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/ffmpeglocation.cpp b/core/src/DTO/ffmpeglocation.cpp new file mode 100644 index 0000000..3080c7c --- /dev/null +++ b/core/src/DTO/ffmpeglocation.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/filesystementryinfo.cpp b/core/src/DTO/filesystementryinfo.cpp new file mode 100644 index 0000000..ef2e3b6 --- /dev/null +++ b/core/src/DTO/filesystementryinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +FileSystemEntryInfo::FileSystemEntryInfo(QObject *parent) : QObject(parent) {} + +FileSystemEntryInfo *FileSystemEntryInfo::fromJSON(QJsonObject source, QObject *parent) { + FileSystemEntryInfo *instance = new FileSystemEntryInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void FileSystemEntryInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject FileSystemEntryInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString FileSystemEntryInfo::name() const { return m_name; } +void FileSystemEntryInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString FileSystemEntryInfo::path() const { return m_path; } +void FileSystemEntryInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +FileSystemEntryType FileSystemEntryInfo::type() const { return m_type; } +void FileSystemEntryInfo::setType(FileSystemEntryType newType) { + m_type = newType; + emit typeChanged(newType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/filesystementrytype.cpp b/core/src/DTO/filesystementrytype.cpp new file mode 100644 index 0000000..9b73687 --- /dev/null +++ b/core/src/DTO/filesystementrytype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/fontfile.cpp b/core/src/DTO/fontfile.cpp new file mode 100644 index 0000000..a5a7d8b --- /dev/null +++ b/core/src/DTO/fontfile.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +FontFile::FontFile(QObject *parent) : QObject(parent) {} + +FontFile *FontFile::fromJSON(QJsonObject source, QObject *parent) { + FontFile *instance = new FontFile(parent); + instance->updateFromJSON(source); + return instance; +} + +void FontFile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject FontFile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString FontFile::name() const { return m_name; } +void FontFile::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +qint64 FontFile::size() const { return m_size; } +void FontFile::setSize(qint64 newSize) { + m_size = newSize; + emit sizeChanged(newSize); +} + +QDateTime FontFile::dateCreated() const { return m_dateCreated; } +void FontFile::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; + emit dateCreatedChanged(newDateCreated); +} + +QDateTime FontFile::dateModified() const { return m_dateModified; } +void FontFile::setDateModified(QDateTime newDateModified) { + m_dateModified = newDateModified; + emit dateModifiedChanged(newDateModified); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/forgotpasswordaction.cpp b/core/src/DTO/forgotpasswordaction.cpp new file mode 100644 index 0000000..25d2fc2 --- /dev/null +++ b/core/src/DTO/forgotpasswordaction.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/forgotpassworddto.cpp b/core/src/DTO/forgotpassworddto.cpp new file mode 100644 index 0000000..1bada60 --- /dev/null +++ b/core/src/DTO/forgotpassworddto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ForgotPasswordDto::ForgotPasswordDto(QObject *parent) : QObject(parent) {} + +ForgotPasswordDto *ForgotPasswordDto::fromJSON(QJsonObject source, QObject *parent) { + ForgotPasswordDto *instance = new ForgotPasswordDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void ForgotPasswordDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ForgotPasswordDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ForgotPasswordDto::enteredUsername() const { return m_enteredUsername; } +void ForgotPasswordDto::setEnteredUsername(QString newEnteredUsername) { + m_enteredUsername = newEnteredUsername; + emit enteredUsernameChanged(newEnteredUsername); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/forgotpasswordresult.cpp b/core/src/DTO/forgotpasswordresult.cpp new file mode 100644 index 0000000..b18a27d --- /dev/null +++ b/core/src/DTO/forgotpasswordresult.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ForgotPasswordResult::ForgotPasswordResult(QObject *parent) : QObject(parent) {} + +ForgotPasswordResult *ForgotPasswordResult::fromJSON(QJsonObject source, QObject *parent) { + ForgotPasswordResult *instance = new ForgotPasswordResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void ForgotPasswordResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ForgotPasswordResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ForgotPasswordAction ForgotPasswordResult::action() const { return m_action; } +void ForgotPasswordResult::setAction(ForgotPasswordAction newAction) { + m_action = newAction; + emit actionChanged(newAction); +} + +QString ForgotPasswordResult::pinFile() const { return m_pinFile; } +void ForgotPasswordResult::setPinFile(QString newPinFile) { + m_pinFile = newPinFile; + emit pinFileChanged(newPinFile); +} + +QDateTime ForgotPasswordResult::pinExpirationDate() const { return m_pinExpirationDate; } +void ForgotPasswordResult::setPinExpirationDate(QDateTime newPinExpirationDate) { + m_pinExpirationDate = newPinExpirationDate; + emit pinExpirationDateChanged(newPinExpirationDate); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/generalcommand.cpp b/core/src/DTO/generalcommand.cpp new file mode 100644 index 0000000..bf541fd --- /dev/null +++ b/core/src/DTO/generalcommand.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +GeneralCommand::GeneralCommand(QObject *parent) : QObject(parent) {} + +GeneralCommand *GeneralCommand::fromJSON(QJsonObject source, QObject *parent) { + GeneralCommand *instance = new GeneralCommand(parent); + instance->updateFromJSON(source); + return instance; +} + +void GeneralCommand::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject GeneralCommand::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +GeneralCommandType GeneralCommand::name() const { return m_name; } +void GeneralCommand::setName(GeneralCommandType newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString GeneralCommand::controllingUserId() const { return m_controllingUserId; } +void GeneralCommand::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; + emit controllingUserIdChanged(newControllingUserId); +} + +QJsonObject GeneralCommand::arguments() const { return m_arguments; } +void GeneralCommand::setArguments(QJsonObject newArguments) { + m_arguments = newArguments; + emit argumentsChanged(newArguments); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/generalcommandtype.cpp b/core/src/DTO/generalcommandtype.cpp new file mode 100644 index 0000000..de71c7e --- /dev/null +++ b/core/src/DTO/generalcommandtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/getprogramsdto.cpp b/core/src/DTO/getprogramsdto.cpp new file mode 100644 index 0000000..62876ea --- /dev/null +++ b/core/src/DTO/getprogramsdto.cpp @@ -0,0 +1,218 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +GetProgramsDto::GetProgramsDto(QObject *parent) : QObject(parent) {} + +GetProgramsDto *GetProgramsDto::fromJSON(QJsonObject source, QObject *parent) { + GetProgramsDto *instance = new GetProgramsDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void GetProgramsDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject GetProgramsDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList GetProgramsDto::channelIds() const { return m_channelIds; } +void GetProgramsDto::setChannelIds(QStringList newChannelIds) { + m_channelIds = newChannelIds; + emit channelIdsChanged(newChannelIds); +} + +QString GetProgramsDto::userId() const { return m_userId; } +void GetProgramsDto::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QDateTime GetProgramsDto::minStartDate() const { return m_minStartDate; } +void GetProgramsDto::setMinStartDate(QDateTime newMinStartDate) { + m_minStartDate = newMinStartDate; + emit minStartDateChanged(newMinStartDate); +} + +bool GetProgramsDto::hasAired() const { return m_hasAired; } +void GetProgramsDto::setHasAired(bool newHasAired) { + m_hasAired = newHasAired; + emit hasAiredChanged(newHasAired); +} + +bool GetProgramsDto::isAiring() const { return m_isAiring; } +void GetProgramsDto::setIsAiring(bool newIsAiring) { + m_isAiring = newIsAiring; + emit isAiringChanged(newIsAiring); +} + +QDateTime GetProgramsDto::maxStartDate() const { return m_maxStartDate; } +void GetProgramsDto::setMaxStartDate(QDateTime newMaxStartDate) { + m_maxStartDate = newMaxStartDate; + emit maxStartDateChanged(newMaxStartDate); +} + +QDateTime GetProgramsDto::minEndDate() const { return m_minEndDate; } +void GetProgramsDto::setMinEndDate(QDateTime newMinEndDate) { + m_minEndDate = newMinEndDate; + emit minEndDateChanged(newMinEndDate); +} + +QDateTime GetProgramsDto::maxEndDate() const { return m_maxEndDate; } +void GetProgramsDto::setMaxEndDate(QDateTime newMaxEndDate) { + m_maxEndDate = newMaxEndDate; + emit maxEndDateChanged(newMaxEndDate); +} + +bool GetProgramsDto::isMovie() const { return m_isMovie; } +void GetProgramsDto::setIsMovie(bool newIsMovie) { + m_isMovie = newIsMovie; + emit isMovieChanged(newIsMovie); +} + +bool GetProgramsDto::isSeries() const { return m_isSeries; } +void GetProgramsDto::setIsSeries(bool newIsSeries) { + m_isSeries = newIsSeries; + emit isSeriesChanged(newIsSeries); +} + +bool GetProgramsDto::isNews() const { return m_isNews; } +void GetProgramsDto::setIsNews(bool newIsNews) { + m_isNews = newIsNews; + emit isNewsChanged(newIsNews); +} + +bool GetProgramsDto::isKids() const { return m_isKids; } +void GetProgramsDto::setIsKids(bool newIsKids) { + m_isKids = newIsKids; + emit isKidsChanged(newIsKids); +} + +bool GetProgramsDto::isSports() const { return m_isSports; } +void GetProgramsDto::setIsSports(bool newIsSports) { + m_isSports = newIsSports; + emit isSportsChanged(newIsSports); +} + +qint32 GetProgramsDto::startIndex() const { return m_startIndex; } +void GetProgramsDto::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + +qint32 GetProgramsDto::limit() const { return m_limit; } +void GetProgramsDto::setLimit(qint32 newLimit) { + m_limit = newLimit; + emit limitChanged(newLimit); +} + +QString GetProgramsDto::sortBy() const { return m_sortBy; } +void GetProgramsDto::setSortBy(QString newSortBy) { + m_sortBy = newSortBy; + emit sortByChanged(newSortBy); +} + +QString GetProgramsDto::sortOrder() const { return m_sortOrder; } +void GetProgramsDto::setSortOrder(QString newSortOrder) { + m_sortOrder = newSortOrder; + emit sortOrderChanged(newSortOrder); +} + +QStringList GetProgramsDto::genres() const { return m_genres; } +void GetProgramsDto::setGenres(QStringList newGenres) { + m_genres = newGenres; + emit genresChanged(newGenres); +} + +QStringList GetProgramsDto::genreIds() const { return m_genreIds; } +void GetProgramsDto::setGenreIds(QStringList newGenreIds) { + m_genreIds = newGenreIds; + emit genreIdsChanged(newGenreIds); +} + +bool GetProgramsDto::enableImages() const { return m_enableImages; } +void GetProgramsDto::setEnableImages(bool newEnableImages) { + m_enableImages = newEnableImages; + emit enableImagesChanged(newEnableImages); +} + +bool GetProgramsDto::enableTotalRecordCount() const { return m_enableTotalRecordCount; } +void GetProgramsDto::setEnableTotalRecordCount(bool newEnableTotalRecordCount) { + m_enableTotalRecordCount = newEnableTotalRecordCount; + emit enableTotalRecordCountChanged(newEnableTotalRecordCount); +} + +qint32 GetProgramsDto::imageTypeLimit() const { return m_imageTypeLimit; } +void GetProgramsDto::setImageTypeLimit(qint32 newImageTypeLimit) { + m_imageTypeLimit = newImageTypeLimit; + emit imageTypeLimitChanged(newImageTypeLimit); +} + +QList GetProgramsDto::enableImageTypes() const { return m_enableImageTypes; } +void GetProgramsDto::setEnableImageTypes(QList newEnableImageTypes) { + m_enableImageTypes = newEnableImageTypes; + emit enableImageTypesChanged(newEnableImageTypes); +} + +bool GetProgramsDto::enableUserData() const { return m_enableUserData; } +void GetProgramsDto::setEnableUserData(bool newEnableUserData) { + m_enableUserData = newEnableUserData; + emit enableUserDataChanged(newEnableUserData); +} + +QString GetProgramsDto::seriesTimerId() const { return m_seriesTimerId; } +void GetProgramsDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; + emit seriesTimerIdChanged(newSeriesTimerId); +} + +QString GetProgramsDto::librarySeriesId() const { return m_librarySeriesId; } +void GetProgramsDto::setLibrarySeriesId(QString newLibrarySeriesId) { + m_librarySeriesId = newLibrarySeriesId; + emit librarySeriesIdChanged(newLibrarySeriesId); +} + +QList GetProgramsDto::fields() const { return m_fields; } +void GetProgramsDto::setFields(QList newFields) { + m_fields = newFields; + emit fieldsChanged(newFields); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/groupinfodto.cpp b/core/src/DTO/groupinfodto.cpp new file mode 100644 index 0000000..d91b4ac --- /dev/null +++ b/core/src/DTO/groupinfodto.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 + +#include + +namespace Jellyfin { +namespace DTO { + +GroupInfoDto::GroupInfoDto(QObject *parent) : QObject(parent) {} + +GroupInfoDto *GroupInfoDto::fromJSON(QJsonObject source, QObject *parent) { + GroupInfoDto *instance = new GroupInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void GroupInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject GroupInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString GroupInfoDto::groupId() const { return m_groupId; } +void GroupInfoDto::setGroupId(QString newGroupId) { + m_groupId = newGroupId; + emit groupIdChanged(newGroupId); +} + +QString GroupInfoDto::groupName() const { return m_groupName; } +void GroupInfoDto::setGroupName(QString newGroupName) { + m_groupName = newGroupName; + emit groupNameChanged(newGroupName); +} + +GroupStateType GroupInfoDto::state() const { return m_state; } +void GroupInfoDto::setState(GroupStateType newState) { + m_state = newState; + emit stateChanged(newState); +} + +QStringList GroupInfoDto::participants() const { return m_participants; } +void GroupInfoDto::setParticipants(QStringList newParticipants) { + m_participants = newParticipants; + emit participantsChanged(newParticipants); +} + +QDateTime GroupInfoDto::lastUpdatedAt() const { return m_lastUpdatedAt; } +void GroupInfoDto::setLastUpdatedAt(QDateTime newLastUpdatedAt) { + m_lastUpdatedAt = newLastUpdatedAt; + emit lastUpdatedAtChanged(newLastUpdatedAt); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/groupqueuemode.cpp b/core/src/DTO/groupqueuemode.cpp new file mode 100644 index 0000000..762c61f --- /dev/null +++ b/core/src/DTO/groupqueuemode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/grouprepeatmode.cpp b/core/src/DTO/grouprepeatmode.cpp new file mode 100644 index 0000000..567b354 --- /dev/null +++ b/core/src/DTO/grouprepeatmode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/groupshufflemode.cpp b/core/src/DTO/groupshufflemode.cpp new file mode 100644 index 0000000..8f9133e --- /dev/null +++ b/core/src/DTO/groupshufflemode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/groupstatetype.cpp b/core/src/DTO/groupstatetype.cpp new file mode 100644 index 0000000..498df4a --- /dev/null +++ b/core/src/DTO/groupstatetype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/groupupdatetype.cpp b/core/src/DTO/groupupdatetype.cpp new file mode 100644 index 0000000..eb4ad49 --- /dev/null +++ b/core/src/DTO/groupupdatetype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/guideinfo.cpp b/core/src/DTO/guideinfo.cpp new file mode 100644 index 0000000..ef82af7 --- /dev/null +++ b/core/src/DTO/guideinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +GuideInfo::GuideInfo(QObject *parent) : QObject(parent) {} + +GuideInfo *GuideInfo::fromJSON(QJsonObject source, QObject *parent) { + GuideInfo *instance = new GuideInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void GuideInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject GuideInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime GuideInfo::startDate() const { return m_startDate; } +void GuideInfo::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; + emit startDateChanged(newStartDate); +} + +QDateTime GuideInfo::endDate() const { return m_endDate; } +void GuideInfo::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; + emit endDateChanged(newEndDate); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/headermatchtype.cpp b/core/src/DTO/headermatchtype.cpp new file mode 100644 index 0000000..f212437 --- /dev/null +++ b/core/src/DTO/headermatchtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/httpheaderinfo.cpp b/core/src/DTO/httpheaderinfo.cpp new file mode 100644 index 0000000..6c3bc18 --- /dev/null +++ b/core/src/DTO/httpheaderinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +HttpHeaderInfo::HttpHeaderInfo(QObject *parent) : QObject(parent) {} + +HttpHeaderInfo *HttpHeaderInfo::fromJSON(QJsonObject source, QObject *parent) { + HttpHeaderInfo *instance = new HttpHeaderInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void HttpHeaderInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject HttpHeaderInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString HttpHeaderInfo::name() const { return m_name; } +void HttpHeaderInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString HttpHeaderInfo::value() const { return m_value; } +void HttpHeaderInfo::setValue(QString newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + +HeaderMatchType HttpHeaderInfo::match() const { return m_match; } +void HttpHeaderInfo::setMatch(HeaderMatchType newMatch) { + m_match = newMatch; + emit matchChanged(newMatch); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/ignorewaitrequestdto.cpp b/core/src/DTO/ignorewaitrequestdto.cpp new file mode 100644 index 0000000..3643aab --- /dev/null +++ b/core/src/DTO/ignorewaitrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +IgnoreWaitRequestDto::IgnoreWaitRequestDto(QObject *parent) : QObject(parent) {} + +IgnoreWaitRequestDto *IgnoreWaitRequestDto::fromJSON(QJsonObject source, QObject *parent) { + IgnoreWaitRequestDto *instance = new IgnoreWaitRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void IgnoreWaitRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject IgnoreWaitRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool IgnoreWaitRequestDto::ignoreWait() const { return m_ignoreWait; } +void IgnoreWaitRequestDto::setIgnoreWait(bool newIgnoreWait) { + m_ignoreWait = newIgnoreWait; + emit ignoreWaitChanged(newIgnoreWait); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/imagebynameinfo.cpp b/core/src/DTO/imagebynameinfo.cpp new file mode 100644 index 0000000..b8a2861 --- /dev/null +++ b/core/src/DTO/imagebynameinfo.cpp @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ImageByNameInfo::ImageByNameInfo(QObject *parent) : QObject(parent) {} + +ImageByNameInfo *ImageByNameInfo::fromJSON(QJsonObject source, QObject *parent) { + ImageByNameInfo *instance = new ImageByNameInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ImageByNameInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ImageByNameInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ImageByNameInfo::name() const { return m_name; } +void ImageByNameInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString ImageByNameInfo::theme() const { return m_theme; } +void ImageByNameInfo::setTheme(QString newTheme) { + m_theme = newTheme; + emit themeChanged(newTheme); +} + +QString ImageByNameInfo::context() const { return m_context; } +void ImageByNameInfo::setContext(QString newContext) { + m_context = newContext; + emit contextChanged(newContext); +} + +qint64 ImageByNameInfo::fileLength() const { return m_fileLength; } +void ImageByNameInfo::setFileLength(qint64 newFileLength) { + m_fileLength = newFileLength; + emit fileLengthChanged(newFileLength); +} + +QString ImageByNameInfo::format() const { return m_format; } +void ImageByNameInfo::setFormat(QString newFormat) { + m_format = newFormat; + emit formatChanged(newFormat); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/imageformat.cpp b/core/src/DTO/imageformat.cpp new file mode 100644 index 0000000..32cd7f5 --- /dev/null +++ b/core/src/DTO/imageformat.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/imageinfo.cpp b/core/src/DTO/imageinfo.cpp new file mode 100644 index 0000000..32b6410 --- /dev/null +++ b/core/src/DTO/imageinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ImageInfo::ImageInfo(QObject *parent) : QObject(parent) {} + +ImageInfo *ImageInfo::fromJSON(QJsonObject source, QObject *parent) { + ImageInfo *instance = new ImageInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ImageInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ImageInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ImageType ImageInfo::imageType() const { return m_imageType; } +void ImageInfo::setImageType(ImageType newImageType) { + m_imageType = newImageType; + emit imageTypeChanged(newImageType); +} + +qint32 ImageInfo::imageIndex() const { return m_imageIndex; } +void ImageInfo::setImageIndex(qint32 newImageIndex) { + m_imageIndex = newImageIndex; + emit imageIndexChanged(newImageIndex); +} + +QString ImageInfo::imageTag() const { return m_imageTag; } +void ImageInfo::setImageTag(QString newImageTag) { + m_imageTag = newImageTag; + emit imageTagChanged(newImageTag); +} + +QString ImageInfo::path() const { return m_path; } +void ImageInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString ImageInfo::blurHash() const { return m_blurHash; } +void ImageInfo::setBlurHash(QString newBlurHash) { + m_blurHash = newBlurHash; + emit blurHashChanged(newBlurHash); +} + +qint32 ImageInfo::height() const { return m_height; } +void ImageInfo::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +qint32 ImageInfo::width() const { return m_width; } +void ImageInfo::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +qint64 ImageInfo::size() const { return m_size; } +void ImageInfo::setSize(qint64 newSize) { + m_size = newSize; + emit sizeChanged(newSize); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/imageoption.cpp b/core/src/DTO/imageoption.cpp new file mode 100644 index 0000000..0dcbc76 --- /dev/null +++ b/core/src/DTO/imageoption.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ImageOption::ImageOption(QObject *parent) : QObject(parent) {} + +ImageOption *ImageOption::fromJSON(QJsonObject source, QObject *parent) { + ImageOption *instance = new ImageOption(parent); + instance->updateFromJSON(source); + return instance; +} + +void ImageOption::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ImageOption::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ImageType ImageOption::type() const { return m_type; } +void ImageOption::setType(ImageType newType) { + m_type = newType; + emit typeChanged(newType); +} + +qint32 ImageOption::limit() const { return m_limit; } +void ImageOption::setLimit(qint32 newLimit) { + m_limit = newLimit; + emit limitChanged(newLimit); +} + +qint32 ImageOption::minWidth() const { return m_minWidth; } +void ImageOption::setMinWidth(qint32 newMinWidth) { + m_minWidth = newMinWidth; + emit minWidthChanged(newMinWidth); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/imageorientation.cpp b/core/src/DTO/imageorientation.cpp new file mode 100644 index 0000000..85b6781 --- /dev/null +++ b/core/src/DTO/imageorientation.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/imageproviderinfo.cpp b/core/src/DTO/imageproviderinfo.cpp new file mode 100644 index 0000000..1e816b9 --- /dev/null +++ b/core/src/DTO/imageproviderinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ImageProviderInfo::ImageProviderInfo(QObject *parent) : QObject(parent) {} + +ImageProviderInfo *ImageProviderInfo::fromJSON(QJsonObject source, QObject *parent) { + ImageProviderInfo *instance = new ImageProviderInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ImageProviderInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ImageProviderInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ImageProviderInfo::name() const { return m_name; } +void ImageProviderInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QList ImageProviderInfo::supportedImages() const { return m_supportedImages; } +void ImageProviderInfo::setSupportedImages(QList newSupportedImages) { + m_supportedImages = newSupportedImages; + emit supportedImagesChanged(newSupportedImages); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/imagesavingconvention.cpp b/core/src/DTO/imagesavingconvention.cpp new file mode 100644 index 0000000..9686d98 --- /dev/null +++ b/core/src/DTO/imagesavingconvention.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/imagetype.cpp b/core/src/DTO/imagetype.cpp new file mode 100644 index 0000000..8624806 --- /dev/null +++ b/core/src/DTO/imagetype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/installationinfo.cpp b/core/src/DTO/installationinfo.cpp new file mode 100644 index 0000000..dba4e36 --- /dev/null +++ b/core/src/DTO/installationinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +InstallationInfo::InstallationInfo(QObject *parent) : QObject(parent) {} + +InstallationInfo *InstallationInfo::fromJSON(QJsonObject source, QObject *parent) { + InstallationInfo *instance = new InstallationInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void InstallationInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject InstallationInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString InstallationInfo::guid() const { return m_guid; } +void InstallationInfo::setGuid(QString newGuid) { + m_guid = newGuid; + emit guidChanged(newGuid); +} + +QString InstallationInfo::name() const { return m_name; } +void InstallationInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +Version * InstallationInfo::version() const { return m_version; } +void InstallationInfo::setVersion(Version * newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +QString InstallationInfo::changelog() const { return m_changelog; } +void InstallationInfo::setChangelog(QString newChangelog) { + m_changelog = newChangelog; + emit changelogChanged(newChangelog); +} + +QString InstallationInfo::sourceUrl() const { return m_sourceUrl; } +void InstallationInfo::setSourceUrl(QString newSourceUrl) { + m_sourceUrl = newSourceUrl; + emit sourceUrlChanged(newSourceUrl); +} + +QString InstallationInfo::checksum() const { return m_checksum; } +void InstallationInfo::setChecksum(QString newChecksum) { + m_checksum = newChecksum; + emit checksumChanged(newChecksum); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/iplugin.cpp b/core/src/DTO/iplugin.cpp new file mode 100644 index 0000000..97f3ff9 --- /dev/null +++ b/core/src/DTO/iplugin.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 { + +IPlugin::IPlugin(QObject *parent) : QObject(parent) {} + +IPlugin *IPlugin::fromJSON(QJsonObject source, QObject *parent) { + IPlugin *instance = new IPlugin(parent); + instance->updateFromJSON(source); + return instance; +} + +void IPlugin::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject IPlugin::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString IPlugin::name() const { return m_name; } +void IPlugin::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString IPlugin::description() const { return m_description; } +void IPlugin::setDescription(QString newDescription) { + m_description = newDescription; + emit descriptionChanged(newDescription); +} + +QString IPlugin::jellyfinId() const { return m_jellyfinId; } +void IPlugin::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +Version * IPlugin::version() const { return m_version; } +void IPlugin::setVersion(Version * newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +QString IPlugin::assemblyFilePath() const { return m_assemblyFilePath; } +void IPlugin::setAssemblyFilePath(QString newAssemblyFilePath) { + m_assemblyFilePath = newAssemblyFilePath; + emit assemblyFilePathChanged(newAssemblyFilePath); +} + +bool IPlugin::canUninstall() const { return m_canUninstall; } +void IPlugin::setCanUninstall(bool newCanUninstall) { + m_canUninstall = newCanUninstall; + emit canUninstallChanged(newCanUninstall); +} + +QString IPlugin::dataFolderPath() const { return m_dataFolderPath; } +void IPlugin::setDataFolderPath(QString newDataFolderPath) { + m_dataFolderPath = newDataFolderPath; + emit dataFolderPathChanged(newDataFolderPath); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/isotype.cpp b/core/src/DTO/isotype.cpp new file mode 100644 index 0000000..52e8cfb --- /dev/null +++ b/core/src/DTO/isotype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/item.cpp b/core/src/DTO/item.cpp index 0706017..e69de29 100644 --- a/core/src/DTO/item.cpp +++ b/core/src/DTO/item.cpp @@ -1,63 +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/DTO/item.h" - -#include "JellyfinQt/apiclient.h" - -namespace Jellyfin { -namespace DTO { - -Item::Item(QObject *parent) : RemoteData(parent) { - connect(this, &RemoteData::apiClientChanged, this, [this](ApiClient *newApiClient) { - connect(newApiClient, &ApiClient::userDataChanged, this, &Item::onUserDataChanged); - }); -} - -Item::Item(QString id, ApiClient *apiClient, QObject *parent) - : RemoteData(parent), m_id(id) { - connect(this, &RemoteData::apiClientChanged, this, [this](ApiClient *newApiClient) { - connect(newApiClient, &ApiClient::userDataChanged, this, &Item::onUserDataChanged); - }); - setApiClient(apiClient); -} - -QString Item::getDataUrl() const { - return QString("/Users/") + m_apiClient->userId() + "/Items/" + m_id; -} - -bool Item::canReload() const { - return !m_id.isNull() && m_apiClient != nullptr; -} - -void Item::setJellyfinId(QString newId) { - m_id = newId.trimmed(); - if (m_id != newId) { - emit jellyfinIdChanged(m_id); - reload(); - } -} - -void Item::onUserDataChanged(const QString &itemId, UserData *userData) { - if (itemId != m_id || m_userData == nullptr) return; - m_userData->onUpdated(userData); -} - -} // NS DTO -} // NS Jellyfin diff --git a/core/src/DTO/itemcounts.cpp b/core/src/DTO/itemcounts.cpp new file mode 100644 index 0000000..1d78391 --- /dev/null +++ b/core/src/DTO/itemcounts.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 { + +ItemCounts::ItemCounts(QObject *parent) : QObject(parent) {} + +ItemCounts *ItemCounts::fromJSON(QJsonObject source, QObject *parent) { + ItemCounts *instance = new ItemCounts(parent); + instance->updateFromJSON(source); + return instance; +} + +void ItemCounts::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ItemCounts::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint32 ItemCounts::movieCount() const { return m_movieCount; } +void ItemCounts::setMovieCount(qint32 newMovieCount) { + m_movieCount = newMovieCount; + emit movieCountChanged(newMovieCount); +} + +qint32 ItemCounts::seriesCount() const { return m_seriesCount; } +void ItemCounts::setSeriesCount(qint32 newSeriesCount) { + m_seriesCount = newSeriesCount; + emit seriesCountChanged(newSeriesCount); +} + +qint32 ItemCounts::episodeCount() const { return m_episodeCount; } +void ItemCounts::setEpisodeCount(qint32 newEpisodeCount) { + m_episodeCount = newEpisodeCount; + emit episodeCountChanged(newEpisodeCount); +} + +qint32 ItemCounts::artistCount() const { return m_artistCount; } +void ItemCounts::setArtistCount(qint32 newArtistCount) { + m_artistCount = newArtistCount; + emit artistCountChanged(newArtistCount); +} + +qint32 ItemCounts::programCount() const { return m_programCount; } +void ItemCounts::setProgramCount(qint32 newProgramCount) { + m_programCount = newProgramCount; + emit programCountChanged(newProgramCount); +} + +qint32 ItemCounts::trailerCount() const { return m_trailerCount; } +void ItemCounts::setTrailerCount(qint32 newTrailerCount) { + m_trailerCount = newTrailerCount; + emit trailerCountChanged(newTrailerCount); +} + +qint32 ItemCounts::songCount() const { return m_songCount; } +void ItemCounts::setSongCount(qint32 newSongCount) { + m_songCount = newSongCount; + emit songCountChanged(newSongCount); +} + +qint32 ItemCounts::albumCount() const { return m_albumCount; } +void ItemCounts::setAlbumCount(qint32 newAlbumCount) { + m_albumCount = newAlbumCount; + emit albumCountChanged(newAlbumCount); +} + +qint32 ItemCounts::musicVideoCount() const { return m_musicVideoCount; } +void ItemCounts::setMusicVideoCount(qint32 newMusicVideoCount) { + m_musicVideoCount = newMusicVideoCount; + emit musicVideoCountChanged(newMusicVideoCount); +} + +qint32 ItemCounts::boxSetCount() const { return m_boxSetCount; } +void ItemCounts::setBoxSetCount(qint32 newBoxSetCount) { + m_boxSetCount = newBoxSetCount; + emit boxSetCountChanged(newBoxSetCount); +} + +qint32 ItemCounts::bookCount() const { return m_bookCount; } +void ItemCounts::setBookCount(qint32 newBookCount) { + m_bookCount = newBookCount; + emit bookCountChanged(newBookCount); +} + +qint32 ItemCounts::itemCount() const { return m_itemCount; } +void ItemCounts::setItemCount(qint32 newItemCount) { + m_itemCount = newItemCount; + emit itemCountChanged(newItemCount); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/itemfields.cpp b/core/src/DTO/itemfields.cpp new file mode 100644 index 0000000..3b7ca8c --- /dev/null +++ b/core/src/DTO/itemfields.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/itemfilter.cpp b/core/src/DTO/itemfilter.cpp new file mode 100644 index 0000000..aac4d37 --- /dev/null +++ b/core/src/DTO/itemfilter.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/joingrouprequestdto.cpp b/core/src/DTO/joingrouprequestdto.cpp new file mode 100644 index 0000000..07000a2 --- /dev/null +++ b/core/src/DTO/joingrouprequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +JoinGroupRequestDto::JoinGroupRequestDto(QObject *parent) : QObject(parent) {} + +JoinGroupRequestDto *JoinGroupRequestDto::fromJSON(QJsonObject source, QObject *parent) { + JoinGroupRequestDto *instance = new JoinGroupRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void JoinGroupRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject JoinGroupRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString JoinGroupRequestDto::groupId() const { return m_groupId; } +void JoinGroupRequestDto::setGroupId(QString newGroupId) { + m_groupId = newGroupId; + emit groupIdChanged(newGroupId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/keepuntil.cpp b/core/src/DTO/keepuntil.cpp new file mode 100644 index 0000000..40b5d43 --- /dev/null +++ b/core/src/DTO/keepuntil.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/libraryoptioninfodto.cpp b/core/src/DTO/libraryoptioninfodto.cpp new file mode 100644 index 0000000..039cf1e --- /dev/null +++ b/core/src/DTO/libraryoptioninfodto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryOptionInfoDto::LibraryOptionInfoDto(QObject *parent) : QObject(parent) {} + +LibraryOptionInfoDto *LibraryOptionInfoDto::fromJSON(QJsonObject source, QObject *parent) { + LibraryOptionInfoDto *instance = new LibraryOptionInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void LibraryOptionInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LibraryOptionInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString LibraryOptionInfoDto::name() const { return m_name; } +void LibraryOptionInfoDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +bool LibraryOptionInfoDto::defaultEnabled() const { return m_defaultEnabled; } +void LibraryOptionInfoDto::setDefaultEnabled(bool newDefaultEnabled) { + m_defaultEnabled = newDefaultEnabled; + emit defaultEnabledChanged(newDefaultEnabled); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/libraryoptions.cpp b/core/src/DTO/libraryoptions.cpp new file mode 100644 index 0000000..d290b17 --- /dev/null +++ b/core/src/DTO/libraryoptions.cpp @@ -0,0 +1,203 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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(QObject *parent) : QObject(parent) {} + +LibraryOptions *LibraryOptions::fromJSON(QJsonObject source, QObject *parent) { + LibraryOptions *instance = new LibraryOptions(parent); + instance->updateFromJSON(source); + return instance; +} + +void LibraryOptions::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LibraryOptions::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool LibraryOptions::enablePhotos() const { return m_enablePhotos; } +void LibraryOptions::setEnablePhotos(bool newEnablePhotos) { + m_enablePhotos = newEnablePhotos; + emit enablePhotosChanged(newEnablePhotos); +} + +bool LibraryOptions::enableRealtimeMonitor() const { return m_enableRealtimeMonitor; } +void LibraryOptions::setEnableRealtimeMonitor(bool newEnableRealtimeMonitor) { + m_enableRealtimeMonitor = newEnableRealtimeMonitor; + emit enableRealtimeMonitorChanged(newEnableRealtimeMonitor); +} + +bool LibraryOptions::enableChapterImageExtraction() const { return m_enableChapterImageExtraction; } +void LibraryOptions::setEnableChapterImageExtraction(bool newEnableChapterImageExtraction) { + m_enableChapterImageExtraction = newEnableChapterImageExtraction; + emit enableChapterImageExtractionChanged(newEnableChapterImageExtraction); +} + +bool LibraryOptions::extractChapterImagesDuringLibraryScan() const { return m_extractChapterImagesDuringLibraryScan; } +void LibraryOptions::setExtractChapterImagesDuringLibraryScan(bool newExtractChapterImagesDuringLibraryScan) { + m_extractChapterImagesDuringLibraryScan = newExtractChapterImagesDuringLibraryScan; + emit extractChapterImagesDuringLibraryScanChanged(newExtractChapterImagesDuringLibraryScan); +} + +QList LibraryOptions::pathInfos() const { return m_pathInfos; } +void LibraryOptions::setPathInfos(QList newPathInfos) { + m_pathInfos = newPathInfos; + emit pathInfosChanged(newPathInfos); +} + +bool LibraryOptions::saveLocalMetadata() const { return m_saveLocalMetadata; } +void LibraryOptions::setSaveLocalMetadata(bool newSaveLocalMetadata) { + m_saveLocalMetadata = newSaveLocalMetadata; + emit saveLocalMetadataChanged(newSaveLocalMetadata); +} + +bool LibraryOptions::enableInternetProviders() const { return m_enableInternetProviders; } +void LibraryOptions::setEnableInternetProviders(bool newEnableInternetProviders) { + m_enableInternetProviders = newEnableInternetProviders; + emit enableInternetProvidersChanged(newEnableInternetProviders); +} + +bool LibraryOptions::enableAutomaticSeriesGrouping() const { return m_enableAutomaticSeriesGrouping; } +void LibraryOptions::setEnableAutomaticSeriesGrouping(bool newEnableAutomaticSeriesGrouping) { + m_enableAutomaticSeriesGrouping = newEnableAutomaticSeriesGrouping; + emit enableAutomaticSeriesGroupingChanged(newEnableAutomaticSeriesGrouping); +} + +bool LibraryOptions::enableEmbeddedTitles() const { return m_enableEmbeddedTitles; } +void LibraryOptions::setEnableEmbeddedTitles(bool newEnableEmbeddedTitles) { + m_enableEmbeddedTitles = newEnableEmbeddedTitles; + emit enableEmbeddedTitlesChanged(newEnableEmbeddedTitles); +} + +bool LibraryOptions::enableEmbeddedEpisodeInfos() const { return m_enableEmbeddedEpisodeInfos; } +void LibraryOptions::setEnableEmbeddedEpisodeInfos(bool newEnableEmbeddedEpisodeInfos) { + m_enableEmbeddedEpisodeInfos = newEnableEmbeddedEpisodeInfos; + emit enableEmbeddedEpisodeInfosChanged(newEnableEmbeddedEpisodeInfos); +} + +qint32 LibraryOptions::automaticRefreshIntervalDays() const { return m_automaticRefreshIntervalDays; } +void LibraryOptions::setAutomaticRefreshIntervalDays(qint32 newAutomaticRefreshIntervalDays) { + m_automaticRefreshIntervalDays = newAutomaticRefreshIntervalDays; + emit automaticRefreshIntervalDaysChanged(newAutomaticRefreshIntervalDays); +} + +QString LibraryOptions::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } +void LibraryOptions::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; + emit preferredMetadataLanguageChanged(newPreferredMetadataLanguage); +} + +QString LibraryOptions::metadataCountryCode() const { return m_metadataCountryCode; } +void LibraryOptions::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QString LibraryOptions::seasonZeroDisplayName() const { return m_seasonZeroDisplayName; } +void LibraryOptions::setSeasonZeroDisplayName(QString newSeasonZeroDisplayName) { + m_seasonZeroDisplayName = newSeasonZeroDisplayName; + emit seasonZeroDisplayNameChanged(newSeasonZeroDisplayName); +} + +QStringList LibraryOptions::metadataSavers() const { return m_metadataSavers; } +void LibraryOptions::setMetadataSavers(QStringList newMetadataSavers) { + m_metadataSavers = newMetadataSavers; + emit metadataSaversChanged(newMetadataSavers); +} + +QStringList LibraryOptions::disabledLocalMetadataReaders() const { return m_disabledLocalMetadataReaders; } +void LibraryOptions::setDisabledLocalMetadataReaders(QStringList newDisabledLocalMetadataReaders) { + m_disabledLocalMetadataReaders = newDisabledLocalMetadataReaders; + emit disabledLocalMetadataReadersChanged(newDisabledLocalMetadataReaders); +} + +QStringList LibraryOptions::localMetadataReaderOrder() const { return m_localMetadataReaderOrder; } +void LibraryOptions::setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder) { + m_localMetadataReaderOrder = newLocalMetadataReaderOrder; + emit localMetadataReaderOrderChanged(newLocalMetadataReaderOrder); +} + +QStringList LibraryOptions::disabledSubtitleFetchers() const { return m_disabledSubtitleFetchers; } +void LibraryOptions::setDisabledSubtitleFetchers(QStringList newDisabledSubtitleFetchers) { + m_disabledSubtitleFetchers = newDisabledSubtitleFetchers; + emit disabledSubtitleFetchersChanged(newDisabledSubtitleFetchers); +} + +QStringList LibraryOptions::subtitleFetcherOrder() const { return m_subtitleFetcherOrder; } +void LibraryOptions::setSubtitleFetcherOrder(QStringList newSubtitleFetcherOrder) { + m_subtitleFetcherOrder = newSubtitleFetcherOrder; + emit subtitleFetcherOrderChanged(newSubtitleFetcherOrder); +} + +bool LibraryOptions::skipSubtitlesIfEmbeddedSubtitlesPresent() const { return m_skipSubtitlesIfEmbeddedSubtitlesPresent; } +void LibraryOptions::setSkipSubtitlesIfEmbeddedSubtitlesPresent(bool newSkipSubtitlesIfEmbeddedSubtitlesPresent) { + m_skipSubtitlesIfEmbeddedSubtitlesPresent = newSkipSubtitlesIfEmbeddedSubtitlesPresent; + emit skipSubtitlesIfEmbeddedSubtitlesPresentChanged(newSkipSubtitlesIfEmbeddedSubtitlesPresent); +} + +bool LibraryOptions::skipSubtitlesIfAudioTrackMatches() const { return m_skipSubtitlesIfAudioTrackMatches; } +void LibraryOptions::setSkipSubtitlesIfAudioTrackMatches(bool newSkipSubtitlesIfAudioTrackMatches) { + m_skipSubtitlesIfAudioTrackMatches = newSkipSubtitlesIfAudioTrackMatches; + emit skipSubtitlesIfAudioTrackMatchesChanged(newSkipSubtitlesIfAudioTrackMatches); +} + +QStringList LibraryOptions::subtitleDownloadLanguages() const { return m_subtitleDownloadLanguages; } +void LibraryOptions::setSubtitleDownloadLanguages(QStringList newSubtitleDownloadLanguages) { + m_subtitleDownloadLanguages = newSubtitleDownloadLanguages; + emit subtitleDownloadLanguagesChanged(newSubtitleDownloadLanguages); +} + +bool LibraryOptions::requirePerfectSubtitleMatch() const { return m_requirePerfectSubtitleMatch; } +void LibraryOptions::setRequirePerfectSubtitleMatch(bool newRequirePerfectSubtitleMatch) { + m_requirePerfectSubtitleMatch = newRequirePerfectSubtitleMatch; + emit requirePerfectSubtitleMatchChanged(newRequirePerfectSubtitleMatch); +} + +bool LibraryOptions::saveSubtitlesWithMedia() const { return m_saveSubtitlesWithMedia; } +void LibraryOptions::setSaveSubtitlesWithMedia(bool newSaveSubtitlesWithMedia) { + m_saveSubtitlesWithMedia = newSaveSubtitlesWithMedia; + emit saveSubtitlesWithMediaChanged(newSaveSubtitlesWithMedia); +} + +QList LibraryOptions::typeOptions() const { return m_typeOptions; } +void LibraryOptions::setTypeOptions(QList newTypeOptions) { + m_typeOptions = newTypeOptions; + emit typeOptionsChanged(newTypeOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/libraryoptionsresultdto.cpp b/core/src/DTO/libraryoptionsresultdto.cpp new file mode 100644 index 0000000..13fc132 --- /dev/null +++ b/core/src/DTO/libraryoptionsresultdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryOptionsResultDto::LibraryOptionsResultDto(QObject *parent) : QObject(parent) {} + +LibraryOptionsResultDto *LibraryOptionsResultDto::fromJSON(QJsonObject source, QObject *parent) { + LibraryOptionsResultDto *instance = new LibraryOptionsResultDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void LibraryOptionsResultDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LibraryOptionsResultDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList LibraryOptionsResultDto::metadataSavers() const { return m_metadataSavers; } +void LibraryOptionsResultDto::setMetadataSavers(QList newMetadataSavers) { + m_metadataSavers = newMetadataSavers; + emit metadataSaversChanged(newMetadataSavers); +} + +QList LibraryOptionsResultDto::metadataReaders() const { return m_metadataReaders; } +void LibraryOptionsResultDto::setMetadataReaders(QList newMetadataReaders) { + m_metadataReaders = newMetadataReaders; + emit metadataReadersChanged(newMetadataReaders); +} + +QList LibraryOptionsResultDto::subtitleFetchers() const { return m_subtitleFetchers; } +void LibraryOptionsResultDto::setSubtitleFetchers(QList newSubtitleFetchers) { + m_subtitleFetchers = newSubtitleFetchers; + emit subtitleFetchersChanged(newSubtitleFetchers); +} + +QList LibraryOptionsResultDto::typeOptions() const { return m_typeOptions; } +void LibraryOptionsResultDto::setTypeOptions(QList newTypeOptions) { + m_typeOptions = newTypeOptions; + emit typeOptionsChanged(newTypeOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/librarytypeoptionsdto.cpp b/core/src/DTO/librarytypeoptionsdto.cpp new file mode 100644 index 0000000..fac173c --- /dev/null +++ b/core/src/DTO/librarytypeoptionsdto.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 + +#include + +namespace Jellyfin { +namespace DTO { + +LibraryTypeOptionsDto::LibraryTypeOptionsDto(QObject *parent) : QObject(parent) {} + +LibraryTypeOptionsDto *LibraryTypeOptionsDto::fromJSON(QJsonObject source, QObject *parent) { + LibraryTypeOptionsDto *instance = new LibraryTypeOptionsDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void LibraryTypeOptionsDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LibraryTypeOptionsDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString LibraryTypeOptionsDto::type() const { return m_type; } +void LibraryTypeOptionsDto::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QList LibraryTypeOptionsDto::metadataFetchers() const { return m_metadataFetchers; } +void LibraryTypeOptionsDto::setMetadataFetchers(QList newMetadataFetchers) { + m_metadataFetchers = newMetadataFetchers; + emit metadataFetchersChanged(newMetadataFetchers); +} + +QList LibraryTypeOptionsDto::imageFetchers() const { return m_imageFetchers; } +void LibraryTypeOptionsDto::setImageFetchers(QList newImageFetchers) { + m_imageFetchers = newImageFetchers; + emit imageFetchersChanged(newImageFetchers); +} + +QList LibraryTypeOptionsDto::supportedImageTypes() const { return m_supportedImageTypes; } +void LibraryTypeOptionsDto::setSupportedImageTypes(QList newSupportedImageTypes) { + m_supportedImageTypes = newSupportedImageTypes; + emit supportedImageTypesChanged(newSupportedImageTypes); +} + +QList LibraryTypeOptionsDto::defaultImageOptions() const { return m_defaultImageOptions; } +void LibraryTypeOptionsDto::setDefaultImageOptions(QList newDefaultImageOptions) { + m_defaultImageOptions = newDefaultImageOptions; + emit defaultImageOptionsChanged(newDefaultImageOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/libraryupdateinfo.cpp b/core/src/DTO/libraryupdateinfo.cpp new file mode 100644 index 0000000..dfc58de --- /dev/null +++ b/core/src/DTO/libraryupdateinfo.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 { + +LibraryUpdateInfo::LibraryUpdateInfo(QObject *parent) : QObject(parent) {} + +LibraryUpdateInfo *LibraryUpdateInfo::fromJSON(QJsonObject source, QObject *parent) { + LibraryUpdateInfo *instance = new LibraryUpdateInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void LibraryUpdateInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LibraryUpdateInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList LibraryUpdateInfo::foldersAddedTo() const { return m_foldersAddedTo; } +void LibraryUpdateInfo::setFoldersAddedTo(QStringList newFoldersAddedTo) { + m_foldersAddedTo = newFoldersAddedTo; + emit foldersAddedToChanged(newFoldersAddedTo); +} + +QStringList LibraryUpdateInfo::foldersRemovedFrom() const { return m_foldersRemovedFrom; } +void LibraryUpdateInfo::setFoldersRemovedFrom(QStringList newFoldersRemovedFrom) { + m_foldersRemovedFrom = newFoldersRemovedFrom; + emit foldersRemovedFromChanged(newFoldersRemovedFrom); +} + +QStringList LibraryUpdateInfo::itemsAdded() const { return m_itemsAdded; } +void LibraryUpdateInfo::setItemsAdded(QStringList newItemsAdded) { + m_itemsAdded = newItemsAdded; + emit itemsAddedChanged(newItemsAdded); +} + +QStringList LibraryUpdateInfo::itemsRemoved() const { return m_itemsRemoved; } +void LibraryUpdateInfo::setItemsRemoved(QStringList newItemsRemoved) { + m_itemsRemoved = newItemsRemoved; + emit itemsRemovedChanged(newItemsRemoved); +} + +QStringList LibraryUpdateInfo::itemsUpdated() const { return m_itemsUpdated; } +void LibraryUpdateInfo::setItemsUpdated(QStringList newItemsUpdated) { + m_itemsUpdated = newItemsUpdated; + emit itemsUpdatedChanged(newItemsUpdated); +} + +QStringList LibraryUpdateInfo::collectionFolders() const { return m_collectionFolders; } +void LibraryUpdateInfo::setCollectionFolders(QStringList newCollectionFolders) { + m_collectionFolders = newCollectionFolders; + emit collectionFoldersChanged(newCollectionFolders); +} + +bool LibraryUpdateInfo::isEmpty() const { return m_isEmpty; } +void LibraryUpdateInfo::setIsEmpty(bool newIsEmpty) { + m_isEmpty = newIsEmpty; + emit isEmptyChanged(newIsEmpty); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/listingsproviderinfo.cpp b/core/src/DTO/listingsproviderinfo.cpp new file mode 100644 index 0000000..cbed69a --- /dev/null +++ b/core/src/DTO/listingsproviderinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ListingsProviderInfo::ListingsProviderInfo(QObject *parent) : QObject(parent) {} + +ListingsProviderInfo *ListingsProviderInfo::fromJSON(QJsonObject source, QObject *parent) { + ListingsProviderInfo *instance = new ListingsProviderInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void ListingsProviderInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ListingsProviderInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ListingsProviderInfo::jellyfinId() const { return m_jellyfinId; } +void ListingsProviderInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString ListingsProviderInfo::type() const { return m_type; } +void ListingsProviderInfo::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString ListingsProviderInfo::username() const { return m_username; } +void ListingsProviderInfo::setUsername(QString newUsername) { + m_username = newUsername; + emit usernameChanged(newUsername); +} + +QString ListingsProviderInfo::password() const { return m_password; } +void ListingsProviderInfo::setPassword(QString newPassword) { + m_password = newPassword; + emit passwordChanged(newPassword); +} + +QString ListingsProviderInfo::listingsId() const { return m_listingsId; } +void ListingsProviderInfo::setListingsId(QString newListingsId) { + m_listingsId = newListingsId; + emit listingsIdChanged(newListingsId); +} + +QString ListingsProviderInfo::zipCode() const { return m_zipCode; } +void ListingsProviderInfo::setZipCode(QString newZipCode) { + m_zipCode = newZipCode; + emit zipCodeChanged(newZipCode); +} + +QString ListingsProviderInfo::country() const { return m_country; } +void ListingsProviderInfo::setCountry(QString newCountry) { + m_country = newCountry; + emit countryChanged(newCountry); +} + +QString ListingsProviderInfo::path() const { return m_path; } +void ListingsProviderInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QStringList ListingsProviderInfo::enabledTuners() const { return m_enabledTuners; } +void ListingsProviderInfo::setEnabledTuners(QStringList newEnabledTuners) { + m_enabledTuners = newEnabledTuners; + emit enabledTunersChanged(newEnabledTuners); +} + +bool ListingsProviderInfo::enableAllTuners() const { return m_enableAllTuners; } +void ListingsProviderInfo::setEnableAllTuners(bool newEnableAllTuners) { + m_enableAllTuners = newEnableAllTuners; + emit enableAllTunersChanged(newEnableAllTuners); +} + +QStringList ListingsProviderInfo::newsCategories() const { return m_newsCategories; } +void ListingsProviderInfo::setNewsCategories(QStringList newNewsCategories) { + m_newsCategories = newNewsCategories; + emit newsCategoriesChanged(newNewsCategories); +} + +QStringList ListingsProviderInfo::sportsCategories() const { return m_sportsCategories; } +void ListingsProviderInfo::setSportsCategories(QStringList newSportsCategories) { + m_sportsCategories = newSportsCategories; + emit sportsCategoriesChanged(newSportsCategories); +} + +QStringList ListingsProviderInfo::kidsCategories() const { return m_kidsCategories; } +void ListingsProviderInfo::setKidsCategories(QStringList newKidsCategories) { + m_kidsCategories = newKidsCategories; + emit kidsCategoriesChanged(newKidsCategories); +} + +QStringList ListingsProviderInfo::movieCategories() const { return m_movieCategories; } +void ListingsProviderInfo::setMovieCategories(QStringList newMovieCategories) { + m_movieCategories = newMovieCategories; + emit movieCategoriesChanged(newMovieCategories); +} + +QList ListingsProviderInfo::channelMappings() const { return m_channelMappings; } +void ListingsProviderInfo::setChannelMappings(QList newChannelMappings) { + m_channelMappings = newChannelMappings; + emit channelMappingsChanged(newChannelMappings); +} + +QString ListingsProviderInfo::moviePrefix() const { return m_moviePrefix; } +void ListingsProviderInfo::setMoviePrefix(QString newMoviePrefix) { + m_moviePrefix = newMoviePrefix; + emit moviePrefixChanged(newMoviePrefix); +} + +QString ListingsProviderInfo::preferredLanguage() const { return m_preferredLanguage; } +void ListingsProviderInfo::setPreferredLanguage(QString newPreferredLanguage) { + m_preferredLanguage = newPreferredLanguage; + emit preferredLanguageChanged(newPreferredLanguage); +} + +QString ListingsProviderInfo::userAgent() const { return m_userAgent; } +void ListingsProviderInfo::setUserAgent(QString newUserAgent) { + m_userAgent = newUserAgent; + emit userAgentChanged(newUserAgent); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/livestreamresponse.cpp b/core/src/DTO/livestreamresponse.cpp new file mode 100644 index 0000000..8ce54e5 --- /dev/null +++ b/core/src/DTO/livestreamresponse.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveStreamResponse::LiveStreamResponse(QObject *parent) : QObject(parent) {} + +LiveStreamResponse *LiveStreamResponse::fromJSON(QJsonObject source, QObject *parent) { + LiveStreamResponse *instance = new LiveStreamResponse(parent); + instance->updateFromJSON(source); + return instance; +} + +void LiveStreamResponse::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LiveStreamResponse::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +MediaSourceInfo * LiveStreamResponse::mediaSource() const { return m_mediaSource; } +void LiveStreamResponse::setMediaSource(MediaSourceInfo * newMediaSource) { + m_mediaSource = newMediaSource; + emit mediaSourceChanged(newMediaSource); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/livetvinfo.cpp b/core/src/DTO/livetvinfo.cpp new file mode 100644 index 0000000..a659dab --- /dev/null +++ b/core/src/DTO/livetvinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LiveTvInfo::LiveTvInfo(QObject *parent) : QObject(parent) {} + +LiveTvInfo *LiveTvInfo::fromJSON(QJsonObject source, QObject *parent) { + LiveTvInfo *instance = new LiveTvInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void LiveTvInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LiveTvInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList LiveTvInfo::services() const { return m_services; } +void LiveTvInfo::setServices(QList newServices) { + m_services = newServices; + emit servicesChanged(newServices); +} + +bool LiveTvInfo::isEnabled() const { return m_isEnabled; } +void LiveTvInfo::setIsEnabled(bool newIsEnabled) { + m_isEnabled = newIsEnabled; + emit isEnabledChanged(newIsEnabled); +} + +QStringList LiveTvInfo::enabledUsers() const { return m_enabledUsers; } +void LiveTvInfo::setEnabledUsers(QStringList newEnabledUsers) { + m_enabledUsers = newEnabledUsers; + emit enabledUsersChanged(newEnabledUsers); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/livetvserviceinfo.cpp b/core/src/DTO/livetvserviceinfo.cpp new file mode 100644 index 0000000..5f93253 --- /dev/null +++ b/core/src/DTO/livetvserviceinfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +LiveTvServiceInfo::LiveTvServiceInfo(QObject *parent) : QObject(parent) {} + +LiveTvServiceInfo *LiveTvServiceInfo::fromJSON(QJsonObject source, QObject *parent) { + LiveTvServiceInfo *instance = new LiveTvServiceInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void LiveTvServiceInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LiveTvServiceInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString LiveTvServiceInfo::name() const { return m_name; } +void LiveTvServiceInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString LiveTvServiceInfo::homePageUrl() const { return m_homePageUrl; } +void LiveTvServiceInfo::setHomePageUrl(QString newHomePageUrl) { + m_homePageUrl = newHomePageUrl; + emit homePageUrlChanged(newHomePageUrl); +} + +LiveTvServiceStatus LiveTvServiceInfo::status() const { return m_status; } +void LiveTvServiceInfo::setStatus(LiveTvServiceStatus newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString LiveTvServiceInfo::statusMessage() const { return m_statusMessage; } +void LiveTvServiceInfo::setStatusMessage(QString newStatusMessage) { + m_statusMessage = newStatusMessage; + emit statusMessageChanged(newStatusMessage); +} + +QString LiveTvServiceInfo::version() const { return m_version; } +void LiveTvServiceInfo::setVersion(QString newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +bool LiveTvServiceInfo::hasUpdateAvailable() const { return m_hasUpdateAvailable; } +void LiveTvServiceInfo::setHasUpdateAvailable(bool newHasUpdateAvailable) { + m_hasUpdateAvailable = newHasUpdateAvailable; + emit hasUpdateAvailableChanged(newHasUpdateAvailable); +} + +bool LiveTvServiceInfo::isVisible() const { return m_isVisible; } +void LiveTvServiceInfo::setIsVisible(bool newIsVisible) { + m_isVisible = newIsVisible; + emit isVisibleChanged(newIsVisible); +} + +QStringList LiveTvServiceInfo::tuners() const { return m_tuners; } +void LiveTvServiceInfo::setTuners(QStringList newTuners) { + m_tuners = newTuners; + emit tunersChanged(newTuners); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/livetvservicestatus.cpp b/core/src/DTO/livetvservicestatus.cpp new file mode 100644 index 0000000..26cac76 --- /dev/null +++ b/core/src/DTO/livetvservicestatus.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/localizationoption.cpp b/core/src/DTO/localizationoption.cpp new file mode 100644 index 0000000..0b2013b --- /dev/null +++ b/core/src/DTO/localizationoption.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LocalizationOption::LocalizationOption(QObject *parent) : QObject(parent) {} + +LocalizationOption *LocalizationOption::fromJSON(QJsonObject source, QObject *parent) { + LocalizationOption *instance = new LocalizationOption(parent); + instance->updateFromJSON(source); + return instance; +} + +void LocalizationOption::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LocalizationOption::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString LocalizationOption::name() const { return m_name; } +void LocalizationOption::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString LocalizationOption::value() const { return m_value; } +void LocalizationOption::setValue(QString newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/locationtype.cpp b/core/src/DTO/locationtype.cpp new file mode 100644 index 0000000..04f74fb --- /dev/null +++ b/core/src/DTO/locationtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/logfile.cpp b/core/src/DTO/logfile.cpp new file mode 100644 index 0000000..5c73609 --- /dev/null +++ b/core/src/DTO/logfile.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +LogFile::LogFile(QObject *parent) : QObject(parent) {} + +LogFile *LogFile::fromJSON(QJsonObject source, QObject *parent) { + LogFile *instance = new LogFile(parent); + instance->updateFromJSON(source); + return instance; +} + +void LogFile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject LogFile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime LogFile::dateCreated() const { return m_dateCreated; } +void LogFile::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; + emit dateCreatedChanged(newDateCreated); +} + +QDateTime LogFile::dateModified() const { return m_dateModified; } +void LogFile::setDateModified(QDateTime newDateModified) { + m_dateModified = newDateModified; + emit dateModifiedChanged(newDateModified); +} + +qint64 LogFile::size() const { return m_size; } +void LogFile::setSize(qint64 newSize) { + m_size = newSize; + emit sizeChanged(newSize); +} + +QString LogFile::name() const { return m_name; } +void LogFile::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/loglevel.cpp b/core/src/DTO/loglevel.cpp new file mode 100644 index 0000000..0b4e7ad --- /dev/null +++ b/core/src/DTO/loglevel.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediaattachment.cpp b/core/src/DTO/mediaattachment.cpp new file mode 100644 index 0000000..c28b802 --- /dev/null +++ b/core/src/DTO/mediaattachment.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 { + +MediaAttachment::MediaAttachment(QObject *parent) : QObject(parent) {} + +MediaAttachment *MediaAttachment::fromJSON(QJsonObject source, QObject *parent) { + MediaAttachment *instance = new MediaAttachment(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaAttachment::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaAttachment::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaAttachment::codec() const { return m_codec; } +void MediaAttachment::setCodec(QString newCodec) { + m_codec = newCodec; + emit codecChanged(newCodec); +} + +QString MediaAttachment::codecTag() const { return m_codecTag; } +void MediaAttachment::setCodecTag(QString newCodecTag) { + m_codecTag = newCodecTag; + emit codecTagChanged(newCodecTag); +} + +QString MediaAttachment::comment() const { return m_comment; } +void MediaAttachment::setComment(QString newComment) { + m_comment = newComment; + emit commentChanged(newComment); +} + +qint32 MediaAttachment::index() const { return m_index; } +void MediaAttachment::setIndex(qint32 newIndex) { + m_index = newIndex; + emit indexChanged(newIndex); +} + +QString MediaAttachment::fileName() const { return m_fileName; } +void MediaAttachment::setFileName(QString newFileName) { + m_fileName = newFileName; + emit fileNameChanged(newFileName); +} + +QString MediaAttachment::mimeType() const { return m_mimeType; } +void MediaAttachment::setMimeType(QString newMimeType) { + m_mimeType = newMimeType; + emit mimeTypeChanged(newMimeType); +} + +QString MediaAttachment::deliveryUrl() const { return m_deliveryUrl; } +void MediaAttachment::setDeliveryUrl(QString newDeliveryUrl) { + m_deliveryUrl = newDeliveryUrl; + emit deliveryUrlChanged(newDeliveryUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediaencoderpathdto.cpp b/core/src/DTO/mediaencoderpathdto.cpp new file mode 100644 index 0000000..22102c3 --- /dev/null +++ b/core/src/DTO/mediaencoderpathdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaEncoderPathDto::MediaEncoderPathDto(QObject *parent) : QObject(parent) {} + +MediaEncoderPathDto *MediaEncoderPathDto::fromJSON(QJsonObject source, QObject *parent) { + MediaEncoderPathDto *instance = new MediaEncoderPathDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaEncoderPathDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaEncoderPathDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaEncoderPathDto::path() const { return m_path; } +void MediaEncoderPathDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MediaEncoderPathDto::pathType() const { return m_pathType; } +void MediaEncoderPathDto::setPathType(QString newPathType) { + m_pathType = newPathType; + emit pathTypeChanged(newPathType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediapathdto.cpp b/core/src/DTO/mediapathdto.cpp new file mode 100644 index 0000000..2b73508 --- /dev/null +++ b/core/src/DTO/mediapathdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaPathDto::MediaPathDto(QObject *parent) : QObject(parent) {} + +MediaPathDto *MediaPathDto::fromJSON(QJsonObject source, QObject *parent) { + MediaPathDto *instance = new MediaPathDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaPathDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaPathDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaPathDto::name() const { return m_name; } +void MediaPathDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString MediaPathDto::path() const { return m_path; } +void MediaPathDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +MediaPathInfo * MediaPathDto::pathInfo() const { return m_pathInfo; } +void MediaPathDto::setPathInfo(MediaPathInfo * newPathInfo) { + m_pathInfo = newPathInfo; + emit pathInfoChanged(newPathInfo); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediapathinfo.cpp b/core/src/DTO/mediapathinfo.cpp new file mode 100644 index 0000000..b3f8048 --- /dev/null +++ b/core/src/DTO/mediapathinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaPathInfo::MediaPathInfo(QObject *parent) : QObject(parent) {} + +MediaPathInfo *MediaPathInfo::fromJSON(QJsonObject source, QObject *parent) { + MediaPathInfo *instance = new MediaPathInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaPathInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaPathInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaPathInfo::path() const { return m_path; } +void MediaPathInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MediaPathInfo::networkPath() const { return m_networkPath; } +void MediaPathInfo::setNetworkPath(QString newNetworkPath) { + m_networkPath = newNetworkPath; + emit networkPathChanged(newNetworkPath); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediaprotocol.cpp b/core/src/DTO/mediaprotocol.cpp new file mode 100644 index 0000000..c4aa9da --- /dev/null +++ b/core/src/DTO/mediaprotocol.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediasourceinfo.cpp b/core/src/DTO/mediasourceinfo.cpp new file mode 100644 index 0000000..c3bc53e --- /dev/null +++ b/core/src/DTO/mediasourceinfo.cpp @@ -0,0 +1,312 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include +#include +#include +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +MediaSourceInfo::MediaSourceInfo(QObject *parent) : QObject(parent) {} + +MediaSourceInfo *MediaSourceInfo::fromJSON(QJsonObject source, QObject *parent) { + MediaSourceInfo *instance = new MediaSourceInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaSourceInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaSourceInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +MediaProtocol MediaSourceInfo::protocol() const { return m_protocol; } +void MediaSourceInfo::setProtocol(MediaProtocol newProtocol) { + m_protocol = newProtocol; + emit protocolChanged(newProtocol); +} + +QString MediaSourceInfo::jellyfinId() const { return m_jellyfinId; } +void MediaSourceInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString MediaSourceInfo::path() const { return m_path; } +void MediaSourceInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MediaSourceInfo::encoderPath() const { return m_encoderPath; } +void MediaSourceInfo::setEncoderPath(QString newEncoderPath) { + m_encoderPath = newEncoderPath; + emit encoderPathChanged(newEncoderPath); +} + +MediaProtocol MediaSourceInfo::encoderProtocol() const { return m_encoderProtocol; } +void MediaSourceInfo::setEncoderProtocol(MediaProtocol newEncoderProtocol) { + m_encoderProtocol = newEncoderProtocol; + emit encoderProtocolChanged(newEncoderProtocol); +} + +MediaSourceType MediaSourceInfo::type() const { return m_type; } +void MediaSourceInfo::setType(MediaSourceType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString MediaSourceInfo::container() const { return m_container; } +void MediaSourceInfo::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +qint64 MediaSourceInfo::size() const { return m_size; } +void MediaSourceInfo::setSize(qint64 newSize) { + m_size = newSize; + emit sizeChanged(newSize); +} + +QString MediaSourceInfo::name() const { return m_name; } +void MediaSourceInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +bool MediaSourceInfo::isRemote() const { return m_isRemote; } +void MediaSourceInfo::setIsRemote(bool newIsRemote) { + m_isRemote = newIsRemote; + emit isRemoteChanged(newIsRemote); +} + +QString MediaSourceInfo::eTag() const { return m_eTag; } +void MediaSourceInfo::setETag(QString newETag) { + m_eTag = newETag; + emit eTagChanged(newETag); +} + +qint64 MediaSourceInfo::runTimeTicks() const { return m_runTimeTicks; } +void MediaSourceInfo::setRunTimeTicks(qint64 newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; + emit runTimeTicksChanged(newRunTimeTicks); +} + +bool MediaSourceInfo::readAtNativeFramerate() const { return m_readAtNativeFramerate; } +void MediaSourceInfo::setReadAtNativeFramerate(bool newReadAtNativeFramerate) { + m_readAtNativeFramerate = newReadAtNativeFramerate; + emit readAtNativeFramerateChanged(newReadAtNativeFramerate); +} + +bool MediaSourceInfo::ignoreDts() const { return m_ignoreDts; } +void MediaSourceInfo::setIgnoreDts(bool newIgnoreDts) { + m_ignoreDts = newIgnoreDts; + emit ignoreDtsChanged(newIgnoreDts); +} + +bool MediaSourceInfo::ignoreIndex() const { return m_ignoreIndex; } +void MediaSourceInfo::setIgnoreIndex(bool newIgnoreIndex) { + m_ignoreIndex = newIgnoreIndex; + emit ignoreIndexChanged(newIgnoreIndex); +} + +bool MediaSourceInfo::genPtsInput() const { return m_genPtsInput; } +void MediaSourceInfo::setGenPtsInput(bool newGenPtsInput) { + m_genPtsInput = newGenPtsInput; + emit genPtsInputChanged(newGenPtsInput); +} + +bool MediaSourceInfo::supportsTranscoding() const { return m_supportsTranscoding; } +void MediaSourceInfo::setSupportsTranscoding(bool newSupportsTranscoding) { + m_supportsTranscoding = newSupportsTranscoding; + emit supportsTranscodingChanged(newSupportsTranscoding); +} + +bool MediaSourceInfo::supportsDirectStream() const { return m_supportsDirectStream; } +void MediaSourceInfo::setSupportsDirectStream(bool newSupportsDirectStream) { + m_supportsDirectStream = newSupportsDirectStream; + emit supportsDirectStreamChanged(newSupportsDirectStream); +} + +bool MediaSourceInfo::supportsDirectPlay() const { return m_supportsDirectPlay; } +void MediaSourceInfo::setSupportsDirectPlay(bool newSupportsDirectPlay) { + m_supportsDirectPlay = newSupportsDirectPlay; + emit supportsDirectPlayChanged(newSupportsDirectPlay); +} + +bool MediaSourceInfo::isInfiniteStream() const { return m_isInfiniteStream; } +void MediaSourceInfo::setIsInfiniteStream(bool newIsInfiniteStream) { + m_isInfiniteStream = newIsInfiniteStream; + emit isInfiniteStreamChanged(newIsInfiniteStream); +} + +bool MediaSourceInfo::requiresOpening() const { return m_requiresOpening; } +void MediaSourceInfo::setRequiresOpening(bool newRequiresOpening) { + m_requiresOpening = newRequiresOpening; + emit requiresOpeningChanged(newRequiresOpening); +} + +QString MediaSourceInfo::openToken() const { return m_openToken; } +void MediaSourceInfo::setOpenToken(QString newOpenToken) { + m_openToken = newOpenToken; + emit openTokenChanged(newOpenToken); +} + +bool MediaSourceInfo::requiresClosing() const { return m_requiresClosing; } +void MediaSourceInfo::setRequiresClosing(bool newRequiresClosing) { + m_requiresClosing = newRequiresClosing; + emit requiresClosingChanged(newRequiresClosing); +} + +QString MediaSourceInfo::liveStreamId() const { return m_liveStreamId; } +void MediaSourceInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; + emit liveStreamIdChanged(newLiveStreamId); +} + +qint32 MediaSourceInfo::bufferMs() const { return m_bufferMs; } +void MediaSourceInfo::setBufferMs(qint32 newBufferMs) { + m_bufferMs = newBufferMs; + emit bufferMsChanged(newBufferMs); +} + +bool MediaSourceInfo::requiresLooping() const { return m_requiresLooping; } +void MediaSourceInfo::setRequiresLooping(bool newRequiresLooping) { + m_requiresLooping = newRequiresLooping; + emit requiresLoopingChanged(newRequiresLooping); +} + +bool MediaSourceInfo::supportsProbing() const { return m_supportsProbing; } +void MediaSourceInfo::setSupportsProbing(bool newSupportsProbing) { + m_supportsProbing = newSupportsProbing; + emit supportsProbingChanged(newSupportsProbing); +} + +VideoType MediaSourceInfo::videoType() const { return m_videoType; } +void MediaSourceInfo::setVideoType(VideoType newVideoType) { + m_videoType = newVideoType; + emit videoTypeChanged(newVideoType); +} + +IsoType MediaSourceInfo::isoType() const { return m_isoType; } +void MediaSourceInfo::setIsoType(IsoType newIsoType) { + m_isoType = newIsoType; + emit isoTypeChanged(newIsoType); +} + +Video3DFormat MediaSourceInfo::video3DFormat() const { return m_video3DFormat; } +void MediaSourceInfo::setVideo3DFormat(Video3DFormat newVideo3DFormat) { + m_video3DFormat = newVideo3DFormat; + emit video3DFormatChanged(newVideo3DFormat); +} + +QList MediaSourceInfo::mediaStreams() const { return m_mediaStreams; } +void MediaSourceInfo::setMediaStreams(QList newMediaStreams) { + m_mediaStreams = newMediaStreams; + emit mediaStreamsChanged(newMediaStreams); +} + +QList MediaSourceInfo::mediaAttachments() const { return m_mediaAttachments; } +void MediaSourceInfo::setMediaAttachments(QList newMediaAttachments) { + m_mediaAttachments = newMediaAttachments; + emit mediaAttachmentsChanged(newMediaAttachments); +} + +QStringList MediaSourceInfo::formats() const { return m_formats; } +void MediaSourceInfo::setFormats(QStringList newFormats) { + m_formats = newFormats; + emit formatsChanged(newFormats); +} + +qint32 MediaSourceInfo::bitrate() const { return m_bitrate; } +void MediaSourceInfo::setBitrate(qint32 newBitrate) { + m_bitrate = newBitrate; + emit bitrateChanged(newBitrate); +} + +TransportStreamTimestamp MediaSourceInfo::timestamp() const { return m_timestamp; } +void MediaSourceInfo::setTimestamp(TransportStreamTimestamp newTimestamp) { + m_timestamp = newTimestamp; + emit timestampChanged(newTimestamp); +} + +QJsonObject MediaSourceInfo::requiredHttpHeaders() const { return m_requiredHttpHeaders; } +void MediaSourceInfo::setRequiredHttpHeaders(QJsonObject newRequiredHttpHeaders) { + m_requiredHttpHeaders = newRequiredHttpHeaders; + emit requiredHttpHeadersChanged(newRequiredHttpHeaders); +} + +QString MediaSourceInfo::transcodingUrl() const { return m_transcodingUrl; } +void MediaSourceInfo::setTranscodingUrl(QString newTranscodingUrl) { + m_transcodingUrl = newTranscodingUrl; + emit transcodingUrlChanged(newTranscodingUrl); +} + +QString MediaSourceInfo::transcodingSubProtocol() const { return m_transcodingSubProtocol; } +void MediaSourceInfo::setTranscodingSubProtocol(QString newTranscodingSubProtocol) { + m_transcodingSubProtocol = newTranscodingSubProtocol; + emit transcodingSubProtocolChanged(newTranscodingSubProtocol); +} + +QString MediaSourceInfo::transcodingContainer() const { return m_transcodingContainer; } +void MediaSourceInfo::setTranscodingContainer(QString newTranscodingContainer) { + m_transcodingContainer = newTranscodingContainer; + emit transcodingContainerChanged(newTranscodingContainer); +} + +qint32 MediaSourceInfo::analyzeDurationMs() const { return m_analyzeDurationMs; } +void MediaSourceInfo::setAnalyzeDurationMs(qint32 newAnalyzeDurationMs) { + m_analyzeDurationMs = newAnalyzeDurationMs; + emit analyzeDurationMsChanged(newAnalyzeDurationMs); +} + +qint32 MediaSourceInfo::defaultAudioStreamIndex() const { return m_defaultAudioStreamIndex; } +void MediaSourceInfo::setDefaultAudioStreamIndex(qint32 newDefaultAudioStreamIndex) { + m_defaultAudioStreamIndex = newDefaultAudioStreamIndex; + emit defaultAudioStreamIndexChanged(newDefaultAudioStreamIndex); +} + +qint32 MediaSourceInfo::defaultSubtitleStreamIndex() const { return m_defaultSubtitleStreamIndex; } +void MediaSourceInfo::setDefaultSubtitleStreamIndex(qint32 newDefaultSubtitleStreamIndex) { + m_defaultSubtitleStreamIndex = newDefaultSubtitleStreamIndex; + emit defaultSubtitleStreamIndexChanged(newDefaultSubtitleStreamIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediasourcetype.cpp b/core/src/DTO/mediasourcetype.cpp new file mode 100644 index 0000000..2cb1339 --- /dev/null +++ b/core/src/DTO/mediasourcetype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediastream.cpp b/core/src/DTO/mediastream.cpp index 791c14e..1d0708c 100644 --- a/core/src/DTO/mediastream.cpp +++ b/core/src/DTO/mediastream.cpp @@ -1,43 +1,338 @@ /* -Sailfin: a Jellyfin client written using Qt -Copyright (C) 2021 Chris Josten + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. +#include -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -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/DTO/mediastream.h" +#include +#include namespace Jellyfin { namespace DTO { -MediaStream::MediaStream(QObject *parent) : JsonSerializable (parent) {} -MediaStream::MediaStream(const MediaStream &other) - : JsonSerializable (other.parent()), - m_codec(other.m_codec), - m_codecTag(other.m_codecTag), - m_language(other.m_language), - m_displayTitle(other.m_displayTitle), - m_type(other.m_type), - m_index(other.m_index){ -} -bool MediaStream::operator==(const MediaStream &other) { - // displayTitle is explicitly left out, since it's generated based on other properties - // in the Jellyfin source code. - return m_codec == other.m_codec && m_codecTag == other.m_codecTag - && m_language == other.m_language && m_type == other.m_type - && m_index == other.m_index; +MediaStream::MediaStream(QObject *parent) : QObject(parent) {} + +MediaStream *MediaStream::fromJSON(QJsonObject source, QObject *parent) { + MediaStream *instance = new MediaStream(parent); + instance->updateFromJSON(source); + return instance; } -} // NS DTO +void MediaStream::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaStream::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaStream::codec() const { return m_codec; } +void MediaStream::setCodec(QString newCodec) { + m_codec = newCodec; + emit codecChanged(newCodec); +} + +QString MediaStream::codecTag() const { return m_codecTag; } +void MediaStream::setCodecTag(QString newCodecTag) { + m_codecTag = newCodecTag; + emit codecTagChanged(newCodecTag); +} + +QString MediaStream::language() const { return m_language; } +void MediaStream::setLanguage(QString newLanguage) { + m_language = newLanguage; + emit languageChanged(newLanguage); +} + +QString MediaStream::colorRange() const { return m_colorRange; } +void MediaStream::setColorRange(QString newColorRange) { + m_colorRange = newColorRange; + emit colorRangeChanged(newColorRange); +} + +QString MediaStream::colorSpace() const { return m_colorSpace; } +void MediaStream::setColorSpace(QString newColorSpace) { + m_colorSpace = newColorSpace; + emit colorSpaceChanged(newColorSpace); +} + +QString MediaStream::colorTransfer() const { return m_colorTransfer; } +void MediaStream::setColorTransfer(QString newColorTransfer) { + m_colorTransfer = newColorTransfer; + emit colorTransferChanged(newColorTransfer); +} + +QString MediaStream::colorPrimaries() const { return m_colorPrimaries; } +void MediaStream::setColorPrimaries(QString newColorPrimaries) { + m_colorPrimaries = newColorPrimaries; + emit colorPrimariesChanged(newColorPrimaries); +} + +QString MediaStream::comment() const { return m_comment; } +void MediaStream::setComment(QString newComment) { + m_comment = newComment; + emit commentChanged(newComment); +} + +QString MediaStream::timeBase() const { return m_timeBase; } +void MediaStream::setTimeBase(QString newTimeBase) { + m_timeBase = newTimeBase; + emit timeBaseChanged(newTimeBase); +} + +QString MediaStream::codecTimeBase() const { return m_codecTimeBase; } +void MediaStream::setCodecTimeBase(QString newCodecTimeBase) { + m_codecTimeBase = newCodecTimeBase; + emit codecTimeBaseChanged(newCodecTimeBase); +} + +QString MediaStream::title() const { return m_title; } +void MediaStream::setTitle(QString newTitle) { + m_title = newTitle; + emit titleChanged(newTitle); +} + +QString MediaStream::videoRange() const { return m_videoRange; } +void MediaStream::setVideoRange(QString newVideoRange) { + m_videoRange = newVideoRange; + emit videoRangeChanged(newVideoRange); +} + +QString MediaStream::localizedUndefined() const { return m_localizedUndefined; } +void MediaStream::setLocalizedUndefined(QString newLocalizedUndefined) { + m_localizedUndefined = newLocalizedUndefined; + emit localizedUndefinedChanged(newLocalizedUndefined); +} + +QString MediaStream::localizedDefault() const { return m_localizedDefault; } +void MediaStream::setLocalizedDefault(QString newLocalizedDefault) { + m_localizedDefault = newLocalizedDefault; + emit localizedDefaultChanged(newLocalizedDefault); +} + +QString MediaStream::localizedForced() const { return m_localizedForced; } +void MediaStream::setLocalizedForced(QString newLocalizedForced) { + m_localizedForced = newLocalizedForced; + emit localizedForcedChanged(newLocalizedForced); +} + +QString MediaStream::displayTitle() const { return m_displayTitle; } +void MediaStream::setDisplayTitle(QString newDisplayTitle) { + m_displayTitle = newDisplayTitle; + emit displayTitleChanged(newDisplayTitle); +} + +QString MediaStream::nalLengthSize() const { return m_nalLengthSize; } +void MediaStream::setNalLengthSize(QString newNalLengthSize) { + m_nalLengthSize = newNalLengthSize; + emit nalLengthSizeChanged(newNalLengthSize); +} + +bool MediaStream::isInterlaced() const { return m_isInterlaced; } +void MediaStream::setIsInterlaced(bool newIsInterlaced) { + m_isInterlaced = newIsInterlaced; + emit isInterlacedChanged(newIsInterlaced); +} + +bool MediaStream::isAVC() const { return m_isAVC; } +void MediaStream::setIsAVC(bool newIsAVC) { + m_isAVC = newIsAVC; + emit isAVCChanged(newIsAVC); +} + +QString MediaStream::channelLayout() const { return m_channelLayout; } +void MediaStream::setChannelLayout(QString newChannelLayout) { + m_channelLayout = newChannelLayout; + emit channelLayoutChanged(newChannelLayout); +} + +qint32 MediaStream::bitRate() const { return m_bitRate; } +void MediaStream::setBitRate(qint32 newBitRate) { + m_bitRate = newBitRate; + emit bitRateChanged(newBitRate); +} + +qint32 MediaStream::bitDepth() const { return m_bitDepth; } +void MediaStream::setBitDepth(qint32 newBitDepth) { + m_bitDepth = newBitDepth; + emit bitDepthChanged(newBitDepth); +} + +qint32 MediaStream::refFrames() const { return m_refFrames; } +void MediaStream::setRefFrames(qint32 newRefFrames) { + m_refFrames = newRefFrames; + emit refFramesChanged(newRefFrames); +} + +qint32 MediaStream::packetLength() const { return m_packetLength; } +void MediaStream::setPacketLength(qint32 newPacketLength) { + m_packetLength = newPacketLength; + emit packetLengthChanged(newPacketLength); +} + +qint32 MediaStream::channels() const { return m_channels; } +void MediaStream::setChannels(qint32 newChannels) { + m_channels = newChannels; + emit channelsChanged(newChannels); +} + +qint32 MediaStream::sampleRate() const { return m_sampleRate; } +void MediaStream::setSampleRate(qint32 newSampleRate) { + m_sampleRate = newSampleRate; + emit sampleRateChanged(newSampleRate); +} + +bool MediaStream::isDefault() const { return m_isDefault; } +void MediaStream::setIsDefault(bool newIsDefault) { + m_isDefault = newIsDefault; + emit isDefaultChanged(newIsDefault); +} + +bool MediaStream::isForced() const { return m_isForced; } +void MediaStream::setIsForced(bool newIsForced) { + m_isForced = newIsForced; + emit isForcedChanged(newIsForced); +} + +qint32 MediaStream::height() const { return m_height; } +void MediaStream::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +qint32 MediaStream::width() const { return m_width; } +void MediaStream::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +float MediaStream::averageFrameRate() const { return m_averageFrameRate; } +void MediaStream::setAverageFrameRate(float newAverageFrameRate) { + m_averageFrameRate = newAverageFrameRate; + emit averageFrameRateChanged(newAverageFrameRate); +} + +float MediaStream::realFrameRate() const { return m_realFrameRate; } +void MediaStream::setRealFrameRate(float newRealFrameRate) { + m_realFrameRate = newRealFrameRate; + emit realFrameRateChanged(newRealFrameRate); +} + +QString MediaStream::profile() const { return m_profile; } +void MediaStream::setProfile(QString newProfile) { + m_profile = newProfile; + emit profileChanged(newProfile); +} + +MediaStreamType MediaStream::type() const { return m_type; } +void MediaStream::setType(MediaStreamType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString MediaStream::aspectRatio() const { return m_aspectRatio; } +void MediaStream::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; + emit aspectRatioChanged(newAspectRatio); +} + +qint32 MediaStream::index() const { return m_index; } +void MediaStream::setIndex(qint32 newIndex) { + m_index = newIndex; + emit indexChanged(newIndex); +} + +qint32 MediaStream::score() const { return m_score; } +void MediaStream::setScore(qint32 newScore) { + m_score = newScore; + emit scoreChanged(newScore); +} + +bool MediaStream::isExternal() const { return m_isExternal; } +void MediaStream::setIsExternal(bool newIsExternal) { + m_isExternal = newIsExternal; + emit isExternalChanged(newIsExternal); +} + +SubtitleDeliveryMethod MediaStream::deliveryMethod() const { return m_deliveryMethod; } +void MediaStream::setDeliveryMethod(SubtitleDeliveryMethod newDeliveryMethod) { + m_deliveryMethod = newDeliveryMethod; + emit deliveryMethodChanged(newDeliveryMethod); +} + +QString MediaStream::deliveryUrl() const { return m_deliveryUrl; } +void MediaStream::setDeliveryUrl(QString newDeliveryUrl) { + m_deliveryUrl = newDeliveryUrl; + emit deliveryUrlChanged(newDeliveryUrl); +} + +bool MediaStream::isExternalUrl() const { return m_isExternalUrl; } +void MediaStream::setIsExternalUrl(bool newIsExternalUrl) { + m_isExternalUrl = newIsExternalUrl; + emit isExternalUrlChanged(newIsExternalUrl); +} + +bool MediaStream::isTextSubtitleStream() const { return m_isTextSubtitleStream; } +void MediaStream::setIsTextSubtitleStream(bool newIsTextSubtitleStream) { + m_isTextSubtitleStream = newIsTextSubtitleStream; + emit isTextSubtitleStreamChanged(newIsTextSubtitleStream); +} + +bool MediaStream::supportsExternalStream() const { return m_supportsExternalStream; } +void MediaStream::setSupportsExternalStream(bool newSupportsExternalStream) { + m_supportsExternalStream = newSupportsExternalStream; + emit supportsExternalStreamChanged(newSupportsExternalStream); +} + +QString MediaStream::path() const { return m_path; } +void MediaStream::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MediaStream::pixelFormat() const { return m_pixelFormat; } +void MediaStream::setPixelFormat(QString newPixelFormat) { + m_pixelFormat = newPixelFormat; + emit pixelFormatChanged(newPixelFormat); +} + +double MediaStream::level() const { return m_level; } +void MediaStream::setLevel(double newLevel) { + m_level = newLevel; + emit levelChanged(newLevel); +} + +bool MediaStream::isAnamorphic() const { return m_isAnamorphic; } +void MediaStream::setIsAnamorphic(bool newIsAnamorphic) { + m_isAnamorphic = newIsAnamorphic; + emit isAnamorphicChanged(newIsAnamorphic); +} + + } // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediastreamtype.cpp b/core/src/DTO/mediastreamtype.cpp new file mode 100644 index 0000000..0023f52 --- /dev/null +++ b/core/src/DTO/mediastreamtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediaupdateinfodto.cpp b/core/src/DTO/mediaupdateinfodto.cpp new file mode 100644 index 0000000..7712661 --- /dev/null +++ b/core/src/DTO/mediaupdateinfodto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaUpdateInfoDto::MediaUpdateInfoDto(QObject *parent) : QObject(parent) {} + +MediaUpdateInfoDto *MediaUpdateInfoDto::fromJSON(QJsonObject source, QObject *parent) { + MediaUpdateInfoDto *instance = new MediaUpdateInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaUpdateInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaUpdateInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaUpdateInfoDto::path() const { return m_path; } +void MediaUpdateInfoDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MediaUpdateInfoDto::updateType() const { return m_updateType; } +void MediaUpdateInfoDto::setUpdateType(QString newUpdateType) { + m_updateType = newUpdateType; + emit updateTypeChanged(newUpdateType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/mediaurl.cpp b/core/src/DTO/mediaurl.cpp new file mode 100644 index 0000000..f57606b --- /dev/null +++ b/core/src/DTO/mediaurl.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MediaUrl::MediaUrl(QObject *parent) : QObject(parent) {} + +MediaUrl *MediaUrl::fromJSON(QJsonObject source, QObject *parent) { + MediaUrl *instance = new MediaUrl(parent); + instance->updateFromJSON(source); + return instance; +} + +void MediaUrl::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MediaUrl::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MediaUrl::url() const { return m_url; } +void MediaUrl::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + +QString MediaUrl::name() const { return m_name; } +void MediaUrl::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/metadataeditorinfo.cpp b/core/src/DTO/metadataeditorinfo.cpp new file mode 100644 index 0000000..7d12963 --- /dev/null +++ b/core/src/DTO/metadataeditorinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MetadataEditorInfo::MetadataEditorInfo(QObject *parent) : QObject(parent) {} + +MetadataEditorInfo *MetadataEditorInfo::fromJSON(QJsonObject source, QObject *parent) { + MetadataEditorInfo *instance = new MetadataEditorInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void MetadataEditorInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MetadataEditorInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList MetadataEditorInfo::parentalRatingOptions() const { return m_parentalRatingOptions; } +void MetadataEditorInfo::setParentalRatingOptions(QList newParentalRatingOptions) { + m_parentalRatingOptions = newParentalRatingOptions; + emit parentalRatingOptionsChanged(newParentalRatingOptions); +} + +QList MetadataEditorInfo::countries() const { return m_countries; } +void MetadataEditorInfo::setCountries(QList newCountries) { + m_countries = newCountries; + emit countriesChanged(newCountries); +} + +QList MetadataEditorInfo::cultures() const { return m_cultures; } +void MetadataEditorInfo::setCultures(QList newCultures) { + m_cultures = newCultures; + emit culturesChanged(newCultures); +} + +QList MetadataEditorInfo::externalIdInfos() const { return m_externalIdInfos; } +void MetadataEditorInfo::setExternalIdInfos(QList newExternalIdInfos) { + m_externalIdInfos = newExternalIdInfos; + emit externalIdInfosChanged(newExternalIdInfos); +} + +QString MetadataEditorInfo::contentType() const { return m_contentType; } +void MetadataEditorInfo::setContentType(QString newContentType) { + m_contentType = newContentType; + emit contentTypeChanged(newContentType); +} + +QList MetadataEditorInfo::contentTypeOptions() const { return m_contentTypeOptions; } +void MetadataEditorInfo::setContentTypeOptions(QList newContentTypeOptions) { + m_contentTypeOptions = newContentTypeOptions; + emit contentTypeOptionsChanged(newContentTypeOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/metadatafield.cpp b/core/src/DTO/metadatafield.cpp new file mode 100644 index 0000000..da1802a --- /dev/null +++ b/core/src/DTO/metadatafield.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/metadataoptions.cpp b/core/src/DTO/metadataoptions.cpp new file mode 100644 index 0000000..9555fce --- /dev/null +++ b/core/src/DTO/metadataoptions.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 { + +MetadataOptions::MetadataOptions(QObject *parent) : QObject(parent) {} + +MetadataOptions *MetadataOptions::fromJSON(QJsonObject source, QObject *parent) { + MetadataOptions *instance = new MetadataOptions(parent); + instance->updateFromJSON(source); + return instance; +} + +void MetadataOptions::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MetadataOptions::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MetadataOptions::itemType() const { return m_itemType; } +void MetadataOptions::setItemType(QString newItemType) { + m_itemType = newItemType; + emit itemTypeChanged(newItemType); +} + +QStringList MetadataOptions::disabledMetadataSavers() const { return m_disabledMetadataSavers; } +void MetadataOptions::setDisabledMetadataSavers(QStringList newDisabledMetadataSavers) { + m_disabledMetadataSavers = newDisabledMetadataSavers; + emit disabledMetadataSaversChanged(newDisabledMetadataSavers); +} + +QStringList MetadataOptions::localMetadataReaderOrder() const { return m_localMetadataReaderOrder; } +void MetadataOptions::setLocalMetadataReaderOrder(QStringList newLocalMetadataReaderOrder) { + m_localMetadataReaderOrder = newLocalMetadataReaderOrder; + emit localMetadataReaderOrderChanged(newLocalMetadataReaderOrder); +} + +QStringList MetadataOptions::disabledMetadataFetchers() const { return m_disabledMetadataFetchers; } +void MetadataOptions::setDisabledMetadataFetchers(QStringList newDisabledMetadataFetchers) { + m_disabledMetadataFetchers = newDisabledMetadataFetchers; + emit disabledMetadataFetchersChanged(newDisabledMetadataFetchers); +} + +QStringList MetadataOptions::metadataFetcherOrder() const { return m_metadataFetcherOrder; } +void MetadataOptions::setMetadataFetcherOrder(QStringList newMetadataFetcherOrder) { + m_metadataFetcherOrder = newMetadataFetcherOrder; + emit metadataFetcherOrderChanged(newMetadataFetcherOrder); +} + +QStringList MetadataOptions::disabledImageFetchers() const { return m_disabledImageFetchers; } +void MetadataOptions::setDisabledImageFetchers(QStringList newDisabledImageFetchers) { + m_disabledImageFetchers = newDisabledImageFetchers; + emit disabledImageFetchersChanged(newDisabledImageFetchers); +} + +QStringList MetadataOptions::imageFetcherOrder() const { return m_imageFetcherOrder; } +void MetadataOptions::setImageFetcherOrder(QStringList newImageFetcherOrder) { + m_imageFetcherOrder = newImageFetcherOrder; + emit imageFetcherOrderChanged(newImageFetcherOrder); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/metadatarefreshmode.cpp b/core/src/DTO/metadatarefreshmode.cpp new file mode 100644 index 0000000..7ff3398 --- /dev/null +++ b/core/src/DTO/metadatarefreshmode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/moveplaylistitemrequestdto.cpp b/core/src/DTO/moveplaylistitemrequestdto.cpp new file mode 100644 index 0000000..22f51bc --- /dev/null +++ b/core/src/DTO/moveplaylistitemrequestdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovePlaylistItemRequestDto::MovePlaylistItemRequestDto(QObject *parent) : QObject(parent) {} + +MovePlaylistItemRequestDto *MovePlaylistItemRequestDto::fromJSON(QJsonObject source, QObject *parent) { + MovePlaylistItemRequestDto *instance = new MovePlaylistItemRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void MovePlaylistItemRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MovePlaylistItemRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MovePlaylistItemRequestDto::playlistItemId() const { return m_playlistItemId; } +void MovePlaylistItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + +qint32 MovePlaylistItemRequestDto::newIndex() const { return m_newIndex; } +void MovePlaylistItemRequestDto::setNewIndex(qint32 newNewIndex) { + m_newIndex = newNewIndex; + emit newIndexChanged(newNewIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/movieinfo.cpp b/core/src/DTO/movieinfo.cpp new file mode 100644 index 0000000..317a9ae --- /dev/null +++ b/core/src/DTO/movieinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovieInfo::MovieInfo(QObject *parent) : QObject(parent) {} + +MovieInfo *MovieInfo::fromJSON(QJsonObject source, QObject *parent) { + MovieInfo *instance = new MovieInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void MovieInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MovieInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MovieInfo::name() const { return m_name; } +void MovieInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString MovieInfo::path() const { return m_path; } +void MovieInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MovieInfo::metadataLanguage() const { return m_metadataLanguage; } +void MovieInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString MovieInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void MovieInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject MovieInfo::providerIds() const { return m_providerIds; } +void MovieInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 MovieInfo::year() const { return m_year; } +void MovieInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 MovieInfo::indexNumber() const { return m_indexNumber; } +void MovieInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 MovieInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void MovieInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime MovieInfo::premiereDate() const { return m_premiereDate; } +void MovieInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool MovieInfo::isAutomated() const { return m_isAutomated; } +void MovieInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/movieinforemotesearchquery.cpp b/core/src/DTO/movieinforemotesearchquery.cpp new file mode 100644 index 0000000..a3071f1 --- /dev/null +++ b/core/src/DTO/movieinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MovieInfoRemoteSearchQuery::MovieInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +MovieInfoRemoteSearchQuery *MovieInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + MovieInfoRemoteSearchQuery *instance = new MovieInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void MovieInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MovieInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +MovieInfo * MovieInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void MovieInfoRemoteSearchQuery::setSearchInfo(MovieInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString MovieInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void MovieInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString MovieInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void MovieInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool MovieInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void MovieInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/musicvideoinfo.cpp b/core/src/DTO/musicvideoinfo.cpp new file mode 100644 index 0000000..4609a64 --- /dev/null +++ b/core/src/DTO/musicvideoinfo.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 { + +MusicVideoInfo::MusicVideoInfo(QObject *parent) : QObject(parent) {} + +MusicVideoInfo *MusicVideoInfo::fromJSON(QJsonObject source, QObject *parent) { + MusicVideoInfo *instance = new MusicVideoInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void MusicVideoInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MusicVideoInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString MusicVideoInfo::name() const { return m_name; } +void MusicVideoInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString MusicVideoInfo::path() const { return m_path; } +void MusicVideoInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString MusicVideoInfo::metadataLanguage() const { return m_metadataLanguage; } +void MusicVideoInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString MusicVideoInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void MusicVideoInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject MusicVideoInfo::providerIds() const { return m_providerIds; } +void MusicVideoInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 MusicVideoInfo::year() const { return m_year; } +void MusicVideoInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 MusicVideoInfo::indexNumber() const { return m_indexNumber; } +void MusicVideoInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 MusicVideoInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void MusicVideoInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime MusicVideoInfo::premiereDate() const { return m_premiereDate; } +void MusicVideoInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool MusicVideoInfo::isAutomated() const { return m_isAutomated; } +void MusicVideoInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + +QStringList MusicVideoInfo::artists() const { return m_artists; } +void MusicVideoInfo::setArtists(QStringList newArtists) { + m_artists = newArtists; + emit artistsChanged(newArtists); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/musicvideoinforemotesearchquery.cpp b/core/src/DTO/musicvideoinforemotesearchquery.cpp new file mode 100644 index 0000000..ddd2bf4 --- /dev/null +++ b/core/src/DTO/musicvideoinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +MusicVideoInfoRemoteSearchQuery::MusicVideoInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +MusicVideoInfoRemoteSearchQuery *MusicVideoInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + MusicVideoInfoRemoteSearchQuery *instance = new MusicVideoInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void MusicVideoInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject MusicVideoInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +MusicVideoInfo * MusicVideoInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void MusicVideoInfoRemoteSearchQuery::setSearchInfo(MusicVideoInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString MusicVideoInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void MusicVideoInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString MusicVideoInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void MusicVideoInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool MusicVideoInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void MusicVideoInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/namedguidpair.cpp b/core/src/DTO/namedguidpair.cpp deleted file mode 100644 index ba97db8..0000000 --- a/core/src/DTO/namedguidpair.cpp +++ /dev/null @@ -1,27 +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/DTO/namedguidpair.h" - -namespace Jellyfin { -namespace DTO { - -NameGuidPair::NameGuidPair(QObject *parent) : JsonSerializable (parent) {} - -} // NS DTO -} // NS Jellyfin diff --git a/core/src/DTO/nameguidpair.cpp b/core/src/DTO/nameguidpair.cpp new file mode 100644 index 0000000..ac5b5eb --- /dev/null +++ b/core/src/DTO/nameguidpair.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameGuidPair::NameGuidPair(QObject *parent) : QObject(parent) {} + +NameGuidPair *NameGuidPair::fromJSON(QJsonObject source, QObject *parent) { + NameGuidPair *instance = new NameGuidPair(parent); + instance->updateFromJSON(source); + return instance; +} + +void NameGuidPair::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NameGuidPair::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NameGuidPair::name() const { return m_name; } +void NameGuidPair::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString NameGuidPair::jellyfinId() const { return m_jellyfinId; } +void NameGuidPair::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/nameidpair.cpp b/core/src/DTO/nameidpair.cpp new file mode 100644 index 0000000..9d2831a --- /dev/null +++ b/core/src/DTO/nameidpair.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameIdPair::NameIdPair(QObject *parent) : QObject(parent) {} + +NameIdPair *NameIdPair::fromJSON(QJsonObject source, QObject *parent) { + NameIdPair *instance = new NameIdPair(parent); + instance->updateFromJSON(source); + return instance; +} + +void NameIdPair::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NameIdPair::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NameIdPair::name() const { return m_name; } +void NameIdPair::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString NameIdPair::jellyfinId() const { return m_jellyfinId; } +void NameIdPair::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/namevaluepair.cpp b/core/src/DTO/namevaluepair.cpp new file mode 100644 index 0000000..db6cff2 --- /dev/null +++ b/core/src/DTO/namevaluepair.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NameValuePair::NameValuePair(QObject *parent) : QObject(parent) {} + +NameValuePair *NameValuePair::fromJSON(QJsonObject source, QObject *parent) { + NameValuePair *instance = new NameValuePair(parent); + instance->updateFromJSON(source); + return instance; +} + +void NameValuePair::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NameValuePair::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NameValuePair::name() const { return m_name; } +void NameValuePair::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString NameValuePair::value() const { return m_value; } +void NameValuePair::setValue(QString newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/newgrouprequestdto.cpp b/core/src/DTO/newgrouprequestdto.cpp new file mode 100644 index 0000000..3035aa6 --- /dev/null +++ b/core/src/DTO/newgrouprequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NewGroupRequestDto::NewGroupRequestDto(QObject *parent) : QObject(parent) {} + +NewGroupRequestDto *NewGroupRequestDto::fromJSON(QJsonObject source, QObject *parent) { + NewGroupRequestDto *instance = new NewGroupRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void NewGroupRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NewGroupRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NewGroupRequestDto::groupName() const { return m_groupName; } +void NewGroupRequestDto::setGroupName(QString newGroupName) { + m_groupName = newGroupName; + emit groupNameChanged(newGroupName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/nextitemrequestdto.cpp b/core/src/DTO/nextitemrequestdto.cpp new file mode 100644 index 0000000..44e9ca4 --- /dev/null +++ b/core/src/DTO/nextitemrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NextItemRequestDto::NextItemRequestDto(QObject *parent) : QObject(parent) {} + +NextItemRequestDto *NextItemRequestDto::fromJSON(QJsonObject source, QObject *parent) { + NextItemRequestDto *instance = new NextItemRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void NextItemRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NextItemRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NextItemRequestDto::playlistItemId() const { return m_playlistItemId; } +void NextItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/notificationdto.cpp b/core/src/DTO/notificationdto.cpp new file mode 100644 index 0000000..e6a251f --- /dev/null +++ b/core/src/DTO/notificationdto.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationDto::NotificationDto(QObject *parent) : QObject(parent) {} + +NotificationDto *NotificationDto::fromJSON(QJsonObject source, QObject *parent) { + NotificationDto *instance = new NotificationDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void NotificationDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NotificationDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NotificationDto::jellyfinId() const { return m_jellyfinId; } +void NotificationDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString NotificationDto::userId() const { return m_userId; } +void NotificationDto::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QDateTime NotificationDto::date() const { return m_date; } +void NotificationDto::setDate(QDateTime newDate) { + m_date = newDate; + emit dateChanged(newDate); +} + +bool NotificationDto::isRead() const { return m_isRead; } +void NotificationDto::setIsRead(bool newIsRead) { + m_isRead = newIsRead; + emit isReadChanged(newIsRead); +} + +QString NotificationDto::name() const { return m_name; } +void NotificationDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString NotificationDto::description() const { return m_description; } +void NotificationDto::setDescription(QString newDescription) { + m_description = newDescription; + emit descriptionChanged(newDescription); +} + +QString NotificationDto::url() const { return m_url; } +void NotificationDto::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + +NotificationLevel NotificationDto::level() const { return m_level; } +void NotificationDto::setLevel(NotificationLevel newLevel) { + m_level = newLevel; + emit levelChanged(newLevel); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/notificationlevel.cpp b/core/src/DTO/notificationlevel.cpp new file mode 100644 index 0000000..3506efa --- /dev/null +++ b/core/src/DTO/notificationlevel.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/notificationresultdto.cpp b/core/src/DTO/notificationresultdto.cpp new file mode 100644 index 0000000..60dd1f4 --- /dev/null +++ b/core/src/DTO/notificationresultdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationResultDto::NotificationResultDto(QObject *parent) : QObject(parent) {} + +NotificationResultDto *NotificationResultDto::fromJSON(QJsonObject source, QObject *parent) { + NotificationResultDto *instance = new NotificationResultDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void NotificationResultDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NotificationResultDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList NotificationResultDto::notifications() const { return m_notifications; } +void NotificationResultDto::setNotifications(QList newNotifications) { + m_notifications = newNotifications; + emit notificationsChanged(newNotifications); +} + +qint32 NotificationResultDto::totalRecordCount() const { return m_totalRecordCount; } +void NotificationResultDto::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/notificationssummarydto.cpp b/core/src/DTO/notificationssummarydto.cpp new file mode 100644 index 0000000..731c942 --- /dev/null +++ b/core/src/DTO/notificationssummarydto.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationsSummaryDto::NotificationsSummaryDto(QObject *parent) : QObject(parent) {} + +NotificationsSummaryDto *NotificationsSummaryDto::fromJSON(QJsonObject source, QObject *parent) { + NotificationsSummaryDto *instance = new NotificationsSummaryDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void NotificationsSummaryDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NotificationsSummaryDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint32 NotificationsSummaryDto::unreadCount() const { return m_unreadCount; } +void NotificationsSummaryDto::setUnreadCount(qint32 newUnreadCount) { + m_unreadCount = newUnreadCount; + emit unreadCountChanged(newUnreadCount); +} + +NotificationLevel NotificationsSummaryDto::maxUnreadNotificationLevel() const { return m_maxUnreadNotificationLevel; } +void NotificationsSummaryDto::setMaxUnreadNotificationLevel(NotificationLevel newMaxUnreadNotificationLevel) { + m_maxUnreadNotificationLevel = newMaxUnreadNotificationLevel; + emit maxUnreadNotificationLevelChanged(newMaxUnreadNotificationLevel); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/notificationtypeinfo.cpp b/core/src/DTO/notificationtypeinfo.cpp new file mode 100644 index 0000000..3502b26 --- /dev/null +++ b/core/src/DTO/notificationtypeinfo.cpp @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +NotificationTypeInfo::NotificationTypeInfo(QObject *parent) : QObject(parent) {} + +NotificationTypeInfo *NotificationTypeInfo::fromJSON(QJsonObject source, QObject *parent) { + NotificationTypeInfo *instance = new NotificationTypeInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void NotificationTypeInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject NotificationTypeInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString NotificationTypeInfo::type() const { return m_type; } +void NotificationTypeInfo::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString NotificationTypeInfo::name() const { return m_name; } +void NotificationTypeInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +bool NotificationTypeInfo::enabled() const { return m_enabled; } +void NotificationTypeInfo::setEnabled(bool newEnabled) { + m_enabled = newEnabled; + emit enabledChanged(newEnabled); +} + +QString NotificationTypeInfo::category() const { return m_category; } +void NotificationTypeInfo::setCategory(QString newCategory) { + m_category = newCategory; + emit categoryChanged(newCategory); +} + +bool NotificationTypeInfo::isBasedOnUserEvent() const { return m_isBasedOnUserEvent; } +void NotificationTypeInfo::setIsBasedOnUserEvent(bool newIsBasedOnUserEvent) { + m_isBasedOnUserEvent = newIsBasedOnUserEvent; + emit isBasedOnUserEventChanged(newIsBasedOnUserEvent); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/objectgroupupdate.cpp b/core/src/DTO/objectgroupupdate.cpp new file mode 100644 index 0000000..569a1ea --- /dev/null +++ b/core/src/DTO/objectgroupupdate.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ObjectGroupUpdate::ObjectGroupUpdate(QObject *parent) : QObject(parent) {} + +ObjectGroupUpdate *ObjectGroupUpdate::fromJSON(QJsonObject source, QObject *parent) { + ObjectGroupUpdate *instance = new ObjectGroupUpdate(parent); + instance->updateFromJSON(source); + return instance; +} + +void ObjectGroupUpdate::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ObjectGroupUpdate::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ObjectGroupUpdate::groupId() const { return m_groupId; } +void ObjectGroupUpdate::setGroupId(QString newGroupId) { + m_groupId = newGroupId; + emit groupIdChanged(newGroupId); +} + +GroupUpdateType ObjectGroupUpdate::type() const { return m_type; } +void ObjectGroupUpdate::setType(GroupUpdateType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QVariant ObjectGroupUpdate::data() const { return m_data; } +void ObjectGroupUpdate::setData(QVariant newData) { + m_data = newData; + emit dataChanged(newData); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/openlivestreamdto.cpp b/core/src/DTO/openlivestreamdto.cpp new file mode 100644 index 0000000..c72787b --- /dev/null +++ b/core/src/DTO/openlivestreamdto.cpp @@ -0,0 +1,133 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +OpenLiveStreamDto::OpenLiveStreamDto(QObject *parent) : QObject(parent) {} + +OpenLiveStreamDto *OpenLiveStreamDto::fromJSON(QJsonObject source, QObject *parent) { + OpenLiveStreamDto *instance = new OpenLiveStreamDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void OpenLiveStreamDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject OpenLiveStreamDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString OpenLiveStreamDto::openToken() const { return m_openToken; } +void OpenLiveStreamDto::setOpenToken(QString newOpenToken) { + m_openToken = newOpenToken; + emit openTokenChanged(newOpenToken); +} + +QString OpenLiveStreamDto::userId() const { return m_userId; } +void OpenLiveStreamDto::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString OpenLiveStreamDto::playSessionId() const { return m_playSessionId; } +void OpenLiveStreamDto::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; + emit playSessionIdChanged(newPlaySessionId); +} + +qint32 OpenLiveStreamDto::maxStreamingBitrate() const { return m_maxStreamingBitrate; } +void OpenLiveStreamDto::setMaxStreamingBitrate(qint32 newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; + emit maxStreamingBitrateChanged(newMaxStreamingBitrate); +} + +qint64 OpenLiveStreamDto::startTimeTicks() const { return m_startTimeTicks; } +void OpenLiveStreamDto::setStartTimeTicks(qint64 newStartTimeTicks) { + m_startTimeTicks = newStartTimeTicks; + emit startTimeTicksChanged(newStartTimeTicks); +} + +qint32 OpenLiveStreamDto::audioStreamIndex() const { return m_audioStreamIndex; } +void OpenLiveStreamDto::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +qint32 OpenLiveStreamDto::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void OpenLiveStreamDto::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +qint32 OpenLiveStreamDto::maxAudioChannels() const { return m_maxAudioChannels; } +void OpenLiveStreamDto::setMaxAudioChannels(qint32 newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; + emit maxAudioChannelsChanged(newMaxAudioChannels); +} + +QString OpenLiveStreamDto::itemId() const { return m_itemId; } +void OpenLiveStreamDto::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +bool OpenLiveStreamDto::enableDirectPlay() const { return m_enableDirectPlay; } +void OpenLiveStreamDto::setEnableDirectPlay(bool newEnableDirectPlay) { + m_enableDirectPlay = newEnableDirectPlay; + emit enableDirectPlayChanged(newEnableDirectPlay); +} + +bool OpenLiveStreamDto::enableDirectStream() const { return m_enableDirectStream; } +void OpenLiveStreamDto::setEnableDirectStream(bool newEnableDirectStream) { + m_enableDirectStream = newEnableDirectStream; + emit enableDirectStreamChanged(newEnableDirectStream); +} + +DeviceProfile * OpenLiveStreamDto::deviceProfile() const { return m_deviceProfile; } +void OpenLiveStreamDto::setDeviceProfile(DeviceProfile * newDeviceProfile) { + m_deviceProfile = newDeviceProfile; + emit deviceProfileChanged(newDeviceProfile); +} + +QList OpenLiveStreamDto::directPlayProtocols() const { return m_directPlayProtocols; } +void OpenLiveStreamDto::setDirectPlayProtocols(QList newDirectPlayProtocols) { + m_directPlayProtocols = newDirectPlayProtocols; + emit directPlayProtocolsChanged(newDirectPlayProtocols); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/packageinfo.cpp b/core/src/DTO/packageinfo.cpp new file mode 100644 index 0000000..d8dcdcc --- /dev/null +++ b/core/src/DTO/packageinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PackageInfo::PackageInfo(QObject *parent) : QObject(parent) {} + +PackageInfo *PackageInfo::fromJSON(QJsonObject source, QObject *parent) { + PackageInfo *instance = new PackageInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PackageInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PackageInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PackageInfo::name() const { return m_name; } +void PackageInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString PackageInfo::description() const { return m_description; } +void PackageInfo::setDescription(QString newDescription) { + m_description = newDescription; + emit descriptionChanged(newDescription); +} + +QString PackageInfo::overview() const { return m_overview; } +void PackageInfo::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +QString PackageInfo::owner() const { return m_owner; } +void PackageInfo::setOwner(QString newOwner) { + m_owner = newOwner; + emit ownerChanged(newOwner); +} + +QString PackageInfo::category() const { return m_category; } +void PackageInfo::setCategory(QString newCategory) { + m_category = newCategory; + emit categoryChanged(newCategory); +} + +QString PackageInfo::guid() const { return m_guid; } +void PackageInfo::setGuid(QString newGuid) { + m_guid = newGuid; + emit guidChanged(newGuid); +} + +QList PackageInfo::versions() const { return m_versions; } +void PackageInfo::setVersions(QList newVersions) { + m_versions = newVersions; + emit versionsChanged(newVersions); +} + +QString PackageInfo::imageUrl() const { return m_imageUrl; } +void PackageInfo::setImageUrl(QString newImageUrl) { + m_imageUrl = newImageUrl; + emit imageUrlChanged(newImageUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/parentalrating.cpp b/core/src/DTO/parentalrating.cpp new file mode 100644 index 0000000..53af024 --- /dev/null +++ b/core/src/DTO/parentalrating.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ParentalRating::ParentalRating(QObject *parent) : QObject(parent) {} + +ParentalRating *ParentalRating::fromJSON(QJsonObject source, QObject *parent) { + ParentalRating *instance = new ParentalRating(parent); + instance->updateFromJSON(source); + return instance; +} + +void ParentalRating::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ParentalRating::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ParentalRating::name() const { return m_name; } +void ParentalRating::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +qint32 ParentalRating::value() const { return m_value; } +void ParentalRating::setValue(qint32 newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/pathsubstitution.cpp b/core/src/DTO/pathsubstitution.cpp new file mode 100644 index 0000000..5f0cace --- /dev/null +++ b/core/src/DTO/pathsubstitution.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PathSubstitution::PathSubstitution(QObject *parent) : QObject(parent) {} + +PathSubstitution *PathSubstitution::fromJSON(QJsonObject source, QObject *parent) { + PathSubstitution *instance = new PathSubstitution(parent); + instance->updateFromJSON(source); + return instance; +} + +void PathSubstitution::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PathSubstitution::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PathSubstitution::from() const { return m_from; } +void PathSubstitution::setFrom(QString newFrom) { + m_from = newFrom; + emit fromChanged(newFrom); +} + +QString PathSubstitution::to() const { return m_to; } +void PathSubstitution::setTo(QString newTo) { + m_to = newTo; + emit toChanged(newTo); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/personlookupinfo.cpp b/core/src/DTO/personlookupinfo.cpp new file mode 100644 index 0000000..a7a6203 --- /dev/null +++ b/core/src/DTO/personlookupinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PersonLookupInfo::PersonLookupInfo(QObject *parent) : QObject(parent) {} + +PersonLookupInfo *PersonLookupInfo::fromJSON(QJsonObject source, QObject *parent) { + PersonLookupInfo *instance = new PersonLookupInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PersonLookupInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PersonLookupInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PersonLookupInfo::name() const { return m_name; } +void PersonLookupInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString PersonLookupInfo::path() const { return m_path; } +void PersonLookupInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString PersonLookupInfo::metadataLanguage() const { return m_metadataLanguage; } +void PersonLookupInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString PersonLookupInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void PersonLookupInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject PersonLookupInfo::providerIds() const { return m_providerIds; } +void PersonLookupInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 PersonLookupInfo::year() const { return m_year; } +void PersonLookupInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 PersonLookupInfo::indexNumber() const { return m_indexNumber; } +void PersonLookupInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 PersonLookupInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void PersonLookupInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime PersonLookupInfo::premiereDate() const { return m_premiereDate; } +void PersonLookupInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool PersonLookupInfo::isAutomated() const { return m_isAutomated; } +void PersonLookupInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/personlookupinforemotesearchquery.cpp b/core/src/DTO/personlookupinforemotesearchquery.cpp new file mode 100644 index 0000000..db7d23f --- /dev/null +++ b/core/src/DTO/personlookupinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PersonLookupInfoRemoteSearchQuery::PersonLookupInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +PersonLookupInfoRemoteSearchQuery *PersonLookupInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + PersonLookupInfoRemoteSearchQuery *instance = new PersonLookupInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void PersonLookupInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PersonLookupInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +PersonLookupInfo * PersonLookupInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void PersonLookupInfoRemoteSearchQuery::setSearchInfo(PersonLookupInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString PersonLookupInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void PersonLookupInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString PersonLookupInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void PersonLookupInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool PersonLookupInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void PersonLookupInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/pingrequestdto.cpp b/core/src/DTO/pingrequestdto.cpp new file mode 100644 index 0000000..0cc3076 --- /dev/null +++ b/core/src/DTO/pingrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PingRequestDto::PingRequestDto(QObject *parent) : QObject(parent) {} + +PingRequestDto *PingRequestDto::fromJSON(QJsonObject source, QObject *parent) { + PingRequestDto *instance = new PingRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void PingRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PingRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 PingRequestDto::ping() const { return m_ping; } +void PingRequestDto::setPing(qint64 newPing) { + m_ping = newPing; + emit pingChanged(newPing); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/pinredeemresult.cpp b/core/src/DTO/pinredeemresult.cpp new file mode 100644 index 0000000..c9ee0a8 --- /dev/null +++ b/core/src/DTO/pinredeemresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PinRedeemResult::PinRedeemResult(QObject *parent) : QObject(parent) {} + +PinRedeemResult *PinRedeemResult::fromJSON(QJsonObject source, QObject *parent) { + PinRedeemResult *instance = new PinRedeemResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void PinRedeemResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PinRedeemResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool PinRedeemResult::success() const { return m_success; } +void PinRedeemResult::setSuccess(bool newSuccess) { + m_success = newSuccess; + emit successChanged(newSuccess); +} + +QStringList PinRedeemResult::usersReset() const { return m_usersReset; } +void PinRedeemResult::setUsersReset(QStringList newUsersReset) { + m_usersReset = newUsersReset; + emit usersResetChanged(newUsersReset); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playaccess.cpp b/core/src/DTO/playaccess.cpp new file mode 100644 index 0000000..7fe65a7 --- /dev/null +++ b/core/src/DTO/playaccess.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackerrorcode.cpp b/core/src/DTO/playbackerrorcode.cpp new file mode 100644 index 0000000..2249a95 --- /dev/null +++ b/core/src/DTO/playbackerrorcode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackinfodto.cpp b/core/src/DTO/playbackinfodto.cpp new file mode 100644 index 0000000..d653a29 --- /dev/null +++ b/core/src/DTO/playbackinfodto.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 { + +PlaybackInfoDto::PlaybackInfoDto(QObject *parent) : QObject(parent) {} + +PlaybackInfoDto *PlaybackInfoDto::fromJSON(QJsonObject source, QObject *parent) { + PlaybackInfoDto *instance = new PlaybackInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaybackInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaybackInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PlaybackInfoDto::userId() const { return m_userId; } +void PlaybackInfoDto::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +qint32 PlaybackInfoDto::maxStreamingBitrate() const { return m_maxStreamingBitrate; } +void PlaybackInfoDto::setMaxStreamingBitrate(qint32 newMaxStreamingBitrate) { + m_maxStreamingBitrate = newMaxStreamingBitrate; + emit maxStreamingBitrateChanged(newMaxStreamingBitrate); +} + +qint64 PlaybackInfoDto::startTimeTicks() const { return m_startTimeTicks; } +void PlaybackInfoDto::setStartTimeTicks(qint64 newStartTimeTicks) { + m_startTimeTicks = newStartTimeTicks; + emit startTimeTicksChanged(newStartTimeTicks); +} + +qint32 PlaybackInfoDto::audioStreamIndex() const { return m_audioStreamIndex; } +void PlaybackInfoDto::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +qint32 PlaybackInfoDto::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void PlaybackInfoDto::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +qint32 PlaybackInfoDto::maxAudioChannels() const { return m_maxAudioChannels; } +void PlaybackInfoDto::setMaxAudioChannels(qint32 newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; + emit maxAudioChannelsChanged(newMaxAudioChannels); +} + +QString PlaybackInfoDto::mediaSourceId() const { return m_mediaSourceId; } +void PlaybackInfoDto::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +QString PlaybackInfoDto::liveStreamId() const { return m_liveStreamId; } +void PlaybackInfoDto::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; + emit liveStreamIdChanged(newLiveStreamId); +} + +DeviceProfile * PlaybackInfoDto::deviceProfile() const { return m_deviceProfile; } +void PlaybackInfoDto::setDeviceProfile(DeviceProfile * newDeviceProfile) { + m_deviceProfile = newDeviceProfile; + emit deviceProfileChanged(newDeviceProfile); +} + +bool PlaybackInfoDto::enableDirectPlay() const { return m_enableDirectPlay; } +void PlaybackInfoDto::setEnableDirectPlay(bool newEnableDirectPlay) { + m_enableDirectPlay = newEnableDirectPlay; + emit enableDirectPlayChanged(newEnableDirectPlay); +} + +bool PlaybackInfoDto::enableDirectStream() const { return m_enableDirectStream; } +void PlaybackInfoDto::setEnableDirectStream(bool newEnableDirectStream) { + m_enableDirectStream = newEnableDirectStream; + emit enableDirectStreamChanged(newEnableDirectStream); +} + +bool PlaybackInfoDto::enableTranscoding() const { return m_enableTranscoding; } +void PlaybackInfoDto::setEnableTranscoding(bool newEnableTranscoding) { + m_enableTranscoding = newEnableTranscoding; + emit enableTranscodingChanged(newEnableTranscoding); +} + +bool PlaybackInfoDto::allowVideoStreamCopy() const { return m_allowVideoStreamCopy; } +void PlaybackInfoDto::setAllowVideoStreamCopy(bool newAllowVideoStreamCopy) { + m_allowVideoStreamCopy = newAllowVideoStreamCopy; + emit allowVideoStreamCopyChanged(newAllowVideoStreamCopy); +} + +bool PlaybackInfoDto::allowAudioStreamCopy() const { return m_allowAudioStreamCopy; } +void PlaybackInfoDto::setAllowAudioStreamCopy(bool newAllowAudioStreamCopy) { + m_allowAudioStreamCopy = newAllowAudioStreamCopy; + emit allowAudioStreamCopyChanged(newAllowAudioStreamCopy); +} + +bool PlaybackInfoDto::autoOpenLiveStream() const { return m_autoOpenLiveStream; } +void PlaybackInfoDto::setAutoOpenLiveStream(bool newAutoOpenLiveStream) { + m_autoOpenLiveStream = newAutoOpenLiveStream; + emit autoOpenLiveStreamChanged(newAutoOpenLiveStream); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackinforesponse.cpp b/core/src/DTO/playbackinforesponse.cpp new file mode 100644 index 0000000..f8f4249 --- /dev/null +++ b/core/src/DTO/playbackinforesponse.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackInfoResponse::PlaybackInfoResponse(QObject *parent) : QObject(parent) {} + +PlaybackInfoResponse *PlaybackInfoResponse::fromJSON(QJsonObject source, QObject *parent) { + PlaybackInfoResponse *instance = new PlaybackInfoResponse(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaybackInfoResponse::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaybackInfoResponse::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList PlaybackInfoResponse::mediaSources() const { return m_mediaSources; } +void PlaybackInfoResponse::setMediaSources(QList newMediaSources) { + m_mediaSources = newMediaSources; + emit mediaSourcesChanged(newMediaSources); +} + +QString PlaybackInfoResponse::playSessionId() const { return m_playSessionId; } +void PlaybackInfoResponse::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; + emit playSessionIdChanged(newPlaySessionId); +} + +PlaybackErrorCode PlaybackInfoResponse::errorCode() const { return m_errorCode; } +void PlaybackInfoResponse::setErrorCode(PlaybackErrorCode newErrorCode) { + m_errorCode = newErrorCode; + emit errorCodeChanged(newErrorCode); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackprogressinfo.cpp b/core/src/DTO/playbackprogressinfo.cpp new file mode 100644 index 0000000..8954f47 --- /dev/null +++ b/core/src/DTO/playbackprogressinfo.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 + +#include +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackProgressInfo::PlaybackProgressInfo(QObject *parent) : QObject(parent) {} + +PlaybackProgressInfo *PlaybackProgressInfo::fromJSON(QJsonObject source, QObject *parent) { + PlaybackProgressInfo *instance = new PlaybackProgressInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaybackProgressInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaybackProgressInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool PlaybackProgressInfo::canSeek() const { return m_canSeek; } +void PlaybackProgressInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; + emit canSeekChanged(newCanSeek); +} + +BaseItemDto * PlaybackProgressInfo::item() const { return m_item; } +void PlaybackProgressInfo::setItem(BaseItemDto * newItem) { + m_item = newItem; + emit itemChanged(newItem); +} + +QString PlaybackProgressInfo::itemId() const { return m_itemId; } +void PlaybackProgressInfo::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString PlaybackProgressInfo::sessionId() const { return m_sessionId; } +void PlaybackProgressInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; + emit sessionIdChanged(newSessionId); +} + +QString PlaybackProgressInfo::mediaSourceId() const { return m_mediaSourceId; } +void PlaybackProgressInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +qint32 PlaybackProgressInfo::audioStreamIndex() const { return m_audioStreamIndex; } +void PlaybackProgressInfo::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +qint32 PlaybackProgressInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void PlaybackProgressInfo::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +bool PlaybackProgressInfo::isPaused() const { return m_isPaused; } +void PlaybackProgressInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; + emit isPausedChanged(newIsPaused); +} + +bool PlaybackProgressInfo::isMuted() const { return m_isMuted; } +void PlaybackProgressInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; + emit isMutedChanged(newIsMuted); +} + +qint64 PlaybackProgressInfo::positionTicks() const { return m_positionTicks; } +void PlaybackProgressInfo::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +qint64 PlaybackProgressInfo::playbackStartTimeTicks() const { return m_playbackStartTimeTicks; } +void PlaybackProgressInfo::setPlaybackStartTimeTicks(qint64 newPlaybackStartTimeTicks) { + m_playbackStartTimeTicks = newPlaybackStartTimeTicks; + emit playbackStartTimeTicksChanged(newPlaybackStartTimeTicks); +} + +qint32 PlaybackProgressInfo::volumeLevel() const { return m_volumeLevel; } +void PlaybackProgressInfo::setVolumeLevel(qint32 newVolumeLevel) { + m_volumeLevel = newVolumeLevel; + emit volumeLevelChanged(newVolumeLevel); +} + +qint32 PlaybackProgressInfo::brightness() const { return m_brightness; } +void PlaybackProgressInfo::setBrightness(qint32 newBrightness) { + m_brightness = newBrightness; + emit brightnessChanged(newBrightness); +} + +QString PlaybackProgressInfo::aspectRatio() const { return m_aspectRatio; } +void PlaybackProgressInfo::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; + emit aspectRatioChanged(newAspectRatio); +} + +PlayMethod PlaybackProgressInfo::playMethod() const { return m_playMethod; } +void PlaybackProgressInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; + emit playMethodChanged(newPlayMethod); +} + +QString PlaybackProgressInfo::liveStreamId() const { return m_liveStreamId; } +void PlaybackProgressInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; + emit liveStreamIdChanged(newLiveStreamId); +} + +QString PlaybackProgressInfo::playSessionId() const { return m_playSessionId; } +void PlaybackProgressInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; + emit playSessionIdChanged(newPlaySessionId); +} + +RepeatMode PlaybackProgressInfo::repeatMode() const { return m_repeatMode; } +void PlaybackProgressInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; + emit repeatModeChanged(newRepeatMode); +} + +QList PlaybackProgressInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } +void PlaybackProgressInfo::setNowPlayingQueue(QList newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; + emit nowPlayingQueueChanged(newNowPlayingQueue); +} + +QString PlaybackProgressInfo::playlistItemId() const { return m_playlistItemId; } +void PlaybackProgressInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackstartinfo.cpp b/core/src/DTO/playbackstartinfo.cpp new file mode 100644 index 0000000..1c43af4 --- /dev/null +++ b/core/src/DTO/playbackstartinfo.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 + +#include +#include + +namespace Jellyfin { +namespace DTO { + +PlaybackStartInfo::PlaybackStartInfo(QObject *parent) : QObject(parent) {} + +PlaybackStartInfo *PlaybackStartInfo::fromJSON(QJsonObject source, QObject *parent) { + PlaybackStartInfo *instance = new PlaybackStartInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaybackStartInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaybackStartInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool PlaybackStartInfo::canSeek() const { return m_canSeek; } +void PlaybackStartInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; + emit canSeekChanged(newCanSeek); +} + +BaseItemDto * PlaybackStartInfo::item() const { return m_item; } +void PlaybackStartInfo::setItem(BaseItemDto * newItem) { + m_item = newItem; + emit itemChanged(newItem); +} + +QString PlaybackStartInfo::itemId() const { return m_itemId; } +void PlaybackStartInfo::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString PlaybackStartInfo::sessionId() const { return m_sessionId; } +void PlaybackStartInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; + emit sessionIdChanged(newSessionId); +} + +QString PlaybackStartInfo::mediaSourceId() const { return m_mediaSourceId; } +void PlaybackStartInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +qint32 PlaybackStartInfo::audioStreamIndex() const { return m_audioStreamIndex; } +void PlaybackStartInfo::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +qint32 PlaybackStartInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void PlaybackStartInfo::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +bool PlaybackStartInfo::isPaused() const { return m_isPaused; } +void PlaybackStartInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; + emit isPausedChanged(newIsPaused); +} + +bool PlaybackStartInfo::isMuted() const { return m_isMuted; } +void PlaybackStartInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; + emit isMutedChanged(newIsMuted); +} + +qint64 PlaybackStartInfo::positionTicks() const { return m_positionTicks; } +void PlaybackStartInfo::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +qint64 PlaybackStartInfo::playbackStartTimeTicks() const { return m_playbackStartTimeTicks; } +void PlaybackStartInfo::setPlaybackStartTimeTicks(qint64 newPlaybackStartTimeTicks) { + m_playbackStartTimeTicks = newPlaybackStartTimeTicks; + emit playbackStartTimeTicksChanged(newPlaybackStartTimeTicks); +} + +qint32 PlaybackStartInfo::volumeLevel() const { return m_volumeLevel; } +void PlaybackStartInfo::setVolumeLevel(qint32 newVolumeLevel) { + m_volumeLevel = newVolumeLevel; + emit volumeLevelChanged(newVolumeLevel); +} + +qint32 PlaybackStartInfo::brightness() const { return m_brightness; } +void PlaybackStartInfo::setBrightness(qint32 newBrightness) { + m_brightness = newBrightness; + emit brightnessChanged(newBrightness); +} + +QString PlaybackStartInfo::aspectRatio() const { return m_aspectRatio; } +void PlaybackStartInfo::setAspectRatio(QString newAspectRatio) { + m_aspectRatio = newAspectRatio; + emit aspectRatioChanged(newAspectRatio); +} + +PlayMethod PlaybackStartInfo::playMethod() const { return m_playMethod; } +void PlaybackStartInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; + emit playMethodChanged(newPlayMethod); +} + +QString PlaybackStartInfo::liveStreamId() const { return m_liveStreamId; } +void PlaybackStartInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; + emit liveStreamIdChanged(newLiveStreamId); +} + +QString PlaybackStartInfo::playSessionId() const { return m_playSessionId; } +void PlaybackStartInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; + emit playSessionIdChanged(newPlaySessionId); +} + +RepeatMode PlaybackStartInfo::repeatMode() const { return m_repeatMode; } +void PlaybackStartInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; + emit repeatModeChanged(newRepeatMode); +} + +QList PlaybackStartInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } +void PlaybackStartInfo::setNowPlayingQueue(QList newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; + emit nowPlayingQueueChanged(newNowPlayingQueue); +} + +QString PlaybackStartInfo::playlistItemId() const { return m_playlistItemId; } +void PlaybackStartInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playbackstopinfo.cpp b/core/src/DTO/playbackstopinfo.cpp new file mode 100644 index 0000000..5c2f5c9 --- /dev/null +++ b/core/src/DTO/playbackstopinfo.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 { + +PlaybackStopInfo::PlaybackStopInfo(QObject *parent) : QObject(parent) {} + +PlaybackStopInfo *PlaybackStopInfo::fromJSON(QJsonObject source, QObject *parent) { + PlaybackStopInfo *instance = new PlaybackStopInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaybackStopInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaybackStopInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +BaseItemDto * PlaybackStopInfo::item() const { return m_item; } +void PlaybackStopInfo::setItem(BaseItemDto * newItem) { + m_item = newItem; + emit itemChanged(newItem); +} + +QString PlaybackStopInfo::itemId() const { return m_itemId; } +void PlaybackStopInfo::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString PlaybackStopInfo::sessionId() const { return m_sessionId; } +void PlaybackStopInfo::setSessionId(QString newSessionId) { + m_sessionId = newSessionId; + emit sessionIdChanged(newSessionId); +} + +QString PlaybackStopInfo::mediaSourceId() const { return m_mediaSourceId; } +void PlaybackStopInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +qint64 PlaybackStopInfo::positionTicks() const { return m_positionTicks; } +void PlaybackStopInfo::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +QString PlaybackStopInfo::liveStreamId() const { return m_liveStreamId; } +void PlaybackStopInfo::setLiveStreamId(QString newLiveStreamId) { + m_liveStreamId = newLiveStreamId; + emit liveStreamIdChanged(newLiveStreamId); +} + +QString PlaybackStopInfo::playSessionId() const { return m_playSessionId; } +void PlaybackStopInfo::setPlaySessionId(QString newPlaySessionId) { + m_playSessionId = newPlaySessionId; + emit playSessionIdChanged(newPlaySessionId); +} + +bool PlaybackStopInfo::failed() const { return m_failed; } +void PlaybackStopInfo::setFailed(bool newFailed) { + m_failed = newFailed; + emit failedChanged(newFailed); +} + +QString PlaybackStopInfo::nextMediaType() const { return m_nextMediaType; } +void PlaybackStopInfo::setNextMediaType(QString newNextMediaType) { + m_nextMediaType = newNextMediaType; + emit nextMediaTypeChanged(newNextMediaType); +} + +QString PlaybackStopInfo::playlistItemId() const { return m_playlistItemId; } +void PlaybackStopInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + +QList PlaybackStopInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } +void PlaybackStopInfo::setNowPlayingQueue(QList newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; + emit nowPlayingQueueChanged(newNowPlayingQueue); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playcommand.cpp b/core/src/DTO/playcommand.cpp new file mode 100644 index 0000000..59dbc5b --- /dev/null +++ b/core/src/DTO/playcommand.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/playerstateinfo.cpp b/core/src/DTO/playerstateinfo.cpp new file mode 100644 index 0000000..28cab92 --- /dev/null +++ b/core/src/DTO/playerstateinfo.cpp @@ -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. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +PlayerStateInfo::PlayerStateInfo(QObject *parent) : QObject(parent) {} + +PlayerStateInfo *PlayerStateInfo::fromJSON(QJsonObject source, QObject *parent) { + PlayerStateInfo *instance = new PlayerStateInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlayerStateInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlayerStateInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 PlayerStateInfo::positionTicks() const { return m_positionTicks; } +void PlayerStateInfo::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +bool PlayerStateInfo::canSeek() const { return m_canSeek; } +void PlayerStateInfo::setCanSeek(bool newCanSeek) { + m_canSeek = newCanSeek; + emit canSeekChanged(newCanSeek); +} + +bool PlayerStateInfo::isPaused() const { return m_isPaused; } +void PlayerStateInfo::setIsPaused(bool newIsPaused) { + m_isPaused = newIsPaused; + emit isPausedChanged(newIsPaused); +} + +bool PlayerStateInfo::isMuted() const { return m_isMuted; } +void PlayerStateInfo::setIsMuted(bool newIsMuted) { + m_isMuted = newIsMuted; + emit isMutedChanged(newIsMuted); +} + +qint32 PlayerStateInfo::volumeLevel() const { return m_volumeLevel; } +void PlayerStateInfo::setVolumeLevel(qint32 newVolumeLevel) { + m_volumeLevel = newVolumeLevel; + emit volumeLevelChanged(newVolumeLevel); +} + +qint32 PlayerStateInfo::audioStreamIndex() const { return m_audioStreamIndex; } +void PlayerStateInfo::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +qint32 PlayerStateInfo::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void PlayerStateInfo::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +QString PlayerStateInfo::mediaSourceId() const { return m_mediaSourceId; } +void PlayerStateInfo::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +PlayMethod PlayerStateInfo::playMethod() const { return m_playMethod; } +void PlayerStateInfo::setPlayMethod(PlayMethod newPlayMethod) { + m_playMethod = newPlayMethod; + emit playMethodChanged(newPlayMethod); +} + +RepeatMode PlayerStateInfo::repeatMode() const { return m_repeatMode; } +void PlayerStateInfo::setRepeatMode(RepeatMode newRepeatMode) { + m_repeatMode = newRepeatMode; + emit repeatModeChanged(newRepeatMode); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playlistcreationresult.cpp b/core/src/DTO/playlistcreationresult.cpp new file mode 100644 index 0000000..d803300 --- /dev/null +++ b/core/src/DTO/playlistcreationresult.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlaylistCreationResult::PlaylistCreationResult(QObject *parent) : QObject(parent) {} + +PlaylistCreationResult *PlaylistCreationResult::fromJSON(QJsonObject source, QObject *parent) { + PlaylistCreationResult *instance = new PlaylistCreationResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaylistCreationResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaylistCreationResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PlaylistCreationResult::jellyfinId() const { return m_jellyfinId; } +void PlaylistCreationResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playmethod.cpp b/core/src/DTO/playmethod.cpp new file mode 100644 index 0000000..22a7793 --- /dev/null +++ b/core/src/DTO/playmethod.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/playrequest.cpp b/core/src/DTO/playrequest.cpp new file mode 100644 index 0000000..98fa754 --- /dev/null +++ b/core/src/DTO/playrequest.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +PlayRequest::PlayRequest(QObject *parent) : QObject(parent) {} + +PlayRequest *PlayRequest::fromJSON(QJsonObject source, QObject *parent) { + PlayRequest *instance = new PlayRequest(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlayRequest::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlayRequest::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList PlayRequest::itemIds() const { return m_itemIds; } +void PlayRequest::setItemIds(QStringList newItemIds) { + m_itemIds = newItemIds; + emit itemIdsChanged(newItemIds); +} + +qint64 PlayRequest::startPositionTicks() const { return m_startPositionTicks; } +void PlayRequest::setStartPositionTicks(qint64 newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; + emit startPositionTicksChanged(newStartPositionTicks); +} + +PlayCommand PlayRequest::playCommand() const { return m_playCommand; } +void PlayRequest::setPlayCommand(PlayCommand newPlayCommand) { + m_playCommand = newPlayCommand; + emit playCommandChanged(newPlayCommand); +} + +QString PlayRequest::controllingUserId() const { return m_controllingUserId; } +void PlayRequest::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; + emit controllingUserIdChanged(newControllingUserId); +} + +qint32 PlayRequest::subtitleStreamIndex() const { return m_subtitleStreamIndex; } +void PlayRequest::setSubtitleStreamIndex(qint32 newSubtitleStreamIndex) { + m_subtitleStreamIndex = newSubtitleStreamIndex; + emit subtitleStreamIndexChanged(newSubtitleStreamIndex); +} + +qint32 PlayRequest::audioStreamIndex() const { return m_audioStreamIndex; } +void PlayRequest::setAudioStreamIndex(qint32 newAudioStreamIndex) { + m_audioStreamIndex = newAudioStreamIndex; + emit audioStreamIndexChanged(newAudioStreamIndex); +} + +QString PlayRequest::mediaSourceId() const { return m_mediaSourceId; } +void PlayRequest::setMediaSourceId(QString newMediaSourceId) { + m_mediaSourceId = newMediaSourceId; + emit mediaSourceIdChanged(newMediaSourceId); +} + +qint32 PlayRequest::startIndex() const { return m_startIndex; } +void PlayRequest::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playrequestdto.cpp b/core/src/DTO/playrequestdto.cpp new file mode 100644 index 0000000..61f911a --- /dev/null +++ b/core/src/DTO/playrequestdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PlayRequestDto::PlayRequestDto(QObject *parent) : QObject(parent) {} + +PlayRequestDto *PlayRequestDto::fromJSON(QJsonObject source, QObject *parent) { + PlayRequestDto *instance = new PlayRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlayRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlayRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList PlayRequestDto::playingQueue() const { return m_playingQueue; } +void PlayRequestDto::setPlayingQueue(QStringList newPlayingQueue) { + m_playingQueue = newPlayingQueue; + emit playingQueueChanged(newPlayingQueue); +} + +qint32 PlayRequestDto::playingItemPosition() const { return m_playingItemPosition; } +void PlayRequestDto::setPlayingItemPosition(qint32 newPlayingItemPosition) { + m_playingItemPosition = newPlayingItemPosition; + emit playingItemPositionChanged(newPlayingItemPosition); +} + +qint64 PlayRequestDto::startPositionTicks() const { return m_startPositionTicks; } +void PlayRequestDto::setStartPositionTicks(qint64 newStartPositionTicks) { + m_startPositionTicks = newStartPositionTicks; + emit startPositionTicksChanged(newStartPositionTicks); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/playstatecommand.cpp b/core/src/DTO/playstatecommand.cpp new file mode 100644 index 0000000..9860fef --- /dev/null +++ b/core/src/DTO/playstatecommand.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/playstaterequest.cpp b/core/src/DTO/playstaterequest.cpp new file mode 100644 index 0000000..c339bb5 --- /dev/null +++ b/core/src/DTO/playstaterequest.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +PlaystateRequest::PlaystateRequest(QObject *parent) : QObject(parent) {} + +PlaystateRequest *PlaystateRequest::fromJSON(QJsonObject source, QObject *parent) { + PlaystateRequest *instance = new PlaystateRequest(parent); + instance->updateFromJSON(source); + return instance; +} + +void PlaystateRequest::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PlaystateRequest::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +PlaystateCommand PlaystateRequest::command() const { return m_command; } +void PlaystateRequest::setCommand(PlaystateCommand newCommand) { + m_command = newCommand; + emit commandChanged(newCommand); +} + +qint64 PlaystateRequest::seekPositionTicks() const { return m_seekPositionTicks; } +void PlaystateRequest::setSeekPositionTicks(qint64 newSeekPositionTicks) { + m_seekPositionTicks = newSeekPositionTicks; + emit seekPositionTicksChanged(newSeekPositionTicks); +} + +QString PlaystateRequest::controllingUserId() const { return m_controllingUserId; } +void PlaystateRequest::setControllingUserId(QString newControllingUserId) { + m_controllingUserId = newControllingUserId; + emit controllingUserIdChanged(newControllingUserId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/plugininfo.cpp b/core/src/DTO/plugininfo.cpp new file mode 100644 index 0000000..f2fc039 --- /dev/null +++ b/core/src/DTO/plugininfo.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +PluginInfo::PluginInfo(QObject *parent) : QObject(parent) {} + +PluginInfo *PluginInfo::fromJSON(QJsonObject source, QObject *parent) { + PluginInfo *instance = new PluginInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PluginInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PluginInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PluginInfo::name() const { return m_name; } +void PluginInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +Version * PluginInfo::version() const { return m_version; } +void PluginInfo::setVersion(Version * newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +QString PluginInfo::configurationFileName() const { return m_configurationFileName; } +void PluginInfo::setConfigurationFileName(QString newConfigurationFileName) { + m_configurationFileName = newConfigurationFileName; + emit configurationFileNameChanged(newConfigurationFileName); +} + +QString PluginInfo::description() const { return m_description; } +void PluginInfo::setDescription(QString newDescription) { + m_description = newDescription; + emit descriptionChanged(newDescription); +} + +QString PluginInfo::jellyfinId() const { return m_jellyfinId; } +void PluginInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +bool PluginInfo::canUninstall() const { return m_canUninstall; } +void PluginInfo::setCanUninstall(bool newCanUninstall) { + m_canUninstall = newCanUninstall; + emit canUninstallChanged(newCanUninstall); +} + +bool PluginInfo::hasImage() const { return m_hasImage; } +void PluginInfo::setHasImage(bool newHasImage) { + m_hasImage = newHasImage; + emit hasImageChanged(newHasImage); +} + +PluginStatus PluginInfo::status() const { return m_status; } +void PluginInfo::setStatus(PluginStatus newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/pluginsecurityinfo.cpp b/core/src/DTO/pluginsecurityinfo.cpp new file mode 100644 index 0000000..ead5e73 --- /dev/null +++ b/core/src/DTO/pluginsecurityinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PluginSecurityInfo::PluginSecurityInfo(QObject *parent) : QObject(parent) {} + +PluginSecurityInfo *PluginSecurityInfo::fromJSON(QJsonObject source, QObject *parent) { + PluginSecurityInfo *instance = new PluginSecurityInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PluginSecurityInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PluginSecurityInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PluginSecurityInfo::supporterKey() const { return m_supporterKey; } +void PluginSecurityInfo::setSupporterKey(QString newSupporterKey) { + m_supporterKey = newSupporterKey; + emit supporterKeyChanged(newSupporterKey); +} + +bool PluginSecurityInfo::isMbSupporter() const { return m_isMbSupporter; } +void PluginSecurityInfo::setIsMbSupporter(bool newIsMbSupporter) { + m_isMbSupporter = newIsMbSupporter; + emit isMbSupporterChanged(newIsMbSupporter); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/pluginstatus.cpp b/core/src/DTO/pluginstatus.cpp new file mode 100644 index 0000000..ac0681d --- /dev/null +++ b/core/src/DTO/pluginstatus.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/previousitemrequestdto.cpp b/core/src/DTO/previousitemrequestdto.cpp new file mode 100644 index 0000000..1c86d28 --- /dev/null +++ b/core/src/DTO/previousitemrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +PreviousItemRequestDto::PreviousItemRequestDto(QObject *parent) : QObject(parent) {} + +PreviousItemRequestDto *PreviousItemRequestDto::fromJSON(QJsonObject source, QObject *parent) { + PreviousItemRequestDto *instance = new PreviousItemRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void PreviousItemRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PreviousItemRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PreviousItemRequestDto::playlistItemId() const { return m_playlistItemId; } +void PreviousItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/problemdetails.cpp b/core/src/DTO/problemdetails.cpp new file mode 100644 index 0000000..e8f0ce3 --- /dev/null +++ b/core/src/DTO/problemdetails.cpp @@ -0,0 +1,83 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ProblemDetails::ProblemDetails(QObject *parent) : QObject(parent) {} + +ProblemDetails *ProblemDetails::fromJSON(QJsonObject source, QObject *parent) { + ProblemDetails *instance = new ProblemDetails(parent); + instance->updateFromJSON(source); + return instance; +} + +void ProblemDetails::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ProblemDetails::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ProblemDetails::type() const { return m_type; } +void ProblemDetails::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString ProblemDetails::title() const { return m_title; } +void ProblemDetails::setTitle(QString newTitle) { + m_title = newTitle; + emit titleChanged(newTitle); +} + +qint32 ProblemDetails::status() const { return m_status; } +void ProblemDetails::setStatus(qint32 newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString ProblemDetails::detail() const { return m_detail; } +void ProblemDetails::setDetail(QString newDetail) { + m_detail = newDetail; + emit detailChanged(newDetail); +} + +QString ProblemDetails::instance() const { return m_instance; } +void ProblemDetails::setInstance(QString newInstance) { + m_instance = newInstance; + emit instanceChanged(newInstance); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/profilecondition.cpp b/core/src/DTO/profilecondition.cpp new file mode 100644 index 0000000..d51cb29 --- /dev/null +++ b/core/src/DTO/profilecondition.cpp @@ -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. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +ProfileCondition::ProfileCondition(QObject *parent) : QObject(parent) {} + +ProfileCondition *ProfileCondition::fromJSON(QJsonObject source, QObject *parent) { + ProfileCondition *instance = new ProfileCondition(parent); + instance->updateFromJSON(source); + return instance; +} + +void ProfileCondition::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ProfileCondition::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +ProfileConditionType ProfileCondition::condition() const { return m_condition; } +void ProfileCondition::setCondition(ProfileConditionType newCondition) { + m_condition = newCondition; + emit conditionChanged(newCondition); +} + +ProfileConditionValue ProfileCondition::property() const { return m_property; } +void ProfileCondition::setProperty(ProfileConditionValue newProperty) { + m_property = newProperty; + emit propertyChanged(newProperty); +} + +QString ProfileCondition::value() const { return m_value; } +void ProfileCondition::setValue(QString newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + +bool ProfileCondition::isRequired() const { return m_isRequired; } +void ProfileCondition::setIsRequired(bool newIsRequired) { + m_isRequired = newIsRequired; + emit isRequiredChanged(newIsRequired); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/profileconditiontype.cpp b/core/src/DTO/profileconditiontype.cpp new file mode 100644 index 0000000..609219f --- /dev/null +++ b/core/src/DTO/profileconditiontype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/profileconditionvalue.cpp b/core/src/DTO/profileconditionvalue.cpp new file mode 100644 index 0000000..dd9729e --- /dev/null +++ b/core/src/DTO/profileconditionvalue.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/programaudio.cpp b/core/src/DTO/programaudio.cpp new file mode 100644 index 0000000..cb276fe --- /dev/null +++ b/core/src/DTO/programaudio.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/publicsysteminfo.cpp b/core/src/DTO/publicsysteminfo.cpp new file mode 100644 index 0000000..2fe5a25 --- /dev/null +++ b/core/src/DTO/publicsysteminfo.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 { + +PublicSystemInfo::PublicSystemInfo(QObject *parent) : QObject(parent) {} + +PublicSystemInfo *PublicSystemInfo::fromJSON(QJsonObject source, QObject *parent) { + PublicSystemInfo *instance = new PublicSystemInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void PublicSystemInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject PublicSystemInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString PublicSystemInfo::localAddress() const { return m_localAddress; } +void PublicSystemInfo::setLocalAddress(QString newLocalAddress) { + m_localAddress = newLocalAddress; + emit localAddressChanged(newLocalAddress); +} + +QString PublicSystemInfo::serverName() const { return m_serverName; } +void PublicSystemInfo::setServerName(QString newServerName) { + m_serverName = newServerName; + emit serverNameChanged(newServerName); +} + +QString PublicSystemInfo::version() const { return m_version; } +void PublicSystemInfo::setVersion(QString newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +QString PublicSystemInfo::productName() const { return m_productName; } +void PublicSystemInfo::setProductName(QString newProductName) { + m_productName = newProductName; + emit productNameChanged(newProductName); +} + +QString PublicSystemInfo::operatingSystem() const { return m_operatingSystem; } +void PublicSystemInfo::setOperatingSystem(QString newOperatingSystem) { + m_operatingSystem = newOperatingSystem; + emit operatingSystemChanged(newOperatingSystem); +} + +QString PublicSystemInfo::jellyfinId() const { return m_jellyfinId; } +void PublicSystemInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +bool PublicSystemInfo::startupWizardCompleted() const { return m_startupWizardCompleted; } +void PublicSystemInfo::setStartupWizardCompleted(bool newStartupWizardCompleted) { + m_startupWizardCompleted = newStartupWizardCompleted; + emit startupWizardCompletedChanged(newStartupWizardCompleted); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/queryfilters.cpp b/core/src/DTO/queryfilters.cpp new file mode 100644 index 0000000..bf048c1 --- /dev/null +++ b/core/src/DTO/queryfilters.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueryFilters::QueryFilters(QObject *parent) : QObject(parent) {} + +QueryFilters *QueryFilters::fromJSON(QJsonObject source, QObject *parent) { + QueryFilters *instance = new QueryFilters(parent); + instance->updateFromJSON(source); + return instance; +} + +void QueryFilters::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QueryFilters::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList QueryFilters::genres() const { return m_genres; } +void QueryFilters::setGenres(QList newGenres) { + m_genres = newGenres; + emit genresChanged(newGenres); +} + +QStringList QueryFilters::tags() const { return m_tags; } +void QueryFilters::setTags(QStringList newTags) { + m_tags = newTags; + emit tagsChanged(newTags); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/queryfilterslegacy.cpp b/core/src/DTO/queryfilterslegacy.cpp new file mode 100644 index 0000000..be96b3c --- /dev/null +++ b/core/src/DTO/queryfilterslegacy.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueryFiltersLegacy::QueryFiltersLegacy(QObject *parent) : QObject(parent) {} + +QueryFiltersLegacy *QueryFiltersLegacy::fromJSON(QJsonObject source, QObject *parent) { + QueryFiltersLegacy *instance = new QueryFiltersLegacy(parent); + instance->updateFromJSON(source); + return instance; +} + +void QueryFiltersLegacy::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QueryFiltersLegacy::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList QueryFiltersLegacy::genres() const { return m_genres; } +void QueryFiltersLegacy::setGenres(QStringList newGenres) { + m_genres = newGenres; + emit genresChanged(newGenres); +} + +QStringList QueryFiltersLegacy::tags() const { return m_tags; } +void QueryFiltersLegacy::setTags(QStringList newTags) { + m_tags = newTags; + emit tagsChanged(newTags); +} + +QStringList QueryFiltersLegacy::officialRatings() const { return m_officialRatings; } +void QueryFiltersLegacy::setOfficialRatings(QStringList newOfficialRatings) { + m_officialRatings = newOfficialRatings; + emit officialRatingsChanged(newOfficialRatings); +} + +QList QueryFiltersLegacy::years() const { return m_years; } +void QueryFiltersLegacy::setYears(QList newYears) { + m_years = newYears; + emit yearsChanged(newYears); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/queueitem.cpp b/core/src/DTO/queueitem.cpp new file mode 100644 index 0000000..97f37ef --- /dev/null +++ b/core/src/DTO/queueitem.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QueueItem::QueueItem(QObject *parent) : QObject(parent) {} + +QueueItem *QueueItem::fromJSON(QJsonObject source, QObject *parent) { + QueueItem *instance = new QueueItem(parent); + instance->updateFromJSON(source); + return instance; +} + +void QueueItem::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QueueItem::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString QueueItem::jellyfinId() const { return m_jellyfinId; } +void QueueItem::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString QueueItem::playlistItemId() const { return m_playlistItemId; } +void QueueItem::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/queuerequestdto.cpp b/core/src/DTO/queuerequestdto.cpp new file mode 100644 index 0000000..d33dd24 --- /dev/null +++ b/core/src/DTO/queuerequestdto.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +QueueRequestDto::QueueRequestDto(QObject *parent) : QObject(parent) {} + +QueueRequestDto *QueueRequestDto::fromJSON(QJsonObject source, QObject *parent) { + QueueRequestDto *instance = new QueueRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void QueueRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QueueRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList QueueRequestDto::itemIds() const { return m_itemIds; } +void QueueRequestDto::setItemIds(QStringList newItemIds) { + m_itemIds = newItemIds; + emit itemIdsChanged(newItemIds); +} + +GroupQueueMode QueueRequestDto::mode() const { return m_mode; } +void QueueRequestDto::setMode(GroupQueueMode newMode) { + m_mode = newMode; + emit modeChanged(newMode); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/quickconnectdto.cpp b/core/src/DTO/quickconnectdto.cpp new file mode 100644 index 0000000..4fcf75b --- /dev/null +++ b/core/src/DTO/quickconnectdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QuickConnectDto::QuickConnectDto(QObject *parent) : QObject(parent) {} + +QuickConnectDto *QuickConnectDto::fromJSON(QJsonObject source, QObject *parent) { + QuickConnectDto *instance = new QuickConnectDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void QuickConnectDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QuickConnectDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString QuickConnectDto::token() const { return m_token; } +void QuickConnectDto::setToken(QString newToken) { + m_token = newToken; + emit tokenChanged(newToken); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/quickconnectresult.cpp b/core/src/DTO/quickconnectresult.cpp new file mode 100644 index 0000000..8ec3a1f --- /dev/null +++ b/core/src/DTO/quickconnectresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +QuickConnectResult::QuickConnectResult(QObject *parent) : QObject(parent) {} + +QuickConnectResult *QuickConnectResult::fromJSON(QJsonObject source, QObject *parent) { + QuickConnectResult *instance = new QuickConnectResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void QuickConnectResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject QuickConnectResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool QuickConnectResult::authenticated() const { return m_authenticated; } +void QuickConnectResult::setAuthenticated(bool newAuthenticated) { + m_authenticated = newAuthenticated; + emit authenticatedChanged(newAuthenticated); +} + +QString QuickConnectResult::secret() const { return m_secret; } +void QuickConnectResult::setSecret(QString newSecret) { + m_secret = newSecret; + emit secretChanged(newSecret); +} + +QString QuickConnectResult::code() const { return m_code; } +void QuickConnectResult::setCode(QString newCode) { + m_code = newCode; + emit codeChanged(newCode); +} + +QString QuickConnectResult::authentication() const { return m_authentication; } +void QuickConnectResult::setAuthentication(QString newAuthentication) { + m_authentication = newAuthentication; + emit authenticationChanged(newAuthentication); +} + +QString QuickConnectResult::error() const { return m_error; } +void QuickConnectResult::setError(QString newError) { + m_error = newError; + emit errorChanged(newError); +} + +QDateTime QuickConnectResult::dateAdded() const { return m_dateAdded; } +void QuickConnectResult::setDateAdded(QDateTime newDateAdded) { + m_dateAdded = newDateAdded; + emit dateAddedChanged(newDateAdded); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/quickconnectstate.cpp b/core/src/DTO/quickconnectstate.cpp new file mode 100644 index 0000000..cdfcfed --- /dev/null +++ b/core/src/DTO/quickconnectstate.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/ratingtype.cpp b/core/src/DTO/ratingtype.cpp new file mode 100644 index 0000000..4ddcf94 --- /dev/null +++ b/core/src/DTO/ratingtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/readyrequestdto.cpp b/core/src/DTO/readyrequestdto.cpp new file mode 100644 index 0000000..16137e1 --- /dev/null +++ b/core/src/DTO/readyrequestdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ReadyRequestDto::ReadyRequestDto(QObject *parent) : QObject(parent) {} + +ReadyRequestDto *ReadyRequestDto::fromJSON(QJsonObject source, QObject *parent) { + ReadyRequestDto *instance = new ReadyRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void ReadyRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ReadyRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime ReadyRequestDto::when() const { return m_when; } +void ReadyRequestDto::setWhen(QDateTime newWhen) { + m_when = newWhen; + emit whenChanged(newWhen); +} + +qint64 ReadyRequestDto::positionTicks() const { return m_positionTicks; } +void ReadyRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +bool ReadyRequestDto::isPlaying() const { return m_isPlaying; } +void ReadyRequestDto::setIsPlaying(bool newIsPlaying) { + m_isPlaying = newIsPlaying; + emit isPlayingChanged(newIsPlaying); +} + +QString ReadyRequestDto::playlistItemId() const { return m_playlistItemId; } +void ReadyRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/recommendationdto.cpp b/core/src/DTO/recommendationdto.cpp new file mode 100644 index 0000000..7dd560f --- /dev/null +++ b/core/src/DTO/recommendationdto.cpp @@ -0,0 +1,79 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +RecommendationDto::RecommendationDto(QObject *parent) : QObject(parent) {} + +RecommendationDto *RecommendationDto::fromJSON(QJsonObject source, QObject *parent) { + RecommendationDto *instance = new RecommendationDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void RecommendationDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RecommendationDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList RecommendationDto::items() const { return m_items; } +void RecommendationDto::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +RecommendationType RecommendationDto::recommendationType() const { return m_recommendationType; } +void RecommendationDto::setRecommendationType(RecommendationType newRecommendationType) { + m_recommendationType = newRecommendationType; + emit recommendationTypeChanged(newRecommendationType); +} + +QString RecommendationDto::baselineItemName() const { return m_baselineItemName; } +void RecommendationDto::setBaselineItemName(QString newBaselineItemName) { + m_baselineItemName = newBaselineItemName; + emit baselineItemNameChanged(newBaselineItemName); +} + +QString RecommendationDto::categoryId() const { return m_categoryId; } +void RecommendationDto::setCategoryId(QString newCategoryId) { + m_categoryId = newCategoryId; + emit categoryIdChanged(newCategoryId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/recommendationtype.cpp b/core/src/DTO/recommendationtype.cpp new file mode 100644 index 0000000..02be660 --- /dev/null +++ b/core/src/DTO/recommendationtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/recordingstatus.cpp b/core/src/DTO/recordingstatus.cpp new file mode 100644 index 0000000..690d05e --- /dev/null +++ b/core/src/DTO/recordingstatus.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/remoteimageinfo.cpp b/core/src/DTO/remoteimageinfo.cpp new file mode 100644 index 0000000..6086bd8 --- /dev/null +++ b/core/src/DTO/remoteimageinfo.cpp @@ -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. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +RemoteImageInfo::RemoteImageInfo(QObject *parent) : QObject(parent) {} + +RemoteImageInfo *RemoteImageInfo::fromJSON(QJsonObject source, QObject *parent) { + RemoteImageInfo *instance = new RemoteImageInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void RemoteImageInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RemoteImageInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString RemoteImageInfo::providerName() const { return m_providerName; } +void RemoteImageInfo::setProviderName(QString newProviderName) { + m_providerName = newProviderName; + emit providerNameChanged(newProviderName); +} + +QString RemoteImageInfo::url() const { return m_url; } +void RemoteImageInfo::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + +QString RemoteImageInfo::thumbnailUrl() const { return m_thumbnailUrl; } +void RemoteImageInfo::setThumbnailUrl(QString newThumbnailUrl) { + m_thumbnailUrl = newThumbnailUrl; + emit thumbnailUrlChanged(newThumbnailUrl); +} + +qint32 RemoteImageInfo::height() const { return m_height; } +void RemoteImageInfo::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +qint32 RemoteImageInfo::width() const { return m_width; } +void RemoteImageInfo::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +double RemoteImageInfo::communityRating() const { return m_communityRating; } +void RemoteImageInfo::setCommunityRating(double newCommunityRating) { + m_communityRating = newCommunityRating; + emit communityRatingChanged(newCommunityRating); +} + +qint32 RemoteImageInfo::voteCount() const { return m_voteCount; } +void RemoteImageInfo::setVoteCount(qint32 newVoteCount) { + m_voteCount = newVoteCount; + emit voteCountChanged(newVoteCount); +} + +QString RemoteImageInfo::language() const { return m_language; } +void RemoteImageInfo::setLanguage(QString newLanguage) { + m_language = newLanguage; + emit languageChanged(newLanguage); +} + +ImageType RemoteImageInfo::type() const { return m_type; } +void RemoteImageInfo::setType(ImageType newType) { + m_type = newType; + emit typeChanged(newType); +} + +RatingType RemoteImageInfo::ratingType() const { return m_ratingType; } +void RemoteImageInfo::setRatingType(RatingType newRatingType) { + m_ratingType = newRatingType; + emit ratingTypeChanged(newRatingType); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/remoteimageresult.cpp b/core/src/DTO/remoteimageresult.cpp new file mode 100644 index 0000000..acab310 --- /dev/null +++ b/core/src/DTO/remoteimageresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoteImageResult::RemoteImageResult(QObject *parent) : QObject(parent) {} + +RemoteImageResult *RemoteImageResult::fromJSON(QJsonObject source, QObject *parent) { + RemoteImageResult *instance = new RemoteImageResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void RemoteImageResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RemoteImageResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList RemoteImageResult::images() const { return m_images; } +void RemoteImageResult::setImages(QList newImages) { + m_images = newImages; + emit imagesChanged(newImages); +} + +qint32 RemoteImageResult::totalRecordCount() const { return m_totalRecordCount; } +void RemoteImageResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +QStringList RemoteImageResult::providers() const { return m_providers; } +void RemoteImageResult::setProviders(QStringList newProviders) { + m_providers = newProviders; + emit providersChanged(newProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/remotesearchresult.cpp b/core/src/DTO/remotesearchresult.cpp new file mode 100644 index 0000000..7325bbd --- /dev/null +++ b/core/src/DTO/remotesearchresult.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 { + +RemoteSearchResult::RemoteSearchResult(QObject *parent) : QObject(parent) {} + +RemoteSearchResult *RemoteSearchResult::fromJSON(QJsonObject source, QObject *parent) { + RemoteSearchResult *instance = new RemoteSearchResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void RemoteSearchResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RemoteSearchResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString RemoteSearchResult::name() const { return m_name; } +void RemoteSearchResult::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QJsonObject RemoteSearchResult::providerIds() const { return m_providerIds; } +void RemoteSearchResult::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 RemoteSearchResult::productionYear() const { return m_productionYear; } +void RemoteSearchResult::setProductionYear(qint32 newProductionYear) { + m_productionYear = newProductionYear; + emit productionYearChanged(newProductionYear); +} + +qint32 RemoteSearchResult::indexNumber() const { return m_indexNumber; } +void RemoteSearchResult::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 RemoteSearchResult::indexNumberEnd() const { return m_indexNumberEnd; } +void RemoteSearchResult::setIndexNumberEnd(qint32 newIndexNumberEnd) { + m_indexNumberEnd = newIndexNumberEnd; + emit indexNumberEndChanged(newIndexNumberEnd); +} + +qint32 RemoteSearchResult::parentIndexNumber() const { return m_parentIndexNumber; } +void RemoteSearchResult::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime RemoteSearchResult::premiereDate() const { return m_premiereDate; } +void RemoteSearchResult::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +QString RemoteSearchResult::imageUrl() const { return m_imageUrl; } +void RemoteSearchResult::setImageUrl(QString newImageUrl) { + m_imageUrl = newImageUrl; + emit imageUrlChanged(newImageUrl); +} + +QString RemoteSearchResult::searchProviderName() const { return m_searchProviderName; } +void RemoteSearchResult::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +QString RemoteSearchResult::overview() const { return m_overview; } +void RemoteSearchResult::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +RemoteSearchResult * RemoteSearchResult::albumArtist() const { return m_albumArtist; } +void RemoteSearchResult::setAlbumArtist(RemoteSearchResult * newAlbumArtist) { + m_albumArtist = newAlbumArtist; + emit albumArtistChanged(newAlbumArtist); +} + +QList RemoteSearchResult::artists() const { return m_artists; } +void RemoteSearchResult::setArtists(QList newArtists) { + m_artists = newArtists; + emit artistsChanged(newArtists); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/remotesubtitleinfo.cpp b/core/src/DTO/remotesubtitleinfo.cpp new file mode 100644 index 0000000..bd98639 --- /dev/null +++ b/core/src/DTO/remotesubtitleinfo.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 { + +RemoteSubtitleInfo::RemoteSubtitleInfo(QObject *parent) : QObject(parent) {} + +RemoteSubtitleInfo *RemoteSubtitleInfo::fromJSON(QJsonObject source, QObject *parent) { + RemoteSubtitleInfo *instance = new RemoteSubtitleInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void RemoteSubtitleInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RemoteSubtitleInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString RemoteSubtitleInfo::threeLetterISOLanguageName() const { return m_threeLetterISOLanguageName; } +void RemoteSubtitleInfo::setThreeLetterISOLanguageName(QString newThreeLetterISOLanguageName) { + m_threeLetterISOLanguageName = newThreeLetterISOLanguageName; + emit threeLetterISOLanguageNameChanged(newThreeLetterISOLanguageName); +} + +QString RemoteSubtitleInfo::jellyfinId() const { return m_jellyfinId; } +void RemoteSubtitleInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString RemoteSubtitleInfo::providerName() const { return m_providerName; } +void RemoteSubtitleInfo::setProviderName(QString newProviderName) { + m_providerName = newProviderName; + emit providerNameChanged(newProviderName); +} + +QString RemoteSubtitleInfo::name() const { return m_name; } +void RemoteSubtitleInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString RemoteSubtitleInfo::format() const { return m_format; } +void RemoteSubtitleInfo::setFormat(QString newFormat) { + m_format = newFormat; + emit formatChanged(newFormat); +} + +QString RemoteSubtitleInfo::author() const { return m_author; } +void RemoteSubtitleInfo::setAuthor(QString newAuthor) { + m_author = newAuthor; + emit authorChanged(newAuthor); +} + +QString RemoteSubtitleInfo::comment() const { return m_comment; } +void RemoteSubtitleInfo::setComment(QString newComment) { + m_comment = newComment; + emit commentChanged(newComment); +} + +QDateTime RemoteSubtitleInfo::dateCreated() const { return m_dateCreated; } +void RemoteSubtitleInfo::setDateCreated(QDateTime newDateCreated) { + m_dateCreated = newDateCreated; + emit dateCreatedChanged(newDateCreated); +} + +float RemoteSubtitleInfo::communityRating() const { return m_communityRating; } +void RemoteSubtitleInfo::setCommunityRating(float newCommunityRating) { + m_communityRating = newCommunityRating; + emit communityRatingChanged(newCommunityRating); +} + +qint32 RemoteSubtitleInfo::downloadCount() const { return m_downloadCount; } +void RemoteSubtitleInfo::setDownloadCount(qint32 newDownloadCount) { + m_downloadCount = newDownloadCount; + emit downloadCountChanged(newDownloadCount); +} + +bool RemoteSubtitleInfo::isHashMatch() const { return m_isHashMatch; } +void RemoteSubtitleInfo::setIsHashMatch(bool newIsHashMatch) { + m_isHashMatch = newIsHashMatch; + emit isHashMatchChanged(newIsHashMatch); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/removefromplaylistrequestdto.cpp b/core/src/DTO/removefromplaylistrequestdto.cpp new file mode 100644 index 0000000..54cfc71 --- /dev/null +++ b/core/src/DTO/removefromplaylistrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RemoveFromPlaylistRequestDto::RemoveFromPlaylistRequestDto(QObject *parent) : QObject(parent) {} + +RemoveFromPlaylistRequestDto *RemoveFromPlaylistRequestDto::fromJSON(QJsonObject source, QObject *parent) { + RemoveFromPlaylistRequestDto *instance = new RemoveFromPlaylistRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void RemoveFromPlaylistRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RemoveFromPlaylistRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QStringList RemoveFromPlaylistRequestDto::playlistItemIds() const { return m_playlistItemIds; } +void RemoveFromPlaylistRequestDto::setPlaylistItemIds(QStringList newPlaylistItemIds) { + m_playlistItemIds = newPlaylistItemIds; + emit playlistItemIdsChanged(newPlaylistItemIds); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/repeatmode.cpp b/core/src/DTO/repeatmode.cpp new file mode 100644 index 0000000..595f763 --- /dev/null +++ b/core/src/DTO/repeatmode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/repositoryinfo.cpp b/core/src/DTO/repositoryinfo.cpp new file mode 100644 index 0000000..8fe5d2f --- /dev/null +++ b/core/src/DTO/repositoryinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +RepositoryInfo::RepositoryInfo(QObject *parent) : QObject(parent) {} + +RepositoryInfo *RepositoryInfo::fromJSON(QJsonObject source, QObject *parent) { + RepositoryInfo *instance = new RepositoryInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void RepositoryInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject RepositoryInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString RepositoryInfo::name() const { return m_name; } +void RepositoryInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString RepositoryInfo::url() const { return m_url; } +void RepositoryInfo::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + +bool RepositoryInfo::enabled() const { return m_enabled; } +void RepositoryInfo::setEnabled(bool newEnabled) { + m_enabled = newEnabled; + emit enabledChanged(newEnabled); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/responseprofile.cpp b/core/src/DTO/responseprofile.cpp new file mode 100644 index 0000000..a6cfe69 --- /dev/null +++ b/core/src/DTO/responseprofile.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +ResponseProfile::ResponseProfile(QObject *parent) : QObject(parent) {} + +ResponseProfile *ResponseProfile::fromJSON(QJsonObject source, QObject *parent) { + ResponseProfile *instance = new ResponseProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void ResponseProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ResponseProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString ResponseProfile::container() const { return m_container; } +void ResponseProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +QString ResponseProfile::audioCodec() const { return m_audioCodec; } +void ResponseProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; + emit audioCodecChanged(newAudioCodec); +} + +QString ResponseProfile::videoCodec() const { return m_videoCodec; } +void ResponseProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; + emit videoCodecChanged(newVideoCodec); +} + +DlnaProfileType ResponseProfile::type() const { return m_type; } +void ResponseProfile::setType(DlnaProfileType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString ResponseProfile::orgPn() const { return m_orgPn; } +void ResponseProfile::setOrgPn(QString newOrgPn) { + m_orgPn = newOrgPn; + emit orgPnChanged(newOrgPn); +} + +QString ResponseProfile::mimeType() const { return m_mimeType; } +void ResponseProfile::setMimeType(QString newMimeType) { + m_mimeType = newMimeType; + emit mimeTypeChanged(newMimeType); +} + +QList ResponseProfile::conditions() const { return m_conditions; } +void ResponseProfile::setConditions(QList newConditions) { + m_conditions = newConditions; + emit conditionsChanged(newConditions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/scrolldirection.cpp b/core/src/DTO/scrolldirection.cpp new file mode 100644 index 0000000..893d2fa --- /dev/null +++ b/core/src/DTO/scrolldirection.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/searchhint.cpp b/core/src/DTO/searchhint.cpp new file mode 100644 index 0000000..d494678 --- /dev/null +++ b/core/src/DTO/searchhint.cpp @@ -0,0 +1,227 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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(QObject *parent) : QObject(parent) {} + +SearchHint *SearchHint::fromJSON(QJsonObject source, QObject *parent) { + SearchHint *instance = new SearchHint(parent); + instance->updateFromJSON(source); + return instance; +} + +void SearchHint::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SearchHint::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SearchHint::itemId() const { return m_itemId; } +void SearchHint::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString SearchHint::jellyfinId() const { return m_jellyfinId; } +void SearchHint::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString SearchHint::name() const { return m_name; } +void SearchHint::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString SearchHint::matchedTerm() const { return m_matchedTerm; } +void SearchHint::setMatchedTerm(QString newMatchedTerm) { + m_matchedTerm = newMatchedTerm; + emit matchedTermChanged(newMatchedTerm); +} + +qint32 SearchHint::indexNumber() const { return m_indexNumber; } +void SearchHint::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 SearchHint::productionYear() const { return m_productionYear; } +void SearchHint::setProductionYear(qint32 newProductionYear) { + m_productionYear = newProductionYear; + emit productionYearChanged(newProductionYear); +} + +qint32 SearchHint::parentIndexNumber() const { return m_parentIndexNumber; } +void SearchHint::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QString SearchHint::primaryImageTag() const { return m_primaryImageTag; } +void SearchHint::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; + emit primaryImageTagChanged(newPrimaryImageTag); +} + +QString SearchHint::thumbImageTag() const { return m_thumbImageTag; } +void SearchHint::setThumbImageTag(QString newThumbImageTag) { + m_thumbImageTag = newThumbImageTag; + emit thumbImageTagChanged(newThumbImageTag); +} + +QString SearchHint::thumbImageItemId() const { return m_thumbImageItemId; } +void SearchHint::setThumbImageItemId(QString newThumbImageItemId) { + m_thumbImageItemId = newThumbImageItemId; + emit thumbImageItemIdChanged(newThumbImageItemId); +} + +QString SearchHint::backdropImageTag() const { return m_backdropImageTag; } +void SearchHint::setBackdropImageTag(QString newBackdropImageTag) { + m_backdropImageTag = newBackdropImageTag; + emit backdropImageTagChanged(newBackdropImageTag); +} + +QString SearchHint::backdropImageItemId() const { return m_backdropImageItemId; } +void SearchHint::setBackdropImageItemId(QString newBackdropImageItemId) { + m_backdropImageItemId = newBackdropImageItemId; + emit backdropImageItemIdChanged(newBackdropImageItemId); +} + +QString SearchHint::type() const { return m_type; } +void SearchHint::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +bool SearchHint::isFolder() const { return m_isFolder; } +void SearchHint::setIsFolder(bool newIsFolder) { + m_isFolder = newIsFolder; + emit isFolderChanged(newIsFolder); +} + +qint64 SearchHint::runTimeTicks() const { return m_runTimeTicks; } +void SearchHint::setRunTimeTicks(qint64 newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; + emit runTimeTicksChanged(newRunTimeTicks); +} + +QString SearchHint::mediaType() const { return m_mediaType; } +void SearchHint::setMediaType(QString newMediaType) { + m_mediaType = newMediaType; + emit mediaTypeChanged(newMediaType); +} + +QDateTime SearchHint::startDate() const { return m_startDate; } +void SearchHint::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; + emit startDateChanged(newStartDate); +} + +QDateTime SearchHint::endDate() const { return m_endDate; } +void SearchHint::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; + emit endDateChanged(newEndDate); +} + +QString SearchHint::series() const { return m_series; } +void SearchHint::setSeries(QString newSeries) { + m_series = newSeries; + emit seriesChanged(newSeries); +} + +QString SearchHint::status() const { return m_status; } +void SearchHint::setStatus(QString newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString SearchHint::album() const { return m_album; } +void SearchHint::setAlbum(QString newAlbum) { + m_album = newAlbum; + emit albumChanged(newAlbum); +} + +QString SearchHint::albumId() const { return m_albumId; } +void SearchHint::setAlbumId(QString newAlbumId) { + m_albumId = newAlbumId; + emit albumIdChanged(newAlbumId); +} + +QString SearchHint::albumArtist() const { return m_albumArtist; } +void SearchHint::setAlbumArtist(QString newAlbumArtist) { + m_albumArtist = newAlbumArtist; + emit albumArtistChanged(newAlbumArtist); +} + +QStringList SearchHint::artists() const { return m_artists; } +void SearchHint::setArtists(QStringList newArtists) { + m_artists = newArtists; + emit artistsChanged(newArtists); +} + +qint32 SearchHint::songCount() const { return m_songCount; } +void SearchHint::setSongCount(qint32 newSongCount) { + m_songCount = newSongCount; + emit songCountChanged(newSongCount); +} + +qint32 SearchHint::episodeCount() const { return m_episodeCount; } +void SearchHint::setEpisodeCount(qint32 newEpisodeCount) { + m_episodeCount = newEpisodeCount; + emit episodeCountChanged(newEpisodeCount); +} + +QString SearchHint::channelId() const { return m_channelId; } +void SearchHint::setChannelId(QString newChannelId) { + m_channelId = newChannelId; + emit channelIdChanged(newChannelId); +} + +QString SearchHint::channelName() const { return m_channelName; } +void SearchHint::setChannelName(QString newChannelName) { + m_channelName = newChannelName; + emit channelNameChanged(newChannelName); +} + +double SearchHint::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } +void SearchHint::setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; + emit primaryImageAspectRatioChanged(newPrimaryImageAspectRatio); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/searchhintresult.cpp b/core/src/DTO/searchhintresult.cpp new file mode 100644 index 0000000..20704ae --- /dev/null +++ b/core/src/DTO/searchhintresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SearchHintResult::SearchHintResult(QObject *parent) : QObject(parent) {} + +SearchHintResult *SearchHintResult::fromJSON(QJsonObject source, QObject *parent) { + SearchHintResult *instance = new SearchHintResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void SearchHintResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SearchHintResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList SearchHintResult::searchHints() const { return m_searchHints; } +void SearchHintResult::setSearchHints(QList newSearchHints) { + m_searchHints = newSearchHints; + emit searchHintsChanged(newSearchHints); +} + +qint32 SearchHintResult::totalRecordCount() const { return m_totalRecordCount; } +void SearchHintResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/seekrequestdto.cpp b/core/src/DTO/seekrequestdto.cpp new file mode 100644 index 0000000..9a61353 --- /dev/null +++ b/core/src/DTO/seekrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeekRequestDto::SeekRequestDto(QObject *parent) : QObject(parent) {} + +SeekRequestDto *SeekRequestDto::fromJSON(QJsonObject source, QObject *parent) { + SeekRequestDto *instance = new SeekRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SeekRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SeekRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint64 SeekRequestDto::positionTicks() const { return m_positionTicks; } +void SeekRequestDto::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/sendcommand.cpp b/core/src/DTO/sendcommand.cpp new file mode 100644 index 0000000..fb7a981 --- /dev/null +++ b/core/src/DTO/sendcommand.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +SendCommand::SendCommand(QObject *parent) : QObject(parent) {} + +SendCommand *SendCommand::fromJSON(QJsonObject source, QObject *parent) { + SendCommand *instance = new SendCommand(parent); + instance->updateFromJSON(source); + return instance; +} + +void SendCommand::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SendCommand::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SendCommand::groupId() const { return m_groupId; } +void SendCommand::setGroupId(QString newGroupId) { + m_groupId = newGroupId; + emit groupIdChanged(newGroupId); +} + +QString SendCommand::playlistItemId() const { return m_playlistItemId; } +void SendCommand::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + +QDateTime SendCommand::when() const { return m_when; } +void SendCommand::setWhen(QDateTime newWhen) { + m_when = newWhen; + emit whenChanged(newWhen); +} + +qint64 SendCommand::positionTicks() const { return m_positionTicks; } +void SendCommand::setPositionTicks(qint64 newPositionTicks) { + m_positionTicks = newPositionTicks; + emit positionTicksChanged(newPositionTicks); +} + +SendCommandType SendCommand::command() const { return m_command; } +void SendCommand::setCommand(SendCommandType newCommand) { + m_command = newCommand; + emit commandChanged(newCommand); +} + +QDateTime SendCommand::emittedAt() const { return m_emittedAt; } +void SendCommand::setEmittedAt(QDateTime newEmittedAt) { + m_emittedAt = newEmittedAt; + emit emittedAtChanged(newEmittedAt); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/sendcommandtype.cpp b/core/src/DTO/sendcommandtype.cpp new file mode 100644 index 0000000..38d62ba --- /dev/null +++ b/core/src/DTO/sendcommandtype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/seriesinfo.cpp b/core/src/DTO/seriesinfo.cpp new file mode 100644 index 0000000..17dbca8 --- /dev/null +++ b/core/src/DTO/seriesinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesInfo::SeriesInfo(QObject *parent) : QObject(parent) {} + +SeriesInfo *SeriesInfo::fromJSON(QJsonObject source, QObject *parent) { + SeriesInfo *instance = new SeriesInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void SeriesInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SeriesInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SeriesInfo::name() const { return m_name; } +void SeriesInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString SeriesInfo::path() const { return m_path; } +void SeriesInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString SeriesInfo::metadataLanguage() const { return m_metadataLanguage; } +void SeriesInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString SeriesInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void SeriesInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject SeriesInfo::providerIds() const { return m_providerIds; } +void SeriesInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 SeriesInfo::year() const { return m_year; } +void SeriesInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 SeriesInfo::indexNumber() const { return m_indexNumber; } +void SeriesInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 SeriesInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void SeriesInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime SeriesInfo::premiereDate() const { return m_premiereDate; } +void SeriesInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool SeriesInfo::isAutomated() const { return m_isAutomated; } +void SeriesInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/seriesinforemotesearchquery.cpp b/core/src/DTO/seriesinforemotesearchquery.cpp new file mode 100644 index 0000000..8f4e74f --- /dev/null +++ b/core/src/DTO/seriesinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesInfoRemoteSearchQuery::SeriesInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +SeriesInfoRemoteSearchQuery *SeriesInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + SeriesInfoRemoteSearchQuery *instance = new SeriesInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void SeriesInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SeriesInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +SeriesInfo * SeriesInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void SeriesInfoRemoteSearchQuery::setSearchInfo(SeriesInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString SeriesInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void SeriesInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString SeriesInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void SeriesInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool SeriesInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void SeriesInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/seriesstatus.cpp b/core/src/DTO/seriesstatus.cpp new file mode 100644 index 0000000..5b4d870 --- /dev/null +++ b/core/src/DTO/seriesstatus.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/seriestimerinfodto.cpp b/core/src/DTO/seriestimerinfodto.cpp new file mode 100644 index 0000000..3b259a1 --- /dev/null +++ b/core/src/DTO/seriestimerinfodto.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 + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +SeriesTimerInfoDto::SeriesTimerInfoDto(QObject *parent) : QObject(parent) {} + +SeriesTimerInfoDto *SeriesTimerInfoDto::fromJSON(QJsonObject source, QObject *parent) { + SeriesTimerInfoDto *instance = new SeriesTimerInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SeriesTimerInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SeriesTimerInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SeriesTimerInfoDto::jellyfinId() const { return m_jellyfinId; } +void SeriesTimerInfoDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString SeriesTimerInfoDto::type() const { return m_type; } +void SeriesTimerInfoDto::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString SeriesTimerInfoDto::serverId() const { return m_serverId; } +void SeriesTimerInfoDto::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + +QString SeriesTimerInfoDto::externalId() const { return m_externalId; } +void SeriesTimerInfoDto::setExternalId(QString newExternalId) { + m_externalId = newExternalId; + emit externalIdChanged(newExternalId); +} + +QString SeriesTimerInfoDto::channelId() const { return m_channelId; } +void SeriesTimerInfoDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; + emit channelIdChanged(newChannelId); +} + +QString SeriesTimerInfoDto::externalChannelId() const { return m_externalChannelId; } +void SeriesTimerInfoDto::setExternalChannelId(QString newExternalChannelId) { + m_externalChannelId = newExternalChannelId; + emit externalChannelIdChanged(newExternalChannelId); +} + +QString SeriesTimerInfoDto::channelName() const { return m_channelName; } +void SeriesTimerInfoDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; + emit channelNameChanged(newChannelName); +} + +QString SeriesTimerInfoDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } +void SeriesTimerInfoDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; + emit channelPrimaryImageTagChanged(newChannelPrimaryImageTag); +} + +QString SeriesTimerInfoDto::programId() const { return m_programId; } +void SeriesTimerInfoDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; + emit programIdChanged(newProgramId); +} + +QString SeriesTimerInfoDto::externalProgramId() const { return m_externalProgramId; } +void SeriesTimerInfoDto::setExternalProgramId(QString newExternalProgramId) { + m_externalProgramId = newExternalProgramId; + emit externalProgramIdChanged(newExternalProgramId); +} + +QString SeriesTimerInfoDto::name() const { return m_name; } +void SeriesTimerInfoDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString SeriesTimerInfoDto::overview() const { return m_overview; } +void SeriesTimerInfoDto::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +QDateTime SeriesTimerInfoDto::startDate() const { return m_startDate; } +void SeriesTimerInfoDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; + emit startDateChanged(newStartDate); +} + +QDateTime SeriesTimerInfoDto::endDate() const { return m_endDate; } +void SeriesTimerInfoDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; + emit endDateChanged(newEndDate); +} + +QString SeriesTimerInfoDto::serviceName() const { return m_serviceName; } +void SeriesTimerInfoDto::setServiceName(QString newServiceName) { + m_serviceName = newServiceName; + emit serviceNameChanged(newServiceName); +} + +qint32 SeriesTimerInfoDto::priority() const { return m_priority; } +void SeriesTimerInfoDto::setPriority(qint32 newPriority) { + m_priority = newPriority; + emit priorityChanged(newPriority); +} + +qint32 SeriesTimerInfoDto::prePaddingSeconds() const { return m_prePaddingSeconds; } +void SeriesTimerInfoDto::setPrePaddingSeconds(qint32 newPrePaddingSeconds) { + m_prePaddingSeconds = newPrePaddingSeconds; + emit prePaddingSecondsChanged(newPrePaddingSeconds); +} + +qint32 SeriesTimerInfoDto::postPaddingSeconds() const { return m_postPaddingSeconds; } +void SeriesTimerInfoDto::setPostPaddingSeconds(qint32 newPostPaddingSeconds) { + m_postPaddingSeconds = newPostPaddingSeconds; + emit postPaddingSecondsChanged(newPostPaddingSeconds); +} + +bool SeriesTimerInfoDto::isPrePaddingRequired() const { return m_isPrePaddingRequired; } +void SeriesTimerInfoDto::setIsPrePaddingRequired(bool newIsPrePaddingRequired) { + m_isPrePaddingRequired = newIsPrePaddingRequired; + emit isPrePaddingRequiredChanged(newIsPrePaddingRequired); +} + +QString SeriesTimerInfoDto::parentBackdropItemId() const { return m_parentBackdropItemId; } +void SeriesTimerInfoDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; + emit parentBackdropItemIdChanged(newParentBackdropItemId); +} + +QStringList SeriesTimerInfoDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } +void SeriesTimerInfoDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; + emit parentBackdropImageTagsChanged(newParentBackdropImageTags); +} + +bool SeriesTimerInfoDto::isPostPaddingRequired() const { return m_isPostPaddingRequired; } +void SeriesTimerInfoDto::setIsPostPaddingRequired(bool newIsPostPaddingRequired) { + m_isPostPaddingRequired = newIsPostPaddingRequired; + emit isPostPaddingRequiredChanged(newIsPostPaddingRequired); +} + +KeepUntil SeriesTimerInfoDto::keepUntil() const { return m_keepUntil; } +void SeriesTimerInfoDto::setKeepUntil(KeepUntil newKeepUntil) { + m_keepUntil = newKeepUntil; + emit keepUntilChanged(newKeepUntil); +} + +bool SeriesTimerInfoDto::recordAnyTime() const { return m_recordAnyTime; } +void SeriesTimerInfoDto::setRecordAnyTime(bool newRecordAnyTime) { + m_recordAnyTime = newRecordAnyTime; + emit recordAnyTimeChanged(newRecordAnyTime); +} + +bool SeriesTimerInfoDto::skipEpisodesInLibrary() const { return m_skipEpisodesInLibrary; } +void SeriesTimerInfoDto::setSkipEpisodesInLibrary(bool newSkipEpisodesInLibrary) { + m_skipEpisodesInLibrary = newSkipEpisodesInLibrary; + emit skipEpisodesInLibraryChanged(newSkipEpisodesInLibrary); +} + +bool SeriesTimerInfoDto::recordAnyChannel() const { return m_recordAnyChannel; } +void SeriesTimerInfoDto::setRecordAnyChannel(bool newRecordAnyChannel) { + m_recordAnyChannel = newRecordAnyChannel; + emit recordAnyChannelChanged(newRecordAnyChannel); +} + +qint32 SeriesTimerInfoDto::keepUpTo() const { return m_keepUpTo; } +void SeriesTimerInfoDto::setKeepUpTo(qint32 newKeepUpTo) { + m_keepUpTo = newKeepUpTo; + emit keepUpToChanged(newKeepUpTo); +} + +bool SeriesTimerInfoDto::recordNewOnly() const { return m_recordNewOnly; } +void SeriesTimerInfoDto::setRecordNewOnly(bool newRecordNewOnly) { + m_recordNewOnly = newRecordNewOnly; + emit recordNewOnlyChanged(newRecordNewOnly); +} + +QList SeriesTimerInfoDto::days() const { return m_days; } +void SeriesTimerInfoDto::setDays(QList newDays) { + m_days = newDays; + emit daysChanged(newDays); +} + +DayPattern SeriesTimerInfoDto::dayPattern() const { return m_dayPattern; } +void SeriesTimerInfoDto::setDayPattern(DayPattern newDayPattern) { + m_dayPattern = newDayPattern; + emit dayPatternChanged(newDayPattern); +} + +QJsonObject SeriesTimerInfoDto::imageTags() const { return m_imageTags; } +void SeriesTimerInfoDto::setImageTags(QJsonObject newImageTags) { + m_imageTags = newImageTags; + emit imageTagsChanged(newImageTags); +} + +QString SeriesTimerInfoDto::parentThumbItemId() const { return m_parentThumbItemId; } +void SeriesTimerInfoDto::setParentThumbItemId(QString newParentThumbItemId) { + m_parentThumbItemId = newParentThumbItemId; + emit parentThumbItemIdChanged(newParentThumbItemId); +} + +QString SeriesTimerInfoDto::parentThumbImageTag() const { return m_parentThumbImageTag; } +void SeriesTimerInfoDto::setParentThumbImageTag(QString newParentThumbImageTag) { + m_parentThumbImageTag = newParentThumbImageTag; + emit parentThumbImageTagChanged(newParentThumbImageTag); +} + +QString SeriesTimerInfoDto::parentPrimaryImageItemId() const { return m_parentPrimaryImageItemId; } +void SeriesTimerInfoDto::setParentPrimaryImageItemId(QString newParentPrimaryImageItemId) { + m_parentPrimaryImageItemId = newParentPrimaryImageItemId; + emit parentPrimaryImageItemIdChanged(newParentPrimaryImageItemId); +} + +QString SeriesTimerInfoDto::parentPrimaryImageTag() const { return m_parentPrimaryImageTag; } +void SeriesTimerInfoDto::setParentPrimaryImageTag(QString newParentPrimaryImageTag) { + m_parentPrimaryImageTag = newParentPrimaryImageTag; + emit parentPrimaryImageTagChanged(newParentPrimaryImageTag); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/seriestimerinfodtoqueryresult.cpp b/core/src/DTO/seriestimerinfodtoqueryresult.cpp new file mode 100644 index 0000000..a9d8388 --- /dev/null +++ b/core/src/DTO/seriestimerinfodtoqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SeriesTimerInfoDtoQueryResult::SeriesTimerInfoDtoQueryResult(QObject *parent) : QObject(parent) {} + +SeriesTimerInfoDtoQueryResult *SeriesTimerInfoDtoQueryResult::fromJSON(QJsonObject source, QObject *parent) { + SeriesTimerInfoDtoQueryResult *instance = new SeriesTimerInfoDtoQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void SeriesTimerInfoDtoQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SeriesTimerInfoDtoQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList SeriesTimerInfoDtoQueryResult::items() const { return m_items; } +void SeriesTimerInfoDtoQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 SeriesTimerInfoDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void SeriesTimerInfoDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 SeriesTimerInfoDtoQueryResult::startIndex() const { return m_startIndex; } +void SeriesTimerInfoDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/serverconfiguration.cpp b/core/src/DTO/serverconfiguration.cpp new file mode 100644 index 0000000..621d0a7 --- /dev/null +++ b/core/src/DTO/serverconfiguration.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 + +#include + +namespace Jellyfin { +namespace DTO { + +ServerConfiguration::ServerConfiguration(QObject *parent) : QObject(parent) {} + +ServerConfiguration *ServerConfiguration::fromJSON(QJsonObject source, QObject *parent) { + ServerConfiguration *instance = new ServerConfiguration(parent); + instance->updateFromJSON(source); + return instance; +} + +void ServerConfiguration::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ServerConfiguration::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint32 ServerConfiguration::logFileRetentionDays() const { return m_logFileRetentionDays; } +void ServerConfiguration::setLogFileRetentionDays(qint32 newLogFileRetentionDays) { + m_logFileRetentionDays = newLogFileRetentionDays; + emit logFileRetentionDaysChanged(newLogFileRetentionDays); +} + +bool ServerConfiguration::isStartupWizardCompleted() const { return m_isStartupWizardCompleted; } +void ServerConfiguration::setIsStartupWizardCompleted(bool newIsStartupWizardCompleted) { + m_isStartupWizardCompleted = newIsStartupWizardCompleted; + emit isStartupWizardCompletedChanged(newIsStartupWizardCompleted); +} + +QString ServerConfiguration::cachePath() const { return m_cachePath; } +void ServerConfiguration::setCachePath(QString newCachePath) { + m_cachePath = newCachePath; + emit cachePathChanged(newCachePath); +} + +Version * ServerConfiguration::previousVersion() const { return m_previousVersion; } +void ServerConfiguration::setPreviousVersion(Version * newPreviousVersion) { + m_previousVersion = newPreviousVersion; + emit previousVersionChanged(newPreviousVersion); +} + +QString ServerConfiguration::previousVersionStr() const { return m_previousVersionStr; } +void ServerConfiguration::setPreviousVersionStr(QString newPreviousVersionStr) { + m_previousVersionStr = newPreviousVersionStr; + emit previousVersionStrChanged(newPreviousVersionStr); +} + +bool ServerConfiguration::enableUPnP() const { return m_enableUPnP; } +void ServerConfiguration::setEnableUPnP(bool newEnableUPnP) { + m_enableUPnP = newEnableUPnP; + emit enableUPnPChanged(newEnableUPnP); +} + +bool ServerConfiguration::enableMetrics() const { return m_enableMetrics; } +void ServerConfiguration::setEnableMetrics(bool newEnableMetrics) { + m_enableMetrics = newEnableMetrics; + emit enableMetricsChanged(newEnableMetrics); +} + +qint32 ServerConfiguration::publicPort() const { return m_publicPort; } +void ServerConfiguration::setPublicPort(qint32 newPublicPort) { + m_publicPort = newPublicPort; + emit publicPortChanged(newPublicPort); +} + +bool ServerConfiguration::uPnPCreateHttpPortMap() const { return m_uPnPCreateHttpPortMap; } +void ServerConfiguration::setUPnPCreateHttpPortMap(bool newUPnPCreateHttpPortMap) { + m_uPnPCreateHttpPortMap = newUPnPCreateHttpPortMap; + emit uPnPCreateHttpPortMapChanged(newUPnPCreateHttpPortMap); +} + +QString ServerConfiguration::uDPPortRange() const { return m_uDPPortRange; } +void ServerConfiguration::setUDPPortRange(QString newUDPPortRange) { + m_uDPPortRange = newUDPPortRange; + emit uDPPortRangeChanged(newUDPPortRange); +} + +bool ServerConfiguration::enableIPV6() const { return m_enableIPV6; } +void ServerConfiguration::setEnableIPV6(bool newEnableIPV6) { + m_enableIPV6 = newEnableIPV6; + emit enableIPV6Changed(newEnableIPV6); +} + +bool ServerConfiguration::enableIPV4() const { return m_enableIPV4; } +void ServerConfiguration::setEnableIPV4(bool newEnableIPV4) { + m_enableIPV4 = newEnableIPV4; + emit enableIPV4Changed(newEnableIPV4); +} + +bool ServerConfiguration::enableSSDPTracing() const { return m_enableSSDPTracing; } +void ServerConfiguration::setEnableSSDPTracing(bool newEnableSSDPTracing) { + m_enableSSDPTracing = newEnableSSDPTracing; + emit enableSSDPTracingChanged(newEnableSSDPTracing); +} + +QString ServerConfiguration::sSDPTracingFilter() const { return m_sSDPTracingFilter; } +void ServerConfiguration::setSSDPTracingFilter(QString newSSDPTracingFilter) { + m_sSDPTracingFilter = newSSDPTracingFilter; + emit sSDPTracingFilterChanged(newSSDPTracingFilter); +} + +qint32 ServerConfiguration::uDPSendCount() const { return m_uDPSendCount; } +void ServerConfiguration::setUDPSendCount(qint32 newUDPSendCount) { + m_uDPSendCount = newUDPSendCount; + emit uDPSendCountChanged(newUDPSendCount); +} + +qint32 ServerConfiguration::uDPSendDelay() const { return m_uDPSendDelay; } +void ServerConfiguration::setUDPSendDelay(qint32 newUDPSendDelay) { + m_uDPSendDelay = newUDPSendDelay; + emit uDPSendDelayChanged(newUDPSendDelay); +} + +bool ServerConfiguration::ignoreVirtualInterfaces() const { return m_ignoreVirtualInterfaces; } +void ServerConfiguration::setIgnoreVirtualInterfaces(bool newIgnoreVirtualInterfaces) { + m_ignoreVirtualInterfaces = newIgnoreVirtualInterfaces; + emit ignoreVirtualInterfacesChanged(newIgnoreVirtualInterfaces); +} + +QString ServerConfiguration::virtualInterfaceNames() const { return m_virtualInterfaceNames; } +void ServerConfiguration::setVirtualInterfaceNames(QString newVirtualInterfaceNames) { + m_virtualInterfaceNames = newVirtualInterfaceNames; + emit virtualInterfaceNamesChanged(newVirtualInterfaceNames); +} + +qint32 ServerConfiguration::gatewayMonitorPeriod() const { return m_gatewayMonitorPeriod; } +void ServerConfiguration::setGatewayMonitorPeriod(qint32 newGatewayMonitorPeriod) { + m_gatewayMonitorPeriod = newGatewayMonitorPeriod; + emit gatewayMonitorPeriodChanged(newGatewayMonitorPeriod); +} + +bool ServerConfiguration::enableMultiSocketBinding() const { return m_enableMultiSocketBinding; } +void ServerConfiguration::setEnableMultiSocketBinding(bool newEnableMultiSocketBinding) { + m_enableMultiSocketBinding = newEnableMultiSocketBinding; + emit enableMultiSocketBindingChanged(newEnableMultiSocketBinding); +} + +bool ServerConfiguration::trustAllIP6Interfaces() const { return m_trustAllIP6Interfaces; } +void ServerConfiguration::setTrustAllIP6Interfaces(bool newTrustAllIP6Interfaces) { + m_trustAllIP6Interfaces = newTrustAllIP6Interfaces; + emit trustAllIP6InterfacesChanged(newTrustAllIP6Interfaces); +} + +QString ServerConfiguration::hDHomerunPortRange() const { return m_hDHomerunPortRange; } +void ServerConfiguration::setHDHomerunPortRange(QString newHDHomerunPortRange) { + m_hDHomerunPortRange = newHDHomerunPortRange; + emit hDHomerunPortRangeChanged(newHDHomerunPortRange); +} + +QStringList ServerConfiguration::publishedServerUriBySubnet() const { return m_publishedServerUriBySubnet; } +void ServerConfiguration::setPublishedServerUriBySubnet(QStringList newPublishedServerUriBySubnet) { + m_publishedServerUriBySubnet = newPublishedServerUriBySubnet; + emit publishedServerUriBySubnetChanged(newPublishedServerUriBySubnet); +} + +bool ServerConfiguration::autoDiscoveryTracing() const { return m_autoDiscoveryTracing; } +void ServerConfiguration::setAutoDiscoveryTracing(bool newAutoDiscoveryTracing) { + m_autoDiscoveryTracing = newAutoDiscoveryTracing; + emit autoDiscoveryTracingChanged(newAutoDiscoveryTracing); +} + +bool ServerConfiguration::autoDiscovery() const { return m_autoDiscovery; } +void ServerConfiguration::setAutoDiscovery(bool newAutoDiscovery) { + m_autoDiscovery = newAutoDiscovery; + emit autoDiscoveryChanged(newAutoDiscovery); +} + +qint32 ServerConfiguration::publicHttpsPort() const { return m_publicHttpsPort; } +void ServerConfiguration::setPublicHttpsPort(qint32 newPublicHttpsPort) { + m_publicHttpsPort = newPublicHttpsPort; + emit publicHttpsPortChanged(newPublicHttpsPort); +} + +qint32 ServerConfiguration::httpServerPortNumber() const { return m_httpServerPortNumber; } +void ServerConfiguration::setHttpServerPortNumber(qint32 newHttpServerPortNumber) { + m_httpServerPortNumber = newHttpServerPortNumber; + emit httpServerPortNumberChanged(newHttpServerPortNumber); +} + +qint32 ServerConfiguration::httpsPortNumber() const { return m_httpsPortNumber; } +void ServerConfiguration::setHttpsPortNumber(qint32 newHttpsPortNumber) { + m_httpsPortNumber = newHttpsPortNumber; + emit httpsPortNumberChanged(newHttpsPortNumber); +} + +bool ServerConfiguration::enableHttps() const { return m_enableHttps; } +void ServerConfiguration::setEnableHttps(bool newEnableHttps) { + m_enableHttps = newEnableHttps; + emit enableHttpsChanged(newEnableHttps); +} + +bool ServerConfiguration::enableNormalizedItemByNameIds() const { return m_enableNormalizedItemByNameIds; } +void ServerConfiguration::setEnableNormalizedItemByNameIds(bool newEnableNormalizedItemByNameIds) { + m_enableNormalizedItemByNameIds = newEnableNormalizedItemByNameIds; + emit enableNormalizedItemByNameIdsChanged(newEnableNormalizedItemByNameIds); +} + +QString ServerConfiguration::certificatePath() const { return m_certificatePath; } +void ServerConfiguration::setCertificatePath(QString newCertificatePath) { + m_certificatePath = newCertificatePath; + emit certificatePathChanged(newCertificatePath); +} + +QString ServerConfiguration::certificatePassword() const { return m_certificatePassword; } +void ServerConfiguration::setCertificatePassword(QString newCertificatePassword) { + m_certificatePassword = newCertificatePassword; + emit certificatePasswordChanged(newCertificatePassword); +} + +bool ServerConfiguration::isPortAuthorized() const { return m_isPortAuthorized; } +void ServerConfiguration::setIsPortAuthorized(bool newIsPortAuthorized) { + m_isPortAuthorized = newIsPortAuthorized; + emit isPortAuthorizedChanged(newIsPortAuthorized); +} + +bool ServerConfiguration::quickConnectAvailable() const { return m_quickConnectAvailable; } +void ServerConfiguration::setQuickConnectAvailable(bool newQuickConnectAvailable) { + m_quickConnectAvailable = newQuickConnectAvailable; + emit quickConnectAvailableChanged(newQuickConnectAvailable); +} + +bool ServerConfiguration::enableRemoteAccess() const { return m_enableRemoteAccess; } +void ServerConfiguration::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; + emit enableRemoteAccessChanged(newEnableRemoteAccess); +} + +bool ServerConfiguration::enableCaseSensitiveItemIds() const { return m_enableCaseSensitiveItemIds; } +void ServerConfiguration::setEnableCaseSensitiveItemIds(bool newEnableCaseSensitiveItemIds) { + m_enableCaseSensitiveItemIds = newEnableCaseSensitiveItemIds; + emit enableCaseSensitiveItemIdsChanged(newEnableCaseSensitiveItemIds); +} + +bool ServerConfiguration::disableLiveTvChannelUserDataName() const { return m_disableLiveTvChannelUserDataName; } +void ServerConfiguration::setDisableLiveTvChannelUserDataName(bool newDisableLiveTvChannelUserDataName) { + m_disableLiveTvChannelUserDataName = newDisableLiveTvChannelUserDataName; + emit disableLiveTvChannelUserDataNameChanged(newDisableLiveTvChannelUserDataName); +} + +QString ServerConfiguration::metadataPath() const { return m_metadataPath; } +void ServerConfiguration::setMetadataPath(QString newMetadataPath) { + m_metadataPath = newMetadataPath; + emit metadataPathChanged(newMetadataPath); +} + +QString ServerConfiguration::metadataNetworkPath() const { return m_metadataNetworkPath; } +void ServerConfiguration::setMetadataNetworkPath(QString newMetadataNetworkPath) { + m_metadataNetworkPath = newMetadataNetworkPath; + emit metadataNetworkPathChanged(newMetadataNetworkPath); +} + +QString ServerConfiguration::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } +void ServerConfiguration::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; + emit preferredMetadataLanguageChanged(newPreferredMetadataLanguage); +} + +QString ServerConfiguration::metadataCountryCode() const { return m_metadataCountryCode; } +void ServerConfiguration::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QStringList ServerConfiguration::sortReplaceCharacters() const { return m_sortReplaceCharacters; } +void ServerConfiguration::setSortReplaceCharacters(QStringList newSortReplaceCharacters) { + m_sortReplaceCharacters = newSortReplaceCharacters; + emit sortReplaceCharactersChanged(newSortReplaceCharacters); +} + +QStringList ServerConfiguration::sortRemoveCharacters() const { return m_sortRemoveCharacters; } +void ServerConfiguration::setSortRemoveCharacters(QStringList newSortRemoveCharacters) { + m_sortRemoveCharacters = newSortRemoveCharacters; + emit sortRemoveCharactersChanged(newSortRemoveCharacters); +} + +QStringList ServerConfiguration::sortRemoveWords() const { return m_sortRemoveWords; } +void ServerConfiguration::setSortRemoveWords(QStringList newSortRemoveWords) { + m_sortRemoveWords = newSortRemoveWords; + emit sortRemoveWordsChanged(newSortRemoveWords); +} + +qint32 ServerConfiguration::minResumePct() const { return m_minResumePct; } +void ServerConfiguration::setMinResumePct(qint32 newMinResumePct) { + m_minResumePct = newMinResumePct; + emit minResumePctChanged(newMinResumePct); +} + +qint32 ServerConfiguration::maxResumePct() const { return m_maxResumePct; } +void ServerConfiguration::setMaxResumePct(qint32 newMaxResumePct) { + m_maxResumePct = newMaxResumePct; + emit maxResumePctChanged(newMaxResumePct); +} + +qint32 ServerConfiguration::minResumeDurationSeconds() const { return m_minResumeDurationSeconds; } +void ServerConfiguration::setMinResumeDurationSeconds(qint32 newMinResumeDurationSeconds) { + m_minResumeDurationSeconds = newMinResumeDurationSeconds; + emit minResumeDurationSecondsChanged(newMinResumeDurationSeconds); +} + +qint32 ServerConfiguration::minAudiobookResume() const { return m_minAudiobookResume; } +void ServerConfiguration::setMinAudiobookResume(qint32 newMinAudiobookResume) { + m_minAudiobookResume = newMinAudiobookResume; + emit minAudiobookResumeChanged(newMinAudiobookResume); +} + +qint32 ServerConfiguration::maxAudiobookResume() const { return m_maxAudiobookResume; } +void ServerConfiguration::setMaxAudiobookResume(qint32 newMaxAudiobookResume) { + m_maxAudiobookResume = newMaxAudiobookResume; + emit maxAudiobookResumeChanged(newMaxAudiobookResume); +} + +qint32 ServerConfiguration::libraryMonitorDelay() const { return m_libraryMonitorDelay; } +void ServerConfiguration::setLibraryMonitorDelay(qint32 newLibraryMonitorDelay) { + m_libraryMonitorDelay = newLibraryMonitorDelay; + emit libraryMonitorDelayChanged(newLibraryMonitorDelay); +} + +bool ServerConfiguration::enableDashboardResponseCaching() const { return m_enableDashboardResponseCaching; } +void ServerConfiguration::setEnableDashboardResponseCaching(bool newEnableDashboardResponseCaching) { + m_enableDashboardResponseCaching = newEnableDashboardResponseCaching; + emit enableDashboardResponseCachingChanged(newEnableDashboardResponseCaching); +} + +ImageSavingConvention ServerConfiguration::imageSavingConvention() const { return m_imageSavingConvention; } +void ServerConfiguration::setImageSavingConvention(ImageSavingConvention newImageSavingConvention) { + m_imageSavingConvention = newImageSavingConvention; + emit imageSavingConventionChanged(newImageSavingConvention); +} + +QList ServerConfiguration::metadataOptions() const { return m_metadataOptions; } +void ServerConfiguration::setMetadataOptions(QList newMetadataOptions) { + m_metadataOptions = newMetadataOptions; + emit metadataOptionsChanged(newMetadataOptions); +} + +bool ServerConfiguration::skipDeserializationForBasicTypes() const { return m_skipDeserializationForBasicTypes; } +void ServerConfiguration::setSkipDeserializationForBasicTypes(bool newSkipDeserializationForBasicTypes) { + m_skipDeserializationForBasicTypes = newSkipDeserializationForBasicTypes; + emit skipDeserializationForBasicTypesChanged(newSkipDeserializationForBasicTypes); +} + +QString ServerConfiguration::serverName() const { return m_serverName; } +void ServerConfiguration::setServerName(QString newServerName) { + m_serverName = newServerName; + emit serverNameChanged(newServerName); +} + +QString ServerConfiguration::baseUrl() const { return m_baseUrl; } +void ServerConfiguration::setBaseUrl(QString newBaseUrl) { + m_baseUrl = newBaseUrl; + emit baseUrlChanged(newBaseUrl); +} + +QString ServerConfiguration::uICulture() const { return m_uICulture; } +void ServerConfiguration::setUICulture(QString newUICulture) { + m_uICulture = newUICulture; + emit uICultureChanged(newUICulture); +} + +bool ServerConfiguration::saveMetadataHidden() const { return m_saveMetadataHidden; } +void ServerConfiguration::setSaveMetadataHidden(bool newSaveMetadataHidden) { + m_saveMetadataHidden = newSaveMetadataHidden; + emit saveMetadataHiddenChanged(newSaveMetadataHidden); +} + +QList ServerConfiguration::contentTypes() const { return m_contentTypes; } +void ServerConfiguration::setContentTypes(QList newContentTypes) { + m_contentTypes = newContentTypes; + emit contentTypesChanged(newContentTypes); +} + +qint32 ServerConfiguration::remoteClientBitrateLimit() const { return m_remoteClientBitrateLimit; } +void ServerConfiguration::setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit) { + m_remoteClientBitrateLimit = newRemoteClientBitrateLimit; + emit remoteClientBitrateLimitChanged(newRemoteClientBitrateLimit); +} + +bool ServerConfiguration::enableFolderView() const { return m_enableFolderView; } +void ServerConfiguration::setEnableFolderView(bool newEnableFolderView) { + m_enableFolderView = newEnableFolderView; + emit enableFolderViewChanged(newEnableFolderView); +} + +bool ServerConfiguration::enableGroupingIntoCollections() const { return m_enableGroupingIntoCollections; } +void ServerConfiguration::setEnableGroupingIntoCollections(bool newEnableGroupingIntoCollections) { + m_enableGroupingIntoCollections = newEnableGroupingIntoCollections; + emit enableGroupingIntoCollectionsChanged(newEnableGroupingIntoCollections); +} + +bool ServerConfiguration::displaySpecialsWithinSeasons() const { return m_displaySpecialsWithinSeasons; } +void ServerConfiguration::setDisplaySpecialsWithinSeasons(bool newDisplaySpecialsWithinSeasons) { + m_displaySpecialsWithinSeasons = newDisplaySpecialsWithinSeasons; + emit displaySpecialsWithinSeasonsChanged(newDisplaySpecialsWithinSeasons); +} + +QStringList ServerConfiguration::localNetworkSubnets() const { return m_localNetworkSubnets; } +void ServerConfiguration::setLocalNetworkSubnets(QStringList newLocalNetworkSubnets) { + m_localNetworkSubnets = newLocalNetworkSubnets; + emit localNetworkSubnetsChanged(newLocalNetworkSubnets); +} + +QStringList ServerConfiguration::localNetworkAddresses() const { return m_localNetworkAddresses; } +void ServerConfiguration::setLocalNetworkAddresses(QStringList newLocalNetworkAddresses) { + m_localNetworkAddresses = newLocalNetworkAddresses; + emit localNetworkAddressesChanged(newLocalNetworkAddresses); +} + +QStringList ServerConfiguration::codecsUsed() const { return m_codecsUsed; } +void ServerConfiguration::setCodecsUsed(QStringList newCodecsUsed) { + m_codecsUsed = newCodecsUsed; + emit codecsUsedChanged(newCodecsUsed); +} + +QList ServerConfiguration::pluginRepositories() const { return m_pluginRepositories; } +void ServerConfiguration::setPluginRepositories(QList newPluginRepositories) { + m_pluginRepositories = newPluginRepositories; + emit pluginRepositoriesChanged(newPluginRepositories); +} + +bool ServerConfiguration::enableExternalContentInSuggestions() const { return m_enableExternalContentInSuggestions; } +void ServerConfiguration::setEnableExternalContentInSuggestions(bool newEnableExternalContentInSuggestions) { + m_enableExternalContentInSuggestions = newEnableExternalContentInSuggestions; + emit enableExternalContentInSuggestionsChanged(newEnableExternalContentInSuggestions); +} + +bool ServerConfiguration::requireHttps() const { return m_requireHttps; } +void ServerConfiguration::setRequireHttps(bool newRequireHttps) { + m_requireHttps = newRequireHttps; + emit requireHttpsChanged(newRequireHttps); +} + +bool ServerConfiguration::enableNewOmdbSupport() const { return m_enableNewOmdbSupport; } +void ServerConfiguration::setEnableNewOmdbSupport(bool newEnableNewOmdbSupport) { + m_enableNewOmdbSupport = newEnableNewOmdbSupport; + emit enableNewOmdbSupportChanged(newEnableNewOmdbSupport); +} + +QStringList ServerConfiguration::remoteIPFilter() const { return m_remoteIPFilter; } +void ServerConfiguration::setRemoteIPFilter(QStringList newRemoteIPFilter) { + m_remoteIPFilter = newRemoteIPFilter; + emit remoteIPFilterChanged(newRemoteIPFilter); +} + +bool ServerConfiguration::isRemoteIPFilterBlacklist() const { return m_isRemoteIPFilterBlacklist; } +void ServerConfiguration::setIsRemoteIPFilterBlacklist(bool newIsRemoteIPFilterBlacklist) { + m_isRemoteIPFilterBlacklist = newIsRemoteIPFilterBlacklist; + emit isRemoteIPFilterBlacklistChanged(newIsRemoteIPFilterBlacklist); +} + +qint32 ServerConfiguration::imageExtractionTimeoutMs() const { return m_imageExtractionTimeoutMs; } +void ServerConfiguration::setImageExtractionTimeoutMs(qint32 newImageExtractionTimeoutMs) { + m_imageExtractionTimeoutMs = newImageExtractionTimeoutMs; + emit imageExtractionTimeoutMsChanged(newImageExtractionTimeoutMs); +} + +QList ServerConfiguration::pathSubstitutions() const { return m_pathSubstitutions; } +void ServerConfiguration::setPathSubstitutions(QList newPathSubstitutions) { + m_pathSubstitutions = newPathSubstitutions; + emit pathSubstitutionsChanged(newPathSubstitutions); +} + +bool ServerConfiguration::enableSimpleArtistDetection() const { return m_enableSimpleArtistDetection; } +void ServerConfiguration::setEnableSimpleArtistDetection(bool newEnableSimpleArtistDetection) { + m_enableSimpleArtistDetection = newEnableSimpleArtistDetection; + emit enableSimpleArtistDetectionChanged(newEnableSimpleArtistDetection); +} + +QStringList ServerConfiguration::uninstalledPlugins() const { return m_uninstalledPlugins; } +void ServerConfiguration::setUninstalledPlugins(QStringList newUninstalledPlugins) { + m_uninstalledPlugins = newUninstalledPlugins; + emit uninstalledPluginsChanged(newUninstalledPlugins); +} + +bool ServerConfiguration::enableSlowResponseWarning() const { return m_enableSlowResponseWarning; } +void ServerConfiguration::setEnableSlowResponseWarning(bool newEnableSlowResponseWarning) { + m_enableSlowResponseWarning = newEnableSlowResponseWarning; + emit enableSlowResponseWarningChanged(newEnableSlowResponseWarning); +} + +qint64 ServerConfiguration::slowResponseThresholdMs() const { return m_slowResponseThresholdMs; } +void ServerConfiguration::setSlowResponseThresholdMs(qint64 newSlowResponseThresholdMs) { + m_slowResponseThresholdMs = newSlowResponseThresholdMs; + emit slowResponseThresholdMsChanged(newSlowResponseThresholdMs); +} + +QStringList ServerConfiguration::corsHosts() const { return m_corsHosts; } +void ServerConfiguration::setCorsHosts(QStringList newCorsHosts) { + m_corsHosts = newCorsHosts; + emit corsHostsChanged(newCorsHosts); +} + +QStringList ServerConfiguration::knownProxies() const { return m_knownProxies; } +void ServerConfiguration::setKnownProxies(QStringList newKnownProxies) { + m_knownProxies = newKnownProxies; + emit knownProxiesChanged(newKnownProxies); +} + +qint32 ServerConfiguration::activityLogRetentionDays() const { return m_activityLogRetentionDays; } +void ServerConfiguration::setActivityLogRetentionDays(qint32 newActivityLogRetentionDays) { + m_activityLogRetentionDays = newActivityLogRetentionDays; + emit activityLogRetentionDaysChanged(newActivityLogRetentionDays); +} + +qint32 ServerConfiguration::libraryScanFanoutConcurrency() const { return m_libraryScanFanoutConcurrency; } +void ServerConfiguration::setLibraryScanFanoutConcurrency(qint32 newLibraryScanFanoutConcurrency) { + m_libraryScanFanoutConcurrency = newLibraryScanFanoutConcurrency; + emit libraryScanFanoutConcurrencyChanged(newLibraryScanFanoutConcurrency); +} + +qint32 ServerConfiguration::libraryMetadataRefreshConcurrency() const { return m_libraryMetadataRefreshConcurrency; } +void ServerConfiguration::setLibraryMetadataRefreshConcurrency(qint32 newLibraryMetadataRefreshConcurrency) { + m_libraryMetadataRefreshConcurrency = newLibraryMetadataRefreshConcurrency; + emit libraryMetadataRefreshConcurrencyChanged(newLibraryMetadataRefreshConcurrency); +} + +bool ServerConfiguration::removeOldPlugins() const { return m_removeOldPlugins; } +void ServerConfiguration::setRemoveOldPlugins(bool newRemoveOldPlugins) { + m_removeOldPlugins = newRemoveOldPlugins; + emit removeOldPluginsChanged(newRemoveOldPlugins); +} + +bool ServerConfiguration::disablePluginImages() const { return m_disablePluginImages; } +void ServerConfiguration::setDisablePluginImages(bool newDisablePluginImages) { + m_disablePluginImages = newDisablePluginImages; + emit disablePluginImagesChanged(newDisablePluginImages); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/sessioninfo.cpp b/core/src/DTO/sessioninfo.cpp new file mode 100644 index 0000000..fda4dab --- /dev/null +++ b/core/src/DTO/sessioninfo.cpp @@ -0,0 +1,223 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +SessionInfo::SessionInfo(QObject *parent) : QObject(parent) {} + +SessionInfo *SessionInfo::fromJSON(QJsonObject source, QObject *parent) { + SessionInfo *instance = new SessionInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void SessionInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SessionInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +PlayerStateInfo * SessionInfo::playState() const { return m_playState; } +void SessionInfo::setPlayState(PlayerStateInfo * newPlayState) { + m_playState = newPlayState; + emit playStateChanged(newPlayState); +} + +QList SessionInfo::additionalUsers() const { return m_additionalUsers; } +void SessionInfo::setAdditionalUsers(QList newAdditionalUsers) { + m_additionalUsers = newAdditionalUsers; + emit additionalUsersChanged(newAdditionalUsers); +} + +ClientCapabilities * SessionInfo::capabilities() const { return m_capabilities; } +void SessionInfo::setCapabilities(ClientCapabilities * newCapabilities) { + m_capabilities = newCapabilities; + emit capabilitiesChanged(newCapabilities); +} + +QString SessionInfo::remoteEndPoint() const { return m_remoteEndPoint; } +void SessionInfo::setRemoteEndPoint(QString newRemoteEndPoint) { + m_remoteEndPoint = newRemoteEndPoint; + emit remoteEndPointChanged(newRemoteEndPoint); +} + +QStringList SessionInfo::playableMediaTypes() const { return m_playableMediaTypes; } +void SessionInfo::setPlayableMediaTypes(QStringList newPlayableMediaTypes) { + m_playableMediaTypes = newPlayableMediaTypes; + emit playableMediaTypesChanged(newPlayableMediaTypes); +} + +QString SessionInfo::jellyfinId() const { return m_jellyfinId; } +void SessionInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString SessionInfo::userId() const { return m_userId; } +void SessionInfo::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString SessionInfo::userName() const { return m_userName; } +void SessionInfo::setUserName(QString newUserName) { + m_userName = newUserName; + emit userNameChanged(newUserName); +} + +QString SessionInfo::client() const { return m_client; } +void SessionInfo::setClient(QString newClient) { + m_client = newClient; + emit clientChanged(newClient); +} + +QDateTime SessionInfo::lastActivityDate() const { return m_lastActivityDate; } +void SessionInfo::setLastActivityDate(QDateTime newLastActivityDate) { + m_lastActivityDate = newLastActivityDate; + emit lastActivityDateChanged(newLastActivityDate); +} + +QDateTime SessionInfo::lastPlaybackCheckIn() const { return m_lastPlaybackCheckIn; } +void SessionInfo::setLastPlaybackCheckIn(QDateTime newLastPlaybackCheckIn) { + m_lastPlaybackCheckIn = newLastPlaybackCheckIn; + emit lastPlaybackCheckInChanged(newLastPlaybackCheckIn); +} + +QString SessionInfo::deviceName() const { return m_deviceName; } +void SessionInfo::setDeviceName(QString newDeviceName) { + m_deviceName = newDeviceName; + emit deviceNameChanged(newDeviceName); +} + +QString SessionInfo::deviceType() const { return m_deviceType; } +void SessionInfo::setDeviceType(QString newDeviceType) { + m_deviceType = newDeviceType; + emit deviceTypeChanged(newDeviceType); +} + +BaseItemDto * SessionInfo::nowPlayingItem() const { return m_nowPlayingItem; } +void SessionInfo::setNowPlayingItem(BaseItemDto * newNowPlayingItem) { + m_nowPlayingItem = newNowPlayingItem; + emit nowPlayingItemChanged(newNowPlayingItem); +} + +BaseItem * SessionInfo::fullNowPlayingItem() const { return m_fullNowPlayingItem; } +void SessionInfo::setFullNowPlayingItem(BaseItem * newFullNowPlayingItem) { + m_fullNowPlayingItem = newFullNowPlayingItem; + emit fullNowPlayingItemChanged(newFullNowPlayingItem); +} + +BaseItemDto * SessionInfo::nowViewingItem() const { return m_nowViewingItem; } +void SessionInfo::setNowViewingItem(BaseItemDto * newNowViewingItem) { + m_nowViewingItem = newNowViewingItem; + emit nowViewingItemChanged(newNowViewingItem); +} + +QString SessionInfo::deviceId() const { return m_deviceId; } +void SessionInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; + emit deviceIdChanged(newDeviceId); +} + +QString SessionInfo::applicationVersion() const { return m_applicationVersion; } +void SessionInfo::setApplicationVersion(QString newApplicationVersion) { + m_applicationVersion = newApplicationVersion; + emit applicationVersionChanged(newApplicationVersion); +} + +TranscodingInfo * SessionInfo::transcodingInfo() const { return m_transcodingInfo; } +void SessionInfo::setTranscodingInfo(TranscodingInfo * newTranscodingInfo) { + m_transcodingInfo = newTranscodingInfo; + emit transcodingInfoChanged(newTranscodingInfo); +} + +bool SessionInfo::isActive() const { return m_isActive; } +void SessionInfo::setIsActive(bool newIsActive) { + m_isActive = newIsActive; + emit isActiveChanged(newIsActive); +} + +bool SessionInfo::supportsMediaControl() const { return m_supportsMediaControl; } +void SessionInfo::setSupportsMediaControl(bool newSupportsMediaControl) { + m_supportsMediaControl = newSupportsMediaControl; + emit supportsMediaControlChanged(newSupportsMediaControl); +} + +bool SessionInfo::supportsRemoteControl() const { return m_supportsRemoteControl; } +void SessionInfo::setSupportsRemoteControl(bool newSupportsRemoteControl) { + m_supportsRemoteControl = newSupportsRemoteControl; + emit supportsRemoteControlChanged(newSupportsRemoteControl); +} + +QList SessionInfo::nowPlayingQueue() const { return m_nowPlayingQueue; } +void SessionInfo::setNowPlayingQueue(QList newNowPlayingQueue) { + m_nowPlayingQueue = newNowPlayingQueue; + emit nowPlayingQueueChanged(newNowPlayingQueue); +} + +bool SessionInfo::hasCustomDeviceName() const { return m_hasCustomDeviceName; } +void SessionInfo::setHasCustomDeviceName(bool newHasCustomDeviceName) { + m_hasCustomDeviceName = newHasCustomDeviceName; + emit hasCustomDeviceNameChanged(newHasCustomDeviceName); +} + +QString SessionInfo::playlistItemId() const { return m_playlistItemId; } +void SessionInfo::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + +QString SessionInfo::serverId() const { return m_serverId; } +void SessionInfo::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + +QString SessionInfo::userPrimaryImageTag() const { return m_userPrimaryImageTag; } +void SessionInfo::setUserPrimaryImageTag(QString newUserPrimaryImageTag) { + m_userPrimaryImageTag = newUserPrimaryImageTag; + emit userPrimaryImageTagChanged(newUserPrimaryImageTag); +} + +QList SessionInfo::supportedCommands() const { return m_supportedCommands; } +void SessionInfo::setSupportedCommands(QList newSupportedCommands) { + m_supportedCommands = newSupportedCommands; + emit supportedCommandsChanged(newSupportedCommands); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/sessionuserinfo.cpp b/core/src/DTO/sessionuserinfo.cpp new file mode 100644 index 0000000..6a4ab12 --- /dev/null +++ b/core/src/DTO/sessionuserinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SessionUserInfo::SessionUserInfo(QObject *parent) : QObject(parent) {} + +SessionUserInfo *SessionUserInfo::fromJSON(QJsonObject source, QObject *parent) { + SessionUserInfo *instance = new SessionUserInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void SessionUserInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SessionUserInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SessionUserInfo::userId() const { return m_userId; } +void SessionUserInfo::setUserId(QString newUserId) { + m_userId = newUserId; + emit userIdChanged(newUserId); +} + +QString SessionUserInfo::userName() const { return m_userName; } +void SessionUserInfo::setUserName(QString newUserName) { + m_userName = newUserName; + emit userNameChanged(newUserName); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/setchannelmappingdto.cpp b/core/src/DTO/setchannelmappingdto.cpp new file mode 100644 index 0000000..b919b52 --- /dev/null +++ b/core/src/DTO/setchannelmappingdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetChannelMappingDto::SetChannelMappingDto(QObject *parent) : QObject(parent) {} + +SetChannelMappingDto *SetChannelMappingDto::fromJSON(QJsonObject source, QObject *parent) { + SetChannelMappingDto *instance = new SetChannelMappingDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SetChannelMappingDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SetChannelMappingDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SetChannelMappingDto::providerId() const { return m_providerId; } +void SetChannelMappingDto::setProviderId(QString newProviderId) { + m_providerId = newProviderId; + emit providerIdChanged(newProviderId); +} + +QString SetChannelMappingDto::tunerChannelId() const { return m_tunerChannelId; } +void SetChannelMappingDto::setTunerChannelId(QString newTunerChannelId) { + m_tunerChannelId = newTunerChannelId; + emit tunerChannelIdChanged(newTunerChannelId); +} + +QString SetChannelMappingDto::providerChannelId() const { return m_providerChannelId; } +void SetChannelMappingDto::setProviderChannelId(QString newProviderChannelId) { + m_providerChannelId = newProviderChannelId; + emit providerChannelIdChanged(newProviderChannelId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/setplaylistitemrequestdto.cpp b/core/src/DTO/setplaylistitemrequestdto.cpp new file mode 100644 index 0000000..a20eb9d --- /dev/null +++ b/core/src/DTO/setplaylistitemrequestdto.cpp @@ -0,0 +1,59 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SetPlaylistItemRequestDto::SetPlaylistItemRequestDto(QObject *parent) : QObject(parent) {} + +SetPlaylistItemRequestDto *SetPlaylistItemRequestDto::fromJSON(QJsonObject source, QObject *parent) { + SetPlaylistItemRequestDto *instance = new SetPlaylistItemRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SetPlaylistItemRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SetPlaylistItemRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SetPlaylistItemRequestDto::playlistItemId() const { return m_playlistItemId; } +void SetPlaylistItemRequestDto::setPlaylistItemId(QString newPlaylistItemId) { + m_playlistItemId = newPlaylistItemId; + emit playlistItemIdChanged(newPlaylistItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/setrepeatmoderequestdto.cpp b/core/src/DTO/setrepeatmoderequestdto.cpp new file mode 100644 index 0000000..6ae2022 --- /dev/null +++ b/core/src/DTO/setrepeatmoderequestdto.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +SetRepeatModeRequestDto::SetRepeatModeRequestDto(QObject *parent) : QObject(parent) {} + +SetRepeatModeRequestDto *SetRepeatModeRequestDto::fromJSON(QJsonObject source, QObject *parent) { + SetRepeatModeRequestDto *instance = new SetRepeatModeRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SetRepeatModeRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SetRepeatModeRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +GroupRepeatMode SetRepeatModeRequestDto::mode() const { return m_mode; } +void SetRepeatModeRequestDto::setMode(GroupRepeatMode newMode) { + m_mode = newMode; + emit modeChanged(newMode); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/setshufflemoderequestdto.cpp b/core/src/DTO/setshufflemoderequestdto.cpp new file mode 100644 index 0000000..0b7d990 --- /dev/null +++ b/core/src/DTO/setshufflemoderequestdto.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +SetShuffleModeRequestDto::SetShuffleModeRequestDto(QObject *parent) : QObject(parent) {} + +SetShuffleModeRequestDto *SetShuffleModeRequestDto::fromJSON(QJsonObject source, QObject *parent) { + SetShuffleModeRequestDto *instance = new SetShuffleModeRequestDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SetShuffleModeRequestDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SetShuffleModeRequestDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +GroupShuffleMode SetShuffleModeRequestDto::mode() const { return m_mode; } +void SetShuffleModeRequestDto::setMode(GroupShuffleMode newMode) { + m_mode = newMode; + emit modeChanged(newMode); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/songinfo.cpp b/core/src/DTO/songinfo.cpp new file mode 100644 index 0000000..1522b9a --- /dev/null +++ b/core/src/DTO/songinfo.cpp @@ -0,0 +1,131 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SongInfo::SongInfo(QObject *parent) : QObject(parent) {} + +SongInfo *SongInfo::fromJSON(QJsonObject source, QObject *parent) { + SongInfo *instance = new SongInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void SongInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SongInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SongInfo::name() const { return m_name; } +void SongInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString SongInfo::path() const { return m_path; } +void SongInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString SongInfo::metadataLanguage() const { return m_metadataLanguage; } +void SongInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString SongInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void SongInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject SongInfo::providerIds() const { return m_providerIds; } +void SongInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 SongInfo::year() const { return m_year; } +void SongInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 SongInfo::indexNumber() const { return m_indexNumber; } +void SongInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 SongInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void SongInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime SongInfo::premiereDate() const { return m_premiereDate; } +void SongInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool SongInfo::isAutomated() const { return m_isAutomated; } +void SongInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + +QStringList SongInfo::albumArtists() const { return m_albumArtists; } +void SongInfo::setAlbumArtists(QStringList newAlbumArtists) { + m_albumArtists = newAlbumArtists; + emit albumArtistsChanged(newAlbumArtists); +} + +QString SongInfo::album() const { return m_album; } +void SongInfo::setAlbum(QString newAlbum) { + m_album = newAlbum; + emit albumChanged(newAlbum); +} + +QStringList SongInfo::artists() const { return m_artists; } +void SongInfo::setArtists(QStringList newArtists) { + m_artists = newArtists; + emit artistsChanged(newArtists); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/sortorder.cpp b/core/src/DTO/sortorder.cpp new file mode 100644 index 0000000..036f27f --- /dev/null +++ b/core/src/DTO/sortorder.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/specialviewoptiondto.cpp b/core/src/DTO/specialviewoptiondto.cpp new file mode 100644 index 0000000..9098c19 --- /dev/null +++ b/core/src/DTO/specialviewoptiondto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +SpecialViewOptionDto::SpecialViewOptionDto(QObject *parent) : QObject(parent) {} + +SpecialViewOptionDto *SpecialViewOptionDto::fromJSON(QJsonObject source, QObject *parent) { + SpecialViewOptionDto *instance = new SpecialViewOptionDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void SpecialViewOptionDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SpecialViewOptionDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SpecialViewOptionDto::name() const { return m_name; } +void SpecialViewOptionDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString SpecialViewOptionDto::jellyfinId() const { return m_jellyfinId; } +void SpecialViewOptionDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/startupconfigurationdto.cpp b/core/src/DTO/startupconfigurationdto.cpp new file mode 100644 index 0000000..368ee6d --- /dev/null +++ b/core/src/DTO/startupconfigurationdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupConfigurationDto::StartupConfigurationDto(QObject *parent) : QObject(parent) {} + +StartupConfigurationDto *StartupConfigurationDto::fromJSON(QJsonObject source, QObject *parent) { + StartupConfigurationDto *instance = new StartupConfigurationDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void StartupConfigurationDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject StartupConfigurationDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString StartupConfigurationDto::uICulture() const { return m_uICulture; } +void StartupConfigurationDto::setUICulture(QString newUICulture) { + m_uICulture = newUICulture; + emit uICultureChanged(newUICulture); +} + +QString StartupConfigurationDto::metadataCountryCode() const { return m_metadataCountryCode; } +void StartupConfigurationDto::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QString StartupConfigurationDto::preferredMetadataLanguage() const { return m_preferredMetadataLanguage; } +void StartupConfigurationDto::setPreferredMetadataLanguage(QString newPreferredMetadataLanguage) { + m_preferredMetadataLanguage = newPreferredMetadataLanguage; + emit preferredMetadataLanguageChanged(newPreferredMetadataLanguage); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/startupremoteaccessdto.cpp b/core/src/DTO/startupremoteaccessdto.cpp new file mode 100644 index 0000000..cbb78da --- /dev/null +++ b/core/src/DTO/startupremoteaccessdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupRemoteAccessDto::StartupRemoteAccessDto(QObject *parent) : QObject(parent) {} + +StartupRemoteAccessDto *StartupRemoteAccessDto::fromJSON(QJsonObject source, QObject *parent) { + StartupRemoteAccessDto *instance = new StartupRemoteAccessDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void StartupRemoteAccessDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject StartupRemoteAccessDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool StartupRemoteAccessDto::enableRemoteAccess() const { return m_enableRemoteAccess; } +void StartupRemoteAccessDto::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; + emit enableRemoteAccessChanged(newEnableRemoteAccess); +} + +bool StartupRemoteAccessDto::enableAutomaticPortMapping() const { return m_enableAutomaticPortMapping; } +void StartupRemoteAccessDto::setEnableAutomaticPortMapping(bool newEnableAutomaticPortMapping) { + m_enableAutomaticPortMapping = newEnableAutomaticPortMapping; + emit enableAutomaticPortMappingChanged(newEnableAutomaticPortMapping); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/startupuserdto.cpp b/core/src/DTO/startupuserdto.cpp new file mode 100644 index 0000000..dcc6933 --- /dev/null +++ b/core/src/DTO/startupuserdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +StartupUserDto::StartupUserDto(QObject *parent) : QObject(parent) {} + +StartupUserDto *StartupUserDto::fromJSON(QJsonObject source, QObject *parent) { + StartupUserDto *instance = new StartupUserDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void StartupUserDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject StartupUserDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString StartupUserDto::name() const { return m_name; } +void StartupUserDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString StartupUserDto::password() const { return m_password; } +void StartupUserDto::setPassword(QString newPassword) { + m_password = newPassword; + emit passwordChanged(newPassword); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/subtitledeliverymethod.cpp b/core/src/DTO/subtitledeliverymethod.cpp new file mode 100644 index 0000000..6d9857d --- /dev/null +++ b/core/src/DTO/subtitledeliverymethod.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/subtitleplaybackmode.cpp b/core/src/DTO/subtitleplaybackmode.cpp new file mode 100644 index 0000000..a50592c --- /dev/null +++ b/core/src/DTO/subtitleplaybackmode.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/subtitleprofile.cpp b/core/src/DTO/subtitleprofile.cpp new file mode 100644 index 0000000..70e895f --- /dev/null +++ b/core/src/DTO/subtitleprofile.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 + +#include + +namespace Jellyfin { +namespace DTO { + +SubtitleProfile::SubtitleProfile(QObject *parent) : QObject(parent) {} + +SubtitleProfile *SubtitleProfile::fromJSON(QJsonObject source, QObject *parent) { + SubtitleProfile *instance = new SubtitleProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void SubtitleProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SubtitleProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SubtitleProfile::format() const { return m_format; } +void SubtitleProfile::setFormat(QString newFormat) { + m_format = newFormat; + emit formatChanged(newFormat); +} + +SubtitleDeliveryMethod SubtitleProfile::method() const { return m_method; } +void SubtitleProfile::setMethod(SubtitleDeliveryMethod newMethod) { + m_method = newMethod; + emit methodChanged(newMethod); +} + +QString SubtitleProfile::didlMode() const { return m_didlMode; } +void SubtitleProfile::setDidlMode(QString newDidlMode) { + m_didlMode = newDidlMode; + emit didlModeChanged(newDidlMode); +} + +QString SubtitleProfile::language() const { return m_language; } +void SubtitleProfile::setLanguage(QString newLanguage) { + m_language = newLanguage; + emit languageChanged(newLanguage); +} + +QString SubtitleProfile::container() const { return m_container; } +void SubtitleProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/syncplayuseraccesstype.cpp b/core/src/DTO/syncplayuseraccesstype.cpp new file mode 100644 index 0000000..ca5852f --- /dev/null +++ b/core/src/DTO/syncplayuseraccesstype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/systeminfo.cpp b/core/src/DTO/systeminfo.cpp new file mode 100644 index 0000000..c814c36 --- /dev/null +++ b/core/src/DTO/systeminfo.cpp @@ -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. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +SystemInfo::SystemInfo(QObject *parent) : QObject(parent) {} + +SystemInfo *SystemInfo::fromJSON(QJsonObject source, QObject *parent) { + SystemInfo *instance = new SystemInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void SystemInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject SystemInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString SystemInfo::localAddress() const { return m_localAddress; } +void SystemInfo::setLocalAddress(QString newLocalAddress) { + m_localAddress = newLocalAddress; + emit localAddressChanged(newLocalAddress); +} + +QString SystemInfo::serverName() const { return m_serverName; } +void SystemInfo::setServerName(QString newServerName) { + m_serverName = newServerName; + emit serverNameChanged(newServerName); +} + +QString SystemInfo::version() const { return m_version; } +void SystemInfo::setVersion(QString newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +QString SystemInfo::productName() const { return m_productName; } +void SystemInfo::setProductName(QString newProductName) { + m_productName = newProductName; + emit productNameChanged(newProductName); +} + +QString SystemInfo::operatingSystem() const { return m_operatingSystem; } +void SystemInfo::setOperatingSystem(QString newOperatingSystem) { + m_operatingSystem = newOperatingSystem; + emit operatingSystemChanged(newOperatingSystem); +} + +QString SystemInfo::jellyfinId() const { return m_jellyfinId; } +void SystemInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +bool SystemInfo::startupWizardCompleted() const { return m_startupWizardCompleted; } +void SystemInfo::setStartupWizardCompleted(bool newStartupWizardCompleted) { + m_startupWizardCompleted = newStartupWizardCompleted; + emit startupWizardCompletedChanged(newStartupWizardCompleted); +} + +QString SystemInfo::operatingSystemDisplayName() const { return m_operatingSystemDisplayName; } +void SystemInfo::setOperatingSystemDisplayName(QString newOperatingSystemDisplayName) { + m_operatingSystemDisplayName = newOperatingSystemDisplayName; + emit operatingSystemDisplayNameChanged(newOperatingSystemDisplayName); +} + +QString SystemInfo::packageName() const { return m_packageName; } +void SystemInfo::setPackageName(QString newPackageName) { + m_packageName = newPackageName; + emit packageNameChanged(newPackageName); +} + +bool SystemInfo::hasPendingRestart() const { return m_hasPendingRestart; } +void SystemInfo::setHasPendingRestart(bool newHasPendingRestart) { + m_hasPendingRestart = newHasPendingRestart; + emit hasPendingRestartChanged(newHasPendingRestart); +} + +bool SystemInfo::isShuttingDown() const { return m_isShuttingDown; } +void SystemInfo::setIsShuttingDown(bool newIsShuttingDown) { + m_isShuttingDown = newIsShuttingDown; + emit isShuttingDownChanged(newIsShuttingDown); +} + +bool SystemInfo::supportsLibraryMonitor() const { return m_supportsLibraryMonitor; } +void SystemInfo::setSupportsLibraryMonitor(bool newSupportsLibraryMonitor) { + m_supportsLibraryMonitor = newSupportsLibraryMonitor; + emit supportsLibraryMonitorChanged(newSupportsLibraryMonitor); +} + +qint32 SystemInfo::webSocketPortNumber() const { return m_webSocketPortNumber; } +void SystemInfo::setWebSocketPortNumber(qint32 newWebSocketPortNumber) { + m_webSocketPortNumber = newWebSocketPortNumber; + emit webSocketPortNumberChanged(newWebSocketPortNumber); +} + +QList SystemInfo::completedInstallations() const { return m_completedInstallations; } +void SystemInfo::setCompletedInstallations(QList newCompletedInstallations) { + m_completedInstallations = newCompletedInstallations; + emit completedInstallationsChanged(newCompletedInstallations); +} + +bool SystemInfo::canSelfRestart() const { return m_canSelfRestart; } +void SystemInfo::setCanSelfRestart(bool newCanSelfRestart) { + m_canSelfRestart = newCanSelfRestart; + emit canSelfRestartChanged(newCanSelfRestart); +} + +bool SystemInfo::canLaunchWebBrowser() const { return m_canLaunchWebBrowser; } +void SystemInfo::setCanLaunchWebBrowser(bool newCanLaunchWebBrowser) { + m_canLaunchWebBrowser = newCanLaunchWebBrowser; + emit canLaunchWebBrowserChanged(newCanLaunchWebBrowser); +} + +QString SystemInfo::programDataPath() const { return m_programDataPath; } +void SystemInfo::setProgramDataPath(QString newProgramDataPath) { + m_programDataPath = newProgramDataPath; + emit programDataPathChanged(newProgramDataPath); +} + +QString SystemInfo::webPath() const { return m_webPath; } +void SystemInfo::setWebPath(QString newWebPath) { + m_webPath = newWebPath; + emit webPathChanged(newWebPath); +} + +QString SystemInfo::itemsByNamePath() const { return m_itemsByNamePath; } +void SystemInfo::setItemsByNamePath(QString newItemsByNamePath) { + m_itemsByNamePath = newItemsByNamePath; + emit itemsByNamePathChanged(newItemsByNamePath); +} + +QString SystemInfo::cachePath() const { return m_cachePath; } +void SystemInfo::setCachePath(QString newCachePath) { + m_cachePath = newCachePath; + emit cachePathChanged(newCachePath); +} + +QString SystemInfo::logPath() const { return m_logPath; } +void SystemInfo::setLogPath(QString newLogPath) { + m_logPath = newLogPath; + emit logPathChanged(newLogPath); +} + +QString SystemInfo::internalMetadataPath() const { return m_internalMetadataPath; } +void SystemInfo::setInternalMetadataPath(QString newInternalMetadataPath) { + m_internalMetadataPath = newInternalMetadataPath; + emit internalMetadataPathChanged(newInternalMetadataPath); +} + +QString SystemInfo::transcodingTempPath() const { return m_transcodingTempPath; } +void SystemInfo::setTranscodingTempPath(QString newTranscodingTempPath) { + m_transcodingTempPath = newTranscodingTempPath; + emit transcodingTempPathChanged(newTranscodingTempPath); +} + +bool SystemInfo::hasUpdateAvailable() const { return m_hasUpdateAvailable; } +void SystemInfo::setHasUpdateAvailable(bool newHasUpdateAvailable) { + m_hasUpdateAvailable = newHasUpdateAvailable; + emit hasUpdateAvailableChanged(newHasUpdateAvailable); +} + +FFmpegLocation SystemInfo::encoderLocation() const { return m_encoderLocation; } +void SystemInfo::setEncoderLocation(FFmpegLocation newEncoderLocation) { + m_encoderLocation = newEncoderLocation; + emit encoderLocationChanged(newEncoderLocation); +} + +Architecture SystemInfo::systemArchitecture() const { return m_systemArchitecture; } +void SystemInfo::setSystemArchitecture(Architecture newSystemArchitecture) { + m_systemArchitecture = newSystemArchitecture; + emit systemArchitectureChanged(newSystemArchitecture); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/taskcompletionstatus.cpp b/core/src/DTO/taskcompletionstatus.cpp new file mode 100644 index 0000000..5ba4083 --- /dev/null +++ b/core/src/DTO/taskcompletionstatus.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/taskinfo.cpp b/core/src/DTO/taskinfo.cpp new file mode 100644 index 0000000..d402d29 --- /dev/null +++ b/core/src/DTO/taskinfo.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 + +#include + +namespace Jellyfin { +namespace DTO { + +TaskInfo::TaskInfo(QObject *parent) : QObject(parent) {} + +TaskInfo *TaskInfo::fromJSON(QJsonObject source, QObject *parent) { + TaskInfo *instance = new TaskInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TaskInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TaskInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TaskInfo::name() const { return m_name; } +void TaskInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +TaskState TaskInfo::state() const { return m_state; } +void TaskInfo::setState(TaskState newState) { + m_state = newState; + emit stateChanged(newState); +} + +double TaskInfo::currentProgressPercentage() const { return m_currentProgressPercentage; } +void TaskInfo::setCurrentProgressPercentage(double newCurrentProgressPercentage) { + m_currentProgressPercentage = newCurrentProgressPercentage; + emit currentProgressPercentageChanged(newCurrentProgressPercentage); +} + +QString TaskInfo::jellyfinId() const { return m_jellyfinId; } +void TaskInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +TaskResult * TaskInfo::lastExecutionResult() const { return m_lastExecutionResult; } +void TaskInfo::setLastExecutionResult(TaskResult * newLastExecutionResult) { + m_lastExecutionResult = newLastExecutionResult; + emit lastExecutionResultChanged(newLastExecutionResult); +} + +QList TaskInfo::triggers() const { return m_triggers; } +void TaskInfo::setTriggers(QList newTriggers) { + m_triggers = newTriggers; + emit triggersChanged(newTriggers); +} + +QString TaskInfo::description() const { return m_description; } +void TaskInfo::setDescription(QString newDescription) { + m_description = newDescription; + emit descriptionChanged(newDescription); +} + +QString TaskInfo::category() const { return m_category; } +void TaskInfo::setCategory(QString newCategory) { + m_category = newCategory; + emit categoryChanged(newCategory); +} + +bool TaskInfo::isHidden() const { return m_isHidden; } +void TaskInfo::setIsHidden(bool newIsHidden) { + m_isHidden = newIsHidden; + emit isHiddenChanged(newIsHidden); +} + +QString TaskInfo::key() const { return m_key; } +void TaskInfo::setKey(QString newKey) { + m_key = newKey; + emit keyChanged(newKey); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/taskresult.cpp b/core/src/DTO/taskresult.cpp new file mode 100644 index 0000000..be25f93 --- /dev/null +++ b/core/src/DTO/taskresult.cpp @@ -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. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +TaskResult::TaskResult(QObject *parent) : QObject(parent) {} + +TaskResult *TaskResult::fromJSON(QJsonObject source, QObject *parent) { + TaskResult *instance = new TaskResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void TaskResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TaskResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime TaskResult::startTimeUtc() const { return m_startTimeUtc; } +void TaskResult::setStartTimeUtc(QDateTime newStartTimeUtc) { + m_startTimeUtc = newStartTimeUtc; + emit startTimeUtcChanged(newStartTimeUtc); +} + +QDateTime TaskResult::endTimeUtc() const { return m_endTimeUtc; } +void TaskResult::setEndTimeUtc(QDateTime newEndTimeUtc) { + m_endTimeUtc = newEndTimeUtc; + emit endTimeUtcChanged(newEndTimeUtc); +} + +TaskCompletionStatus TaskResult::status() const { return m_status; } +void TaskResult::setStatus(TaskCompletionStatus newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString TaskResult::name() const { return m_name; } +void TaskResult::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString TaskResult::key() const { return m_key; } +void TaskResult::setKey(QString newKey) { + m_key = newKey; + emit keyChanged(newKey); +} + +QString TaskResult::jellyfinId() const { return m_jellyfinId; } +void TaskResult::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString TaskResult::errorMessage() const { return m_errorMessage; } +void TaskResult::setErrorMessage(QString newErrorMessage) { + m_errorMessage = newErrorMessage; + emit errorMessageChanged(newErrorMessage); +} + +QString TaskResult::longErrorMessage() const { return m_longErrorMessage; } +void TaskResult::setLongErrorMessage(QString newLongErrorMessage) { + m_longErrorMessage = newLongErrorMessage; + emit longErrorMessageChanged(newLongErrorMessage); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/taskstate.cpp b/core/src/DTO/taskstate.cpp new file mode 100644 index 0000000..f85fb18 --- /dev/null +++ b/core/src/DTO/taskstate.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/tasktriggerinfo.cpp b/core/src/DTO/tasktriggerinfo.cpp new file mode 100644 index 0000000..03756f5 --- /dev/null +++ b/core/src/DTO/tasktriggerinfo.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 + +#include + +namespace Jellyfin { +namespace DTO { + +TaskTriggerInfo::TaskTriggerInfo(QObject *parent) : QObject(parent) {} + +TaskTriggerInfo *TaskTriggerInfo::fromJSON(QJsonObject source, QObject *parent) { + TaskTriggerInfo *instance = new TaskTriggerInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TaskTriggerInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TaskTriggerInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TaskTriggerInfo::type() const { return m_type; } +void TaskTriggerInfo::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +qint64 TaskTriggerInfo::timeOfDayTicks() const { return m_timeOfDayTicks; } +void TaskTriggerInfo::setTimeOfDayTicks(qint64 newTimeOfDayTicks) { + m_timeOfDayTicks = newTimeOfDayTicks; + emit timeOfDayTicksChanged(newTimeOfDayTicks); +} + +qint64 TaskTriggerInfo::intervalTicks() const { return m_intervalTicks; } +void TaskTriggerInfo::setIntervalTicks(qint64 newIntervalTicks) { + m_intervalTicks = newIntervalTicks; + emit intervalTicksChanged(newIntervalTicks); +} + +DayOfWeek TaskTriggerInfo::dayOfWeek() const { return m_dayOfWeek; } +void TaskTriggerInfo::setDayOfWeek(DayOfWeek newDayOfWeek) { + m_dayOfWeek = newDayOfWeek; + emit dayOfWeekChanged(newDayOfWeek); +} + +qint64 TaskTriggerInfo::maxRuntimeTicks() const { return m_maxRuntimeTicks; } +void TaskTriggerInfo::setMaxRuntimeTicks(qint64 newMaxRuntimeTicks) { + m_maxRuntimeTicks = newMaxRuntimeTicks; + emit maxRuntimeTicksChanged(newMaxRuntimeTicks); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/thememediaresult.cpp b/core/src/DTO/thememediaresult.cpp new file mode 100644 index 0000000..ddc16b4 --- /dev/null +++ b/core/src/DTO/thememediaresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ThemeMediaResult::ThemeMediaResult(QObject *parent) : QObject(parent) {} + +ThemeMediaResult *ThemeMediaResult::fromJSON(QJsonObject source, QObject *parent) { + ThemeMediaResult *instance = new ThemeMediaResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void ThemeMediaResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ThemeMediaResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList ThemeMediaResult::items() const { return m_items; } +void ThemeMediaResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 ThemeMediaResult::totalRecordCount() const { return m_totalRecordCount; } +void ThemeMediaResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 ThemeMediaResult::startIndex() const { return m_startIndex; } +void ThemeMediaResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + +QString ThemeMediaResult::ownerId() const { return m_ownerId; } +void ThemeMediaResult::setOwnerId(QString newOwnerId) { + m_ownerId = newOwnerId; + emit ownerIdChanged(newOwnerId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/timereventinfo.cpp b/core/src/DTO/timereventinfo.cpp new file mode 100644 index 0000000..bbe86de --- /dev/null +++ b/core/src/DTO/timereventinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TimerEventInfo::TimerEventInfo(QObject *parent) : QObject(parent) {} + +TimerEventInfo *TimerEventInfo::fromJSON(QJsonObject source, QObject *parent) { + TimerEventInfo *instance = new TimerEventInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TimerEventInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TimerEventInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TimerEventInfo::jellyfinId() const { return m_jellyfinId; } +void TimerEventInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString TimerEventInfo::programId() const { return m_programId; } +void TimerEventInfo::setProgramId(QString newProgramId) { + m_programId = newProgramId; + emit programIdChanged(newProgramId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/timerinfodto.cpp b/core/src/DTO/timerinfodto.cpp new file mode 100644 index 0000000..566e0be --- /dev/null +++ b/core/src/DTO/timerinfodto.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 + +#include +#include + +namespace Jellyfin { +namespace DTO { + +TimerInfoDto::TimerInfoDto(QObject *parent) : QObject(parent) {} + +TimerInfoDto *TimerInfoDto::fromJSON(QJsonObject source, QObject *parent) { + TimerInfoDto *instance = new TimerInfoDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void TimerInfoDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TimerInfoDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TimerInfoDto::jellyfinId() const { return m_jellyfinId; } +void TimerInfoDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString TimerInfoDto::type() const { return m_type; } +void TimerInfoDto::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString TimerInfoDto::serverId() const { return m_serverId; } +void TimerInfoDto::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + +QString TimerInfoDto::externalId() const { return m_externalId; } +void TimerInfoDto::setExternalId(QString newExternalId) { + m_externalId = newExternalId; + emit externalIdChanged(newExternalId); +} + +QString TimerInfoDto::channelId() const { return m_channelId; } +void TimerInfoDto::setChannelId(QString newChannelId) { + m_channelId = newChannelId; + emit channelIdChanged(newChannelId); +} + +QString TimerInfoDto::externalChannelId() const { return m_externalChannelId; } +void TimerInfoDto::setExternalChannelId(QString newExternalChannelId) { + m_externalChannelId = newExternalChannelId; + emit externalChannelIdChanged(newExternalChannelId); +} + +QString TimerInfoDto::channelName() const { return m_channelName; } +void TimerInfoDto::setChannelName(QString newChannelName) { + m_channelName = newChannelName; + emit channelNameChanged(newChannelName); +} + +QString TimerInfoDto::channelPrimaryImageTag() const { return m_channelPrimaryImageTag; } +void TimerInfoDto::setChannelPrimaryImageTag(QString newChannelPrimaryImageTag) { + m_channelPrimaryImageTag = newChannelPrimaryImageTag; + emit channelPrimaryImageTagChanged(newChannelPrimaryImageTag); +} + +QString TimerInfoDto::programId() const { return m_programId; } +void TimerInfoDto::setProgramId(QString newProgramId) { + m_programId = newProgramId; + emit programIdChanged(newProgramId); +} + +QString TimerInfoDto::externalProgramId() const { return m_externalProgramId; } +void TimerInfoDto::setExternalProgramId(QString newExternalProgramId) { + m_externalProgramId = newExternalProgramId; + emit externalProgramIdChanged(newExternalProgramId); +} + +QString TimerInfoDto::name() const { return m_name; } +void TimerInfoDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString TimerInfoDto::overview() const { return m_overview; } +void TimerInfoDto::setOverview(QString newOverview) { + m_overview = newOverview; + emit overviewChanged(newOverview); +} + +QDateTime TimerInfoDto::startDate() const { return m_startDate; } +void TimerInfoDto::setStartDate(QDateTime newStartDate) { + m_startDate = newStartDate; + emit startDateChanged(newStartDate); +} + +QDateTime TimerInfoDto::endDate() const { return m_endDate; } +void TimerInfoDto::setEndDate(QDateTime newEndDate) { + m_endDate = newEndDate; + emit endDateChanged(newEndDate); +} + +QString TimerInfoDto::serviceName() const { return m_serviceName; } +void TimerInfoDto::setServiceName(QString newServiceName) { + m_serviceName = newServiceName; + emit serviceNameChanged(newServiceName); +} + +qint32 TimerInfoDto::priority() const { return m_priority; } +void TimerInfoDto::setPriority(qint32 newPriority) { + m_priority = newPriority; + emit priorityChanged(newPriority); +} + +qint32 TimerInfoDto::prePaddingSeconds() const { return m_prePaddingSeconds; } +void TimerInfoDto::setPrePaddingSeconds(qint32 newPrePaddingSeconds) { + m_prePaddingSeconds = newPrePaddingSeconds; + emit prePaddingSecondsChanged(newPrePaddingSeconds); +} + +qint32 TimerInfoDto::postPaddingSeconds() const { return m_postPaddingSeconds; } +void TimerInfoDto::setPostPaddingSeconds(qint32 newPostPaddingSeconds) { + m_postPaddingSeconds = newPostPaddingSeconds; + emit postPaddingSecondsChanged(newPostPaddingSeconds); +} + +bool TimerInfoDto::isPrePaddingRequired() const { return m_isPrePaddingRequired; } +void TimerInfoDto::setIsPrePaddingRequired(bool newIsPrePaddingRequired) { + m_isPrePaddingRequired = newIsPrePaddingRequired; + emit isPrePaddingRequiredChanged(newIsPrePaddingRequired); +} + +QString TimerInfoDto::parentBackdropItemId() const { return m_parentBackdropItemId; } +void TimerInfoDto::setParentBackdropItemId(QString newParentBackdropItemId) { + m_parentBackdropItemId = newParentBackdropItemId; + emit parentBackdropItemIdChanged(newParentBackdropItemId); +} + +QStringList TimerInfoDto::parentBackdropImageTags() const { return m_parentBackdropImageTags; } +void TimerInfoDto::setParentBackdropImageTags(QStringList newParentBackdropImageTags) { + m_parentBackdropImageTags = newParentBackdropImageTags; + emit parentBackdropImageTagsChanged(newParentBackdropImageTags); +} + +bool TimerInfoDto::isPostPaddingRequired() const { return m_isPostPaddingRequired; } +void TimerInfoDto::setIsPostPaddingRequired(bool newIsPostPaddingRequired) { + m_isPostPaddingRequired = newIsPostPaddingRequired; + emit isPostPaddingRequiredChanged(newIsPostPaddingRequired); +} + +KeepUntil TimerInfoDto::keepUntil() const { return m_keepUntil; } +void TimerInfoDto::setKeepUntil(KeepUntil newKeepUntil) { + m_keepUntil = newKeepUntil; + emit keepUntilChanged(newKeepUntil); +} + +RecordingStatus TimerInfoDto::status() const { return m_status; } +void TimerInfoDto::setStatus(RecordingStatus newStatus) { + m_status = newStatus; + emit statusChanged(newStatus); +} + +QString TimerInfoDto::seriesTimerId() const { return m_seriesTimerId; } +void TimerInfoDto::setSeriesTimerId(QString newSeriesTimerId) { + m_seriesTimerId = newSeriesTimerId; + emit seriesTimerIdChanged(newSeriesTimerId); +} + +QString TimerInfoDto::externalSeriesTimerId() const { return m_externalSeriesTimerId; } +void TimerInfoDto::setExternalSeriesTimerId(QString newExternalSeriesTimerId) { + m_externalSeriesTimerId = newExternalSeriesTimerId; + emit externalSeriesTimerIdChanged(newExternalSeriesTimerId); +} + +qint64 TimerInfoDto::runTimeTicks() const { return m_runTimeTicks; } +void TimerInfoDto::setRunTimeTicks(qint64 newRunTimeTicks) { + m_runTimeTicks = newRunTimeTicks; + emit runTimeTicksChanged(newRunTimeTicks); +} + +BaseItemDto * TimerInfoDto::programInfo() const { return m_programInfo; } +void TimerInfoDto::setProgramInfo(BaseItemDto * newProgramInfo) { + m_programInfo = newProgramInfo; + emit programInfoChanged(newProgramInfo); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/timerinfodtoqueryresult.cpp b/core/src/DTO/timerinfodtoqueryresult.cpp new file mode 100644 index 0000000..90c7482 --- /dev/null +++ b/core/src/DTO/timerinfodtoqueryresult.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TimerInfoDtoQueryResult::TimerInfoDtoQueryResult(QObject *parent) : QObject(parent) {} + +TimerInfoDtoQueryResult *TimerInfoDtoQueryResult::fromJSON(QJsonObject source, QObject *parent) { + TimerInfoDtoQueryResult *instance = new TimerInfoDtoQueryResult(parent); + instance->updateFromJSON(source); + return instance; +} + +void TimerInfoDtoQueryResult::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TimerInfoDtoQueryResult::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QList TimerInfoDtoQueryResult::items() const { return m_items; } +void TimerInfoDtoQueryResult::setItems(QList newItems) { + m_items = newItems; + emit itemsChanged(newItems); +} + +qint32 TimerInfoDtoQueryResult::totalRecordCount() const { return m_totalRecordCount; } +void TimerInfoDtoQueryResult::setTotalRecordCount(qint32 newTotalRecordCount) { + m_totalRecordCount = newTotalRecordCount; + emit totalRecordCountChanged(newTotalRecordCount); +} + +qint32 TimerInfoDtoQueryResult::startIndex() const { return m_startIndex; } +void TimerInfoDtoQueryResult::setStartIndex(qint32 newStartIndex) { + m_startIndex = newStartIndex; + emit startIndexChanged(newStartIndex); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/trailerinfo.cpp b/core/src/DTO/trailerinfo.cpp new file mode 100644 index 0000000..2a3d77f --- /dev/null +++ b/core/src/DTO/trailerinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TrailerInfo::TrailerInfo(QObject *parent) : QObject(parent) {} + +TrailerInfo *TrailerInfo::fromJSON(QJsonObject source, QObject *parent) { + TrailerInfo *instance = new TrailerInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TrailerInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TrailerInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TrailerInfo::name() const { return m_name; } +void TrailerInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString TrailerInfo::path() const { return m_path; } +void TrailerInfo::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +QString TrailerInfo::metadataLanguage() const { return m_metadataLanguage; } +void TrailerInfo::setMetadataLanguage(QString newMetadataLanguage) { + m_metadataLanguage = newMetadataLanguage; + emit metadataLanguageChanged(newMetadataLanguage); +} + +QString TrailerInfo::metadataCountryCode() const { return m_metadataCountryCode; } +void TrailerInfo::setMetadataCountryCode(QString newMetadataCountryCode) { + m_metadataCountryCode = newMetadataCountryCode; + emit metadataCountryCodeChanged(newMetadataCountryCode); +} + +QJsonObject TrailerInfo::providerIds() const { return m_providerIds; } +void TrailerInfo::setProviderIds(QJsonObject newProviderIds) { + m_providerIds = newProviderIds; + emit providerIdsChanged(newProviderIds); +} + +qint32 TrailerInfo::year() const { return m_year; } +void TrailerInfo::setYear(qint32 newYear) { + m_year = newYear; + emit yearChanged(newYear); +} + +qint32 TrailerInfo::indexNumber() const { return m_indexNumber; } +void TrailerInfo::setIndexNumber(qint32 newIndexNumber) { + m_indexNumber = newIndexNumber; + emit indexNumberChanged(newIndexNumber); +} + +qint32 TrailerInfo::parentIndexNumber() const { return m_parentIndexNumber; } +void TrailerInfo::setParentIndexNumber(qint32 newParentIndexNumber) { + m_parentIndexNumber = newParentIndexNumber; + emit parentIndexNumberChanged(newParentIndexNumber); +} + +QDateTime TrailerInfo::premiereDate() const { return m_premiereDate; } +void TrailerInfo::setPremiereDate(QDateTime newPremiereDate) { + m_premiereDate = newPremiereDate; + emit premiereDateChanged(newPremiereDate); +} + +bool TrailerInfo::isAutomated() const { return m_isAutomated; } +void TrailerInfo::setIsAutomated(bool newIsAutomated) { + m_isAutomated = newIsAutomated; + emit isAutomatedChanged(newIsAutomated); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/trailerinforemotesearchquery.cpp b/core/src/DTO/trailerinforemotesearchquery.cpp new file mode 100644 index 0000000..2992930 --- /dev/null +++ b/core/src/DTO/trailerinforemotesearchquery.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TrailerInfoRemoteSearchQuery::TrailerInfoRemoteSearchQuery(QObject *parent) : QObject(parent) {} + +TrailerInfoRemoteSearchQuery *TrailerInfoRemoteSearchQuery::fromJSON(QJsonObject source, QObject *parent) { + TrailerInfoRemoteSearchQuery *instance = new TrailerInfoRemoteSearchQuery(parent); + instance->updateFromJSON(source); + return instance; +} + +void TrailerInfoRemoteSearchQuery::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TrailerInfoRemoteSearchQuery::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +TrailerInfo * TrailerInfoRemoteSearchQuery::searchInfo() const { return m_searchInfo; } +void TrailerInfoRemoteSearchQuery::setSearchInfo(TrailerInfo * newSearchInfo) { + m_searchInfo = newSearchInfo; + emit searchInfoChanged(newSearchInfo); +} + +QString TrailerInfoRemoteSearchQuery::itemId() const { return m_itemId; } +void TrailerInfoRemoteSearchQuery::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString TrailerInfoRemoteSearchQuery::searchProviderName() const { return m_searchProviderName; } +void TrailerInfoRemoteSearchQuery::setSearchProviderName(QString newSearchProviderName) { + m_searchProviderName = newSearchProviderName; + emit searchProviderNameChanged(newSearchProviderName); +} + +bool TrailerInfoRemoteSearchQuery::includeDisabledProviders() const { return m_includeDisabledProviders; } +void TrailerInfoRemoteSearchQuery::setIncludeDisabledProviders(bool newIncludeDisabledProviders) { + m_includeDisabledProviders = newIncludeDisabledProviders; + emit includeDisabledProvidersChanged(newIncludeDisabledProviders); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/transcodereason.cpp b/core/src/DTO/transcodereason.cpp new file mode 100644 index 0000000..0faccfc --- /dev/null +++ b/core/src/DTO/transcodereason.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/transcodeseekinfo.cpp b/core/src/DTO/transcodeseekinfo.cpp new file mode 100644 index 0000000..38e07a2 --- /dev/null +++ b/core/src/DTO/transcodeseekinfo.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/transcodinginfo.cpp b/core/src/DTO/transcodinginfo.cpp new file mode 100644 index 0000000..8c64040 --- /dev/null +++ b/core/src/DTO/transcodinginfo.cpp @@ -0,0 +1,127 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +TranscodingInfo::TranscodingInfo(QObject *parent) : QObject(parent) {} + +TranscodingInfo *TranscodingInfo::fromJSON(QJsonObject source, QObject *parent) { + TranscodingInfo *instance = new TranscodingInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TranscodingInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TranscodingInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TranscodingInfo::audioCodec() const { return m_audioCodec; } +void TranscodingInfo::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; + emit audioCodecChanged(newAudioCodec); +} + +QString TranscodingInfo::videoCodec() const { return m_videoCodec; } +void TranscodingInfo::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; + emit videoCodecChanged(newVideoCodec); +} + +QString TranscodingInfo::container() const { return m_container; } +void TranscodingInfo::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +bool TranscodingInfo::isVideoDirect() const { return m_isVideoDirect; } +void TranscodingInfo::setIsVideoDirect(bool newIsVideoDirect) { + m_isVideoDirect = newIsVideoDirect; + emit isVideoDirectChanged(newIsVideoDirect); +} + +bool TranscodingInfo::isAudioDirect() const { return m_isAudioDirect; } +void TranscodingInfo::setIsAudioDirect(bool newIsAudioDirect) { + m_isAudioDirect = newIsAudioDirect; + emit isAudioDirectChanged(newIsAudioDirect); +} + +qint32 TranscodingInfo::bitrate() const { return m_bitrate; } +void TranscodingInfo::setBitrate(qint32 newBitrate) { + m_bitrate = newBitrate; + emit bitrateChanged(newBitrate); +} + +float TranscodingInfo::framerate() const { return m_framerate; } +void TranscodingInfo::setFramerate(float newFramerate) { + m_framerate = newFramerate; + emit framerateChanged(newFramerate); +} + +double TranscodingInfo::completionPercentage() const { return m_completionPercentage; } +void TranscodingInfo::setCompletionPercentage(double newCompletionPercentage) { + m_completionPercentage = newCompletionPercentage; + emit completionPercentageChanged(newCompletionPercentage); +} + +qint32 TranscodingInfo::width() const { return m_width; } +void TranscodingInfo::setWidth(qint32 newWidth) { + m_width = newWidth; + emit widthChanged(newWidth); +} + +qint32 TranscodingInfo::height() const { return m_height; } +void TranscodingInfo::setHeight(qint32 newHeight) { + m_height = newHeight; + emit heightChanged(newHeight); +} + +qint32 TranscodingInfo::audioChannels() const { return m_audioChannels; } +void TranscodingInfo::setAudioChannels(qint32 newAudioChannels) { + m_audioChannels = newAudioChannels; + emit audioChannelsChanged(newAudioChannels); +} + +QList TranscodingInfo::transcodeReasons() const { return m_transcodeReasons; } +void TranscodingInfo::setTranscodeReasons(QList newTranscodeReasons) { + m_transcodeReasons = newTranscodeReasons; + emit transcodeReasonsChanged(newTranscodeReasons); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/transcodingprofile.cpp b/core/src/DTO/transcodingprofile.cpp new file mode 100644 index 0000000..f54a6cd --- /dev/null +++ b/core/src/DTO/transcodingprofile.cpp @@ -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. + */ + +#include + +#include +#include +#include + +namespace Jellyfin { +namespace DTO { + +TranscodingProfile::TranscodingProfile(QObject *parent) : QObject(parent) {} + +TranscodingProfile *TranscodingProfile::fromJSON(QJsonObject source, QObject *parent) { + TranscodingProfile *instance = new TranscodingProfile(parent); + instance->updateFromJSON(source); + return instance; +} + +void TranscodingProfile::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TranscodingProfile::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TranscodingProfile::container() const { return m_container; } +void TranscodingProfile::setContainer(QString newContainer) { + m_container = newContainer; + emit containerChanged(newContainer); +} + +DlnaProfileType TranscodingProfile::type() const { return m_type; } +void TranscodingProfile::setType(DlnaProfileType newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString TranscodingProfile::videoCodec() const { return m_videoCodec; } +void TranscodingProfile::setVideoCodec(QString newVideoCodec) { + m_videoCodec = newVideoCodec; + emit videoCodecChanged(newVideoCodec); +} + +QString TranscodingProfile::audioCodec() const { return m_audioCodec; } +void TranscodingProfile::setAudioCodec(QString newAudioCodec) { + m_audioCodec = newAudioCodec; + emit audioCodecChanged(newAudioCodec); +} + +QString TranscodingProfile::protocol() const { return m_protocol; } +void TranscodingProfile::setProtocol(QString newProtocol) { + m_protocol = newProtocol; + emit protocolChanged(newProtocol); +} + +bool TranscodingProfile::estimateContentLength() const { return m_estimateContentLength; } +void TranscodingProfile::setEstimateContentLength(bool newEstimateContentLength) { + m_estimateContentLength = newEstimateContentLength; + emit estimateContentLengthChanged(newEstimateContentLength); +} + +bool TranscodingProfile::enableMpegtsM2TsMode() const { return m_enableMpegtsM2TsMode; } +void TranscodingProfile::setEnableMpegtsM2TsMode(bool newEnableMpegtsM2TsMode) { + m_enableMpegtsM2TsMode = newEnableMpegtsM2TsMode; + emit enableMpegtsM2TsModeChanged(newEnableMpegtsM2TsMode); +} + +TranscodeSeekInfo TranscodingProfile::transcodeSeekInfo() const { return m_transcodeSeekInfo; } +void TranscodingProfile::setTranscodeSeekInfo(TranscodeSeekInfo newTranscodeSeekInfo) { + m_transcodeSeekInfo = newTranscodeSeekInfo; + emit transcodeSeekInfoChanged(newTranscodeSeekInfo); +} + +bool TranscodingProfile::copyTimestamps() const { return m_copyTimestamps; } +void TranscodingProfile::setCopyTimestamps(bool newCopyTimestamps) { + m_copyTimestamps = newCopyTimestamps; + emit copyTimestampsChanged(newCopyTimestamps); +} + +EncodingContext TranscodingProfile::context() const { return m_context; } +void TranscodingProfile::setContext(EncodingContext newContext) { + m_context = newContext; + emit contextChanged(newContext); +} + +bool TranscodingProfile::enableSubtitlesInManifest() const { return m_enableSubtitlesInManifest; } +void TranscodingProfile::setEnableSubtitlesInManifest(bool newEnableSubtitlesInManifest) { + m_enableSubtitlesInManifest = newEnableSubtitlesInManifest; + emit enableSubtitlesInManifestChanged(newEnableSubtitlesInManifest); +} + +QString TranscodingProfile::maxAudioChannels() const { return m_maxAudioChannels; } +void TranscodingProfile::setMaxAudioChannels(QString newMaxAudioChannels) { + m_maxAudioChannels = newMaxAudioChannels; + emit maxAudioChannelsChanged(newMaxAudioChannels); +} + +qint32 TranscodingProfile::minSegments() const { return m_minSegments; } +void TranscodingProfile::setMinSegments(qint32 newMinSegments) { + m_minSegments = newMinSegments; + emit minSegmentsChanged(newMinSegments); +} + +qint32 TranscodingProfile::segmentLength() const { return m_segmentLength; } +void TranscodingProfile::setSegmentLength(qint32 newSegmentLength) { + m_segmentLength = newSegmentLength; + emit segmentLengthChanged(newSegmentLength); +} + +bool TranscodingProfile::breakOnNonKeyFrames() const { return m_breakOnNonKeyFrames; } +void TranscodingProfile::setBreakOnNonKeyFrames(bool newBreakOnNonKeyFrames) { + m_breakOnNonKeyFrames = newBreakOnNonKeyFrames; + emit breakOnNonKeyFramesChanged(newBreakOnNonKeyFrames); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/transportstreamtimestamp.cpp b/core/src/DTO/transportstreamtimestamp.cpp new file mode 100644 index 0000000..4771191 --- /dev/null +++ b/core/src/DTO/transportstreamtimestamp.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/tunerchannelmapping.cpp b/core/src/DTO/tunerchannelmapping.cpp new file mode 100644 index 0000000..90548cc --- /dev/null +++ b/core/src/DTO/tunerchannelmapping.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TunerChannelMapping::TunerChannelMapping(QObject *parent) : QObject(parent) {} + +TunerChannelMapping *TunerChannelMapping::fromJSON(QJsonObject source, QObject *parent) { + TunerChannelMapping *instance = new TunerChannelMapping(parent); + instance->updateFromJSON(source); + return instance; +} + +void TunerChannelMapping::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TunerChannelMapping::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TunerChannelMapping::name() const { return m_name; } +void TunerChannelMapping::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString TunerChannelMapping::providerChannelName() const { return m_providerChannelName; } +void TunerChannelMapping::setProviderChannelName(QString newProviderChannelName) { + m_providerChannelName = newProviderChannelName; + emit providerChannelNameChanged(newProviderChannelName); +} + +QString TunerChannelMapping::providerChannelId() const { return m_providerChannelId; } +void TunerChannelMapping::setProviderChannelId(QString newProviderChannelId) { + m_providerChannelId = newProviderChannelId; + emit providerChannelIdChanged(newProviderChannelId); +} + +QString TunerChannelMapping::jellyfinId() const { return m_jellyfinId; } +void TunerChannelMapping::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/tunerhostinfo.cpp b/core/src/DTO/tunerhostinfo.cpp new file mode 100644 index 0000000..3a478c9 --- /dev/null +++ b/core/src/DTO/tunerhostinfo.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 { + +TunerHostInfo::TunerHostInfo(QObject *parent) : QObject(parent) {} + +TunerHostInfo *TunerHostInfo::fromJSON(QJsonObject source, QObject *parent) { + TunerHostInfo *instance = new TunerHostInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void TunerHostInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TunerHostInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TunerHostInfo::jellyfinId() const { return m_jellyfinId; } +void TunerHostInfo::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString TunerHostInfo::url() const { return m_url; } +void TunerHostInfo::setUrl(QString newUrl) { + m_url = newUrl; + emit urlChanged(newUrl); +} + +QString TunerHostInfo::type() const { return m_type; } +void TunerHostInfo::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QString TunerHostInfo::deviceId() const { return m_deviceId; } +void TunerHostInfo::setDeviceId(QString newDeviceId) { + m_deviceId = newDeviceId; + emit deviceIdChanged(newDeviceId); +} + +QString TunerHostInfo::friendlyName() const { return m_friendlyName; } +void TunerHostInfo::setFriendlyName(QString newFriendlyName) { + m_friendlyName = newFriendlyName; + emit friendlyNameChanged(newFriendlyName); +} + +bool TunerHostInfo::importFavoritesOnly() const { return m_importFavoritesOnly; } +void TunerHostInfo::setImportFavoritesOnly(bool newImportFavoritesOnly) { + m_importFavoritesOnly = newImportFavoritesOnly; + emit importFavoritesOnlyChanged(newImportFavoritesOnly); +} + +bool TunerHostInfo::allowHWTranscoding() const { return m_allowHWTranscoding; } +void TunerHostInfo::setAllowHWTranscoding(bool newAllowHWTranscoding) { + m_allowHWTranscoding = newAllowHWTranscoding; + emit allowHWTranscodingChanged(newAllowHWTranscoding); +} + +bool TunerHostInfo::enableStreamLooping() const { return m_enableStreamLooping; } +void TunerHostInfo::setEnableStreamLooping(bool newEnableStreamLooping) { + m_enableStreamLooping = newEnableStreamLooping; + emit enableStreamLoopingChanged(newEnableStreamLooping); +} + +QString TunerHostInfo::source() const { return m_source; } +void TunerHostInfo::setSource(QString newSource) { + m_source = newSource; + emit sourceChanged(newSource); +} + +qint32 TunerHostInfo::tunerCount() const { return m_tunerCount; } +void TunerHostInfo::setTunerCount(qint32 newTunerCount) { + m_tunerCount = newTunerCount; + emit tunerCountChanged(newTunerCount); +} + +QString TunerHostInfo::userAgent() const { return m_userAgent; } +void TunerHostInfo::setUserAgent(QString newUserAgent) { + m_userAgent = newUserAgent; + emit userAgentChanged(newUserAgent); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/typeoptions.cpp b/core/src/DTO/typeoptions.cpp new file mode 100644 index 0000000..418f8c9 --- /dev/null +++ b/core/src/DTO/typeoptions.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +TypeOptions::TypeOptions(QObject *parent) : QObject(parent) {} + +TypeOptions *TypeOptions::fromJSON(QJsonObject source, QObject *parent) { + TypeOptions *instance = new TypeOptions(parent); + instance->updateFromJSON(source); + return instance; +} + +void TypeOptions::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject TypeOptions::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString TypeOptions::type() const { return m_type; } +void TypeOptions::setType(QString newType) { + m_type = newType; + emit typeChanged(newType); +} + +QStringList TypeOptions::metadataFetchers() const { return m_metadataFetchers; } +void TypeOptions::setMetadataFetchers(QStringList newMetadataFetchers) { + m_metadataFetchers = newMetadataFetchers; + emit metadataFetchersChanged(newMetadataFetchers); +} + +QStringList TypeOptions::metadataFetcherOrder() const { return m_metadataFetcherOrder; } +void TypeOptions::setMetadataFetcherOrder(QStringList newMetadataFetcherOrder) { + m_metadataFetcherOrder = newMetadataFetcherOrder; + emit metadataFetcherOrderChanged(newMetadataFetcherOrder); +} + +QStringList TypeOptions::imageFetchers() const { return m_imageFetchers; } +void TypeOptions::setImageFetchers(QStringList newImageFetchers) { + m_imageFetchers = newImageFetchers; + emit imageFetchersChanged(newImageFetchers); +} + +QStringList TypeOptions::imageFetcherOrder() const { return m_imageFetcherOrder; } +void TypeOptions::setImageFetcherOrder(QStringList newImageFetcherOrder) { + m_imageFetcherOrder = newImageFetcherOrder; + emit imageFetcherOrderChanged(newImageFetcherOrder); +} + +QList TypeOptions::imageOptions() const { return m_imageOptions; } +void TypeOptions::setImageOptions(QList newImageOptions) { + m_imageOptions = newImageOptions; + emit imageOptionsChanged(newImageOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/types.cpp b/core/src/DTO/types.cpp deleted file mode 100644 index 4f9e4b7..0000000 --- a/core/src/DTO/types.cpp +++ /dev/null @@ -1,36 +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/DTO/types.h" - -#include - -namespace Jellyfin { -namespace DTO { - -void registerTypes(const char *uri) { - qmlRegisterType(uri, 1, 0, "MediaStream"); - qmlRegisterType(uri, 1, 0, "NameGuidPair"); - qmlRegisterType(uri, 1, 0, "User"); - qmlRegisterType(uri, 1, 0, "UserData"); - qmlRegisterType(uri, 1, 0, "JellyfinItem"); -} - -} // NS DTO -} // NS Jellyfin diff --git a/core/src/DTO/unrateditem.cpp b/core/src/DTO/unrateditem.cpp new file mode 100644 index 0000000..533e1fe --- /dev/null +++ b/core/src/DTO/unrateditem.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/updatelibraryoptionsdto.cpp b/core/src/DTO/updatelibraryoptionsdto.cpp new file mode 100644 index 0000000..2fbe1b8 --- /dev/null +++ b/core/src/DTO/updatelibraryoptionsdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateLibraryOptionsDto::UpdateLibraryOptionsDto(QObject *parent) : QObject(parent) {} + +UpdateLibraryOptionsDto *UpdateLibraryOptionsDto::fromJSON(QJsonObject source, QObject *parent) { + UpdateLibraryOptionsDto *instance = new UpdateLibraryOptionsDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void UpdateLibraryOptionsDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UpdateLibraryOptionsDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UpdateLibraryOptionsDto::jellyfinId() const { return m_jellyfinId; } +void UpdateLibraryOptionsDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +LibraryOptions * UpdateLibraryOptionsDto::libraryOptions() const { return m_libraryOptions; } +void UpdateLibraryOptionsDto::setLibraryOptions(LibraryOptions * newLibraryOptions) { + m_libraryOptions = newLibraryOptions; + emit libraryOptionsChanged(newLibraryOptions); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/updateusereasypassword.cpp b/core/src/DTO/updateusereasypassword.cpp new file mode 100644 index 0000000..8ceebc8 --- /dev/null +++ b/core/src/DTO/updateusereasypassword.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateUserEasyPassword::UpdateUserEasyPassword(QObject *parent) : QObject(parent) {} + +UpdateUserEasyPassword *UpdateUserEasyPassword::fromJSON(QJsonObject source, QObject *parent) { + UpdateUserEasyPassword *instance = new UpdateUserEasyPassword(parent); + instance->updateFromJSON(source); + return instance; +} + +void UpdateUserEasyPassword::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UpdateUserEasyPassword::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UpdateUserEasyPassword::newPassword() const { return m_newPassword; } +void UpdateUserEasyPassword::setNewPassword(QString newNewPassword) { + m_newPassword = newNewPassword; + emit newPasswordChanged(newNewPassword); +} + +QString UpdateUserEasyPassword::newPw() const { return m_newPw; } +void UpdateUserEasyPassword::setNewPw(QString newNewPw) { + m_newPw = newNewPw; + emit newPwChanged(newNewPw); +} + +bool UpdateUserEasyPassword::resetPassword() const { return m_resetPassword; } +void UpdateUserEasyPassword::setResetPassword(bool newResetPassword) { + m_resetPassword = newResetPassword; + emit resetPasswordChanged(newResetPassword); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/updateuserpassword.cpp b/core/src/DTO/updateuserpassword.cpp new file mode 100644 index 0000000..cc32f6d --- /dev/null +++ b/core/src/DTO/updateuserpassword.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UpdateUserPassword::UpdateUserPassword(QObject *parent) : QObject(parent) {} + +UpdateUserPassword *UpdateUserPassword::fromJSON(QJsonObject source, QObject *parent) { + UpdateUserPassword *instance = new UpdateUserPassword(parent); + instance->updateFromJSON(source); + return instance; +} + +void UpdateUserPassword::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UpdateUserPassword::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UpdateUserPassword::currentPassword() const { return m_currentPassword; } +void UpdateUserPassword::setCurrentPassword(QString newCurrentPassword) { + m_currentPassword = newCurrentPassword; + emit currentPasswordChanged(newCurrentPassword); +} + +QString UpdateUserPassword::currentPw() const { return m_currentPw; } +void UpdateUserPassword::setCurrentPw(QString newCurrentPw) { + m_currentPw = newCurrentPw; + emit currentPwChanged(newCurrentPw); +} + +QString UpdateUserPassword::newPw() const { return m_newPw; } +void UpdateUserPassword::setNewPw(QString newNewPw) { + m_newPw = newNewPw; + emit newPwChanged(newNewPw); +} + +bool UpdateUserPassword::resetPassword() const { return m_resetPassword; } +void UpdateUserPassword::setResetPassword(bool newResetPassword) { + m_resetPassword = newResetPassword; + emit resetPasswordChanged(newResetPassword); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/uploadsubtitledto.cpp b/core/src/DTO/uploadsubtitledto.cpp new file mode 100644 index 0000000..eb66d04 --- /dev/null +++ b/core/src/DTO/uploadsubtitledto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UploadSubtitleDto::UploadSubtitleDto(QObject *parent) : QObject(parent) {} + +UploadSubtitleDto *UploadSubtitleDto::fromJSON(QJsonObject source, QObject *parent) { + UploadSubtitleDto *instance = new UploadSubtitleDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void UploadSubtitleDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UploadSubtitleDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UploadSubtitleDto::language() const { return m_language; } +void UploadSubtitleDto::setLanguage(QString newLanguage) { + m_language = newLanguage; + emit languageChanged(newLanguage); +} + +QString UploadSubtitleDto::format() const { return m_format; } +void UploadSubtitleDto::setFormat(QString newFormat) { + m_format = newFormat; + emit formatChanged(newFormat); +} + +bool UploadSubtitleDto::isForced() const { return m_isForced; } +void UploadSubtitleDto::setIsForced(bool newIsForced) { + m_isForced = newIsForced; + emit isForcedChanged(newIsForced); +} + +QString UploadSubtitleDto::data() const { return m_data; } +void UploadSubtitleDto::setData(QString newData) { + m_data = newData; + emit dataChanged(newData); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/user.cpp b/core/src/DTO/user.cpp index b5e1949..e69de29 100644 --- a/core/src/DTO/user.cpp +++ b/core/src/DTO/user.cpp @@ -1,36 +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/DTO/user.h" - -#include "JellyfinQt/apiclient.h" - -namespace Jellyfin { -namespace DTO { -User::User(QObject *parent) : RemoteData (parent) {} - -QString User::getDataUrl() const { - return QString("/Users/") + m_apiClient->userId(); -} - -bool User::canReload() const { - return true; -} - -} // NS DTO -} // NS Jellyfin diff --git a/core/src/DTO/userconfiguration.cpp b/core/src/DTO/userconfiguration.cpp new file mode 100644 index 0000000..deeea58 --- /dev/null +++ b/core/src/DTO/userconfiguration.cpp @@ -0,0 +1,145 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include + +namespace Jellyfin { +namespace DTO { + +UserConfiguration::UserConfiguration(QObject *parent) : QObject(parent) {} + +UserConfiguration *UserConfiguration::fromJSON(QJsonObject source, QObject *parent) { + UserConfiguration *instance = new UserConfiguration(parent); + instance->updateFromJSON(source); + return instance; +} + +void UserConfiguration::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UserConfiguration::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UserConfiguration::audioLanguagePreference() const { return m_audioLanguagePreference; } +void UserConfiguration::setAudioLanguagePreference(QString newAudioLanguagePreference) { + m_audioLanguagePreference = newAudioLanguagePreference; + emit audioLanguagePreferenceChanged(newAudioLanguagePreference); +} + +bool UserConfiguration::playDefaultAudioTrack() const { return m_playDefaultAudioTrack; } +void UserConfiguration::setPlayDefaultAudioTrack(bool newPlayDefaultAudioTrack) { + m_playDefaultAudioTrack = newPlayDefaultAudioTrack; + emit playDefaultAudioTrackChanged(newPlayDefaultAudioTrack); +} + +QString UserConfiguration::subtitleLanguagePreference() const { return m_subtitleLanguagePreference; } +void UserConfiguration::setSubtitleLanguagePreference(QString newSubtitleLanguagePreference) { + m_subtitleLanguagePreference = newSubtitleLanguagePreference; + emit subtitleLanguagePreferenceChanged(newSubtitleLanguagePreference); +} + +bool UserConfiguration::displayMissingEpisodes() const { return m_displayMissingEpisodes; } +void UserConfiguration::setDisplayMissingEpisodes(bool newDisplayMissingEpisodes) { + m_displayMissingEpisodes = newDisplayMissingEpisodes; + emit displayMissingEpisodesChanged(newDisplayMissingEpisodes); +} + +QStringList UserConfiguration::groupedFolders() const { return m_groupedFolders; } +void UserConfiguration::setGroupedFolders(QStringList newGroupedFolders) { + m_groupedFolders = newGroupedFolders; + emit groupedFoldersChanged(newGroupedFolders); +} + +SubtitlePlaybackMode UserConfiguration::subtitleMode() const { return m_subtitleMode; } +void UserConfiguration::setSubtitleMode(SubtitlePlaybackMode newSubtitleMode) { + m_subtitleMode = newSubtitleMode; + emit subtitleModeChanged(newSubtitleMode); +} + +bool UserConfiguration::displayCollectionsView() const { return m_displayCollectionsView; } +void UserConfiguration::setDisplayCollectionsView(bool newDisplayCollectionsView) { + m_displayCollectionsView = newDisplayCollectionsView; + emit displayCollectionsViewChanged(newDisplayCollectionsView); +} + +bool UserConfiguration::enableLocalPassword() const { return m_enableLocalPassword; } +void UserConfiguration::setEnableLocalPassword(bool newEnableLocalPassword) { + m_enableLocalPassword = newEnableLocalPassword; + emit enableLocalPasswordChanged(newEnableLocalPassword); +} + +QStringList UserConfiguration::orderedViews() const { return m_orderedViews; } +void UserConfiguration::setOrderedViews(QStringList newOrderedViews) { + m_orderedViews = newOrderedViews; + emit orderedViewsChanged(newOrderedViews); +} + +QStringList UserConfiguration::latestItemsExcludes() const { return m_latestItemsExcludes; } +void UserConfiguration::setLatestItemsExcludes(QStringList newLatestItemsExcludes) { + m_latestItemsExcludes = newLatestItemsExcludes; + emit latestItemsExcludesChanged(newLatestItemsExcludes); +} + +QStringList UserConfiguration::myMediaExcludes() const { return m_myMediaExcludes; } +void UserConfiguration::setMyMediaExcludes(QStringList newMyMediaExcludes) { + m_myMediaExcludes = newMyMediaExcludes; + emit myMediaExcludesChanged(newMyMediaExcludes); +} + +bool UserConfiguration::hidePlayedInLatest() const { return m_hidePlayedInLatest; } +void UserConfiguration::setHidePlayedInLatest(bool newHidePlayedInLatest) { + m_hidePlayedInLatest = newHidePlayedInLatest; + emit hidePlayedInLatestChanged(newHidePlayedInLatest); +} + +bool UserConfiguration::rememberAudioSelections() const { return m_rememberAudioSelections; } +void UserConfiguration::setRememberAudioSelections(bool newRememberAudioSelections) { + m_rememberAudioSelections = newRememberAudioSelections; + emit rememberAudioSelectionsChanged(newRememberAudioSelections); +} + +bool UserConfiguration::rememberSubtitleSelections() const { return m_rememberSubtitleSelections; } +void UserConfiguration::setRememberSubtitleSelections(bool newRememberSubtitleSelections) { + m_rememberSubtitleSelections = newRememberSubtitleSelections; + emit rememberSubtitleSelectionsChanged(newRememberSubtitleSelections); +} + +bool UserConfiguration::enableNextEpisodeAutoPlay() const { return m_enableNextEpisodeAutoPlay; } +void UserConfiguration::setEnableNextEpisodeAutoPlay(bool newEnableNextEpisodeAutoPlay) { + m_enableNextEpisodeAutoPlay = newEnableNextEpisodeAutoPlay; + emit enableNextEpisodeAutoPlayChanged(newEnableNextEpisodeAutoPlay); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/userdata.cpp b/core/src/DTO/userdata.cpp index 5887ecc..e69de29 100644 --- a/core/src/DTO/userdata.cpp +++ b/core/src/DTO/userdata.cpp @@ -1,58 +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/DTO/userdata.h" - -namespace Jellyfin { -namespace DTO { - -UserData::UserData(QObject *parent) : JsonSerializable (parent) {} - -void UserData::updateOnServer() { - //TODO: implement -} - -void UserData::onUpdated(UserData *other) { - // The reason I'm not using setLikes and similar is that they don't work with std::nullopt, - // since QML does not like it. - // THe other reason is that the setLikes method will send a post request to the server, to update the contents - // we don't want that to happen, obviously, since the application could end in an infinite loop. - if (this->m_playedPercentage != other->m_playedPercentage) { - this->m_playedPercentage = other->m_playedPercentage; - emit playedPercentageChanged(playedPercentage()); - } - if (m_playbackPositionTicks!= other->m_playbackPositionTicks) { - this->m_playbackPositionTicks = other->m_playbackPositionTicks; - emit playbackPositionTicksChanged(this->m_playbackPositionTicks); - } - if (m_isFavorite != other->m_isFavorite) { - this->m_isFavorite = other->m_isFavorite; - emit isFavoriteChanged(this->m_isFavorite); - } - if (this->m_likes != other->m_likes) { - this->m_likes = other->m_likes; - emit likesChanged(likes()); - } - if (this->m_played != other->m_played) { - this->m_played = other->m_played; - emit playedChanged(this->m_played); - } -} - -} // NS DTO -} // NS Jellyfin diff --git a/core/src/DTO/userdto.cpp b/core/src/DTO/userdto.cpp new file mode 100644 index 0000000..43957d6 --- /dev/null +++ b/core/src/DTO/userdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UserDto::UserDto(QObject *parent) : QObject(parent) {} + +UserDto *UserDto::fromJSON(QJsonObject source, QObject *parent) { + UserDto *instance = new UserDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void UserDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UserDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString UserDto::name() const { return m_name; } +void UserDto::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString UserDto::serverId() const { return m_serverId; } +void UserDto::setServerId(QString newServerId) { + m_serverId = newServerId; + emit serverIdChanged(newServerId); +} + +QString UserDto::serverName() const { return m_serverName; } +void UserDto::setServerName(QString newServerName) { + m_serverName = newServerName; + emit serverNameChanged(newServerName); +} + +QString UserDto::jellyfinId() const { return m_jellyfinId; } +void UserDto::setJellyfinId(QString newJellyfinId) { + m_jellyfinId = newJellyfinId; + emit jellyfinIdChanged(newJellyfinId); +} + +QString UserDto::primaryImageTag() const { return m_primaryImageTag; } +void UserDto::setPrimaryImageTag(QString newPrimaryImageTag) { + m_primaryImageTag = newPrimaryImageTag; + emit primaryImageTagChanged(newPrimaryImageTag); +} + +bool UserDto::hasPassword() const { return m_hasPassword; } +void UserDto::setHasPassword(bool newHasPassword) { + m_hasPassword = newHasPassword; + emit hasPasswordChanged(newHasPassword); +} + +bool UserDto::hasConfiguredPassword() const { return m_hasConfiguredPassword; } +void UserDto::setHasConfiguredPassword(bool newHasConfiguredPassword) { + m_hasConfiguredPassword = newHasConfiguredPassword; + emit hasConfiguredPasswordChanged(newHasConfiguredPassword); +} + +bool UserDto::hasConfiguredEasyPassword() const { return m_hasConfiguredEasyPassword; } +void UserDto::setHasConfiguredEasyPassword(bool newHasConfiguredEasyPassword) { + m_hasConfiguredEasyPassword = newHasConfiguredEasyPassword; + emit hasConfiguredEasyPasswordChanged(newHasConfiguredEasyPassword); +} + +bool UserDto::enableAutoLogin() const { return m_enableAutoLogin; } +void UserDto::setEnableAutoLogin(bool newEnableAutoLogin) { + m_enableAutoLogin = newEnableAutoLogin; + emit enableAutoLoginChanged(newEnableAutoLogin); +} + +QDateTime UserDto::lastLoginDate() const { return m_lastLoginDate; } +void UserDto::setLastLoginDate(QDateTime newLastLoginDate) { + m_lastLoginDate = newLastLoginDate; + emit lastLoginDateChanged(newLastLoginDate); +} + +QDateTime UserDto::lastActivityDate() const { return m_lastActivityDate; } +void UserDto::setLastActivityDate(QDateTime newLastActivityDate) { + m_lastActivityDate = newLastActivityDate; + emit lastActivityDateChanged(newLastActivityDate); +} + +UserConfiguration * UserDto::configuration() const { return m_configuration; } +void UserDto::setConfiguration(UserConfiguration * newConfiguration) { + m_configuration = newConfiguration; + emit configurationChanged(newConfiguration); +} + +UserPolicy * UserDto::policy() const { return m_policy; } +void UserDto::setPolicy(UserPolicy * newPolicy) { + m_policy = newPolicy; + emit policyChanged(newPolicy); +} + +double UserDto::primaryImageAspectRatio() const { return m_primaryImageAspectRatio; } +void UserDto::setPrimaryImageAspectRatio(double newPrimaryImageAspectRatio) { + m_primaryImageAspectRatio = newPrimaryImageAspectRatio; + emit primaryImageAspectRatioChanged(newPrimaryImageAspectRatio); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/useritemdatadto.cpp b/core/src/DTO/useritemdatadto.cpp new file mode 100644 index 0000000..ac0369f --- /dev/null +++ b/core/src/DTO/useritemdatadto.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 { + +UserItemDataDto::UserItemDataDto(QObject *parent) : QObject(parent) {} + +UserItemDataDto *UserItemDataDto::fromJSON(QJsonObject source, QObject *parent) { + UserItemDataDto *instance = new UserItemDataDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void UserItemDataDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UserItemDataDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +double UserItemDataDto::rating() const { return m_rating; } +void UserItemDataDto::setRating(double newRating) { + m_rating = newRating; + emit ratingChanged(newRating); +} + +double UserItemDataDto::playedPercentage() const { return m_playedPercentage; } +void UserItemDataDto::setPlayedPercentage(double newPlayedPercentage) { + m_playedPercentage = newPlayedPercentage; + emit playedPercentageChanged(newPlayedPercentage); +} + +qint32 UserItemDataDto::unplayedItemCount() const { return m_unplayedItemCount; } +void UserItemDataDto::setUnplayedItemCount(qint32 newUnplayedItemCount) { + m_unplayedItemCount = newUnplayedItemCount; + emit unplayedItemCountChanged(newUnplayedItemCount); +} + +qint64 UserItemDataDto::playbackPositionTicks() const { return m_playbackPositionTicks; } +void UserItemDataDto::setPlaybackPositionTicks(qint64 newPlaybackPositionTicks) { + m_playbackPositionTicks = newPlaybackPositionTicks; + emit playbackPositionTicksChanged(newPlaybackPositionTicks); +} + +qint32 UserItemDataDto::playCount() const { return m_playCount; } +void UserItemDataDto::setPlayCount(qint32 newPlayCount) { + m_playCount = newPlayCount; + emit playCountChanged(newPlayCount); +} + +bool UserItemDataDto::isFavorite() const { return m_isFavorite; } +void UserItemDataDto::setIsFavorite(bool newIsFavorite) { + m_isFavorite = newIsFavorite; + emit isFavoriteChanged(newIsFavorite); +} + +bool UserItemDataDto::likes() const { return m_likes; } +void UserItemDataDto::setLikes(bool newLikes) { + m_likes = newLikes; + emit likesChanged(newLikes); +} + +QDateTime UserItemDataDto::lastPlayedDate() const { return m_lastPlayedDate; } +void UserItemDataDto::setLastPlayedDate(QDateTime newLastPlayedDate) { + m_lastPlayedDate = newLastPlayedDate; + emit lastPlayedDateChanged(newLastPlayedDate); +} + +bool UserItemDataDto::played() const { return m_played; } +void UserItemDataDto::setPlayed(bool newPlayed) { + m_played = newPlayed; + emit playedChanged(newPlayed); +} + +QString UserItemDataDto::key() const { return m_key; } +void UserItemDataDto::setKey(QString newKey) { + m_key = newKey; + emit keyChanged(newKey); +} + +QString UserItemDataDto::itemId() const { return m_itemId; } +void UserItemDataDto::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/userpolicy.cpp b/core/src/DTO/userpolicy.cpp new file mode 100644 index 0000000..901ae81 --- /dev/null +++ b/core/src/DTO/userpolicy.cpp @@ -0,0 +1,290 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI description, "openapi.json". Please update that + * file with a newer file if needed instead of manually updating the files. + */ + +#include + +#include +#include + +namespace Jellyfin { +namespace DTO { + +UserPolicy::UserPolicy(QObject *parent) : QObject(parent) {} + +UserPolicy *UserPolicy::fromJSON(QJsonObject source, QObject *parent) { + UserPolicy *instance = new UserPolicy(parent); + instance->updateFromJSON(source); + return instance; +} + +void UserPolicy::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UserPolicy::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool UserPolicy::isAdministrator() const { return m_isAdministrator; } +void UserPolicy::setIsAdministrator(bool newIsAdministrator) { + m_isAdministrator = newIsAdministrator; + emit isAdministratorChanged(newIsAdministrator); +} + +bool UserPolicy::isHidden() const { return m_isHidden; } +void UserPolicy::setIsHidden(bool newIsHidden) { + m_isHidden = newIsHidden; + emit isHiddenChanged(newIsHidden); +} + +bool UserPolicy::isDisabled() const { return m_isDisabled; } +void UserPolicy::setIsDisabled(bool newIsDisabled) { + m_isDisabled = newIsDisabled; + emit isDisabledChanged(newIsDisabled); +} + +qint32 UserPolicy::maxParentalRating() const { return m_maxParentalRating; } +void UserPolicy::setMaxParentalRating(qint32 newMaxParentalRating) { + m_maxParentalRating = newMaxParentalRating; + emit maxParentalRatingChanged(newMaxParentalRating); +} + +QStringList UserPolicy::blockedTags() const { return m_blockedTags; } +void UserPolicy::setBlockedTags(QStringList newBlockedTags) { + m_blockedTags = newBlockedTags; + emit blockedTagsChanged(newBlockedTags); +} + +bool UserPolicy::enableUserPreferenceAccess() const { return m_enableUserPreferenceAccess; } +void UserPolicy::setEnableUserPreferenceAccess(bool newEnableUserPreferenceAccess) { + m_enableUserPreferenceAccess = newEnableUserPreferenceAccess; + emit enableUserPreferenceAccessChanged(newEnableUserPreferenceAccess); +} + +QList UserPolicy::accessSchedules() const { return m_accessSchedules; } +void UserPolicy::setAccessSchedules(QList newAccessSchedules) { + m_accessSchedules = newAccessSchedules; + emit accessSchedulesChanged(newAccessSchedules); +} + +QList UserPolicy::blockUnratedItems() const { return m_blockUnratedItems; } +void UserPolicy::setBlockUnratedItems(QList newBlockUnratedItems) { + m_blockUnratedItems = newBlockUnratedItems; + emit blockUnratedItemsChanged(newBlockUnratedItems); +} + +bool UserPolicy::enableRemoteControlOfOtherUsers() const { return m_enableRemoteControlOfOtherUsers; } +void UserPolicy::setEnableRemoteControlOfOtherUsers(bool newEnableRemoteControlOfOtherUsers) { + m_enableRemoteControlOfOtherUsers = newEnableRemoteControlOfOtherUsers; + emit enableRemoteControlOfOtherUsersChanged(newEnableRemoteControlOfOtherUsers); +} + +bool UserPolicy::enableSharedDeviceControl() const { return m_enableSharedDeviceControl; } +void UserPolicy::setEnableSharedDeviceControl(bool newEnableSharedDeviceControl) { + m_enableSharedDeviceControl = newEnableSharedDeviceControl; + emit enableSharedDeviceControlChanged(newEnableSharedDeviceControl); +} + +bool UserPolicy::enableRemoteAccess() const { return m_enableRemoteAccess; } +void UserPolicy::setEnableRemoteAccess(bool newEnableRemoteAccess) { + m_enableRemoteAccess = newEnableRemoteAccess; + emit enableRemoteAccessChanged(newEnableRemoteAccess); +} + +bool UserPolicy::enableLiveTvManagement() const { return m_enableLiveTvManagement; } +void UserPolicy::setEnableLiveTvManagement(bool newEnableLiveTvManagement) { + m_enableLiveTvManagement = newEnableLiveTvManagement; + emit enableLiveTvManagementChanged(newEnableLiveTvManagement); +} + +bool UserPolicy::enableLiveTvAccess() const { return m_enableLiveTvAccess; } +void UserPolicy::setEnableLiveTvAccess(bool newEnableLiveTvAccess) { + m_enableLiveTvAccess = newEnableLiveTvAccess; + emit enableLiveTvAccessChanged(newEnableLiveTvAccess); +} + +bool UserPolicy::enableMediaPlayback() const { return m_enableMediaPlayback; } +void UserPolicy::setEnableMediaPlayback(bool newEnableMediaPlayback) { + m_enableMediaPlayback = newEnableMediaPlayback; + emit enableMediaPlaybackChanged(newEnableMediaPlayback); +} + +bool UserPolicy::enableAudioPlaybackTranscoding() const { return m_enableAudioPlaybackTranscoding; } +void UserPolicy::setEnableAudioPlaybackTranscoding(bool newEnableAudioPlaybackTranscoding) { + m_enableAudioPlaybackTranscoding = newEnableAudioPlaybackTranscoding; + emit enableAudioPlaybackTranscodingChanged(newEnableAudioPlaybackTranscoding); +} + +bool UserPolicy::enableVideoPlaybackTranscoding() const { return m_enableVideoPlaybackTranscoding; } +void UserPolicy::setEnableVideoPlaybackTranscoding(bool newEnableVideoPlaybackTranscoding) { + m_enableVideoPlaybackTranscoding = newEnableVideoPlaybackTranscoding; + emit enableVideoPlaybackTranscodingChanged(newEnableVideoPlaybackTranscoding); +} + +bool UserPolicy::enablePlaybackRemuxing() const { return m_enablePlaybackRemuxing; } +void UserPolicy::setEnablePlaybackRemuxing(bool newEnablePlaybackRemuxing) { + m_enablePlaybackRemuxing = newEnablePlaybackRemuxing; + emit enablePlaybackRemuxingChanged(newEnablePlaybackRemuxing); +} + +bool UserPolicy::forceRemoteSourceTranscoding() const { return m_forceRemoteSourceTranscoding; } +void UserPolicy::setForceRemoteSourceTranscoding(bool newForceRemoteSourceTranscoding) { + m_forceRemoteSourceTranscoding = newForceRemoteSourceTranscoding; + emit forceRemoteSourceTranscodingChanged(newForceRemoteSourceTranscoding); +} + +bool UserPolicy::enableContentDeletion() const { return m_enableContentDeletion; } +void UserPolicy::setEnableContentDeletion(bool newEnableContentDeletion) { + m_enableContentDeletion = newEnableContentDeletion; + emit enableContentDeletionChanged(newEnableContentDeletion); +} + +QStringList UserPolicy::enableContentDeletionFromFolders() const { return m_enableContentDeletionFromFolders; } +void UserPolicy::setEnableContentDeletionFromFolders(QStringList newEnableContentDeletionFromFolders) { + m_enableContentDeletionFromFolders = newEnableContentDeletionFromFolders; + emit enableContentDeletionFromFoldersChanged(newEnableContentDeletionFromFolders); +} + +bool UserPolicy::enableContentDownloading() const { return m_enableContentDownloading; } +void UserPolicy::setEnableContentDownloading(bool newEnableContentDownloading) { + m_enableContentDownloading = newEnableContentDownloading; + emit enableContentDownloadingChanged(newEnableContentDownloading); +} + +bool UserPolicy::enableSyncTranscoding() const { return m_enableSyncTranscoding; } +void UserPolicy::setEnableSyncTranscoding(bool newEnableSyncTranscoding) { + m_enableSyncTranscoding = newEnableSyncTranscoding; + emit enableSyncTranscodingChanged(newEnableSyncTranscoding); +} + +bool UserPolicy::enableMediaConversion() const { return m_enableMediaConversion; } +void UserPolicy::setEnableMediaConversion(bool newEnableMediaConversion) { + m_enableMediaConversion = newEnableMediaConversion; + emit enableMediaConversionChanged(newEnableMediaConversion); +} + +QStringList UserPolicy::enabledDevices() const { return m_enabledDevices; } +void UserPolicy::setEnabledDevices(QStringList newEnabledDevices) { + m_enabledDevices = newEnabledDevices; + emit enabledDevicesChanged(newEnabledDevices); +} + +bool UserPolicy::enableAllDevices() const { return m_enableAllDevices; } +void UserPolicy::setEnableAllDevices(bool newEnableAllDevices) { + m_enableAllDevices = newEnableAllDevices; + emit enableAllDevicesChanged(newEnableAllDevices); +} + +QStringList UserPolicy::enabledChannels() const { return m_enabledChannels; } +void UserPolicy::setEnabledChannels(QStringList newEnabledChannels) { + m_enabledChannels = newEnabledChannels; + emit enabledChannelsChanged(newEnabledChannels); +} + +bool UserPolicy::enableAllChannels() const { return m_enableAllChannels; } +void UserPolicy::setEnableAllChannels(bool newEnableAllChannels) { + m_enableAllChannels = newEnableAllChannels; + emit enableAllChannelsChanged(newEnableAllChannels); +} + +QStringList UserPolicy::enabledFolders() const { return m_enabledFolders; } +void UserPolicy::setEnabledFolders(QStringList newEnabledFolders) { + m_enabledFolders = newEnabledFolders; + emit enabledFoldersChanged(newEnabledFolders); +} + +bool UserPolicy::enableAllFolders() const { return m_enableAllFolders; } +void UserPolicy::setEnableAllFolders(bool newEnableAllFolders) { + m_enableAllFolders = newEnableAllFolders; + emit enableAllFoldersChanged(newEnableAllFolders); +} + +qint32 UserPolicy::invalidLoginAttemptCount() const { return m_invalidLoginAttemptCount; } +void UserPolicy::setInvalidLoginAttemptCount(qint32 newInvalidLoginAttemptCount) { + m_invalidLoginAttemptCount = newInvalidLoginAttemptCount; + emit invalidLoginAttemptCountChanged(newInvalidLoginAttemptCount); +} + +qint32 UserPolicy::loginAttemptsBeforeLockout() const { return m_loginAttemptsBeforeLockout; } +void UserPolicy::setLoginAttemptsBeforeLockout(qint32 newLoginAttemptsBeforeLockout) { + m_loginAttemptsBeforeLockout = newLoginAttemptsBeforeLockout; + emit loginAttemptsBeforeLockoutChanged(newLoginAttemptsBeforeLockout); +} + +qint32 UserPolicy::maxActiveSessions() const { return m_maxActiveSessions; } +void UserPolicy::setMaxActiveSessions(qint32 newMaxActiveSessions) { + m_maxActiveSessions = newMaxActiveSessions; + emit maxActiveSessionsChanged(newMaxActiveSessions); +} + +bool UserPolicy::enablePublicSharing() const { return m_enablePublicSharing; } +void UserPolicy::setEnablePublicSharing(bool newEnablePublicSharing) { + m_enablePublicSharing = newEnablePublicSharing; + emit enablePublicSharingChanged(newEnablePublicSharing); +} + +QStringList UserPolicy::blockedMediaFolders() const { return m_blockedMediaFolders; } +void UserPolicy::setBlockedMediaFolders(QStringList newBlockedMediaFolders) { + m_blockedMediaFolders = newBlockedMediaFolders; + emit blockedMediaFoldersChanged(newBlockedMediaFolders); +} + +QStringList UserPolicy::blockedChannels() const { return m_blockedChannels; } +void UserPolicy::setBlockedChannels(QStringList newBlockedChannels) { + m_blockedChannels = newBlockedChannels; + emit blockedChannelsChanged(newBlockedChannels); +} + +qint32 UserPolicy::remoteClientBitrateLimit() const { return m_remoteClientBitrateLimit; } +void UserPolicy::setRemoteClientBitrateLimit(qint32 newRemoteClientBitrateLimit) { + m_remoteClientBitrateLimit = newRemoteClientBitrateLimit; + emit remoteClientBitrateLimitChanged(newRemoteClientBitrateLimit); +} + +QString UserPolicy::authenticationProviderId() const { return m_authenticationProviderId; } +void UserPolicy::setAuthenticationProviderId(QString newAuthenticationProviderId) { + m_authenticationProviderId = newAuthenticationProviderId; + emit authenticationProviderIdChanged(newAuthenticationProviderId); +} + +QString UserPolicy::passwordResetProviderId() const { return m_passwordResetProviderId; } +void UserPolicy::setPasswordResetProviderId(QString newPasswordResetProviderId) { + m_passwordResetProviderId = newPasswordResetProviderId; + emit passwordResetProviderIdChanged(newPasswordResetProviderId); +} + +SyncPlayUserAccessType UserPolicy::syncPlayAccess() const { return m_syncPlayAccess; } +void UserPolicy::setSyncPlayAccess(SyncPlayUserAccessType newSyncPlayAccess) { + m_syncPlayAccess = newSyncPlayAccess; + emit syncPlayAccessChanged(newSyncPlayAccess); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/utctimeresponse.cpp b/core/src/DTO/utctimeresponse.cpp new file mode 100644 index 0000000..e67586e --- /dev/null +++ b/core/src/DTO/utctimeresponse.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +UtcTimeResponse::UtcTimeResponse(QObject *parent) : QObject(parent) {} + +UtcTimeResponse *UtcTimeResponse::fromJSON(QJsonObject source, QObject *parent) { + UtcTimeResponse *instance = new UtcTimeResponse(parent); + instance->updateFromJSON(source); + return instance; +} + +void UtcTimeResponse::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject UtcTimeResponse::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QDateTime UtcTimeResponse::requestReceptionTime() const { return m_requestReceptionTime; } +void UtcTimeResponse::setRequestReceptionTime(QDateTime newRequestReceptionTime) { + m_requestReceptionTime = newRequestReceptionTime; + emit requestReceptionTimeChanged(newRequestReceptionTime); +} + +QDateTime UtcTimeResponse::responseTransmissionTime() const { return m_responseTransmissionTime; } +void UtcTimeResponse::setResponseTransmissionTime(QDateTime newResponseTransmissionTime) { + m_responseTransmissionTime = newResponseTransmissionTime; + emit responseTransmissionTimeChanged(newResponseTransmissionTime); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/validatepathdto.cpp b/core/src/DTO/validatepathdto.cpp new file mode 100644 index 0000000..884b200 --- /dev/null +++ b/core/src/DTO/validatepathdto.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +ValidatePathDto::ValidatePathDto(QObject *parent) : QObject(parent) {} + +ValidatePathDto *ValidatePathDto::fromJSON(QJsonObject source, QObject *parent) { + ValidatePathDto *instance = new ValidatePathDto(parent); + instance->updateFromJSON(source); + return instance; +} + +void ValidatePathDto::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject ValidatePathDto::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +bool ValidatePathDto::validateWritable() const { return m_validateWritable; } +void ValidatePathDto::setValidateWritable(bool newValidateWritable) { + m_validateWritable = newValidateWritable; + emit validateWritableChanged(newValidateWritable); +} + +QString ValidatePathDto::path() const { return m_path; } +void ValidatePathDto::setPath(QString newPath) { + m_path = newPath; + emit pathChanged(newPath); +} + +bool ValidatePathDto::isFile() const { return m_isFile; } +void ValidatePathDto::setIsFile(bool newIsFile) { + m_isFile = newIsFile; + emit isFileChanged(newIsFile); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/version.cpp b/core/src/DTO/version.cpp new file mode 100644 index 0000000..963d4e1 --- /dev/null +++ b/core/src/DTO/version.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +Version::Version(QObject *parent) : QObject(parent) {} + +Version *Version::fromJSON(QJsonObject source, QObject *parent) { + Version *instance = new Version(parent); + instance->updateFromJSON(source); + return instance; +} + +void Version::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject Version::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +qint32 Version::major() const { return m_major; } +void Version::setMajor(qint32 newMajor) { + m_major = newMajor; + emit majorChanged(newMajor); +} + +qint32 Version::minor() const { return m_minor; } +void Version::setMinor(qint32 newMinor) { + m_minor = newMinor; + emit minorChanged(newMinor); +} + +qint32 Version::build() const { return m_build; } +void Version::setBuild(qint32 newBuild) { + m_build = newBuild; + emit buildChanged(newBuild); +} + +qint32 Version::revision() const { return m_revision; } +void Version::setRevision(qint32 newRevision) { + m_revision = newRevision; + emit revisionChanged(newRevision); +} + +qint32 Version::majorRevision() const { return m_majorRevision; } +void Version::setMajorRevision(qint32 newMajorRevision) { + m_majorRevision = newMajorRevision; + emit majorRevisionChanged(newMajorRevision); +} + +qint32 Version::minorRevision() const { return m_minorRevision; } +void Version::setMinorRevision(qint32 newMinorRevision) { + m_minorRevision = newMinorRevision; + emit minorRevisionChanged(newMinorRevision); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/versioninfo.cpp b/core/src/DTO/versioninfo.cpp new file mode 100644 index 0000000..123bc4e --- /dev/null +++ b/core/src/DTO/versioninfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +VersionInfo::VersionInfo(QObject *parent) : QObject(parent) {} + +VersionInfo *VersionInfo::fromJSON(QJsonObject source, QObject *parent) { + VersionInfo *instance = new VersionInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void VersionInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject VersionInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString VersionInfo::version() const { return m_version; } +void VersionInfo::setVersion(QString newVersion) { + m_version = newVersion; + emit versionChanged(newVersion); +} + +Version * VersionInfo::versionNumber() const { return m_versionNumber; } +void VersionInfo::setVersionNumber(Version * newVersionNumber) { + m_versionNumber = newVersionNumber; + emit versionNumberChanged(newVersionNumber); +} + +QString VersionInfo::changelog() const { return m_changelog; } +void VersionInfo::setChangelog(QString newChangelog) { + m_changelog = newChangelog; + emit changelogChanged(newChangelog); +} + +QString VersionInfo::targetAbi() const { return m_targetAbi; } +void VersionInfo::setTargetAbi(QString newTargetAbi) { + m_targetAbi = newTargetAbi; + emit targetAbiChanged(newTargetAbi); +} + +QString VersionInfo::sourceUrl() const { return m_sourceUrl; } +void VersionInfo::setSourceUrl(QString newSourceUrl) { + m_sourceUrl = newSourceUrl; + emit sourceUrlChanged(newSourceUrl); +} + +QString VersionInfo::checksum() const { return m_checksum; } +void VersionInfo::setChecksum(QString newChecksum) { + m_checksum = newChecksum; + emit checksumChanged(newChecksum); +} + +QString VersionInfo::timestamp() const { return m_timestamp; } +void VersionInfo::setTimestamp(QString newTimestamp) { + m_timestamp = newTimestamp; + emit timestampChanged(newTimestamp); +} + +QString VersionInfo::repositoryName() const { return m_repositoryName; } +void VersionInfo::setRepositoryName(QString newRepositoryName) { + m_repositoryName = newRepositoryName; + emit repositoryNameChanged(newRepositoryName); +} + +QString VersionInfo::repositoryUrl() const { return m_repositoryUrl; } +void VersionInfo::setRepositoryUrl(QString newRepositoryUrl) { + m_repositoryUrl = newRepositoryUrl; + emit repositoryUrlChanged(newRepositoryUrl); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/video3dformat.cpp b/core/src/DTO/video3dformat.cpp new file mode 100644 index 0000000..d476d71 --- /dev/null +++ b/core/src/DTO/video3dformat.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/videotype.cpp b/core/src/DTO/videotype.cpp new file mode 100644 index 0000000..2527786 --- /dev/null +++ b/core/src/DTO/videotype.cpp @@ -0,0 +1,38 @@ +/* + * Sailfin: a Jellyfin client written using Qt + * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ +/* + * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET + * OVERWRITTEN AT SOME POINT! + * + * If there is a bug in this file, please fix the code generator used to generate this file found in + * core/openapigenerator.d. + * + * This file is generated based on Jellyfin's OpenAPI 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 Jellyfin +} // NS DTO diff --git a/core/src/DTO/virtualfolderinfo.cpp b/core/src/DTO/virtualfolderinfo.cpp new file mode 100644 index 0000000..239cfa6 --- /dev/null +++ b/core/src/DTO/virtualfolderinfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +VirtualFolderInfo::VirtualFolderInfo(QObject *parent) : QObject(parent) {} + +VirtualFolderInfo *VirtualFolderInfo::fromJSON(QJsonObject source, QObject *parent) { + VirtualFolderInfo *instance = new VirtualFolderInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void VirtualFolderInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject VirtualFolderInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString VirtualFolderInfo::name() const { return m_name; } +void VirtualFolderInfo::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QStringList VirtualFolderInfo::locations() const { return m_locations; } +void VirtualFolderInfo::setLocations(QStringList newLocations) { + m_locations = newLocations; + emit locationsChanged(newLocations); +} + +QString VirtualFolderInfo::collectionType() const { return m_collectionType; } +void VirtualFolderInfo::setCollectionType(QString newCollectionType) { + m_collectionType = newCollectionType; + emit collectionTypeChanged(newCollectionType); +} + +LibraryOptions * VirtualFolderInfo::libraryOptions() const { return m_libraryOptions; } +void VirtualFolderInfo::setLibraryOptions(LibraryOptions * newLibraryOptions) { + m_libraryOptions = newLibraryOptions; + emit libraryOptionsChanged(newLibraryOptions); +} + +QString VirtualFolderInfo::itemId() const { return m_itemId; } +void VirtualFolderInfo::setItemId(QString newItemId) { + m_itemId = newItemId; + emit itemIdChanged(newItemId); +} + +QString VirtualFolderInfo::primaryImageItemId() const { return m_primaryImageItemId; } +void VirtualFolderInfo::setPrimaryImageItemId(QString newPrimaryImageItemId) { + m_primaryImageItemId = newPrimaryImageItemId; + emit primaryImageItemIdChanged(newPrimaryImageItemId); +} + +double VirtualFolderInfo::refreshProgress() const { return m_refreshProgress; } +void VirtualFolderInfo::setRefreshProgress(double newRefreshProgress) { + m_refreshProgress = newRefreshProgress; + emit refreshProgressChanged(newRefreshProgress); +} + +QString VirtualFolderInfo::refreshStatus() const { return m_refreshStatus; } +void VirtualFolderInfo::setRefreshStatus(QString newRefreshStatus) { + m_refreshStatus = newRefreshStatus; + emit refreshStatusChanged(newRefreshStatus); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/wakeonlaninfo.cpp b/core/src/DTO/wakeonlaninfo.cpp new file mode 100644 index 0000000..c84803b --- /dev/null +++ b/core/src/DTO/wakeonlaninfo.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +WakeOnLanInfo::WakeOnLanInfo(QObject *parent) : QObject(parent) {} + +WakeOnLanInfo *WakeOnLanInfo::fromJSON(QJsonObject source, QObject *parent) { + WakeOnLanInfo *instance = new WakeOnLanInfo(parent); + instance->updateFromJSON(source); + return instance; +} + +void WakeOnLanInfo::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject WakeOnLanInfo::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString WakeOnLanInfo::macAddress() const { return m_macAddress; } +void WakeOnLanInfo::setMacAddress(QString newMacAddress) { + m_macAddress = newMacAddress; + emit macAddressChanged(newMacAddress); +} + +qint32 WakeOnLanInfo::port() const { return m_port; } +void WakeOnLanInfo::setPort(qint32 newPort) { + m_port = newPort; + emit portChanged(newPort); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/DTO/xmlattribute.cpp b/core/src/DTO/xmlattribute.cpp new file mode 100644 index 0000000..5148053 --- /dev/null +++ b/core/src/DTO/xmlattribute.cpp @@ -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. + */ + +#include + +namespace Jellyfin { +namespace DTO { + +XmlAttribute::XmlAttribute(QObject *parent) : QObject(parent) {} + +XmlAttribute *XmlAttribute::fromJSON(QJsonObject source, QObject *parent) { + XmlAttribute *instance = new XmlAttribute(parent); + instance->updateFromJSON(source); + return instance; +} + +void XmlAttribute::updateFromJSON(QJsonObject source) { + Q_UNIMPLEMENTED(); +} +QJsonObject XmlAttribute::toJSON() { + Q_UNIMPLEMENTED(); + QJsonObject result; + return result; +} +QString XmlAttribute::name() const { return m_name; } +void XmlAttribute::setName(QString newName) { + m_name = newName; + emit nameChanged(newName); +} + +QString XmlAttribute::value() const { return m_value; } +void XmlAttribute::setValue(QString newValue) { + m_value = newValue; + emit valueChanged(newValue); +} + + +} // NS Jellyfin +} // NS DTO diff --git a/core/src/apimodel.cpp b/core/src/apimodel.cpp index e9cc3ec..1893105 100644 --- a/core/src/apimodel.cpp +++ b/core/src/apimodel.cpp @@ -20,12 +20,17 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "JellyfinQt/apimodel.h" #include "JellyfinQt/DTO/item.h" -#include "JellyfinQt/DTO/userdata.h" -#include "JellyfinQt/DTO/user.h" +#include "JellyfinQt/DTO/useritemdatadto.h" +#include "JellyfinQt/DTO/userdto.h" namespace Jellyfin { // BaseApiModel +namespace DTO { + using UserData = DTO::UserItemDataDto; + using User = DTO::UserDto; +} +using User = DTO::UserDto; BaseApiModel::BaseApiModel(QString path, bool hasRecordResponse, bool addUserId, QObject *parent) : QAbstractListModel(parent), @@ -180,8 +185,7 @@ ApiModel::ApiModel(QString path, bool hasRecordResponse, bool addUse template T *ApiModel::deserializeResult(QJsonValueRef source) { - T *result = new T(static_cast(this)); - result->deserialize(source.toObject()); + T *result = T::fromJSON(source.toObject(), this); return result; } @@ -379,7 +383,7 @@ void ItemModel::onUserDataChanged(const QString &itemId, DTO::UserData *userData for (Item *val: m_array) { if (val->userData() != nullptr && val->jellyfinId() == itemId) { QModelIndex cell = this->index(i); - val->userData()->onUpdated(userData); + // val->userData()->onUpdated(userData); this->dataChanged(cell, cell); } i++; diff --git a/core/src/jellyfin.cpp b/core/src/jellyfin.cpp index 16c7e7e..f489f47 100644 --- a/core/src/jellyfin.cpp +++ b/core/src/jellyfin.cpp @@ -31,6 +31,7 @@ void registerTypes(const char *uri) { // API models Jellyfin::registerModels(uri); - Jellyfin::DTO::registerTypes(uri); + //Jellyfin::DTO::registerTypes(uri); + Jellyfin::registerRemoteTypes(uri); } } diff --git a/core/src/playbackmanager.cpp b/core/src/playbackmanager.cpp index c545afc..55defbf 100644 --- a/core/src/playbackmanager.cpp +++ b/core/src/playbackmanager.cpp @@ -21,14 +21,20 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "JellyfinQt/apimodel.h" -#include "JellyfinQt/DTO/dto.h" -#include "JellyfinQt/DTO/userdata.h" +// #include "JellyfinQt/DTO/dto.h" +#include +#include namespace Jellyfin { class ItemModel; +namespace DTO { + using UserData = UserItemDataDto; +} + PlaybackManager::PlaybackManager(QObject *parent) - : QObject(parent), m_mediaPlayer1(new QMediaPlayer(this)), m_mediaPlayer2(new QMediaPlayer(this)) { + : QObject(parent), m_mediaPlayer1(new QMediaPlayer(this)), m_mediaPlayer2(new QMediaPlayer(this)), + m_item(new RemoteItem(this)){ // Set up connections. swapMediaPlayer(); m_updateTimer.setInterval(10000); // 10 seconds @@ -36,13 +42,17 @@ PlaybackManager::PlaybackManager(QObject *parent) connect(&m_updateTimer, &QTimer::timeout, this, &PlaybackManager::updatePlaybackInfo); } +void PlaybackManager::setApiClient(ApiClient *apiClient) { + m_item->setApiClient(apiClient); +} + void PlaybackManager::fetchStreamUrl(const Item *item, bool autoOpen, const FetchCallback &callback) { if (item == nullptr || m_apiClient == nullptr) { qDebug() << "Item or apiClient not set"; } m_resumePosition = 0; if (m_resumePlayback && !item->property("userData").isNull()) { - UserData* userData = qvariant_cast(m_item->property("userData")); + UserData* userData = m_item->data()->userData(); if (userData != nullptr) { m_resumePosition = userData->playbackPositionTicks(); } @@ -78,9 +88,9 @@ void PlaybackManager::fetchStreamUrl(const Item *item, bool autoOpen, const Fetc query.addQueryItem("api_key", m_apiClient->token()); query.addQueryItem("Static", "True"); QString mediaType = "unknown"; - if (m_item->mediaType() == "Audio") { + if (m_item->data()->mediaType() == "Audio") { mediaType = "Audio"; - } else if (m_item->mediaType() == "Video") { + } else if (m_item->data()->mediaType() == "Video") { mediaType = "Videos"; } QString streamUrl = this->m_apiClient->baseUrl() + "/" + mediaType + "/" + m_item->jellyfinId() + "/stream." @@ -103,7 +113,7 @@ void PlaybackManager::fetchStreamUrl(const Item *item, bool autoOpen, const Fetc void PlaybackManager::fetchAndSetStreamUrl(const Item *item) { fetchStreamUrl(item, m_autoOpen, [this, item](QUrl &&url, PlayMethod playbackMethod) { - if (m_item == item) { + if (m_item->data() == item) { setStreamUrl(url.toString()); m_playMethod = playbackMethod; emit playMethodChanged(m_playMethod); @@ -117,11 +127,7 @@ void PlaybackManager::fetchAndSetStreamUrl(const Item *item) { void PlaybackManager::setItem(Item *newItem) { if (m_mediaPlayer != nullptr) m_mediaPlayer->stop(); - // If we own the item, delete it. - if (m_item != nullptr && m_item->parent() == this) { - m_item->deleteLater(); - } - this->m_item = newItem; + this->m_item->setData(newItem); emit itemChanged(newItem); if (m_apiClient == nullptr) { @@ -131,21 +137,11 @@ void PlaybackManager::setItem(Item *newItem) { // Deinitialize the streamUrl setStreamUrl(""); if (newItem != nullptr) { - if (newItem->parent() != this) { - // The new item may outlive the lifetime of the element it was created on. In the Sailfish - // application for example, the player is given an Jellyfin::Item that sits on a Page on a PageStack. - // As soon as the user pops the Page from the PageStack, newItem would be destroyed. Therefore, we - // take ownership of the given newItem, as this object will usually exist throughout the lifetime of - // the application. A better solution would be to create a copy of the newItem, but no way I'm going - // to create an handwritten copy of that. - QQmlEngine::setObjectOwnership(newItem, QQmlEngine::ObjectOwnership::CppOwnership); - newItem->setParent(this); - } - if (m_item->status() == RemoteData::Ready) { - fetchAndSetStreamUrl(m_item); + if (m_item->status() == RemoteDataBase::Ready) { + fetchAndSetStreamUrl(m_item->data()); } else { - connect(m_item, &RemoteData::ready, [this]() -> void { - fetchAndSetStreamUrl(m_item); + connect(m_item, &RemoteDataBase::ready, [this]() -> void { + fetchAndSetStreamUrl(m_item->data()); }); } } @@ -218,16 +214,16 @@ void PlaybackManager::updatePlaybackInfo() { } void PlaybackManager::playItem(const QString &itemId) { - Item *newItem = new Item(itemId, m_apiClient, this); - QString parentId = newItem->parentId(); - setItem(newItem); + RemoteItem *newItem = new RemoteItem(itemId, m_apiClient, this); ItemModel *queue = new UserItemModel(this); setQueue(queue); - connect(newItem, &Item::ready, this, [this, queue, parentId](){ + connect(newItem, &RemoteItem::ready, this, [this, queue, newItem](){ + QString parentId = newItem->data()->parentId(); queue->setParentId(parentId); queue->setLimit(10000); queue->setApiClient(m_apiClient); queue->reload(); + setItem(newItem->data()); }); connect(queue, &BaseApiModel::ready, this, [this, queue, newItem]() { for (int i = 0; i < queue->size(); i++) { @@ -357,11 +353,11 @@ void PlaybackManager::componentComplete() { if (m_apiClient == nullptr) qWarning() << "No ApiClient set for PlaybackManager"; m_qmlIsParsingComponent = false; if (m_item != nullptr) { - if (m_item->status() == RemoteData::Ready) { - fetchAndSetStreamUrl(m_item); + if (m_item->status() == RemoteItem::Ready) { + fetchAndSetStreamUrl(m_item->data()); } else { - connect(m_item, &RemoteData::ready, [this]() -> void { - fetchAndSetStreamUrl(m_item); + connect(m_item, &RemoteItem::ready, [this]() -> void { + fetchAndSetStreamUrl(m_item->data()); }); } } diff --git a/core/src/DTO/dto.cpp b/core/src/remotedata.cpp similarity index 86% rename from core/src/DTO/dto.cpp rename to core/src/remotedata.cpp index e6a78f6..47309eb 100644 --- a/core/src/DTO/dto.cpp +++ b/core/src/remotedata.cpp @@ -1,30 +1,25 @@ /* 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/DTO/dto.h" - +#include "JellyfinQt/remotedata.h" #include "JellyfinQt/apiclient.h" namespace Jellyfin { -namespace DTO { -const QRegularExpression JsonSerializable::m_listExpression = QRegularExpression("^QList<\\s*([a-zA-Z0-9]*)\\s*\\*?\\s*>$"); +/*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() { @@ -211,42 +206,45 @@ QString JsonSerializable::toPascalCase(QString str) { QString JsonSerializable::fromPascalCase(QString str) { str[0] = str[0].toLower(); return str; -} +}*/ // RemoteData -RemoteData::RemoteData(QObject *parent) : JsonSerializable (parent) {} -void RemoteData::setStatus(Status newStatus) { +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 RemoteData::setError(QNetworkReply::NetworkError error) { +void RemoteDataBase::setError(QNetworkReply::NetworkError error) { m_error = error; emit errorChanged(error); } -void RemoteData::setErrorString(const QString &newErrorString) { +void RemoteDataBase::setErrorString(const QString &newErrorString) { m_errorString = newErrorString; emit errorStringChanged(newErrorString); } -void RemoteData::setApiClient(ApiClient *newApiClient) { +void RemoteDataBase::setApiClient(ApiClient *newApiClient) { m_apiClient = newApiClient; emit apiClientChanged(newApiClient); - reload(); + if (canReload()) reload(); } -void RemoteData::setExtraFields(const QStringList &extraFields) { +void RemoteDataBase::setExtraFields(const QStringList &extraFields) { if (extraFields != m_extraFields) { emit extraFieldsChanged(extraFields); - reload(); + if (canReload()) reload(); } } -void RemoteData::reload() { +void RemoteDataBase::reload() { if (!canReload() || m_apiClient == nullptr) { setStatus(Uninitialised); return; @@ -258,7 +256,7 @@ void RemoteData::reload() { params.addQueryItem("fields", m_extraFields.join(",")); } QNetworkReply *rep = m_apiClient->get(getDataUrl() + QStringLiteral("?") + params.toString(QUrl::EncodeReserved)); - connect(rep, &QNetworkReply::finished, this, [this, rep]() { + QObject::connect(rep, &QNetworkReply::finished, this, [this, rep]() { rep->deleteLater(); QJsonParseError error; @@ -275,10 +273,10 @@ void RemoteData::reload() { this->setErrorString(tr("Invalid response from the server: root element is not an object.")); return; } - this->deserialize(doc.object()); + this->dataFetched(doc.object()); this->setStatus(Ready); }); - connect(rep, static_cast(&QNetworkReply::error), + QObject::connect(rep, static_cast(&QNetworkReply::error), this, [this, rep](QNetworkReply::NetworkError error) { this->setError(error); this->setErrorString(rep->errorString()); @@ -287,5 +285,20 @@ void RemoteData::reload() { }); } -} // NS DTO + +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/websocket.cpp b/core/src/websocket.cpp index 050f9f7..9e494a7 100644 --- a/core/src/websocket.cpp +++ b/core/src/websocket.cpp @@ -19,7 +19,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA #include "JellyfinQt/websocket.h" -#include "JellyfinQt/DTO/userdata.h" +#include namespace Jellyfin { WebSocket::WebSocket(ApiClient *client) @@ -105,9 +105,7 @@ void WebSocket::textMessageReceived(const QString &message) { } QJsonArray userDataList = data2["UserDataList"].toArray(); for (QJsonValue val: userDataList) { - UserData* userData =new DTO::UserData; - userData->deserialize(val.toObject()); - userData->setParent(this); + UserData* userData = UserItemDataDto::fromJSON(val.toObject(), this); m_apiClient->onUserDataChanged(userData->itemId(), userData); userData->deleteLater(); } diff --git a/sailfish/src/harbour-sailfin.cpp b/sailfish/src/harbour-sailfin.cpp index c5111ed..f3a86ca 100644 --- a/sailfish/src/harbour-sailfin.cpp +++ b/sailfish/src/harbour-sailfin.cpp @@ -38,8 +38,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA static const char *SANDBOX_PROGRAM = "/usr/bin/sailjail"; int main(int argc, char *argv[]) { - QQmlDebuggingEnabler enabler; - enabler.startTcpDebugServer(9999); + //QQmlDebuggingEnabler enabler; + //enabler.startTcpDebugServer(9999); // SailfishApp::main() will display "qml/harbour-sailfin.qml", if you need more // control over initialization, you can use: //