/* * Sailfin: a Jellyfin client written using Qt * Copyright (C) 2021 Chris Josten and the Sailfin Contributors. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /* * WARNING: THIS IS AN AUTOMATICALLY GENERATED FILE! PLEASE DO NOT EDIT THIS, AS YOUR EDITS WILL GET * OVERWRITTEN AT SOME POINT! * * If there is a bug in this file, please fix the code generator used to generate this file found in * core/openapigenerator.d. * * This file is generated based on Jellyfin'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 <QDateTime> #include <QJsonObject> #include <QJsonValue> #include <QList> #include <QSharedPointer> #include <QString> #include <QStringList> #include <optional> #include "JellyfinQt/dto/baseitemkind.h" #include "JellyfinQt/dto/baseitemperson.h" #include "JellyfinQt/dto/channeltype.h" #include "JellyfinQt/dto/chapterinfo.h" #include "JellyfinQt/dto/collectiontype.h" #include "JellyfinQt/dto/dayofweek.h" #include "JellyfinQt/dto/externalurl.h" #include "JellyfinQt/dto/extratype.h" #include "JellyfinQt/dto/imageorientation.h" #include "JellyfinQt/dto/isotype.h" #include "JellyfinQt/dto/locationtype.h" #include "JellyfinQt/dto/mediasourceinfo.h" #include "JellyfinQt/dto/mediastream.h" #include "JellyfinQt/dto/mediatype.h" #include "JellyfinQt/dto/mediaurl.h" #include "JellyfinQt/dto/metadatafield.h" #include "JellyfinQt/dto/nameguidpair.h" #include "JellyfinQt/dto/playaccess.h" #include "JellyfinQt/dto/programaudio.h" #include "JellyfinQt/dto/useritemdatadto.h" #include "JellyfinQt/dto/video3dformat.h" #include "JellyfinQt/dto/videotype.h" #include "JellyfinQt/support/jsonconv.h" namespace Jellyfin { // Forward declaration class ApiClient; } namespace Jellyfin { namespace DTO { class BaseItemDto { public: BaseItemDto( QString jellyfinId, ExtraType extraType, Video3DFormat video3DFormat, PlayAccess playAccess, BaseItemKind type, QSharedPointer<UserItemDataDto> userData, CollectionType collectionType, VideoType videoType, LocationType locationType, IsoType isoType, MediaType mediaType, ImageOrientation imageOrientation, ChannelType channelType, ProgramAudio audio, QSharedPointer<BaseItemDto> currentProgram ); BaseItemDto(const BaseItemDto &other); /** * Replaces the data being hold by this class with that of the other. */ void replaceData(BaseItemDto &other); static BaseItemDto fromJson(QJsonObject source); void setFromJson(QJsonObject source); QJsonObject toJson() const; // Properties /** * @brief Gets or sets the name. */ QString name() const; /** * @brief Gets or sets the name. */ void setName(QString newName); bool nameNull() const; void setNameNull(); QString originalTitle() const; void setOriginalTitle(QString newOriginalTitle); bool originalTitleNull() const; void setOriginalTitleNull(); /** * @brief Gets or sets the server identifier. */ QString serverId() const; /** * @brief Gets or sets the server identifier. */ void setServerId(QString newServerId); bool serverIdNull() const; void setServerIdNull(); /** * @brief Gets or sets the id. */ QString jellyfinId() const; /** * @brief Gets or sets the id. */ void setJellyfinId(QString newJellyfinId); /** * @brief Gets or sets the etag. */ QString etag() const; /** * @brief Gets or sets the etag. */ void setEtag(QString newEtag); bool etagNull() const; void setEtagNull(); /** * @brief Gets or sets the type of the source. */ QString sourceType() const; /** * @brief Gets or sets the type of the source. */ void setSourceType(QString newSourceType); bool sourceTypeNull() const; void setSourceTypeNull(); /** * @brief Gets or sets the playlist item identifier. */ QString playlistItemId() const; /** * @brief Gets or sets the playlist item identifier. */ void setPlaylistItemId(QString newPlaylistItemId); bool playlistItemIdNull() const; void setPlaylistItemIdNull(); /** * @brief Gets or sets the date created. */ QDateTime dateCreated() const; /** * @brief Gets or sets the date created. */ void setDateCreated(QDateTime newDateCreated); bool dateCreatedNull() const; void setDateCreatedNull(); QDateTime dateLastMediaAdded() const; void setDateLastMediaAdded(QDateTime newDateLastMediaAdded); bool dateLastMediaAddedNull() const; void setDateLastMediaAddedNull(); ExtraType extraType() const; void setExtraType(ExtraType newExtraType); std::optional<qint32> airsBeforeSeasonNumber() const; void setAirsBeforeSeasonNumber(std::optional<qint32> newAirsBeforeSeasonNumber); bool airsBeforeSeasonNumberNull() const; void setAirsBeforeSeasonNumberNull(); std::optional<qint32> airsAfterSeasonNumber() const; void setAirsAfterSeasonNumber(std::optional<qint32> newAirsAfterSeasonNumber); bool airsAfterSeasonNumberNull() const; void setAirsAfterSeasonNumberNull(); std::optional<qint32> airsBeforeEpisodeNumber() const; void setAirsBeforeEpisodeNumber(std::optional<qint32> newAirsBeforeEpisodeNumber); bool airsBeforeEpisodeNumberNull() const; void setAirsBeforeEpisodeNumberNull(); std::optional<bool> canDelete() const; void setCanDelete(std::optional<bool> newCanDelete); bool canDeleteNull() const; void setCanDeleteNull(); std::optional<bool> canDownload() const; void setCanDownload(std::optional<bool> newCanDownload); bool canDownloadNull() const; void setCanDownloadNull(); std::optional<bool> hasLyrics() const; void setHasLyrics(std::optional<bool> newHasLyrics); bool hasLyricsNull() const; void setHasLyricsNull(); std::optional<bool> hasSubtitles() const; void setHasSubtitles(std::optional<bool> newHasSubtitles); bool hasSubtitlesNull() const; void setHasSubtitlesNull(); QString preferredMetadataLanguage() const; void setPreferredMetadataLanguage(QString newPreferredMetadataLanguage); bool preferredMetadataLanguageNull() const; void setPreferredMetadataLanguageNull(); QString preferredMetadataCountryCode() const; void setPreferredMetadataCountryCode(QString newPreferredMetadataCountryCode); bool preferredMetadataCountryCodeNull() const; void setPreferredMetadataCountryCodeNull(); QString container() const; void setContainer(QString newContainer); bool containerNull() const; void setContainerNull(); /** * @brief Gets or sets the name of the sort. */ QString sortName() const; /** * @brief Gets or sets the name of the sort. */ void setSortName(QString newSortName); bool sortNameNull() const; void setSortNameNull(); QString forcedSortName() const; void setForcedSortName(QString newForcedSortName); bool forcedSortNameNull() const; void setForcedSortNameNull(); Video3DFormat video3DFormat() const; void setVideo3DFormat(Video3DFormat newVideo3DFormat); /** * @brief Gets or sets the premiere date. */ QDateTime premiereDate() const; /** * @brief Gets or sets the premiere date. */ void setPremiereDate(QDateTime newPremiereDate); bool premiereDateNull() const; void setPremiereDateNull(); /** * @brief Gets or sets the external urls. */ QList<ExternalUrl> externalUrls() const; /** * @brief Gets or sets the external urls. */ void setExternalUrls(QList<ExternalUrl> newExternalUrls); bool externalUrlsNull() const; void setExternalUrlsNull(); /** * @brief Gets or sets the media versions. */ QList<MediaSourceInfo> mediaSources() const; /** * @brief Gets or sets the media versions. */ void setMediaSources(QList<MediaSourceInfo> newMediaSources); bool mediaSourcesNull() const; void setMediaSourcesNull(); /** * @brief Gets or sets the critic rating. */ std::optional<float> criticRating() const; /** * @brief Gets or sets the critic rating. */ void setCriticRating(std::optional<float> newCriticRating); bool criticRatingNull() const; void setCriticRatingNull(); QStringList productionLocations() const; void setProductionLocations(QStringList newProductionLocations); bool productionLocationsNull() const; void setProductionLocationsNull(); /** * @brief Gets or sets the path. */ QString path() const; /** * @brief Gets or sets the path. */ void setPath(QString newPath); bool pathNull() const; void setPathNull(); std::optional<bool> enableMediaSourceDisplay() const; void setEnableMediaSourceDisplay(std::optional<bool> newEnableMediaSourceDisplay); bool enableMediaSourceDisplayNull() const; void setEnableMediaSourceDisplayNull(); /** * @brief Gets or sets the official rating. */ QString officialRating() const; /** * @brief Gets or sets the official rating. */ void setOfficialRating(QString newOfficialRating); bool officialRatingNull() const; void setOfficialRatingNull(); /** * @brief Gets or sets the custom rating. */ QString customRating() const; /** * @brief Gets or sets the custom rating. */ void setCustomRating(QString newCustomRating); bool customRatingNull() const; void setCustomRatingNull(); /** * @brief Gets or sets the channel identifier. */ QString channelId() const; /** * @brief Gets or sets the channel identifier. */ void setChannelId(QString newChannelId); bool channelIdNull() const; void setChannelIdNull(); QString channelName() const; void setChannelName(QString newChannelName); bool channelNameNull() const; void setChannelNameNull(); /** * @brief Gets or sets the overview. */ QString overview() const; /** * @brief Gets or sets the overview. */ void setOverview(QString newOverview); bool overviewNull() const; void setOverviewNull(); /** * @brief Gets or sets the taglines. */ QStringList taglines() const; /** * @brief Gets or sets the taglines. */ void setTaglines(QStringList newTaglines); bool taglinesNull() const; void setTaglinesNull(); /** * @brief Gets or sets the genres. */ QStringList genres() const; /** * @brief Gets or sets the genres. */ void setGenres(QStringList newGenres); bool genresNull() const; void setGenresNull(); /** * @brief Gets or sets the community rating. */ std::optional<float> communityRating() const; /** * @brief Gets or sets the community rating. */ void setCommunityRating(std::optional<float> newCommunityRating); bool communityRatingNull() const; void setCommunityRatingNull(); /** * @brief Gets or sets the cumulative run time ticks. */ std::optional<qint64> cumulativeRunTimeTicks() const; /** * @brief Gets or sets the cumulative run time ticks. */ void setCumulativeRunTimeTicks(std::optional<qint64> newCumulativeRunTimeTicks); bool cumulativeRunTimeTicksNull() const; void setCumulativeRunTimeTicksNull(); /** * @brief Gets or sets the run time ticks. */ std::optional<qint64> runTimeTicks() const; /** * @brief Gets or sets the run time ticks. */ void setRunTimeTicks(std::optional<qint64> newRunTimeTicks); bool runTimeTicksNull() const; void setRunTimeTicksNull(); PlayAccess playAccess() const; void setPlayAccess(PlayAccess newPlayAccess); /** * @brief Gets or sets the aspect ratio. */ QString aspectRatio() const; /** * @brief Gets or sets the aspect ratio. */ void setAspectRatio(QString newAspectRatio); bool aspectRatioNull() const; void setAspectRatioNull(); /** * @brief Gets or sets the production year. */ std::optional<qint32> productionYear() const; /** * @brief Gets or sets the production year. */ void setProductionYear(std::optional<qint32> newProductionYear); bool productionYearNull() const; void setProductionYearNull(); /** * @brief Gets or sets a value indicating whether this instance is place holder. */ std::optional<bool> isPlaceHolder() const; /** * @brief Gets or sets a value indicating whether this instance is place holder. */ void setIsPlaceHolder(std::optional<bool> newIsPlaceHolder); bool isPlaceHolderNull() const; void setIsPlaceHolderNull(); /** * @brief Gets or sets the number. */ QString number() const; /** * @brief Gets or sets the number. */ void setNumber(QString newNumber); bool numberNull() const; void setNumberNull(); QString channelNumber() const; void setChannelNumber(QString newChannelNumber); bool channelNumberNull() const; void setChannelNumberNull(); /** * @brief Gets or sets the index number. */ std::optional<qint32> indexNumber() const; /** * @brief Gets or sets the index number. */ void setIndexNumber(std::optional<qint32> newIndexNumber); bool indexNumberNull() const; void setIndexNumberNull(); /** * @brief Gets or sets the index number end. */ std::optional<qint32> indexNumberEnd() const; /** * @brief Gets or sets the index number end. */ void setIndexNumberEnd(std::optional<qint32> newIndexNumberEnd); bool indexNumberEndNull() const; void setIndexNumberEndNull(); /** * @brief Gets or sets the parent index number. */ std::optional<qint32> parentIndexNumber() const; /** * @brief Gets or sets the parent index number. */ void setParentIndexNumber(std::optional<qint32> newParentIndexNumber); bool parentIndexNumberNull() const; void setParentIndexNumberNull(); /** * @brief Gets or sets the trailer urls. */ QList<MediaUrl> remoteTrailers() const; /** * @brief Gets or sets the trailer urls. */ void setRemoteTrailers(QList<MediaUrl> newRemoteTrailers); bool remoteTrailersNull() const; void setRemoteTrailersNull(); /** * @brief Gets or sets the provider ids. */ QJsonObject providerIds() const; /** * @brief Gets or sets the provider ids. */ void setProviderIds(QJsonObject newProviderIds); bool providerIdsNull() const; void setProviderIdsNull(); /** * @brief Gets or sets a value indicating whether this instance is HD. */ std::optional<bool> isHD() const; /** * @brief Gets or sets a value indicating whether this instance is HD. */ void setIsHD(std::optional<bool> newIsHD); bool isHDNull() const; void setIsHDNull(); /** * @brief Gets or sets a value indicating whether this instance is folder. */ std::optional<bool> isFolder() const; /** * @brief Gets or sets a value indicating whether this instance is folder. */ void setIsFolder(std::optional<bool> newIsFolder); bool isFolderNull() const; void setIsFolderNull(); /** * @brief Gets or sets the parent id. */ QString parentId() const; /** * @brief Gets or sets the parent id. */ void setParentId(QString newParentId); bool parentIdNull() const; void setParentIdNull(); BaseItemKind type() const; void setType(BaseItemKind newType); /** * @brief Gets or sets the people. */ QList<BaseItemPerson> people() const; /** * @brief Gets or sets the people. */ void setPeople(QList<BaseItemPerson> newPeople); bool peopleNull() const; void setPeopleNull(); /** * @brief Gets or sets the studios. */ QList<NameGuidPair> studios() const; /** * @brief Gets or sets the studios. */ void setStudios(QList<NameGuidPair> newStudios); bool studiosNull() const; void setStudiosNull(); QList<NameGuidPair> genreItems() const; void setGenreItems(QList<NameGuidPair> newGenreItems); bool genreItemsNull() const; void setGenreItemsNull(); /** * @brief Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one. */ QString parentLogoItemId() const; /** * @brief Gets or sets whether the item has a logo, this will hold the Id of the Parent that has one. */ void setParentLogoItemId(QString newParentLogoItemId); bool parentLogoItemIdNull() const; void setParentLogoItemIdNull(); /** * @brief Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one. */ QString parentBackdropItemId() const; /** * @brief Gets or sets whether the item has any backdrops, this will hold the Id of the Parent that has one. */ void setParentBackdropItemId(QString newParentBackdropItemId); bool parentBackdropItemIdNull() const; void setParentBackdropItemIdNull(); /** * @brief Gets or sets the parent backdrop image tags. */ QStringList parentBackdropImageTags() const; /** * @brief Gets or sets the parent backdrop image tags. */ void setParentBackdropImageTags(QStringList newParentBackdropImageTags); bool parentBackdropImageTagsNull() const; void setParentBackdropImageTagsNull(); /** * @brief Gets or sets the local trailer count. */ std::optional<qint32> localTrailerCount() const; /** * @brief Gets or sets the local trailer count. */ void setLocalTrailerCount(std::optional<qint32> newLocalTrailerCount); bool localTrailerCountNull() const; void setLocalTrailerCountNull(); QSharedPointer<UserItemDataDto> userData() const; void setUserData(QSharedPointer<UserItemDataDto> newUserData); /** * @brief Gets or sets the recursive item count. */ std::optional<qint32> recursiveItemCount() const; /** * @brief Gets or sets the recursive item count. */ void setRecursiveItemCount(std::optional<qint32> newRecursiveItemCount); bool recursiveItemCountNull() const; void setRecursiveItemCountNull(); /** * @brief Gets or sets the child count. */ std::optional<qint32> childCount() const; /** * @brief Gets or sets the child count. */ void setChildCount(std::optional<qint32> newChildCount); bool childCountNull() const; void setChildCountNull(); /** * @brief Gets or sets the name of the series. */ QString seriesName() const; /** * @brief Gets or sets the name of the series. */ void setSeriesName(QString newSeriesName); bool seriesNameNull() const; void setSeriesNameNull(); /** * @brief Gets or sets the series id. */ QString seriesId() const; /** * @brief Gets or sets the series id. */ void setSeriesId(QString newSeriesId); bool seriesIdNull() const; void setSeriesIdNull(); /** * @brief Gets or sets the season identifier. */ QString seasonId() const; /** * @brief Gets or sets the season identifier. */ void setSeasonId(QString newSeasonId); bool seasonIdNull() const; void setSeasonIdNull(); /** * @brief Gets or sets the special feature count. */ std::optional<qint32> specialFeatureCount() const; /** * @brief Gets or sets the special feature count. */ void setSpecialFeatureCount(std::optional<qint32> newSpecialFeatureCount); bool specialFeatureCountNull() const; void setSpecialFeatureCountNull(); /** * @brief Gets or sets the display preferences id. */ QString displayPreferencesId() const; /** * @brief Gets or sets the display preferences id. */ void setDisplayPreferencesId(QString newDisplayPreferencesId); bool displayPreferencesIdNull() const; void setDisplayPreferencesIdNull(); /** * @brief Gets or sets the status. */ QString status() const; /** * @brief Gets or sets the status. */ void setStatus(QString newStatus); bool statusNull() const; void setStatusNull(); /** * @brief Gets or sets the air time. */ QString airTime() const; /** * @brief Gets or sets the air time. */ void setAirTime(QString newAirTime); bool airTimeNull() const; void setAirTimeNull(); /** * @brief Gets or sets the air days. */ QList<DayOfWeek> airDays() const; /** * @brief Gets or sets the air days. */ void setAirDays(QList<DayOfWeek> newAirDays); bool airDaysNull() const; void setAirDaysNull(); /** * @brief Gets or sets the tags. */ QStringList tags() const; /** * @brief Gets or sets the tags. */ void setTags(QStringList newTags); bool tagsNull() const; void setTagsNull(); /** * @brief Gets or sets the primary image aspect ratio, after image enhancements. */ std::optional<double> primaryImageAspectRatio() const; /** * @brief Gets or sets the primary image aspect ratio, after image enhancements. */ void setPrimaryImageAspectRatio(std::optional<double> newPrimaryImageAspectRatio); bool primaryImageAspectRatioNull() const; void setPrimaryImageAspectRatioNull(); /** * @brief Gets or sets the artists. */ QStringList artists() const; /** * @brief Gets or sets the artists. */ void setArtists(QStringList newArtists); bool artistsNull() const; void setArtistsNull(); /** * @brief Gets or sets the artist items. */ QList<NameGuidPair> artistItems() const; /** * @brief Gets or sets the artist items. */ void setArtistItems(QList<NameGuidPair> newArtistItems); bool artistItemsNull() const; void setArtistItemsNull(); /** * @brief Gets or sets the album. */ QString album() const; /** * @brief Gets or sets the album. */ void setAlbum(QString newAlbum); bool albumNull() const; void setAlbumNull(); CollectionType collectionType() const; void setCollectionType(CollectionType newCollectionType); /** * @brief Gets or sets the display order. */ QString displayOrder() const; /** * @brief Gets or sets the display order. */ void setDisplayOrder(QString newDisplayOrder); bool displayOrderNull() const; void setDisplayOrderNull(); /** * @brief Gets or sets the album id. */ QString albumId() const; /** * @brief Gets or sets the album id. */ void setAlbumId(QString newAlbumId); bool albumIdNull() const; void setAlbumIdNull(); /** * @brief Gets or sets the album image tag. */ QString albumPrimaryImageTag() const; /** * @brief Gets or sets the album image tag. */ void setAlbumPrimaryImageTag(QString newAlbumPrimaryImageTag); bool albumPrimaryImageTagNull() const; void setAlbumPrimaryImageTagNull(); /** * @brief Gets or sets the series primary image tag. */ QString seriesPrimaryImageTag() const; /** * @brief Gets or sets the series primary image tag. */ void setSeriesPrimaryImageTag(QString newSeriesPrimaryImageTag); bool seriesPrimaryImageTagNull() const; void setSeriesPrimaryImageTagNull(); /** * @brief Gets or sets the album artist. */ QString albumArtist() const; /** * @brief Gets or sets the album artist. */ void setAlbumArtist(QString newAlbumArtist); bool albumArtistNull() const; void setAlbumArtistNull(); /** * @brief Gets or sets the album artists. */ QList<NameGuidPair> albumArtists() const; /** * @brief Gets or sets the album artists. */ void setAlbumArtists(QList<NameGuidPair> newAlbumArtists); bool albumArtistsNull() const; void setAlbumArtistsNull(); /** * @brief Gets or sets the name of the season. */ QString seasonName() const; /** * @brief Gets or sets the name of the season. */ void setSeasonName(QString newSeasonName); bool seasonNameNull() const; void setSeasonNameNull(); /** * @brief Gets or sets the media streams. */ QList<MediaStream> mediaStreams() const; /** * @brief Gets or sets the media streams. */ void setMediaStreams(QList<MediaStream> newMediaStreams); bool mediaStreamsNull() const; void setMediaStreamsNull(); VideoType videoType() const; void setVideoType(VideoType newVideoType); /** * @brief Gets or sets the part count. */ std::optional<qint32> partCount() const; /** * @brief Gets or sets the part count. */ void setPartCount(std::optional<qint32> newPartCount); bool partCountNull() const; void setPartCountNull(); std::optional<qint32> mediaSourceCount() const; void setMediaSourceCount(std::optional<qint32> newMediaSourceCount); bool mediaSourceCountNull() const; void setMediaSourceCountNull(); /** * @brief Gets or sets the image tags. */ QJsonObject imageTags() const; /** * @brief Gets or sets the image tags. */ void setImageTags(QJsonObject newImageTags); bool imageTagsNull() const; void setImageTagsNull(); /** * @brief Gets or sets the backdrop image tags. */ QStringList backdropImageTags() const; /** * @brief Gets or sets the backdrop image tags. */ void setBackdropImageTags(QStringList newBackdropImageTags); bool backdropImageTagsNull() const; void setBackdropImageTagsNull(); /** * @brief Gets or sets the screenshot image tags. */ QStringList screenshotImageTags() const; /** * @brief Gets or sets the screenshot image tags. */ void setScreenshotImageTags(QStringList newScreenshotImageTags); bool screenshotImageTagsNull() const; void setScreenshotImageTagsNull(); /** * @brief Gets or sets the parent logo image tag. */ QString parentLogoImageTag() const; /** * @brief Gets or sets the parent logo image tag. */ void setParentLogoImageTag(QString newParentLogoImageTag); bool parentLogoImageTagNull() const; void setParentLogoImageTagNull(); /** * @brief Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one. */ QString parentArtItemId() const; /** * @brief Gets or sets whether the item has fan art, this will hold the Id of the Parent that has one. */ void setParentArtItemId(QString newParentArtItemId); bool parentArtItemIdNull() const; void setParentArtItemIdNull(); /** * @brief Gets or sets the parent art image tag. */ QString parentArtImageTag() const; /** * @brief Gets or sets the parent art image tag. */ void setParentArtImageTag(QString newParentArtImageTag); bool parentArtImageTagNull() const; void setParentArtImageTagNull(); /** * @brief Gets or sets the series thumb image tag. */ QString seriesThumbImageTag() const; /** * @brief Gets or sets the series thumb image tag. */ void setSeriesThumbImageTag(QString newSeriesThumbImageTag); bool seriesThumbImageTagNull() const; void setSeriesThumbImageTagNull(); /** * @brief Gets or sets the blurhashes for the image tags. Maps image type to dictionary mapping image tag to blurhash value. */ QJsonObject imageBlurHashes() const; /** * @brief Gets or sets the blurhashes for the image tags. Maps image type to dictionary mapping image tag to blurhash value. */ void setImageBlurHashes(QJsonObject newImageBlurHashes); bool imageBlurHashesNull() const; void setImageBlurHashesNull(); /** * @brief Gets or sets the series studio. */ QString seriesStudio() const; /** * @brief Gets or sets the series studio. */ void setSeriesStudio(QString newSeriesStudio); bool seriesStudioNull() const; void setSeriesStudioNull(); /** * @brief Gets or sets the parent thumb item id. */ QString parentThumbItemId() const; /** * @brief Gets or sets the parent thumb item id. */ void setParentThumbItemId(QString newParentThumbItemId); bool parentThumbItemIdNull() const; void setParentThumbItemIdNull(); /** * @brief Gets or sets the parent thumb image tag. */ QString parentThumbImageTag() const; /** * @brief Gets or sets the parent thumb image tag. */ void setParentThumbImageTag(QString newParentThumbImageTag); bool parentThumbImageTagNull() const; void setParentThumbImageTagNull(); /** * @brief Gets or sets the parent primary image item identifier. */ QString parentPrimaryImageItemId() const; /** * @brief Gets or sets the parent primary image item identifier. */ void setParentPrimaryImageItemId(QString newParentPrimaryImageItemId); bool parentPrimaryImageItemIdNull() const; void setParentPrimaryImageItemIdNull(); /** * @brief Gets or sets the parent primary image tag. */ QString parentPrimaryImageTag() const; /** * @brief Gets or sets the parent primary image tag. */ void setParentPrimaryImageTag(QString newParentPrimaryImageTag); bool parentPrimaryImageTagNull() const; void setParentPrimaryImageTagNull(); /** * @brief Gets or sets the chapters. */ QList<ChapterInfo> chapters() const; /** * @brief Gets or sets the chapters. */ void setChapters(QList<ChapterInfo> newChapters); bool chaptersNull() const; void setChaptersNull(); /** * @brief Gets or sets the trickplay manifest. */ QJsonObject trickplay() const; /** * @brief Gets or sets the trickplay manifest. */ void setTrickplay(QJsonObject newTrickplay); bool trickplayNull() const; void setTrickplayNull(); LocationType locationType() const; void setLocationType(LocationType newLocationType); IsoType isoType() const; void setIsoType(IsoType newIsoType); MediaType mediaType() const; void setMediaType(MediaType newMediaType); /** * @brief Gets or sets the end date. */ QDateTime endDate() const; /** * @brief Gets or sets the end date. */ void setEndDate(QDateTime newEndDate); bool endDateNull() const; void setEndDateNull(); /** * @brief Gets or sets the locked fields. */ QList<MetadataField> lockedFields() const; /** * @brief Gets or sets the locked fields. */ void setLockedFields(QList<MetadataField> newLockedFields); bool lockedFieldsNull() const; void setLockedFieldsNull(); /** * @brief Gets or sets the trailer count. */ std::optional<qint32> trailerCount() const; /** * @brief Gets or sets the trailer count. */ void setTrailerCount(std::optional<qint32> newTrailerCount); bool trailerCountNull() const; void setTrailerCountNull(); /** * @brief Gets or sets the movie count. */ std::optional<qint32> movieCount() const; /** * @brief Gets or sets the movie count. */ void setMovieCount(std::optional<qint32> newMovieCount); bool movieCountNull() const; void setMovieCountNull(); /** * @brief Gets or sets the series count. */ std::optional<qint32> seriesCount() const; /** * @brief Gets or sets the series count. */ void setSeriesCount(std::optional<qint32> newSeriesCount); bool seriesCountNull() const; void setSeriesCountNull(); std::optional<qint32> programCount() const; void setProgramCount(std::optional<qint32> newProgramCount); bool programCountNull() const; void setProgramCountNull(); /** * @brief Gets or sets the episode count. */ std::optional<qint32> episodeCount() const; /** * @brief Gets or sets the episode count. */ void setEpisodeCount(std::optional<qint32> newEpisodeCount); bool episodeCountNull() const; void setEpisodeCountNull(); /** * @brief Gets or sets the song count. */ std::optional<qint32> songCount() const; /** * @brief Gets or sets the song count. */ void setSongCount(std::optional<qint32> newSongCount); bool songCountNull() const; void setSongCountNull(); /** * @brief Gets or sets the album count. */ std::optional<qint32> albumCount() const; /** * @brief Gets or sets the album count. */ void setAlbumCount(std::optional<qint32> newAlbumCount); bool albumCountNull() const; void setAlbumCountNull(); std::optional<qint32> artistCount() const; void setArtistCount(std::optional<qint32> newArtistCount); bool artistCountNull() const; void setArtistCountNull(); /** * @brief Gets or sets the music video count. */ std::optional<qint32> musicVideoCount() const; /** * @brief Gets or sets the music video count. */ void setMusicVideoCount(std::optional<qint32> newMusicVideoCount); bool musicVideoCountNull() const; void setMusicVideoCountNull(); /** * @brief Gets or sets a value indicating whether [enable internet providers]. */ std::optional<bool> lockData() const; /** * @brief Gets or sets a value indicating whether [enable internet providers]. */ void setLockData(std::optional<bool> newLockData); bool lockDataNull() const; void setLockDataNull(); std::optional<qint32> width() const; void setWidth(std::optional<qint32> newWidth); bool widthNull() const; void setWidthNull(); std::optional<qint32> height() const; void setHeight(std::optional<qint32> newHeight); bool heightNull() const; void setHeightNull(); QString cameraMake() const; void setCameraMake(QString newCameraMake); bool cameraMakeNull() const; void setCameraMakeNull(); QString cameraModel() const; void setCameraModel(QString newCameraModel); bool cameraModelNull() const; void setCameraModelNull(); QString software() const; void setSoftware(QString newSoftware); bool softwareNull() const; void setSoftwareNull(); std::optional<double> exposureTime() const; void setExposureTime(std::optional<double> newExposureTime); bool exposureTimeNull() const; void setExposureTimeNull(); std::optional<double> focalLength() const; void setFocalLength(std::optional<double> newFocalLength); bool focalLengthNull() const; void setFocalLengthNull(); ImageOrientation imageOrientation() const; void setImageOrientation(ImageOrientation newImageOrientation); std::optional<double> aperture() const; void setAperture(std::optional<double> newAperture); bool apertureNull() const; void setApertureNull(); std::optional<double> shutterSpeed() const; void setShutterSpeed(std::optional<double> newShutterSpeed); bool shutterSpeedNull() const; void setShutterSpeedNull(); std::optional<double> latitude() const; void setLatitude(std::optional<double> newLatitude); bool latitudeNull() const; void setLatitudeNull(); std::optional<double> longitude() const; void setLongitude(std::optional<double> newLongitude); bool longitudeNull() const; void setLongitudeNull(); std::optional<double> altitude() const; void setAltitude(std::optional<double> newAltitude); bool altitudeNull() const; void setAltitudeNull(); std::optional<qint32> isoSpeedRating() const; void setIsoSpeedRating(std::optional<qint32> newIsoSpeedRating); bool isoSpeedRatingNull() const; void setIsoSpeedRatingNull(); /** * @brief Gets or sets the series timer identifier. */ QString seriesTimerId() const; /** * @brief Gets or sets the series timer identifier. */ void setSeriesTimerId(QString newSeriesTimerId); bool seriesTimerIdNull() const; void setSeriesTimerIdNull(); /** * @brief Gets or sets the program identifier. */ QString programId() const; /** * @brief Gets or sets the program identifier. */ void setProgramId(QString newProgramId); bool programIdNull() const; void setProgramIdNull(); /** * @brief Gets or sets the channel primary image tag. */ QString channelPrimaryImageTag() const; /** * @brief Gets or sets the channel primary image tag. */ void setChannelPrimaryImageTag(QString newChannelPrimaryImageTag); bool channelPrimaryImageTagNull() const; void setChannelPrimaryImageTagNull(); /** * @brief Gets or sets the start date of the recording, in UTC. */ QDateTime startDate() const; /** * @brief Gets or sets the start date of the recording, in UTC. */ void setStartDate(QDateTime newStartDate); bool startDateNull() const; void setStartDateNull(); /** * @brief Gets or sets the completion percentage. */ std::optional<double> completionPercentage() const; /** * @brief Gets or sets the completion percentage. */ void setCompletionPercentage(std::optional<double> newCompletionPercentage); bool completionPercentageNull() const; void setCompletionPercentageNull(); /** * @brief Gets or sets a value indicating whether this instance is repeat. */ std::optional<bool> isRepeat() const; /** * @brief Gets or sets a value indicating whether this instance is repeat. */ void setIsRepeat(std::optional<bool> newIsRepeat); bool isRepeatNull() const; void setIsRepeatNull(); /** * @brief Gets or sets the episode title. */ QString episodeTitle() const; /** * @brief Gets or sets the episode title. */ void setEpisodeTitle(QString newEpisodeTitle); bool episodeTitleNull() const; void setEpisodeTitleNull(); ChannelType channelType() const; void setChannelType(ChannelType newChannelType); ProgramAudio audio() const; void setAudio(ProgramAudio newAudio); /** * @brief Gets or sets a value indicating whether this instance is movie. */ std::optional<bool> isMovie() const; /** * @brief Gets or sets a value indicating whether this instance is movie. */ void setIsMovie(std::optional<bool> newIsMovie); bool isMovieNull() const; void setIsMovieNull(); /** * @brief Gets or sets a value indicating whether this instance is sports. */ std::optional<bool> isSports() const; /** * @brief Gets or sets a value indicating whether this instance is sports. */ void setIsSports(std::optional<bool> newIsSports); bool isSportsNull() const; void setIsSportsNull(); /** * @brief Gets or sets a value indicating whether this instance is series. */ std::optional<bool> isSeries() const; /** * @brief Gets or sets a value indicating whether this instance is series. */ void setIsSeries(std::optional<bool> newIsSeries); bool isSeriesNull() const; void setIsSeriesNull(); /** * @brief Gets or sets a value indicating whether this instance is live. */ std::optional<bool> isLive() const; /** * @brief Gets or sets a value indicating whether this instance is live. */ void setIsLive(std::optional<bool> newIsLive); bool isLiveNull() const; void setIsLiveNull(); /** * @brief Gets or sets a value indicating whether this instance is news. */ std::optional<bool> isNews() const; /** * @brief Gets or sets a value indicating whether this instance is news. */ void setIsNews(std::optional<bool> newIsNews); bool isNewsNull() const; void setIsNewsNull(); /** * @brief Gets or sets a value indicating whether this instance is kids. */ std::optional<bool> isKids() const; /** * @brief Gets or sets a value indicating whether this instance is kids. */ void setIsKids(std::optional<bool> newIsKids); bool isKidsNull() const; void setIsKidsNull(); /** * @brief Gets or sets a value indicating whether this instance is premiere. */ std::optional<bool> isPremiere() const; /** * @brief Gets or sets a value indicating whether this instance is premiere. */ void setIsPremiere(std::optional<bool> newIsPremiere); bool isPremiereNull() const; void setIsPremiereNull(); /** * @brief Gets or sets the timer identifier. */ QString timerId() const; /** * @brief Gets or sets the timer identifier. */ void setTimerId(QString newTimerId); bool timerIdNull() const; void setTimerIdNull(); /** * @brief Gets or sets the gain required for audio normalization. */ std::optional<float> normalizationGain() const; /** * @brief Gets or sets the gain required for audio normalization. */ void setNormalizationGain(std::optional<float> newNormalizationGain); bool normalizationGainNull() const; void setNormalizationGainNull(); QSharedPointer<BaseItemDto> currentProgram() const; void setCurrentProgram(QSharedPointer<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; ExtraType m_extraType; std::optional<qint32> m_airsBeforeSeasonNumber = std::nullopt; std::optional<qint32> m_airsAfterSeasonNumber = std::nullopt; std::optional<qint32> m_airsBeforeEpisodeNumber = std::nullopt; std::optional<bool> m_canDelete = std::nullopt; std::optional<bool> m_canDownload = std::nullopt; std::optional<bool> m_hasLyrics = std::nullopt; std::optional<bool> m_hasSubtitles = std::nullopt; QString m_preferredMetadataLanguage; QString m_preferredMetadataCountryCode; QString m_container; QString m_sortName; QString m_forcedSortName; Video3DFormat m_video3DFormat; QDateTime m_premiereDate; QList<ExternalUrl> m_externalUrls; QList<MediaSourceInfo> m_mediaSources; std::optional<float> m_criticRating = std::nullopt; QStringList m_productionLocations; QString m_path; std::optional<bool> m_enableMediaSourceDisplay = std::nullopt; QString m_officialRating; QString m_customRating; QString m_channelId; QString m_channelName; QString m_overview; QStringList m_taglines; QStringList m_genres; std::optional<float> m_communityRating = std::nullopt; std::optional<qint64> m_cumulativeRunTimeTicks = std::nullopt; std::optional<qint64> m_runTimeTicks = std::nullopt; PlayAccess m_playAccess; QString m_aspectRatio; std::optional<qint32> m_productionYear = std::nullopt; std::optional<bool> m_isPlaceHolder = std::nullopt; QString m_number; QString m_channelNumber; std::optional<qint32> m_indexNumber = std::nullopt; std::optional<qint32> m_indexNumberEnd = std::nullopt; std::optional<qint32> m_parentIndexNumber = std::nullopt; QList<MediaUrl> m_remoteTrailers; QJsonObject m_providerIds; std::optional<bool> m_isHD = std::nullopt; std::optional<bool> m_isFolder = std::nullopt; QString m_parentId; BaseItemKind m_type; QList<BaseItemPerson> m_people; QList<NameGuidPair> m_studios; QList<NameGuidPair> m_genreItems; QString m_parentLogoItemId; QString m_parentBackdropItemId; QStringList m_parentBackdropImageTags; std::optional<qint32> m_localTrailerCount = std::nullopt; QSharedPointer<UserItemDataDto> m_userData = QSharedPointer<UserItemDataDto>(); std::optional<qint32> m_recursiveItemCount = std::nullopt; std::optional<qint32> m_childCount = std::nullopt; QString m_seriesName; QString m_seriesId; QString m_seasonId; std::optional<qint32> m_specialFeatureCount = std::nullopt; QString m_displayPreferencesId; QString m_status; QString m_airTime; QList<DayOfWeek> m_airDays; QStringList m_tags; std::optional<double> m_primaryImageAspectRatio = std::nullopt; QStringList m_artists; QList<NameGuidPair> m_artistItems; QString m_album; CollectionType m_collectionType; QString m_displayOrder; QString m_albumId; QString m_albumPrimaryImageTag; QString m_seriesPrimaryImageTag; QString m_albumArtist; QList<NameGuidPair> m_albumArtists; QString m_seasonName; QList<MediaStream> m_mediaStreams; VideoType m_videoType; std::optional<qint32> m_partCount = std::nullopt; std::optional<qint32> m_mediaSourceCount = std::nullopt; 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<ChapterInfo> m_chapters; QJsonObject m_trickplay; LocationType m_locationType; IsoType m_isoType; MediaType m_mediaType; QDateTime m_endDate; QList<MetadataField> m_lockedFields; std::optional<qint32> m_trailerCount = std::nullopt; std::optional<qint32> m_movieCount = std::nullopt; std::optional<qint32> m_seriesCount = std::nullopt; std::optional<qint32> m_programCount = std::nullopt; std::optional<qint32> m_episodeCount = std::nullopt; std::optional<qint32> m_songCount = std::nullopt; std::optional<qint32> m_albumCount = std::nullopt; std::optional<qint32> m_artistCount = std::nullopt; std::optional<qint32> m_musicVideoCount = std::nullopt; std::optional<bool> m_lockData = std::nullopt; std::optional<qint32> m_width = std::nullopt; std::optional<qint32> m_height = std::nullopt; QString m_cameraMake; QString m_cameraModel; QString m_software; std::optional<double> m_exposureTime = std::nullopt; std::optional<double> m_focalLength = std::nullopt; ImageOrientation m_imageOrientation; std::optional<double> m_aperture = std::nullopt; std::optional<double> m_shutterSpeed = std::nullopt; std::optional<double> m_latitude = std::nullopt; std::optional<double> m_longitude = std::nullopt; std::optional<double> m_altitude = std::nullopt; std::optional<qint32> m_isoSpeedRating = std::nullopt; QString m_seriesTimerId; QString m_programId; QString m_channelPrimaryImageTag; QDateTime m_startDate; std::optional<double> m_completionPercentage = std::nullopt; std::optional<bool> m_isRepeat = std::nullopt; QString m_episodeTitle; ChannelType m_channelType; ProgramAudio m_audio; std::optional<bool> m_isMovie = std::nullopt; std::optional<bool> m_isSports = std::nullopt; std::optional<bool> m_isSeries = std::nullopt; std::optional<bool> m_isLive = std::nullopt; std::optional<bool> m_isNews = std::nullopt; std::optional<bool> m_isKids = std::nullopt; std::optional<bool> m_isPremiere = std::nullopt; QString m_timerId; std::optional<float> m_normalizationGain = std::nullopt; QSharedPointer<BaseItemDto> m_currentProgram = QSharedPointer<BaseItemDto>(); private: // Private constructor which generates an invalid object, for use withing BaseItemDto::fromJson(); BaseItemDto(); }; } // NS DTO namespace Support { using BaseItemDto = Jellyfin::DTO::BaseItemDto; template <> BaseItemDto fromJsonValue(const QJsonValue &source, convertType<BaseItemDto>); template<> QJsonValue toJsonValue(const BaseItemDto &source, convertType<BaseItemDto>); } // NS DTO } // NS Jellyfin #endif // JELLYFIN_DTO_BASEITEMDTO_H