diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-03 10:29:50 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2020-11-14 13:39:40 +0000 |
commit | 4550dcfbdf2e1c8c4db0d7b7260144fb653c095d (patch) | |
tree | 50aada1b436481ca83c6099bebefe5b134a66ca7 /src/kerneldevice/mm-kernel-device-generic.c | |
parent | 1e1fe8fb9c9b02de5f29f33bd46575d4d88f1464 (diff) |
kerneldevice: no need to subclass the type getters
We can just subclass the methods to check whether a given property
exists and to get it as a string, and then implement in the generic
class the actual boolean/int/hex type getters common for all.
Diffstat (limited to 'src/kerneldevice/mm-kernel-device-generic.c')
-rw-r--r-- | src/kerneldevice/mm-kernel-device-generic.c | 42 |
1 files changed, 2 insertions, 40 deletions
diff --git a/src/kerneldevice/mm-kernel-device-generic.c b/src/kerneldevice/mm-kernel-device-generic.c index 7536c5d0..042dab64 100644 --- a/src/kerneldevice/mm-kernel-device-generic.c +++ b/src/kerneldevice/mm-kernel-device-generic.c @@ -831,38 +831,6 @@ kernel_device_get_property (MMKernelDevice *self, return g_object_get_data (G_OBJECT (self), property); } -static gboolean -kernel_device_get_property_as_boolean (MMKernelDevice *self, - const gchar *property) -{ - const gchar *value; - - value = g_object_get_data (G_OBJECT (self), property); - return (value && mm_common_get_boolean_from_string (value, NULL)); -} - -static gint -kernel_device_get_property_as_int (MMKernelDevice *self, - const gchar *property) -{ - const gchar *value; - gint aux = 0; - - value = g_object_get_data (G_OBJECT (self), property); - return ((value && mm_get_int_from_str (value, &aux)) ? aux : 0); -} - -static guint -kernel_device_get_property_as_int_hex (MMKernelDevice *self, - const gchar *property) -{ - const gchar *value; - guint aux = 0; - - value = g_object_get_data (G_OBJECT (self), property); - return ((value && mm_get_uint_from_hex_str (value, &aux)) ? aux : 0); -} - /*****************************************************************************/ MMKernelDevice * @@ -1047,16 +1015,10 @@ mm_kernel_device_generic_class_init (MMKernelDeviceGenericClass *klass) kernel_device_class->cmp = kernel_device_cmp; kernel_device_class->has_property = kernel_device_has_property; kernel_device_class->get_property = kernel_device_get_property; - kernel_device_class->get_property_as_boolean = kernel_device_get_property_as_boolean; - kernel_device_class->get_property_as_int = kernel_device_get_property_as_int; - kernel_device_class->get_property_as_int_hex = kernel_device_get_property_as_int_hex; /* Device-wide properties are stored per-port in the generic backend */ - kernel_device_class->has_global_property = kernel_device_has_property; - kernel_device_class->get_global_property = kernel_device_get_property; - kernel_device_class->get_global_property_as_boolean = kernel_device_get_property_as_boolean; - kernel_device_class->get_global_property_as_int = kernel_device_get_property_as_int; - kernel_device_class->get_global_property_as_int_hex = kernel_device_get_property_as_int_hex; + kernel_device_class->has_global_property = kernel_device_has_property; + kernel_device_class->get_global_property = kernel_device_get_property; properties[PROP_PROPERTIES] = g_param_spec_object ("properties", |