[gnome-games/wip/exalm/loading: 29/29] game: Don't store runner



commit 59ca5b233f840f0e014187d2195dd53527f05c10
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue Nov 12 01:13:05 2019 +0500

    game: Don't store runner
    
    Now that everything has runner factories, we can stop storing runner in
    the Game object. This will allow to cache them in future.

 plugins/desktop/src/desktop-plugin.vala               |  8 +-------
 plugins/dreamcast/src/dreamcast-plugin.vala           | 10 +---------
 plugins/game-cube/src/game-cube-plugin.vala           | 10 +---------
 plugins/libretro/src/libretro-plugin.vala             | 11 +----------
 plugins/love/src/love-plugin.vala                     |  4 +---
 plugins/mame/src/mame-game-uri-adapter.vala           | 11 +----------
 plugins/ms-dos/src/ms-dos-plugin.vala                 | 13 +------------
 plugins/nintendo-ds/src/nintendo-ds-plugin.vala       | 10 +---------
 plugins/playstation/src/playstation-game-factory.vala | 12 +-----------
 plugins/sega-cd/src/sega-cd-plugin.vala               | 10 +---------
 plugins/sega-saturn/src/sega-saturn-plugin.vala       | 10 +---------
 plugins/steam/src/steam-plugin.vala                   | 14 ++++----------
 plugins/turbografx-cd/src/turbografx-cd-plugin.vala   | 10 +---------
 plugins/virtual-boy/src/virtual-boy-plugin.vala       | 10 +---------
 plugins/wii/src/wii-plugin.vala                       | 10 +---------
 src/core/game.vala                                    |  1 -
 src/database/database-game.vala                       |  4 ----
 src/dummy/dummy-game.vala                             |  4 ----
 src/generic/generic-game.vala                         |  8 +-------
 src/retro/retro-simple-game-uri-adapter.vala          | 10 +---------
 20 files changed, 20 insertions(+), 160 deletions(-)
---
diff --git a/plugins/desktop/src/desktop-plugin.vala b/plugins/desktop/src/desktop-plugin.vala
index 0dec7f02..9a00b439 100644
--- a/plugins/desktop/src/desktop-plugin.vala
+++ b/plugins/desktop/src/desktop-plugin.vala
@@ -58,13 +58,7 @@ private class Games.DesktopPlugin : Object, Plugin {
                var title = new DesktopTitle (app_info);
                var icon = new DesktopIcon (app_info);
 
-               string[] args;
-               var command = app_info.get_commandline ();
-               if (!Shell.parse_argv (command, out args))
-                       throw new CommandError.INVALID_COMMAND (_("Invalid command ā€œ%sā€."), command);
-               var runner = new CommandRunner (args);
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_icon (icon);
 
                return game;
diff --git a/plugins/dreamcast/src/dreamcast-plugin.vala b/plugins/dreamcast/src/dreamcast-plugin.vala
index b2fa16be..7d04fd5e 100644
--- a/plugins/dreamcast/src/dreamcast-plugin.vala
+++ b/plugins/dreamcast/src/dreamcast-plugin.vala
@@ -45,16 +45,8 @@ private class Games.DreamcastPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/game-cube/src/game-cube-plugin.vala b/plugins/game-cube/src/game-cube-plugin.vala
index 5ccb81c1..b63436d4 100644
--- a/plugins/game-cube/src/game-cube-plugin.vala
+++ b/plugins/game-cube/src/game-cube-plugin.vala
@@ -45,16 +45,8 @@ private class Games.GameCubePlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/libretro/src/libretro-plugin.vala b/plugins/libretro/src/libretro-plugin.vala
index ac3b9b12..d966fa8d 100644
--- a/plugins/libretro/src/libretro-plugin.vala
+++ b/plugins/libretro/src/libretro-plugin.vala
@@ -57,17 +57,8 @@ private class Games.LibretroPlugin : Object, Plugin {
                var uid = new LibretroUid (core_descriptor);
                var title = new LibretroTitle (core_descriptor);
                var icon = new LibretroIcon (core_descriptor);
-               var input_capabilities = new LibretroInputCapabilities ();
-
-               var builder = new RetroRunnerBuilder ();
-               builder.core_descriptor = core_descriptor;
-               builder.platform = platform;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               builder.input_capabilities = input_capabilities;
-               var runner = builder.to_runner ();
 
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_icon (icon);
 
                return game;
diff --git a/plugins/love/src/love-plugin.vala b/plugins/love/src/love-plugin.vala
index b29d8b93..997ad740 100644
--- a/plugins/love/src/love-plugin.vala
+++ b/plugins/love/src/love-plugin.vala
@@ -41,10 +41,8 @@ private class Games.LovePlugin : Object, Plugin {
                var title = new LoveTitle (package);
                var icon = new LoveIcon (package);
                var cover = new LocalCover (uri);
-               string[] args = { "love", uri.to_string () };
-               var runner = new CommandRunner (args);
 
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_icon (icon);
                game.set_cover (cover);
 
diff --git a/plugins/mame/src/mame-game-uri-adapter.vala b/plugins/mame/src/mame-game-uri-adapter.vala
index 7b3d3899..cf948663 100644
--- a/plugins/mame/src/mame-game-uri-adapter.vala
+++ b/plugins/mame/src/mame-game-uri-adapter.vala
@@ -25,21 +25,12 @@ private class Games.MameGameUriAdapter : GameUriAdapter, Object {
                title_string = title_string.split ("(")[0];
                title_string = title_string.strip ();
                var title = new GenericTitle (title_string);
-
                var cover = new LocalCover (uri);
-               var core_source = new RetroCoreSource (platform);
-
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
 
                Idle.add (this.game_for_uri.callback);
                yield;
 
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/ms-dos/src/ms-dos-plugin.vala b/plugins/ms-dos/src/ms-dos-plugin.vala
index 512b86a1..627e8318 100644
--- a/plugins/ms-dos/src/ms-dos-plugin.vala
+++ b/plugins/ms-dos/src/ms-dos-plugin.vala
@@ -39,18 +39,7 @@ private class Games.MsDosPlugin : Object, Plugin {
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
 
-               var core_source = new RetroCoreSource (platform);
-               var input_capabilities = new MsDosInputCapabilities ();
-
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               builder.input_capabilities = input_capabilities;
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
index 3213a784..18d78963 100644
--- a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
+++ b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
@@ -43,16 +43,8 @@ private class Games.NintendoDsPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
-
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner (typeof (NintendoDsRunner)) as NintendoDsRunner;
 
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_icon (icon);
                game.set_cover (cover);
 
diff --git a/plugins/playstation/src/playstation-game-factory.vala 
b/plugins/playstation/src/playstation-game-factory.vala
index dc1d8a3b..9460572f 100644
--- a/plugins/playstation/src/playstation-game-factory.vala
+++ b/plugins/playstation/src/playstation-game-factory.vala
@@ -147,18 +147,8 @@ public class Games.PlayStationGameFactory : Object, UriGameFactory {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var input_capabilities = new GameinfoDiscIdInputCapabilities (gameinfo, disc_set_id);
-               var core_source = new RetroCoreSource (platform);
-
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.media_set = media_set;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               builder.input_capabilities = input_capabilities;
-               var runner = builder.to_runner ();
 
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/sega-cd/src/sega-cd-plugin.vala b/plugins/sega-cd/src/sega-cd-plugin.vala
index 8e4da171..fd9c2253 100644
--- a/plugins/sega-cd/src/sega-cd-plugin.vala
+++ b/plugins/sega-cd/src/sega-cd-plugin.vala
@@ -87,16 +87,8 @@ private class Games.SegaCDPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/sega-saturn/src/sega-saturn-plugin.vala b/plugins/sega-saturn/src/sega-saturn-plugin.vala
index b9622e59..3aa61f57 100644
--- a/plugins/sega-saturn/src/sega-saturn-plugin.vala
+++ b/plugins/sega-saturn/src/sega-saturn-plugin.vala
@@ -69,16 +69,8 @@ private class Games.SegaSaturnPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/steam/src/steam-plugin.vala b/plugins/steam/src/steam-plugin.vala
index 99242ae1..522c21b3 100644
--- a/plugins/steam/src/steam-plugin.vala
+++ b/plugins/steam/src/steam-plugin.vala
@@ -70,14 +70,14 @@ private class Games.SteamPlugin : Object, Plugin {
        }
 
        private static Game game_for_steam_uri (Uri uri) throws Error {
-               return create_game (uri, "steam", "", { "steam" });
+               return create_game (uri, "steam", "");
        }
 
        private static Game game_for_flatpak_steam_uri (Uri uri) throws Error {
-               return create_game (uri, STEAM_APPID, "flatpak", { "flatpak", "run", STEAM_APPID });
+               return create_game (uri, STEAM_APPID, "flatpak");
        }
 
-       private static Game create_game (Uri uri, string app_id, string prefix, string[] command) throws 
Error {
+       private static Game create_game (Uri uri, string app_id, string prefix) throws Error {
                var file_uri = new Uri.from_uri_and_scheme (uri, "file");
                var file = file_uri.to_file ();
                var appmanifest_path = file.get_path ();
@@ -96,13 +96,7 @@ private class Games.SteamPlugin : Object, Plugin {
                var icon = new SteamIcon (app_id, game_id);
                var cover = new SteamCover (game_id);
 
-               string[] args = {};
-               foreach (var part in command)
-                       args += part;
-               args += @"steam://rungameid/$game_id";
-               var runner = new CommandRunner (args);
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_icon (icon);
                game.set_cover (cover);
 
diff --git a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala 
b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
index 34a2b3d6..a1e09581 100644
--- a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
+++ b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
@@ -48,16 +48,8 @@ private class Games.TurboGrafxCDPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/virtual-boy/src/virtual-boy-plugin.vala b/plugins/virtual-boy/src/virtual-boy-plugin.vala
index 873a95f9..16a9ffb4 100644
--- a/plugins/virtual-boy/src/virtual-boy-plugin.vala
+++ b/plugins/virtual-boy/src/virtual-boy-plugin.vala
@@ -46,16 +46,8 @@ private class Games.VirtualBoyPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/plugins/wii/src/wii-plugin.vala b/plugins/wii/src/wii-plugin.vala
index 5db54859..e570befa 100644
--- a/plugins/wii/src/wii-plugin.vala
+++ b/plugins/wii/src/wii-plugin.vala
@@ -45,16 +45,8 @@ private class Games.WiiPlugin : Object, Plugin {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;
diff --git a/src/core/game.vala b/src/core/game.vala
index e9ddc918..9e4a02de 100644
--- a/src/core/game.vala
+++ b/src/core/game.vala
@@ -8,7 +8,6 @@ public interface Games.Game : Object {
        public abstract Icon get_icon ();
        public abstract Cover get_cover ();
        public abstract Platform get_platform ();
-       public abstract Runner get_runner () throws Error;
 
        public bool matches_search_terms (string[] search_terms) {
                if (search_terms.length != 0)
diff --git a/src/database/database-game.vala b/src/database/database-game.vala
index 6610db1b..64eb1d3f 100644
--- a/src/database/database-game.vala
+++ b/src/database/database-game.vala
@@ -32,8 +32,4 @@ private class Games.DatabaseGame : Object, Game {
        public Platform get_platform () {
                return game.get_platform ();
        }
-
-       public Runner get_runner () throws Error {
-               return game.get_runner ();
-       }
 }
diff --git a/src/dummy/dummy-game.vala b/src/dummy/dummy-game.vala
index bdff2d8e..e944637a 100644
--- a/src/dummy/dummy-game.vala
+++ b/src/dummy/dummy-game.vala
@@ -41,8 +41,4 @@ private class Games.DummyGame : Object, Game {
        public Platform get_platform () {
                return new DummyPlatform ();
        }
-
-       public Runner get_runner () throws Error {
-               return new DummyRunner ();
-       }
 }
diff --git a/src/generic/generic-game.vala b/src/generic/generic-game.vala
index 189daf93..cb2a54f6 100644
--- a/src/generic/generic-game.vala
+++ b/src/generic/generic-game.vala
@@ -24,13 +24,11 @@ public class Games.GenericGame : Object, Game {
        private Icon game_icon;
        private Cover game_cover;
        private Platform game_platform;
-       private Runner game_runner;
 
-       public GenericGame (Uid uid, Uri uri, Title title, Platform platform, Runner runner) {
+       public GenericGame (Uid uid, Uri uri, Title title, Platform platform) {
                game_uid = uid;
                game_uri = uri;
                game_title = title;
-               game_runner = runner;
                game_platform = platform;
        }
 
@@ -67,8 +65,4 @@ public class Games.GenericGame : Object, Game {
        public Platform get_platform () {
                return game_platform;
        }
-
-       public Runner get_runner () throws Error {
-               return game_runner;
-       }
 }
diff --git a/src/retro/retro-simple-game-uri-adapter.vala b/src/retro/retro-simple-game-uri-adapter.vala
index 5f023d1e..d9522292 100644
--- a/src/retro/retro-simple-game-uri-adapter.vala
+++ b/src/retro/retro-simple-game-uri-adapter.vala
@@ -19,16 +19,8 @@ private class Games.RetroSimpleGameUriAdapter : GameUriAdapter, Object {
                var cover = new CompositeCover ({
                        new LocalCover (uri),
                        new GriloCover (media, uid)});
-               var core_source = new RetroCoreSource (platform);
 
-               var builder = new RetroRunnerBuilder ();
-               builder.core_source = core_source;
-               builder.uri = uri;
-               builder.uid = uid;
-               builder.title = title.get_title ();
-               var runner = builder.to_runner ();
-
-               var game = new GenericGame (uid, uri, title, platform, runner);
+               var game = new GenericGame (uid, uri, title, platform);
                game.set_cover (cover);
 
                return game;


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