[retro-gtk] core-descriptor: Add methods to check the firmwares



commit 5e043f9ceb0cccc2b0b493057b4fb15c6b4f0951
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Thu Feb 16 13:42:06 2017 +0100

    core-descriptor: Add methods to check the firmwares
    
    Add methods to get informations from the [Firmware:*] groups of the core
    descriptors.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=778744

 retro-gtk/retro-core-descriptor.vala |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/retro-gtk/retro-core-descriptor.vala b/retro-gtk/retro-core-descriptor.vala
index 9db33f0..ad8aeab 100644
--- a/retro-gtk/retro-core-descriptor.vala
+++ b/retro-gtk/retro-core-descriptor.vala
@@ -25,6 +25,8 @@ public class Retro.CoreDescriptor : Object {
        private const string PLATFORM_FIRMWARES_KEY = "Firmwares";
 
        private const string FIRMWARE_PATH_KEY = "Path";
+       private const string FIRMWARE_MD5_KEY = "MD5";
+       private const string FIRMWARE_SHA512_KEY = "SHA-512";
        private const string FIRMWARE_MANDATORY_KEY = "Mandatory";
 
        private const string TYPE_EMULATOR = "Emulator";
@@ -70,6 +72,14 @@ public class Retro.CoreDescriptor : Object {
                return key_file.has_group (PLATFORM_GROUP_PREFIX + platform);
        }
 
+       public bool has_firmware_md5 (string firmware) throws KeyFileError {
+               return key_file.has_key (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_MD5_KEY);
+       }
+
+       public bool has_firmware_sha512 (string firmware) throws KeyFileError {
+               return key_file.has_key (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_SHA512_KEY);
+       }
+
        public string[] get_mime_type (string platform) throws KeyFileError {
                return key_file.get_string_list (PLATFORM_GROUP_PREFIX + platform, PLATFORM_MIME_TYPE_KEY);
        }
@@ -78,6 +88,22 @@ public class Retro.CoreDescriptor : Object {
                return key_file.get_string_list (PLATFORM_GROUP_PREFIX + platform, PLATFORM_FIRMWARES_KEY);
        }
 
+       public string get_firmware_path (string firmware) throws KeyFileError {
+               return key_file.get_string (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_PATH_KEY);
+       }
+
+       public string get_firmware_md5 (string firmware) throws KeyFileError {
+               return key_file.get_string (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_MD5_KEY);
+       }
+
+       public string get_firmware_sha512 (string firmware) throws KeyFileError {
+               return key_file.get_string (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_SHA512_KEY);
+       }
+
+       public bool get_is_firmware_mandatory (string firmware) throws KeyFileError {
+               return key_file.get_boolean (FIRMWARE_GROUP_PREFIX + firmware, FIRMWARE_MANDATORY_KEY);
+       }
+
        private void check_libretro_group () {
                check_has_required_key (LIBRETRO_GROUP, TYPE_KEY);
                check_has_required_key (LIBRETRO_GROUP, NAME_KEY);


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