[gnome-games] plugins: Allow retro games to get players, coop status, genre & release date of a game



commit 5580096c4bf774703eafba6b46d34330e7c9da3f
Author: 1PunMan <saurabhsingh412 gmail com>
Date:   Thu May 17 18:47:49 2018 +0530

    plugins: Allow retro games to get players, coop status, genre & release date of a game

 plugins/desktop/src/desktop-plugin.vala               | 6 +++++-
 plugins/dreamcast/src/dreamcast-plugin.vala           | 6 +++++-
 plugins/game-cube/src/game-cube-plugin.vala           | 6 +++++-
 plugins/libretro/src/libretro-plugin.vala             | 6 +++++-
 plugins/love/src/love-plugin.vala                     | 6 +++++-
 plugins/mame/src/mame-game-uri-adapter.vala           | 6 +++++-
 plugins/nintendo-ds/src/nintendo-ds-plugin.vala       | 6 +++++-
 plugins/playstation/src/playstation-game-factory.vala | 6 +++++-
 plugins/sega-cd/src/sega-cd-plugin.vala               | 6 +++++-
 plugins/sega-saturn/src/sega-saturn-plugin.vala       | 6 +++++-
 plugins/steam/src/steam-plugin.vala                   | 6 +++++-
 plugins/turbografx-cd/src/turbografx-cd-plugin.vala   | 6 +++++-
 plugins/virtual-boy/src/virtual-boy-plugin.vala       | 6 +++++-
 plugins/wii/src/wii-plugin.vala                       | 6 +++++-
 src/generic/generic-game.vala                         | 6 +++++-
 src/retro/retro-simple-game-uri-adapter.vala          | 6 +++++-
 16 files changed, 80 insertions(+), 16 deletions(-)
---
diff --git a/plugins/desktop/src/desktop-plugin.vala b/plugins/desktop/src/desktop-plugin.vala
index 9331a89..7a04425 100644
--- a/plugins/desktop/src/desktop-plugin.vala
+++ b/plugins/desktop/src/desktop-plugin.vala
@@ -42,6 +42,10 @@ private class Games.DesktopPlugin : Object, Plugin {
                var title = new DesktopTitle (app_info);
                var icon = new DesktopIcon (app_info);
                var cover = new DummyCover ();
+               var release_date = new DummyReleaseDate ();
+               var cooperative = new DummyCooperative ();
+               var genre = new DummyGenre ();
+               var players = new DummyPlayers ();
 
                string[] args;
                var command = app_info.get_commandline ();
@@ -49,7 +53,7 @@ private class Games.DesktopPlugin : Object, Plugin {
                        throw new CommandError.INVALID_COMMAND (_("Invalid command ā€œ%sā€."), command);
                var runner = new CommandRunner (args, true);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 
        private static void check_uri (Uri uri) throws Error {
diff --git a/plugins/dreamcast/src/dreamcast-plugin.vala b/plugins/dreamcast/src/dreamcast-plugin.vala
index 0ef1a10..f67bcc8 100644
--- a/plugins/dreamcast/src/dreamcast-plugin.vala
+++ b/plugins/dreamcast/src/dreamcast-plugin.vala
@@ -28,10 +28,14 @@ private class Games.DreamcastPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (PLATFORM, { MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/game-cube/src/game-cube-plugin.vala b/plugins/game-cube/src/game-cube-plugin.vala
index 428daa4..90bc744 100644
--- a/plugins/game-cube/src/game-cube-plugin.vala
+++ b/plugins/game-cube/src/game-cube-plugin.vala
@@ -28,10 +28,14 @@ private class Games.GameCubePlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (PLATFORM, { MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/libretro/src/libretro-plugin.vala b/plugins/libretro/src/libretro-plugin.vala
index 6a30cb7..e04555c 100644
--- a/plugins/libretro/src/libretro-plugin.vala
+++ b/plugins/libretro/src/libretro-plugin.vala
@@ -32,9 +32,13 @@ private class Games.LibretroPlugin : Object, Plugin {
                var title = new LibretroTitle (core_descriptor);
                var icon = new LibretroIcon (core_descriptor);
                var cover = new DummyCover ();
+               var release_date = new DummyReleaseDate ();
+               var cooperative = new DummyCooperative ();
+               var genre = new DummyGenre ();
+               var players = new DummyPlayers ();
                var runner = new RetroRunner.for_core_descriptor (core_descriptor, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/love/src/love-plugin.vala b/plugins/love/src/love-plugin.vala
index 8a6620e..1fa9a0a 100644
--- a/plugins/love/src/love-plugin.vala
+++ b/plugins/love/src/love-plugin.vala
@@ -22,10 +22,14 @@ private class Games.LovePlugin : Object, Plugin {
                var title = new LoveTitle (package);
                var icon = new LoveIcon (package);
                var cover = new LocalCover (uri);
+               var release_date = new DummyReleaseDate ();
+               var cooperative = new DummyCooperative ();
+               var genre = new DummyGenre ();
+               var players = new DummyPlayers ();
                string[] args = { "love", uri.to_string () };
                var runner = new CommandRunner (args, true);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/mame/src/mame-game-uri-adapter.vala b/plugins/mame/src/mame-game-uri-adapter.vala
index 7c82534..08faac7 100644
--- a/plugins/mame/src/mame-game-uri-adapter.vala
+++ b/plugins/mame/src/mame-game-uri-adapter.vala
@@ -26,12 +26,16 @@ private class Games.MameGameUriAdapter : GameUriAdapter, Object {
 
                var icon = new DummyIcon ();
                var cover = new LocalCover (uri);
+               var release_date = new DummyReleaseDate ();
+               var cooperative = new DummyCooperative ();
+               var genre = new DummyGenre ();
+               var players = new DummyPlayers ();
                var core_source = new RetroCoreSource (PLATFORM, { SEARCHED_MIME_TYPE, SPECIFIC_MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
                Idle.add (this.game_for_uri.callback);
                yield;
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
diff --git a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
index 922b1e9..0d759cb 100644
--- a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
+++ b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
@@ -22,13 +22,17 @@ private class Games.NintendoDsPlugin : Object, Plugin {
                var title = new FilenameTitle (uri);
                var icon = new NintendoDsIcon (uri);
                var media = new GriloMedia (title, MIME_TYPE);
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
                var core_source = new RetroCoreSource (PLATFORM, { MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/playstation/src/playstation-game-factory.vala 
b/plugins/playstation/src/playstation-game-factory.vala
index 1a222c3..b5fa16d 100644
--- a/plugins/playstation/src/playstation-game-factory.vala
+++ b/plugins/playstation/src/playstation-game-factory.vala
@@ -143,11 +143,15 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var input_capabilities = new GameinfoDiscIdInputCapabilities (gameinfo, disc_set_id);
                var core_source = new RetroCoreSource (PLATFORM, { CUE_MIME_TYPE, PHONY_MIME_TYPE });
                var runner = new RetroRunner.for_media_set_and_input_capabilities (core_source, media_set, 
uid, input_capabilities, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 
        private static GameinfoDoc get_gameinfo () throws Error {
diff --git a/plugins/sega-cd/src/sega-cd-plugin.vala b/plugins/sega-cd/src/sega-cd-plugin.vala
index aae7d15..7067e8b 100644
--- a/plugins/sega-cd/src/sega-cd-plugin.vala
+++ b/plugins/sega-cd/src/sega-cd-plugin.vala
@@ -67,10 +67,14 @@ private class Games.SegaCDPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (platform, mime_types);
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 
        private static File get_binary_file (CueSheet cue) throws Error {
diff --git a/plugins/sega-saturn/src/sega-saturn-plugin.vala b/plugins/sega-saturn/src/sega-saturn-plugin.vala
index 6f11bf9..7e166ef 100644
--- a/plugins/sega-saturn/src/sega-saturn-plugin.vala
+++ b/plugins/sega-saturn/src/sega-saturn-plugin.vala
@@ -51,10 +51,14 @@ private class Games.SegaSaturnPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (PLATFORM, { CUE_MIME_TYPE, SEGA_SATURN_MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 
        private static File get_binary_file (CueSheet cue) throws Error {
diff --git a/plugins/steam/src/steam-plugin.vala b/plugins/steam/src/steam-plugin.vala
index 6ca34ea..d5078d1 100644
--- a/plugins/steam/src/steam-plugin.vala
+++ b/plugins/steam/src/steam-plugin.vala
@@ -54,10 +54,14 @@ private class Games.SteamPlugin : Object, Plugin {
                var title = new SteamTitle (registry);
                var icon = new SteamIcon (game_id);
                var cover = new SteamCover (game_id);
+               var release_date = new DummyReleaseDate ();
+               var cooperative = new DummyCooperative ();
+               var genre = new DummyGenre ();
+               var players = new DummyPlayers ();
                string[] args = { "steam", @"steam://rungameid/" + game_id };
                var runner = new CommandRunner (args, false);
 
-               var game = new GenericGame (uid, title, icon, cover, runner);
+               var game = new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, 
players, runner);
                game_for_id[game_id] = game;
 
                return game;
diff --git a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala 
b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
index aea3a74..c8b4572 100644
--- a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
+++ b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
@@ -30,10 +30,14 @@ private class Games.TurboGrafxCDPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (CD_PLATFORM, { CUE_MIME_TYPE, PHONY_MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 
        private static bool is_valid_disc (Uri uri) throws Error {
diff --git a/plugins/virtual-boy/src/virtual-boy-plugin.vala b/plugins/virtual-boy/src/virtual-boy-plugin.vala
index 0254b9d..7131ed6 100644
--- a/plugins/virtual-boy/src/virtual-boy-plugin.vala
+++ b/plugins/virtual-boy/src/virtual-boy-plugin.vala
@@ -30,10 +30,14 @@ private class Games.VirtualBoyPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (PLATFORM, { MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/plugins/wii/src/wii-plugin.vala b/plugins/wii/src/wii-plugin.vala
index 9cdb50e..4df1bac 100644
--- a/plugins/wii/src/wii-plugin.vala
+++ b/plugins/wii/src/wii-plugin.vala
@@ -28,10 +28,14 @@ private class Games.WiiPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (PLATFORM, { MIME_TYPE });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }
 
diff --git a/src/generic/generic-game.vala b/src/generic/generic-game.vala
index f0d46c5..3e5a9bb 100644
--- a/src/generic/generic-game.vala
+++ b/src/generic/generic-game.vala
@@ -28,11 +28,15 @@ public class Games.GenericGame : Object, Game {
        private Players game_players;
        private Runner game_runner;
 
-       public GenericGame (Uid uid, Title title, Icon icon, Cover cover, Runner runner) {
+       public GenericGame (Uid uid, Title title, Icon icon, Cover cover, ReleaseDate release_date, 
Cooperative cooperative, Genre genre, Players players, Runner runner) {
                game_uid = uid;
                game_title = title;
                game_icon = icon;
                game_cover = cover;
+               game_release_date = release_date;
+               game_cooperative = cooperative;
+               game_genre = genre;
+               game_players = players;
                game_runner = runner;
        }
 
diff --git a/src/retro/retro-simple-game-uri-adapter.vala b/src/retro/retro-simple-game-uri-adapter.vala
index e508a7a..ec59517 100644
--- a/src/retro/retro-simple-game-uri-adapter.vala
+++ b/src/retro/retro-simple-game-uri-adapter.vala
@@ -18,9 +18,13 @@ private class Games.RetroSimpleGameUriAdapter : GameUriAdapter, Object {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
+               var release_date = new GriloReleaseDate (media, uid);
+               var cooperative = new GriloCooperative (media, uid);
+               var genre = new GriloGenre (media, uid);
+               var players = new GriloPlayers (media, uid);
                var core_source = new RetroCoreSource (simple_type.platform, { simple_type.mime_type });
                var runner = new RetroRunner (core_source, uri, uid, title);
 
-               return new GenericGame (uid, title, icon, cover, runner);
+               return new GenericGame (uid, title, icon, cover, release_date, cooperative, genre, players, 
runner);
        }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]