From 28691c29e93fbc4fdb5ae4866287282840fba021 Mon Sep 17 00:00:00 2001 From: randomdan Date: Fri, 19 Sep 2014 23:52:30 +0000 Subject: First bash at a slicer ice proxy for TMDb and an untested instantiation in p2pvr's core adapter --- libtmdb/tmdb-models.ice | 269 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 libtmdb/tmdb-models.ice (limited to 'libtmdb/tmdb-models.ice') diff --git a/libtmdb/tmdb-models.ice b/libtmdb/tmdb-models.ice new file mode 100644 index 0000000..3368b8d --- /dev/null +++ b/libtmdb/tmdb-models.ice @@ -0,0 +1,269 @@ +#ifndef TMDB_MODELS_ICE +#define TMDB_MODELS_ICE + +#include "tmdb-common.ice" + +module TMDb { + class SearchPaging { + ["slicer:name:page"] + int Page; + + ["slicer:name:total_pages"] + int TotalPages; + + ["slicer:name:total_results"] + int TotalResults; + }; + + ["slicer:typeid:media_type"] + class SearchMatch { + ["slicer:name:id"] + int Id; + }; + sequence SearchMatchList; + + ["slicer:typename:person"] + class SearchMatchPerson extends SearchMatch { + ["slicer:name:adult"] + bool Adult; + + ["slicer:name:name"] + string Name; + + ["slicer:name:profile_path"] + string ProfilePath; + }; + sequence SearchMatchPersonList; + + ["slicer:typename:movie"] + class SearchMatchMovie extends SearchMatch { + ["slicer:name:adult"] + bool Adult; + + ["slicer:name:backdrop_path"] + string BackdropPath; + + ["slicer:name:original_title"] + string OriginalTitle; + + ["slicer:name:release_date", + "slicer:conversion:std.string:stringToDate:dateToString"] + Date ReleaseDate; + + ["slicer:name:poster_path"] + string PosterPath; + + ["slicer:name:popularity"] + double Popularity; + + ["slicer:name:title"] + string Title; + + ["slicer:name:vote_average"] + float VoteAverage; + + ["slicer:name:vote_count"] + int VoteCount; + }; + sequence SearchMatchMovieList; + + ["slicer:typename:tv"] + class SearchMatchTv extends SearchMatch { + ["slicer:name:backdrop_path"] + string BackdropPath; + + ["slicer:name:original_name"] + string OriginalName; + + ["slicer:name:first_air_date", + "slicer:conversion:std.string:stringToDate:dateToString"] + Date FirstAirDate; + + ["slicer:name:poster_path"] + string PosterPath; + + ["slicer:name:popularity"] + double Popularity; + + ["slicer:name:name"] + string Name; + + ["slicer:name:vote_average"] + float VoteAverage; + + ["slicer:name:vote_count"] + int VoteCount; + + ["slicer:name:media_type"] + string MediaType; + }; + sequence SearchMatchTvList; + + class SearchMultiResults extends SearchPaging { + ["slicer:name:results"] + SearchMatchList Results; + }; + + class SearchTvResults extends SearchPaging { + ["slicer:name:results"] + SearchMatchTvList Results; + }; + + class SearchMovieResults extends SearchPaging { + ["slicer:name:results"] + SearchMatchMovieList Results; + }; + + class SearchPersonResults extends SearchPaging { + ["slicer:name:results"] + SearchMatchPersonList Results; + }; + + class Movie { + ["slicer:name:adult"] + bool Adult; + + ["slicer:name:backdrop_path"] + string BackdropPath; + + ["slicer:name:belongs_to_collection"] + optional(0) int BelongsToCollection; + + ["slicer:name:budget"] + long Budget; + + ["slicer:name:genres"] + GenreList Genres; + + ["slicer:name:homepage"] + string HomePage; + + ["slicer:name:id"] + int Id; + + ["slicer:name:imdb_id"] + string ImdbId; + + ["slicer:name:original_title"] + string OriginalTitle; + + ["slicer:name:overview"] + string Overview; + + ["slicer:name:popularity"] + float Popularity; + + ["slicer:name:poster_path"] + string PosterPath; + + ["slicer:name:production_companies"] + CompanyRefList ProductionCompanies; + + ["slicer:name:production_countries"] + CountryRefList ProductionCountries; + + ["slicer:name:release_date", + "slicer:conversion:std.string:stringToDate:dateToString"] + Date ReleaseDate; + + ["slicer:name:revenue"] + long Revenue; + + ["slicer:name:runtime"] + int Runtime; + + ["slicer:name:spoken_languages"] + LanguageList SpokenLanguages; + + ["slicer:name:status"] + string Status; + + ["slicer:name:tagline"] + string Tagline; + + ["slicer:name:title"] + string Title; + + ["slicer:name:vote_average"] + float VoteAverage; + + ["slicer:name:vote_count"] + int VoteCount; + }; + + class TvSeries { + ["slicer:name:backdrop_path"] + string BackdropPath; + + ["slicer:name:created_by"] + PersonRefList CreatedBy; + + ["slicer:name:episode_run_time"] + Runtimes EpisodeRunTimes; + + ["slicer:name:first_air_date", + "slicer:conversion:std.string:stringToDate:dateToString"] + Date FirstAirDate; + + ["slicer:name:genres"] + GenreList Genres; + + ["slicer:name:homepage"] + string HomePage; + + ["slicer:name:id"] + int Id; + + ["slicer:name:in_production"] + bool InProduction; + + ["slicer:name:languages"] + StringList Languages; + + ["slicer:name:last_air_date", + "slicer:conversion:std.string:stringToDate:dateToString"] + Date LastAirDate; + + ["slicer:name:name"] + string Name; + + ["slicer:name:networks"] + NetworkRefList Networks; + + ["slicer:name:number_of_episodes"] + int NumberOfEpisodes; + + ["slicer:name:number_of_seasons"] + int NumberOfSeasons; + + ["slicer:name:original_name"] + string OriginalName; + + ["slicer:name:origin_country"] + StringList OriginCountries; + + ["slicer:name:overview"] + string Overview; + + ["slicer:name:popularity"] + float Popularity; + + ["slicer:name:poster_path"] + string PosterPath; + + ["slicer:name:seasons"] + SeasonRefList Seasons; + + ["slicer:name:status"] + string Status; + + ["slicer:name:vote_average"] + float VoteAverage; + + ["slicer:name:vote_count"] + int VoteCount; + }; +}; + +#endif + -- cgit v1.2.3