[gnome-games] runner: Add 'input-mode' property



commit 83367e63d961f131dc58751fedafccd96b143482
Author: Yetizone <andreii lisita gmail com>
Date:   Sun Nov 18 20:26:01 2018 +0200

    runner: Add 'input-mode' property
    
    Make use of it in RetroRunner and add stubs in CommandRunner and DummyRunner.

 src/command/command-runner.vala |  5 +++++
 src/core/runner.vala            |  1 +
 src/dummy/dummy-runner.vala     |  5 +++++
 src/retro/retro-runner.vala     | 10 ++++++++++
 4 files changed, 21 insertions(+)
---
diff --git a/src/command/command-runner.vala b/src/command/command-runner.vala
index 2c1b2426..a78c3b15 100644
--- a/src/command/command-runner.vala
+++ b/src/command/command-runner.vala
@@ -17,6 +17,11 @@ public class Games.CommandRunner : Object, Runner {
                get { return null; }
        }
 
+       public InputMode input_mode {
+               get { return InputMode.NONE; }
+               set { }
+       }
+
        private string[] args;
 
        public CommandRunner (string[] args) {
diff --git a/src/core/runner.vala b/src/core/runner.vala
index 25d79b88..ad902629 100644
--- a/src/core/runner.vala
+++ b/src/core/runner.vala
@@ -7,6 +7,7 @@ public interface Games.Runner : Object {
        public abstract bool can_quit_safely { get; }
        public abstract bool can_resume { get; }
        public abstract MediaSet? media_set { get; }
+       public abstract InputMode input_mode { get; set; }
 
        public abstract bool check_is_valid (out string error_message) throws Error;
        public abstract Gtk.Widget get_display ();
diff --git a/src/dummy/dummy-runner.vala b/src/dummy/dummy-runner.vala
index a2a30c78..bd32a687 100644
--- a/src/dummy/dummy-runner.vala
+++ b/src/dummy/dummy-runner.vala
@@ -17,6 +17,11 @@ private class Games.DummyRunner : Object, Runner {
                get { return null; }
        }
 
+       public InputMode input_mode {
+               get { return InputMode.NONE; }
+               set { }
+       }
+
        public bool check_is_valid (out string error_message) throws Error {
                error_message = "";
 
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index 3d59ad72..88435b75 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -38,6 +38,14 @@ public class Games.RetroRunner : Object, Runner {
        private Retro.CoreView view;
        private RetroInputManager input_manager;
        private Retro.MainLoop loop;
+       private InputMode _input_mode;
+       public InputMode input_mode {
+               get { return _input_mode; }
+               set {
+                       _input_mode = value;
+                       input_manager.input_mode = value;
+               }
+       }
 
        private string save_directory_path;
        private string save_path;
@@ -196,6 +204,8 @@ public class Games.RetroRunner : Object, Runner {
 
                var present_analog_sticks = input_capabilities == null || 
input_capabilities.get_allow_analog_gamepads ();
                input_manager = new RetroInputManager (core, view, present_analog_sticks);
+               // Keep the internal values of input_mode in sync between RetroRunner and RetroInputManager
+               _input_mode = input_manager.input_mode;
 
                core.shutdown.connect (on_shutdown);
 


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