[gnome-games/wip/exalm/rebrand: 55/124] Remove RunnerFactory
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/exalm/rebrand: 55/124] Remove RunnerFactory
- Date: Sat, 19 Jun 2021 14:37:44 +0000 (UTC)
commit 68903438571bf45a96c1e39b6898a604a4f3d16f
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Mon Mar 29 22:27:42 2021 +0500
Remove RunnerFactory
Runner creation is now exactly same for all platforms.
plugins/dreamcast/src/dreamcast-plugin.vala | 6 ----
plugins/game-cube/src/game-cube-plugin.vala | 6 ----
plugins/mame/src/mame-plugin.vala | 6 ----
plugins/ms-dos/src/ms-dos-plugin.vala | 6 ----
plugins/nintendo-3ds/src/nintendo-3ds-plugin.vala | 6 ----
plugins/nintendo-64/src/nintendo-64-plugin.vala | 6 ----
plugins/nintendo-ds/src/nintendo-ds-plugin.vala | 6 ----
plugins/playstation/src/playstation-plugin.vala | 6 ----
plugins/sega-cd/src/sega-cd-plugin.vala | 7 -----
plugins/sega-saturn/src/sega-saturn-plugin.vala | 6 ----
.../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/core/game-collection.vala | 36 ++--------------------
src/core/plugin.vala | 4 ---
src/core/runner-factory.vala | 21 -------------
src/meson.build | 1 -
src/ui/application.vala | 7 -----
18 files changed, 3 insertions(+), 145 deletions(-)
---
diff --git a/plugins/dreamcast/src/dreamcast-plugin.vala b/plugins/dreamcast/src/dreamcast-plugin.vala
index 0de1b60c..781a99fa 100644
--- a/plugins/dreamcast/src/dreamcast-plugin.vala
+++ b/plugins/dreamcast/src/dreamcast-plugin.vala
@@ -32,12 +32,6 @@ private class Games.DreamcastPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static string get_uid (DreamcastHeader header) throws Error {
var product_number = header.get_product_number ();
var areas = header.get_areas ();
diff --git a/plugins/game-cube/src/game-cube-plugin.vala b/plugins/game-cube/src/game-cube-plugin.vala
index 9b700346..92e00b10 100644
--- a/plugins/game-cube/src/game-cube-plugin.vala
+++ b/plugins/game-cube/src/game-cube-plugin.vala
@@ -28,12 +28,6 @@ private class Games.GameCubePlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform, typeof (GameCubeRunner));
-
- return { factory };
- }
-
private static string get_uid (GameCubeHeader header) throws Error {
var game_id = header.get_game_id ();
diff --git a/plugins/mame/src/mame-plugin.vala b/plugins/mame/src/mame-plugin.vala
index 130e5c61..ea24e7b6 100644
--- a/plugins/mame/src/mame-plugin.vala
+++ b/plugins/mame/src/mame-plugin.vala
@@ -30,12 +30,6 @@ private class Games.MamePlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var supported_games = MameGameInfo.get_supported_games ();
diff --git a/plugins/ms-dos/src/ms-dos-plugin.vala b/plugins/ms-dos/src/ms-dos-plugin.vala
index 3eef229e..e900ae3d 100644
--- a/plugins/ms-dos/src/ms-dos-plugin.vala
+++ b/plugins/ms-dos/src/ms-dos-plugin.vala
@@ -24,12 +24,6 @@ private class Games.MsDosPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform, typeof (MsDosRunner));
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var uid = new Uid (Fingerprint.get_uid (uri, PLATFORM_UID_PREFIX));
var title = new FilenameTitle (uri);
diff --git a/plugins/nintendo-3ds/src/nintendo-3ds-plugin.vala
b/plugins/nintendo-3ds/src/nintendo-3ds-plugin.vala
index 81480acb..93d29561 100644
--- a/plugins/nintendo-3ds/src/nintendo-3ds-plugin.vala
+++ b/plugins/nintendo-3ds/src/nintendo-3ds-plugin.vala
@@ -31,12 +31,6 @@ private class Games.Nintendo3DsPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform, typeof (Nintendo3DsRunner));
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var uid = new Uid (Fingerprint.get_uid (uri, PLATFORM_UID_PREFIX));
var title = new FilenameTitle (uri);
diff --git a/plugins/nintendo-64/src/nintendo-64-plugin.vala b/plugins/nintendo-64/src/nintendo-64-plugin.vala
index fda562d9..5d9b9154 100644
--- a/plugins/nintendo-64/src/nintendo-64-plugin.vala
+++ b/plugins/nintendo-64/src/nintendo-64-plugin.vala
@@ -28,12 +28,6 @@ private class Games.Nintendo64Plugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform, typeof (Nintendo64Runner));
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var uid = new Uid (Fingerprint.get_uid (uri, PLATFORM_UID_PREFIX));
diff --git a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
index df7d7fa2..e6d0adac 100644
--- a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
+++ b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
@@ -28,12 +28,6 @@ private class Games.NintendoDsPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform, typeof (NintendoDsRunner));
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var uid = new Uid (Fingerprint.get_uid (uri, PLATFORM_UID_PREFIX));
var title = new FilenameTitle (uri);
diff --git a/plugins/playstation/src/playstation-plugin.vala b/plugins/playstation/src/playstation-plugin.vala
index 636ffdbc..7ec79d84 100644
--- a/plugins/playstation/src/playstation-plugin.vala
+++ b/plugins/playstation/src/playstation-plugin.vala
@@ -27,12 +27,6 @@ private class Games.PlayStation : Object, Plugin {
return { factory };
}
-
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
}
[ModuleInit]
diff --git a/plugins/sega-cd/src/sega-cd-plugin.vala b/plugins/sega-cd/src/sega-cd-plugin.vala
index 9d2a0bd1..4c6cf92b 100644
--- a/plugins/sega-cd/src/sega-cd-plugin.vala
+++ b/plugins/sega-cd/src/sega-cd-plugin.vala
@@ -41,13 +41,6 @@ private class Games.SegaCDPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory_sega_cd = new RunnerFactory (platform_sega_cd);
- var factory_sega_cd_32x = new RunnerFactory (platform_sega_cd_32x);
-
- return { factory_sega_cd, factory_sega_cd_32x };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var file = uri.to_file ();
var file_info = file.query_info (FileAttribute.STANDARD_CONTENT_TYPE,
FileQueryInfoFlags.NONE);
diff --git a/plugins/sega-saturn/src/sega-saturn-plugin.vala b/plugins/sega-saturn/src/sega-saturn-plugin.vala
index 566f2816..d6dfc720 100644
--- a/plugins/sega-saturn/src/sega-saturn-plugin.vala
+++ b/plugins/sega-saturn/src/sega-saturn-plugin.vala
@@ -34,12 +34,6 @@ private class Games.SegaSaturnPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static string get_uid (SegaSaturnHeader header) throws Error {
var product_number = header.get_product_number ();
var areas = header.get_areas ();
diff --git a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
index 73bead54..23a66b05 100644
--- a/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
+++ b/plugins/turbografx-cd/src/turbografx-cd-plugin.vala
@@ -32,12 +32,6 @@ private class Games.TurboGrafxCDPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
if (!is_valid_disc (uri))
throw new TurboGrafxCDError.INVALID_DISC ("“%s” isn’t a valid TurboGrafx-CD disc.",
uri.to_string ());
diff --git a/plugins/virtual-boy/src/virtual-boy-plugin.vala b/plugins/virtual-boy/src/virtual-boy-plugin.vala
index 191c8d9f..2e4b5144 100644
--- a/plugins/virtual-boy/src/virtual-boy-plugin.vala
+++ b/plugins/virtual-boy/src/virtual-boy-plugin.vala
@@ -28,12 +28,6 @@ private class Games.VirtualBoyPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static Game game_for_uri (Uri uri) throws Error {
var file = uri.to_file ();
diff --git a/plugins/wii/src/wii-plugin.vala b/plugins/wii/src/wii-plugin.vala
index 6344a6a0..3b4fcc65 100644
--- a/plugins/wii/src/wii-plugin.vala
+++ b/plugins/wii/src/wii-plugin.vala
@@ -28,12 +28,6 @@ private class Games.WiiPlugin : Object, Plugin {
return { factory };
}
- public RunnerFactory[] get_runner_factories () {
- var factory = new RunnerFactory (platform);
-
- return { factory };
- }
-
private static string get_uid (WiiHeader header) throws Error {
var game_id = header.get_game_id ();
diff --git a/src/core/game-collection.vala b/src/core/game-collection.vala
index 75a32d2c..c6bcc305 100644
--- a/src/core/game-collection.vala
+++ b/src/core/game-collection.vala
@@ -11,12 +11,10 @@ private class Games.GameCollection : Object {
private HashTable<string, Game> cached_games;
private UriSource[] sources;
private UriGameFactory[] factories;
- private RunnerFactory[] runner_factories;
private Database database;
private HashTable<string, Array<UriGameFactory>> factories_for_mime_type;
private HashTable<string, Array<UriGameFactory>> factories_for_scheme;
- private HashTable<Platform, Array<RunnerFactory>> runner_factories_for_platforms;
private SourceFunc search_games_cb;
private bool is_preloading_done;
@@ -31,7 +29,6 @@ private class Games.GameCollection : Object {
cached_games = new HashTable<string, Game> (str_hash, str_equal);
factories_for_mime_type = new HashTable<string, Array<UriGameFactory>> (str_hash, str_equal);
factories_for_scheme = new HashTable<string, Array<UriGameFactory>> (str_hash, str_equal);
- runner_factories_for_platforms = new HashTable<Platform, Array<RunnerFactory>>
(Platform.hash, Platform.equal);
add_source (database.get_uri_source ());
}
@@ -58,16 +55,6 @@ private class Games.GameCollection : Object {
factory.set_game_added_callback (store_game);
}
- public void add_runner_factory (RunnerFactory factory) {
- runner_factories += factory;
-
- foreach (var platform in factory.get_platforms ()) {
- if (!runner_factories_for_platforms.contains (platform))
- runner_factories_for_platforms[platform] = new Array<RunnerFactory> ();
- runner_factories_for_platforms[platform].append_val (factory);
- }
- }
-
public string[] get_accepted_mime_types () {
return factories_for_mime_type.get_keys_as_array ();
}
@@ -173,27 +160,10 @@ private class Games.GameCollection : Object {
}
public Runner? create_runner (Game game) {
- var platform = game.platform;
-
- if (!runner_factories_for_platforms.contains (platform))
- return null;
-
- var factories = runner_factories_for_platforms[platform];
- if (factories == null)
- return null;
-
- foreach (var factory in factories.data) {
- try {
- var runner = factory.create_runner (game);
- if (runner != null)
- return runner;
- }
- catch (Error e) {
- critical ("Couldn't create runner: %s", e.message);
- }
- }
+ var core_source = new RetroCoreSource (game.platform);
+ var type = game.platform.get_runner_type ();
- return null;
+ return Object.new (type, game: game, core_source: core_source) as Runner;
}
private UriGameFactory[] get_factories_for_uri (Uri uri) {
diff --git a/src/core/plugin.vala b/src/core/plugin.vala
index 2ad946bc..10b241f0 100644
--- a/src/core/plugin.vala
+++ b/src/core/plugin.vala
@@ -12,8 +12,4 @@ public interface Games.Plugin : Object {
public virtual UriGameFactory[] get_uri_game_factories () {
return {};
}
-
- public virtual RunnerFactory[] get_runner_factories () {
- return {};
- }
}
diff --git a/src/meson.build b/src/meson.build
index e41e2e4d..657128aa 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -46,7 +46,6 @@ vala_sources = [
'core/plugin-registrar.vala',
'core/runner.vala',
'core/runner-error.vala',
- 'core/runner-factory.vala',
'core/snapshot.vala',
'core/snapshot-manager.vala',
'core/title.vala',
diff --git a/src/ui/application.vala b/src/ui/application.vala
index 937de73d..93a95d48 100644
--- a/src/ui/application.vala
+++ b/src/ui/application.vala
@@ -468,10 +468,6 @@ public class Games.Application : Gtk.Application {
factory.add_mime_type (simple_type.mime_type);
game_collection.add_factory (factory);
-
- var runner_factory = new RunnerFactory (platform);
-
- game_collection.add_runner_factory (runner_factory);
}
/* Register game types from the plugins */
@@ -495,9 +491,6 @@ public class Games.Application : Gtk.Application {
foreach (var factory in plugin.get_uri_game_factories ())
game_collection.add_factory (factory);
-
- foreach (var factory in plugin.get_runner_factories ())
- game_collection.add_runner_factory (factory);
}
catch (Error e) {
debug ("Error: %s", e.message);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]