[gnome-games/wip/exalm/loading: 18/29] nintendo-ds: Add runner factory



commit a9fbb03778020bc01a047bfdd4b64f0c5aa83ca3
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Tue Nov 12 01:35:55 2019 +0500

    nintendo-ds: Add runner factory

 plugins/nintendo-ds/src/nintendo-ds-plugin.vala | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
---
diff --git a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
index e50a557b..3213a784 100644
--- a/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
+++ b/plugins/nintendo-ds/src/nintendo-ds-plugin.vala
@@ -28,6 +28,13 @@ private class Games.NintendoDsPlugin : Object, Plugin {
                return { factory };
        }
 
+       public RunnerFactory[] get_runner_factories () {
+               var factory = new GenericRunnerFactory (create_runner);
+               factory.add_platform (platform);
+
+               return { factory };
+       }
+
        private static Game game_for_uri (Uri uri) throws Error {
                var uid = new FingerprintUid (uri, PLATFORM_UID_PREFIX);
                var title = new FilenameTitle (uri);
@@ -51,6 +58,17 @@ private class Games.NintendoDsPlugin : Object, Plugin {
 
                return game;
        }
+
+       private static Runner? create_runner (Game game) throws Error {
+               var core_source = new RetroCoreSource (platform);
+
+               var builder = new RetroRunnerBuilder ();
+               builder.core_source = core_source;
+               builder.uri = game.get_uri ();
+               builder.uid = game.get_uid ();
+               builder.title = game.name;
+               return builder.to_runner (typeof (NintendoDsRunner));
+       }
 }
 
 [ModuleInit]


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