diff options
author | Bastien Nocera <hadess@hadess.net> | 2013-10-11 11:20:37 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-10-14 10:42:56 +0200 |
commit | 5423adab8902eb22ebebcb60c8b4223ef5d7f3eb (patch) | |
tree | 8c4f9db74676952b4c0a10000c7aed17906dad43 /libupower-glib | |
parent | 4a5d12a9093044b348f76b63c78b531d4fdf9d2b (diff) | |
download | upower-5423adab8902eb22ebebcb60c8b4223ef5d7f3eb.tar.gz |
lib: Add UpDeviceLevel enum
Diffstat (limited to 'libupower-glib')
-rw-r--r-- | libupower-glib/up-types.c | 56 | ||||
-rw-r--r-- | libupower-glib/up-types.h | 17 |
2 files changed, 72 insertions, 1 deletions
diff --git a/libupower-glib/up-types.c b/libupower-glib/up-types.c index c7d6e1c..db0aa68 100644 --- a/libupower-glib/up-types.c +++ b/libupower-glib/up-types.c @@ -232,3 +232,59 @@ up_device_technology_from_string (const gchar *technology) return UP_DEVICE_TECHNOLOGY_NICKEL_METAL_HYDRIDE; return UP_DEVICE_TECHNOLOGY_UNKNOWN; } + +/** + * up_device_level_to_string: + * + * Converts a #UpDeviceLevel to a string. + * + * Return value: identifier string + * + * Since: 1.0 + **/ +const gchar * +up_device_level_to_string (UpDeviceLevel level_enum) +{ + switch (level_enum) { + case UP_DEVICE_LEVEL_UNKNOWN: + return "unknown"; + case UP_DEVICE_LEVEL_NONE: + return "none"; + case UP_DEVICE_LEVEL_LOW: + return "low"; + case UP_DEVICE_LEVEL_CRITICAL: + return "critical"; + case UP_DEVICE_LEVEL_ACTION: + return "action"; + default: + return "unknown"; + } + g_assert_not_reached (); +} + +/** + * up_device_level_from_string: + * + * Converts a string to a #UpDeviceLevel. + * + * Return value: enumerated value + * + * Since: 1.0 + **/ +UpDeviceLevel +up_device_level_from_string (const gchar *level) +{ + if (level == NULL) + return UP_DEVICE_LEVEL_UNKNOWN; + if (g_strcmp0 (level, "unknown") == 0) + return UP_DEVICE_LEVEL_UNKNOWN; + if (g_strcmp0 (level, "none") == 0) + return UP_DEVICE_LEVEL_NONE; + if (g_strcmp0 (level, "low") == 0) + return UP_DEVICE_LEVEL_LOW; + if (g_strcmp0 (level, "critical") == 0) + return UP_DEVICE_LEVEL_CRITICAL; + if (g_strcmp0 (level, "action") == 0) + return UP_DEVICE_LEVEL_ACTION; + return UP_DEVICE_LEVEL_UNKNOWN; +} diff --git a/libupower-glib/up-types.h b/libupower-glib/up-types.h index e503f49..0a175bc 100644 --- a/libupower-glib/up-types.h +++ b/libupower-glib/up-types.h @@ -83,13 +83,28 @@ typedef enum { UP_DEVICE_TECHNOLOGY_LAST } UpDeviceTechnology; +/** + * UpDeviceLevel: + * + * The warning level of a battery. + **/ +typedef enum { + UP_DEVICE_LEVEL_UNKNOWN, + UP_DEVICE_LEVEL_NONE, + UP_DEVICE_LEVEL_LOW, + UP_DEVICE_LEVEL_CRITICAL, + UP_DEVICE_LEVEL_ACTION, + UP_DEVICE_LEVEL_LAST +} UpDeviceLevel; + const gchar *up_device_kind_to_string (UpDeviceKind type_enum); const gchar *up_device_state_to_string (UpDeviceState state_enum); const gchar *up_device_technology_to_string (UpDeviceTechnology technology_enum); +const gchar *up_device_level_to_string (UpDeviceLevel level_enum); UpDeviceKind up_device_kind_from_string (const gchar *type); UpDeviceState up_device_state_from_string (const gchar *state); UpDeviceTechnology up_device_technology_from_string (const gchar *technology); - +UpDeviceLevel up_device_level_from_string (const gchar *level); G_END_DECLS |