[retro-gtk/wip/aplazas/disk] core: Move usage of DiskControl to C
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk/wip/aplazas/disk] core: Move usage of DiskControl to C
- Date: Thu, 31 Aug 2017 06:49:56 +0000 (UTC)
commit ded5b32c78cc57c0b3d3205f386b8223785cae5e
Author: Adrien Plazas <kekun plazas laposte net>
Date: Thu Aug 31 08:46:38 2017 +0200
core: Move usage of DiskControl to C
This will help porting DiskControl to C.
retro-gtk/core.vala | 7 -------
retro-gtk/retro-core.c | 9 +++++----
retro-gtk/retro-core.h | 1 +
retro-gtk/retro-environment.c | 3 +--
4 files changed, 7 insertions(+), 13 deletions(-)
---
diff --git a/retro-gtk/core.vala b/retro-gtk/core.vala
index e969d5d..ab07277 100644
--- a/retro-gtk/core.vala
+++ b/retro-gtk/core.vala
@@ -85,13 +85,6 @@ public class Core : Object {
get { return _frames_per_second; }
}
- /**
- * The disk controlling interface.
- *
- * The Core can set it to let the frontend insert and eject disks images.
- */
- internal DiskControl disk_control_interface { set; get; }
-
private weak Input _input_interface;
private ulong input_controller_connected_id;
private ulong input_controller_disconnected_id;
diff --git a/retro-gtk/retro-core.c b/retro-gtk/retro-core.c
index 46ca8d2..a784e6b 100644
--- a/retro-gtk/retro-core.c
+++ b/retro-gtk/retro-core.c
@@ -261,7 +261,9 @@ retro_core_load_discs (RetroCore *self,
g_return_if_fail (self != NULL);
- disk_control = retro_core_get_disk_control_interface (self);
+ internal = RETRO_CORE_ENVIRONMENT_INTERNAL (self);
+
+ disk_control = internal->disk_control_interface;
retro_disk_control_set_eject_state (disk_control, TRUE, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
@@ -270,7 +272,6 @@ retro_core_load_discs (RetroCore *self,
return;
}
- internal = RETRO_CORE_ENVIRONMENT_INTERNAL (self);
length = g_strv_length (internal->media_uris);
while (retro_disk_control_get_num_images (disk_control, &tmp_error) < length &&
(tmp_error != NULL)) {
@@ -447,7 +448,7 @@ retro_core_load_medias (RetroCore* self,
return;
}
- if (retro_core_get_disk_control_interface (self) != NULL) {
+ if (internal->disk_control_interface != NULL) {
retro_core_load_discs (self, &tmp_error);
if (G_UNLIKELY (tmp_error != NULL)) {
g_propagate_error (error, tmp_error);
@@ -617,7 +618,7 @@ retro_core_set_current_media (RetroCore *self,
g_return_if_fail (media_index < length);
- disk_control = retro_core_get_disk_control_interface (self);
+ disk_control = internal->disk_control_interface;
if (disk_control == NULL)
return;
diff --git a/retro-gtk/retro-core.h b/retro-gtk/retro-core.h
index f4bd94e..31e44ce 100644
--- a/retro-gtk/retro-core.h
+++ b/retro-gtk/retro-core.h
@@ -19,6 +19,7 @@ typedef struct _RetroCoreEnvironmentInternal RetroCoreEnvironmentInternal;
struct _RetroCoreEnvironmentInternal {
RetroModule *module;
+ RetroDiskControl *disk_control_interface;
gchar **media_uris;
RetroSystemInfo *system_info;
gfloat aspect_ratio;
diff --git a/retro-gtk/retro-environment.c b/retro-gtk/retro-environment.c
index 301013b..d731838 100644
--- a/retro-gtk/retro-environment.c
+++ b/retro-gtk/retro-environment.c
@@ -218,8 +218,7 @@ static gboolean
set_disk_control_interface (RetroCore *self,
RetroDiskControlCallback *callback)
{
- // TODO Split this in two lines.
- retro_core_set_disk_control_interface (self, RETRO_DISK_CONTROL (retro_disk_control_new (self, callback)));
+ RETRO_CORE_ENVIRONMENT_INTERNAL (self)->disk_control_interface = retro_disk_control_new (self, callback);
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]