11 #include "AddonClass.h" 13 #include "utils/StreamDetails.h" 14 #include "video/VideoInfoTag.h" 45 #ifdef DOXYGEN_SHOULD_USE_THIS 69 explicit Actor(
const String& name = emptyString,
70 const String& role = emptyString,
72 const String& thumbnail = emptyString);
75 #ifdef DOXYGEN_SHOULD_USE_THIS 89 String getName()
const {
return m_name; }
92 #ifdef DOXYGEN_SHOULD_USE_THIS 106 String getRole()
const {
return m_role; }
109 #ifdef DOXYGEN_SHOULD_USE_THIS 123 int getOrder()
const {
return m_order; }
126 #ifdef DOXYGEN_SHOULD_USE_THIS 140 String getThumbnail()
const {
return m_thumbnail; }
143 #ifdef DOXYGEN_SHOULD_USE_THIS 157 void setName(
const String& name) { m_name = name; }
160 #ifdef DOXYGEN_SHOULD_USE_THIS 174 void setRole(
const String& role) { m_role = role; }
177 #ifdef DOXYGEN_SHOULD_USE_THIS 191 void setOrder(
int order) { m_order = order; }
194 #ifdef DOXYGEN_SHOULD_USE_THIS 208 void setThumbnail(
const String& thumbnail) { m_thumbnail = thumbnail; }
248 #ifdef DOXYGEN_SHOULD_USE_THIS 282 const String& codec = emptyString,
283 const String& stereomode = emptyString,
284 const String& language = emptyString,
285 const String& hdrtype = emptyString);
288 #ifdef DOXYGEN_SHOULD_USE_THIS 302 int getWidth()
const {
return m_width; }
305 #ifdef DOXYGEN_SHOULD_USE_THIS 319 int getHeight()
const {
return m_height; }
322 #ifdef DOXYGEN_SHOULD_USE_THIS 336 float getAspect()
const {
return m_aspect; }
339 #ifdef DOXYGEN_SHOULD_USE_THIS 353 int getDuration()
const {
return m_duration; }
356 #ifdef DOXYGEN_SHOULD_USE_THIS 370 String getCodec()
const {
return m_codec; }
373 #ifdef DOXYGEN_SHOULD_USE_THIS 387 String getStereoMode()
const {
return m_stereoMode; }
390 #ifdef DOXYGEN_SHOULD_USE_THIS 404 String getLanguage()
const {
return m_language; }
407 #ifdef DOXYGEN_SHOULD_USE_THIS 421 String getHDRType()
const {
return m_hdrType; }
424 #ifdef DOXYGEN_SHOULD_USE_THIS 438 void setWidth(
int width) { m_width = width; }
441 #ifdef DOXYGEN_SHOULD_USE_THIS 455 void setHeight(
int height) { m_height = height; }
458 #ifdef DOXYGEN_SHOULD_USE_THIS 472 void setAspect(
float aspect) { m_aspect = aspect; }
475 #ifdef DOXYGEN_SHOULD_USE_THIS 489 void setDuration(
int duration) { m_duration = duration; }
492 #ifdef DOXYGEN_SHOULD_USE_THIS 506 void setCodec(
const String& codec) { m_codec = codec; }
509 #ifdef DOXYGEN_SHOULD_USE_THIS 523 void setStereoMode(
const String& stereomode) { m_stereoMode = stereomode; }
526 #ifdef DOXYGEN_SHOULD_USE_THIS 540 void setLanguage(
const String& language) { m_language = language; }
543 #ifdef DOXYGEN_SHOULD_USE_THIS 558 void setHDRType(
const String& hdrtype) { m_hdrType = hdrtype; }
602 #ifdef DOXYGEN_SHOULD_USE_THIS 626 const String& codec = emptyString,
627 const String& language = emptyString);
630 #ifdef DOXYGEN_SHOULD_USE_THIS 644 int getChannels()
const {
return m_channels; }
647 #ifdef DOXYGEN_SHOULD_USE_THIS 661 String getCodec()
const {
return m_codec; }
664 #ifdef DOXYGEN_SHOULD_USE_THIS 678 String getLanguage()
const {
return m_language; }
681 #ifdef DOXYGEN_SHOULD_USE_THIS 695 void setChannels(
int channels) { m_channels = channels; }
698 #ifdef DOXYGEN_SHOULD_USE_THIS 712 void setCodec(
const String& codec) { m_codec = codec; }
715 #ifdef DOXYGEN_SHOULD_USE_THIS 729 void setLanguage(
const String& language) { m_language = language; }
768 #ifdef DOXYGEN_SHOULD_USE_THIS 792 #ifdef DOXYGEN_SHOULD_USE_THIS 806 String getLanguage()
const {
return m_language; }
809 #ifdef DOXYGEN_SHOULD_USE_THIS 823 void setLanguage(
const String& language) { m_language = language; }
871 #ifdef DOXYGEN_SHOULD_USE_THIS 908 #ifdef DOXYGEN_SHOULD_USE_THIS 925 #ifdef DOXYGEN_SHOULD_USE_THIS 940 String getDirector();
943 #ifdef DOXYGEN_SHOULD_USE_THIS 958 std::vector<String> getDirectors();
961 #ifdef DOXYGEN_SHOULD_USE_THIS 975 String getWritingCredits();
978 #ifdef DOXYGEN_SHOULD_USE_THIS 992 std::vector<String> getWriters();
995 #ifdef DOXYGEN_SHOULD_USE_THIS 1013 #ifdef DOXYGEN_SHOULD_USE_THIS 1028 std::vector<String> getGenres();
1031 #ifdef DOXYGEN_SHOULD_USE_THIS 1045 String getTagLine();
1048 #ifdef DOXYGEN_SHOULD_USE_THIS 1062 String getPlotOutline();
1065 #ifdef DOXYGEN_SHOULD_USE_THIS 1082 #ifdef DOXYGEN_SHOULD_USE_THIS 1096 String getPictureURL();
1099 #ifdef DOXYGEN_SHOULD_USE_THIS 1116 #ifdef DOXYGEN_SHOULD_USE_THIS 1130 String getTVShowTitle();
1133 #ifdef DOXYGEN_SHOULD_USE_THIS 1157 String getMediaType();
1160 #ifdef DOXYGEN_SHOULD_USE_THIS 1177 #ifdef DOXYGEN_SHOULD_USE_THIS 1178 getVotesAsInt(type);
1200 int getVotesAsInt(
const String& type =
"");
1203 #ifdef DOXYGEN_SHOULD_USE_THIS 1220 #ifdef DOXYGEN_SHOULD_USE_THIS 1234 std::vector<Actor*> getActors();
1237 #ifdef DOXYGEN_SHOULD_USE_THIS 1254 #ifdef DOXYGEN_SHOULD_USE_THIS 1271 #ifdef DOXYGEN_SHOULD_USE_THIS 1272 getFilenameAndPath();
1285 String getFilenameAndPath();
1288 #ifdef DOXYGEN_SHOULD_USE_THIS 1303 String getIMDBNumber();
1306 #ifdef DOXYGEN_SHOULD_USE_THIS 1323 #ifdef DOXYGEN_SHOULD_USE_THIS 1340 #ifdef DOXYGEN_SHOULD_USE_THIS 1357 #ifdef DOXYGEN_SHOULD_USE_THIS 1380 double getRating(
const String& type =
"");
1383 #ifdef DOXYGEN_SHOULD_USE_THIS 1397 int getUserRating();
1400 #ifdef DOXYGEN_SHOULD_USE_THIS 1417 #ifdef DOXYGEN_SHOULD_USE_THIS 1431 String getLastPlayed();
1434 #ifdef DOXYGEN_SHOULD_USE_THIS 1435 getLastPlayedAsW3C();
1448 String getLastPlayedAsW3C();
1451 #ifdef DOXYGEN_SHOULD_USE_THIS 1465 String getOriginalTitle();
1468 #ifdef DOXYGEN_SHOULD_USE_THIS 1483 String getPremiered();
1486 #ifdef DOXYGEN_SHOULD_USE_THIS 1487 getPremieredAsW3C();
1500 String getPremieredAsW3C();
1503 #ifdef DOXYGEN_SHOULD_USE_THIS 1517 String getFirstAired();
1520 #ifdef DOXYGEN_SHOULD_USE_THIS 1521 getFirstAiredAsW3C();
1534 String getFirstAiredAsW3C();
1537 #ifdef DOXYGEN_SHOULD_USE_THIS 1551 String getTrailer();
1554 #ifdef DOXYGEN_SHOULD_USE_THIS 1568 std::vector<std::string> getArtist();
1571 #ifdef DOXYGEN_SHOULD_USE_THIS 1588 #ifdef DOXYGEN_SHOULD_USE_THIS 1605 #ifdef DOXYGEN_SHOULD_USE_THIS 1619 unsigned int getDuration();
1622 #ifdef DOXYGEN_SHOULD_USE_THIS 1636 double getResumeTime();
1639 #ifdef DOXYGEN_SHOULD_USE_THIS 1640 getResumeTimeTotal(...);
1653 double getResumeTimeTotal();
1656 #ifdef DOXYGEN_SHOULD_USE_THIS 1680 String getUniqueID(
const char* key);
1683 #ifdef DOXYGEN_SHOULD_USE_THIS 1701 void setUniqueID(
const String& uniqueid,
const String& type =
"",
bool isdefault =
false);
1704 #ifdef DOXYGEN_SHOULD_USE_THIS 1730 void setUniqueIDs(
const std::map<String, String>& uniqueIDs,
1731 const String& defaultuniqueid =
"");
1734 #ifdef DOXYGEN_SHOULD_USE_THIS 1748 void setDbId(
int dbid);
1751 #ifdef DOXYGEN_SHOULD_USE_THIS 1765 void setYear(
int year);
1768 #ifdef DOXYGEN_SHOULD_USE_THIS 1782 void setEpisode(
int episode);
1785 #ifdef DOXYGEN_SHOULD_USE_THIS 1799 void setSeason(
int season);
1802 #ifdef DOXYGEN_SHOULD_USE_THIS 1803 setSortEpisode(...);
1816 void setSortEpisode(
int sortepisode);
1819 #ifdef DOXYGEN_SHOULD_USE_THIS 1833 void setSortSeason(
int sortseason);
1836 #ifdef DOXYGEN_SHOULD_USE_THIS 1837 setEpisodeGuide(...);
1850 void setEpisodeGuide(
const String& episodeguide);
1853 #ifdef DOXYGEN_SHOULD_USE_THIS 1867 void setTop250(
int top250);
1870 #ifdef DOXYGEN_SHOULD_USE_THIS 1884 void setSetId(
int setid);
1887 #ifdef DOXYGEN_SHOULD_USE_THIS 1888 setTrackNumber(...);
1901 void setTrackNumber(
int tracknumber);
1904 #ifdef DOXYGEN_SHOULD_USE_THIS 1921 void setRating(
float rating,
int votes = 0,
const String& type =
"",
bool isdefault =
false);
1924 #ifdef DOXYGEN_SHOULD_USE_THIS 1940 const String& defaultrating =
"");
1943 #ifdef DOXYGEN_SHOULD_USE_THIS 1957 void setUserRating(
int userrating);
1960 #ifdef DOXYGEN_SHOULD_USE_THIS 1974 void setPlaycount(
int playcount);
1977 #ifdef DOXYGEN_SHOULD_USE_THIS 1991 void setMpaa(
const String& mpaa);
1994 #ifdef DOXYGEN_SHOULD_USE_THIS 2008 void setPlot(
const String& plot);
2011 #ifdef DOXYGEN_SHOULD_USE_THIS 2012 setPlotOutline(...);
2025 void setPlotOutline(
const String& plotoutline);
2028 #ifdef DOXYGEN_SHOULD_USE_THIS 2042 void setTitle(
const String& title);
2045 #ifdef DOXYGEN_SHOULD_USE_THIS 2046 setOriginalTitle(...);
2059 void setOriginalTitle(
const String& originaltitle);
2062 #ifdef DOXYGEN_SHOULD_USE_THIS 2076 void setSortTitle(
const String& sorttitle);
2079 #ifdef DOXYGEN_SHOULD_USE_THIS 2093 void setTagLine(
const String& tagline);
2096 #ifdef DOXYGEN_SHOULD_USE_THIS 2097 setTvShowTitle(...);
2110 void setTvShowTitle(
const String& tvshowtitle);
2113 #ifdef DOXYGEN_SHOULD_USE_THIS 2114 setTvShowStatus(...);
2127 void setTvShowStatus(
const String& status);
2130 #ifdef DOXYGEN_SHOULD_USE_THIS 2144 void setGenres(std::vector<String> genre);
2147 #ifdef DOXYGEN_SHOULD_USE_THIS 2161 void setCountries(std::vector<String> countries);
2164 #ifdef DOXYGEN_SHOULD_USE_THIS 2178 void setDirectors(std::vector<String> directors);
2181 #ifdef DOXYGEN_SHOULD_USE_THIS 2195 void setStudios(std::vector<String> studios);
2198 #ifdef DOXYGEN_SHOULD_USE_THIS 2212 void setWriters(std::vector<String> writers);
2215 #ifdef DOXYGEN_SHOULD_USE_THIS 2229 void setDuration(
int duration);
2232 #ifdef DOXYGEN_SHOULD_USE_THIS 2246 void setPremiered(
const String& premiered);
2249 #ifdef DOXYGEN_SHOULD_USE_THIS 2263 void setSet(
const String&
set);
2266 #ifdef DOXYGEN_SHOULD_USE_THIS 2267 setSetOverview(...);
2280 void setSetOverview(
const String& setoverview);
2283 #ifdef DOXYGEN_SHOULD_USE_THIS 2297 void setTags(std::vector<String> tags);
2300 #ifdef DOXYGEN_SHOULD_USE_THIS 2301 setVideoAssetTitle(...);
2314 void setVideoAssetTitle(
const String& videoAssetTitle);
2317 #ifdef DOXYGEN_SHOULD_USE_THIS 2318 setProductionCode(...);
2331 void setProductionCode(
const String& productioncode);
2334 #ifdef DOXYGEN_SHOULD_USE_THIS 2348 void setFirstAired(
const String& firstaired);
2351 #ifdef DOXYGEN_SHOULD_USE_THIS 2365 void setLastPlayed(
const String& lastplayed);
2368 #ifdef DOXYGEN_SHOULD_USE_THIS 2382 void setAlbum(
const String& album);
2385 #ifdef DOXYGEN_SHOULD_USE_THIS 2399 void setVotes(
int votes);
2402 #ifdef DOXYGEN_SHOULD_USE_THIS 2416 void setTrailer(
const String& trailer);
2419 #ifdef DOXYGEN_SHOULD_USE_THIS 2433 void setPath(
const String& path);
2436 #ifdef DOXYGEN_SHOULD_USE_THIS 2437 setFilenameAndPath(...);
2450 void setFilenameAndPath(
const String& filenameandpath);
2453 #ifdef DOXYGEN_SHOULD_USE_THIS 2467 void setIMDBNumber(
const String& imdbnumber);
2470 #ifdef DOXYGEN_SHOULD_USE_THIS 2484 void setDateAdded(
const String& dateadded);
2487 #ifdef DOXYGEN_SHOULD_USE_THIS 2501 void setMediaType(
const String& mediatype);
2504 #ifdef DOXYGEN_SHOULD_USE_THIS 2518 void setShowLinks(std::vector<String> showlinks);
2521 #ifdef DOXYGEN_SHOULD_USE_THIS 2535 void setArtists(std::vector<String> artists);
2538 #ifdef DOXYGEN_SHOULD_USE_THIS 2552 void setCast(
const std::vector<const Actor*>& actors);
2555 #ifdef DOXYGEN_SHOULD_USE_THIS 2556 setResumePoint(...);
2570 void setResumePoint(
double time,
double totaltime = 0.0);
2573 #ifdef DOXYGEN_SHOULD_USE_THIS 2597 void addSeason(
int number, std::string name =
"");
2600 #ifdef DOXYGEN_SHOULD_USE_THIS 2617 #ifdef DOXYGEN_SHOULD_USE_THIS 2618 addVideoStream(...);
2634 #ifdef DOXYGEN_SHOULD_USE_THIS 2635 addAudioStream(...);
2651 #ifdef DOXYGEN_SHOULD_USE_THIS 2652 addSubtitleStream(...);
2668 #ifdef DOXYGEN_SHOULD_USE_THIS 2669 addAvailableArtwork(...);
2696 void addAvailableArtwork(
const std::string& url,
2697 const std::string& arttype =
"",
2698 const std::string& preview =
"",
2699 const std::string& referrer =
"",
2700 const std::string&
cache =
"",
2710 const String& uniqueID,
2711 const String& type =
"",
2712 bool isDefault =
false);
2714 std::map<String, String> uniqueIDs,
2715 const String& defaultUniqueID =
"");
2717 static void setEpisodeRaw(
CVideoInfoTag* infoTag,
int episode);
2718 static void setSeasonRaw(
CVideoInfoTag* infoTag,
int season);
2719 static void setSortEpisodeRaw(
CVideoInfoTag* infoTag,
int sortEpisode);
2720 static void setSortSeasonRaw(
CVideoInfoTag* infoTag,
int sortSeason);
2721 static void setEpisodeGuideRaw(
CVideoInfoTag* infoTag,
const String& episodeGuide);
2722 static void setTop250Raw(
CVideoInfoTag* infoTag,
int top250);
2724 static void setTrackNumberRaw(
CVideoInfoTag* infoTag,
int trackNumber);
2728 const std::string& type =
"",
2729 bool isDefault =
false);
2732 const String& defaultRating =
"");
2733 static void setUserRatingRaw(
CVideoInfoTag* infoTag,
int userRating);
2734 static void setPlaycountRaw(
CVideoInfoTag* infoTag,
int playcount);
2735 static void setMpaaRaw(
CVideoInfoTag* infoTag,
const String& mpaa);
2736 static void setPlotRaw(
CVideoInfoTag* infoTag,
const String& plot);
2737 static void setPlotOutlineRaw(
CVideoInfoTag* infoTag,
const String& plotOutline);
2738 static void setTitleRaw(
CVideoInfoTag* infoTag,
const String& title);
2739 static void setOriginalTitleRaw(
CVideoInfoTag* infoTag,
const String& originalTitle);
2740 static void setSortTitleRaw(
CVideoInfoTag* infoTag,
const String& sortTitle);
2741 static void setTagLineRaw(
CVideoInfoTag* infoTag,
const String& tagLine);
2742 static void setTvShowTitleRaw(
CVideoInfoTag* infoTag,
const String& tvshowTitle);
2743 static void setTvShowStatusRaw(
CVideoInfoTag* infoTag,
const String& tvshowStatus);
2744 static void setGenresRaw(
CVideoInfoTag* infoTag, std::vector<String> genre);
2745 static void setCountriesRaw(
CVideoInfoTag* infoTag, std::vector<String> countries);
2746 static void setDirectorsRaw(
CVideoInfoTag* infoTag, std::vector<String> directors);
2747 static void setStudiosRaw(
CVideoInfoTag* infoTag, std::vector<String> studios);
2748 static void setWritersRaw(
CVideoInfoTag* infoTag, std::vector<String> writers);
2749 static void setDurationRaw(
CVideoInfoTag* infoTag,
int duration);
2750 static void setPremieredRaw(
CVideoInfoTag* infoTag,
const String& premiered);
2751 static void setSetRaw(
CVideoInfoTag* infoTag,
const String&
set);
2752 static void setSetOverviewRaw(
CVideoInfoTag* infoTag,
const String& setOverview);
2753 static void setTagsRaw(
CVideoInfoTag* infoTag, std::vector<String> tags);
2754 static void setVideoAssetTitleRaw(
CVideoInfoTag* infoTag,
const String& videoAssetTitle);
2755 static void setProductionCodeRaw(
CVideoInfoTag* infoTag,
const String& productionCode);
2756 static void setFirstAiredRaw(
CVideoInfoTag* infoTag,
const String& firstAired);
2757 static void setLastPlayedRaw(
CVideoInfoTag* infoTag,
const String& lastPlayed);
2758 static void setAlbumRaw(
CVideoInfoTag* infoTag,
const String& album);
2760 static void setTrailerRaw(
CVideoInfoTag* infoTag,
const String& trailer);
2761 static void setPathRaw(
CVideoInfoTag* infoTag,
const String& path);
2762 static void setFilenameAndPathRaw(
CVideoInfoTag* infoTag,
const String& filenameAndPath);
2763 static void setIMDBNumberRaw(
CVideoInfoTag* infoTag,
const String& imdbNumber);
2764 static void setDateAddedRaw(
CVideoInfoTag* infoTag,
const String& dateAdded);
2765 static void setMediaTypeRaw(
CVideoInfoTag* infoTag,
const String& mediaType);
2766 static void setShowLinksRaw(
CVideoInfoTag* infoTag, std::vector<String> showLinks);
2767 static void setArtistsRaw(
CVideoInfoTag* infoTag, std::vector<String> artists);
2768 static void setCastRaw(
CVideoInfoTag* infoTag, std::vector<SActorInfo> cast);
2769 static void setResumePointRaw(
CVideoInfoTag* infoTag,
double time,
double totalTime = 0.0);
2771 static void addSeasonRaw(
CVideoInfoTag* infoTag,
int number, std::string name =
"");
2779 const std::string& url,
2780 const std::string& art_type =
"",
2781 const std::string& preview =
"",
2782 const std::string& referrer =
"",
2783 const std::string&
cache =
"",
Definition: StreamDetails.h:78
Definition: StreamDetails.h:25
Definition: InfoTagVideo.h:599
Definition: ActorProtocol.h:21
Definition: InfoTagVideo.h:765
Definition: InfoTagVideo.h:858
Definition: VideoInfoTag.h:29
Defining LOG_LIFECYCLE_EVENTS will log all instantiations, deletions and also reference countings (in...
Definition: Addon.cpp:25
Definition: StreamDetails.h:64
Definition: StreamDetails.h:45
This class is the superclass for all reference counted classes in the api.
Definition: AddonClass.h:57
Definition: InfoTagVideo.h:245
Definition: VideoInfoTag.h:53