[retro-gtk] core: Port system_info to C



commit a0f00e23a1c6d1fc998779da7f5ec51db68018ca
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Thu Jul 20 13:31:55 2017 +0200

    core: Port system_info to C
    
    https://bugzilla.gnome.org/show_bug.cgi?id=777489

 retro-gtk/core.vala    |    5 ++---
 retro-gtk/retro-core.c |   16 ++++++++++++++++
 2 files changed, 18 insertions(+), 3 deletions(-)
---
diff --git a/retro-gtk/core.vala b/retro-gtk/core.vala
index ae50823..7da942d 100644
--- a/retro-gtk/core.vala
+++ b/retro-gtk/core.vala
@@ -89,15 +89,14 @@ public class Core : Object {
        }
 
 
+       private extern SystemInfo get_system_info_real (out unowned SystemInfo system_info);
        /**
         * The system informations.
         */
        public SystemInfo system_info {
                get {
-                       push_cb_data ();
                        unowned SystemInfo info;
-                       module.get_system_info (out info);
-                       pop_cb_data ();
+                       get_system_info_real (out info);
                        return info;
                }
        }
diff --git a/retro-gtk/retro-core.c b/retro-gtk/retro-core.c
index 700e7ea..ae0ada4 100644
--- a/retro-gtk/retro-core.c
+++ b/retro-gtk/retro-core.c
@@ -340,6 +340,22 @@ retro_core_get_api_version_real (RetroCore *self)
   return result;
 }
 
+// FIXME Make static as soon as possible.
+void
+retro_core_get_system_info_real (RetroCore       *self,
+                                 RetroSystemInfo *system_info)
+{
+  RetroGetSystemInfo get_system_info;
+
+  g_return_if_fail (self != NULL);
+  g_return_if_fail (system_info != NULL);
+
+  retro_core_push_cb_data (self);
+  get_system_info = retro_module_get_get_system_info (self->module);
+  get_system_info (system_info);
+  retro_core_pop_cb_data ();
+}
+
 void retro_core_set_environment_interface (RetroCore *self);
 void retro_core_set_callbacks (RetroCore *self);
 


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