summaryrefslogtreecommitdiff
path: root/libupower-glib
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2017-04-04 18:16:10 +0200
committerBastien Nocera <hadess@hadess.net>2017-04-06 14:18:10 +0200
commit4f9230900bdf2ff4fc22373a3a84f10146b9c1a8 (patch)
treed69f3e0c783577793c1862c7974801aa3298ea74 /libupower-glib
parent6b147982817ad9180e594bcfdb0db94bbfcb4869 (diff)
lib: Add more members to UpDeviceLevel struct
Those levels will not be used to cover warning levels, but approximate battery levels that devices can use, exported by the kernel as POWER_SUPPLY_CAPACITY_LEVEL_* values. See linux/power_supply.h https://bugs.freedesktop.org/show_bug.cgi?id=100359
Diffstat (limited to 'libupower-glib')
-rw-r--r--libupower-glib/up-types.c12
-rw-r--r--libupower-glib/up-types.h5
2 files changed, 16 insertions, 1 deletions
diff --git a/libupower-glib/up-types.c b/libupower-glib/up-types.c
index 71d8036..7d87900 100644
--- a/libupower-glib/up-types.c
+++ b/libupower-glib/up-types.c
@@ -258,6 +258,12 @@ up_device_level_to_string (UpDeviceLevel level_enum)
return "critical";
case UP_DEVICE_LEVEL_ACTION:
return "action";
+ case UP_DEVICE_LEVEL_NORMAL:
+ return "normal";
+ case UP_DEVICE_LEVEL_HIGH:
+ return "high";
+ case UP_DEVICE_LEVEL_FULL:
+ return "full";
default:
return "unknown";
}
@@ -290,5 +296,11 @@ up_device_level_from_string (const gchar *level)
return UP_DEVICE_LEVEL_CRITICAL;
if (g_strcmp0 (level, "action") == 0)
return UP_DEVICE_LEVEL_ACTION;
+ if (g_strcmp0 (level, "normal") == 0)
+ return UP_DEVICE_LEVEL_NORMAL;
+ if (g_strcmp0 (level, "high") == 0)
+ return UP_DEVICE_LEVEL_HIGH;
+ if (g_strcmp0 (level, "full") == 0)
+ return UP_DEVICE_LEVEL_FULL;
return UP_DEVICE_LEVEL_UNKNOWN;
}
diff --git a/libupower-glib/up-types.h b/libupower-glib/up-types.h
index 7b09604..3509537 100644
--- a/libupower-glib/up-types.h
+++ b/libupower-glib/up-types.h
@@ -86,7 +86,7 @@ typedef enum {
/**
* UpDeviceLevel:
*
- * The warning level of a battery.
+ * The level of a battery.
**/
typedef enum {
UP_DEVICE_LEVEL_UNKNOWN,
@@ -95,6 +95,9 @@ typedef enum {
UP_DEVICE_LEVEL_LOW,
UP_DEVICE_LEVEL_CRITICAL,
UP_DEVICE_LEVEL_ACTION,
+ UP_DEVICE_LEVEL_NORMAL,
+ UP_DEVICE_LEVEL_HIGH,
+ UP_DEVICE_LEVEL_FULL,
UP_DEVICE_LEVEL_LAST
} UpDeviceLevel;