[gnome-games/wip/aplazas/781334-refactor-game-source: 9/26] game-cube: Provide MIME types and URI game factories



commit 141036aab3a3c69767e72a666cde3d77c9ea9acf
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Thu May 4 15:37:21 2017 +0200

    game-cube: Provide MIME types and URI game factories
    
    Also stop providing a GameSource.
    
    This helps splitting the conerns of looking for game resources and
    building games from them.

 plugins/game-cube/configure.ac              |    1 -
 plugins/game-cube/src/game-cube-plugin.vala |   13 +++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/plugins/game-cube/configure.ac b/plugins/game-cube/configure.ac
index 25f9a3e..f3f20a5 100644
--- a/plugins/game-cube/configure.ac
+++ b/plugins/game-cube/configure.ac
@@ -3,7 +3,6 @@ PKG_CHECK_MODULES(GAME_CUBE_PLUGIN, [
        glib-2.0 >= $GLIB_MIN_VERSION
        gtk+-3.0
        retro-gtk-0.10
-       tracker-sparql-1.0
 ], [enable_game_cube_plugin=yes], [enable_game_cube_plugin=no])
 
 AM_CONDITIONAL(ENABLE_GAME_CUBE_PLUGIN, test x$enable_game_cube_plugin != xno)
diff --git a/plugins/game-cube/src/game-cube-plugin.vala b/plugins/game-cube/src/game-cube-plugin.vala
index 945bc57..eb3e747 100644
--- a/plugins/game-cube/src/game-cube-plugin.vala
+++ b/plugins/game-cube/src/game-cube-plugin.vala
@@ -4,15 +4,16 @@ private class Games.GameCubePlugin : Object, Plugin {
        private const string MIME_TYPE = "application/x-gamecube-rom";
        private const string PLATFORM = "GameCube";
 
-       public GameSource? get_game_source () throws Error {
+       public string[] get_mime_types () {
+               return { MIME_TYPE };
+       }
+
+       public UriGameFactory[] get_uri_game_factories () {
                var game_uri_adapter = new GenericSyncGameUriAdapter (game_for_uri);
                var factory = new GenericUriGameFactory (game_uri_adapter);
-               var query = new MimeTypeTrackerQuery (MIME_TYPE, factory);
-               var connection = Tracker.Sparql.Connection.@get ();
-               var source = new TrackerGameSource (connection);
-               source.add_query (query);
+               factory.add_mime_type (MIME_TYPE);
 
-               return source;
+               return { factory };
        }
 
        private static Game game_for_uri (string uri) throws Error {


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