#ifndef __SCRAPER2VDRSERVICES_H #define __SCRAPER2VDRSERVICES_H #include #include #include #include #include //*************************************************************************** // 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 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 actors; std::vector posters; std::vector banners; std::vector 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