summaryrefslogtreecommitdiff
path: root/scraper2vdr.h
diff options
context:
space:
mode:
Diffstat (limited to 'scraper2vdr.h')
-rw-r--r--scraper2vdr.h293
1 files changed, 293 insertions, 0 deletions
diff --git a/scraper2vdr.h b/scraper2vdr.h
new file mode 100644
index 0000000..411ec8f
--- /dev/null
+++ b/scraper2vdr.h
@@ -0,0 +1,293 @@
+
+#ifndef __SCRAPER2VDRSERVICES_H
+#define __SCRAPER2VDRSERVICES_H
+
+#include <string>
+#include <vector>
+#include <vdr/epg.h>
+#include <vdr/recording.h>
+
+#include <display.h>
+
+//***************************************************************************
+// Functions
+//***************************************************************************
+
+int getScraperMediaPath(const cEventCopy* event, const cRecording* recording,
+ std::string& mediaPath, std::string& posterPath);
+
+//***************************************************************************
+// Types
+//***************************************************************************
+
+enum tvType
+{
+ tSeries,
+ tMovie,
+ tNone
+};
+
+/*********************************************************************
+* Helper Structures
+*********************************************************************/
+
+class cTvMedia
+{
+ public:
+
+ cTvMedia(void)
+ {
+ path = "";
+ width = height = 0;
+ };
+
+ std::string path;
+ int width;
+ int height;
+};
+
+class cEpisode
+{
+ public:
+
+ cEpisode(void)
+ {
+ number = 0;
+ season = 0;
+ name = "";
+ firstAired = "";
+ guestStars = "";
+ overview = "";
+ rating = 0.0;
+ };
+
+ int number;
+ int season;
+ std::string name;
+ std::string firstAired;
+ std::string guestStars;
+ std::string overview;
+ float rating;
+ cTvMedia episodeImage;
+};
+
+class cActor
+{
+ public:
+
+ cActor(void)
+ {
+ name = "";
+ role = "";
+ };
+
+ std::string name;
+ std::string role;
+ cTvMedia actorThumb;
+};
+
+/*********************************************************************
+* Data Structures for Service Calls
+*********************************************************************/
+
+// Data structure for service "GetEventType"
+
+class ScraperGetEventType
+{
+ public:
+
+ ScraperGetEventType(void)
+ {
+ event = NULL;
+ recording = NULL;
+ type = tNone;
+ movieId = 0;
+ seriesId = 0;
+ episodeId = 0;
+ };
+
+ // in
+ const cEvent *event; // check type for this event
+ const cRecording *recording; // or for this recording
+
+ //out
+
+ tvType type; // typeSeries or typeMovie
+ int movieId;
+ int seriesId;
+ int episodeId;
+};
+
+// Data structure for full series and episode information
+
+class cMovie
+{
+ public:
+
+ cMovie(void)
+ {
+ title = "";
+ originalTitle = "";
+ tagline = "";
+ overview = "";
+ adult = false;
+ collectionName = "";
+ budget = 0;
+ revenue = 0;
+ genres = "";
+ homepage = "";
+ releaseDate = "";
+ runtime = 0;
+ popularity = 0.0;
+ voteAverage = 0.0;
+ };
+
+ // in
+
+ int movieId; // movieId fetched from ScraperGetEventType
+
+ // out
+
+ std::string title;
+ std::string originalTitle;
+ std::string tagline;
+ std::string overview;
+ bool adult;
+ std::string collectionName;
+ int budget;
+ int revenue;
+ std::string genres;
+ std::string homepage;
+ std::string releaseDate;
+ int runtime;
+ float popularity;
+ float voteAverage;
+ cTvMedia poster;
+ cTvMedia fanart;
+ cTvMedia collectionPoster;
+ cTvMedia collectionFanart;
+ std::vector<cActor> actors;
+};
+
+// Data structure for full series and episode information
+
+class cSeries
+{
+ public:
+
+ cSeries(void)
+ {
+ seriesId = 0;
+ episodeId = 0;
+ name = "";
+ overview = "";
+ firstAired = "";
+ network = "";
+ genre = "";
+ rating = 0.0;
+ status = "";
+ };
+
+ // in
+
+ int seriesId; // seriesId fetched from ScraperGetEventType
+ int episodeId; // episodeId fetched from ScraperGetEventType
+
+ // out
+
+ std::string name;
+ std::string overview;
+ std::string firstAired;
+ std::string network;
+ std::string genre;
+ float rating;
+ std::string status;
+ cEpisode episode;
+ std::vector<cActor> actors;
+ std::vector<cTvMedia> posters;
+ std::vector<cTvMedia> banners;
+ std::vector<cTvMedia> fanarts;
+ cTvMedia seasonPoster;
+};
+
+// Data structure for service "GetPosterBanner"
+
+class ScraperGetPosterBanner
+{
+ public:
+
+ ScraperGetPosterBanner(void)
+ {
+ type = tNone;
+ event = NULL;
+ };
+
+ // in
+
+ const cEvent *event; // check type for this event
+
+ // out
+
+ tvType type; // typeSeries or typeMovie
+ cTvMedia poster;
+ cTvMedia banner;
+};
+
+// Data structure for service "GetPosterBannerV2"
+
+class ScraperGetPosterBannerV2
+{
+ public:
+
+ ScraperGetPosterBannerV2(void)
+ {
+ type = tNone;
+ event = NULL;
+ recording = NULL;
+ };
+
+ // in
+
+ const cEvent *event; // check type for this event
+ const cRecording *recording; // check type for this recording
+
+ // out
+
+ tvType type; // typeSeries or typeMovie
+ cTvMedia poster;
+ cTvMedia banner;
+};
+
+// Data structure for service "GetPoster"
+
+class ScraperGetPoster
+{
+ public:
+
+ // in
+
+ const cEvent *event; // check type for this event
+ const cRecording *recording; // or for this recording
+
+ //out
+
+ cTvMedia poster;
+};
+
+// Data structure for service "GetPosterThumb"
+
+class ScraperGetPosterThumb
+{
+ public:
+
+ // in
+
+ const cEvent *event; // check type for this event
+ const cRecording *recording; // or for this recording
+
+ // out
+
+ cTvMedia poster;
+};
+
+#endif //__SCRAPER2VDRSERVICES_H