summaryrefslogtreecommitdiff
path: root/libtmdb/tmdb-models.ice
diff options
context:
space:
mode:
authorrandomdan <randomdan@localhost>2014-09-19 23:52:30 +0000
committerrandomdan <randomdan@localhost>2014-09-19 23:52:30 +0000
commit28691c29e93fbc4fdb5ae4866287282840fba021 (patch)
tree8b83ca80afc3f3a5d11b04a56c440d2aa38f4e16 /libtmdb/tmdb-models.ice
parentSupport muxing directly in storage (diff)
downloadp2pvr-28691c29e93fbc4fdb5ae4866287282840fba021.tar.bz2
p2pvr-28691c29e93fbc4fdb5ae4866287282840fba021.tar.xz
p2pvr-28691c29e93fbc4fdb5ae4866287282840fba021.zip
First bash at a slicer ice proxy for TMDb and an untested instantiation in p2pvr's core adapter
Diffstat (limited to 'libtmdb/tmdb-models.ice')
-rw-r--r--libtmdb/tmdb-models.ice269
1 files changed, 269 insertions, 0 deletions
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<SearchMatch> 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<SearchMatchPerson> 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<SearchMatchMovie> 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<SearchMatchTv> 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
+