mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-01-04 01:20:11 +01:00
daemon: Add new WarningLevel "Discharging"
When UPSes are discharging, we should have a warning already, as it means that mains power has been lost to the UPS (though not to the computer).
This commit is contained in:
parent
77c3278ff5
commit
b446cac8f6
4 changed files with 16 additions and 5 deletions
|
|
@ -250,6 +250,8 @@ up_device_level_to_string (UpDeviceLevel level_enum)
|
|||
return "unknown";
|
||||
case UP_DEVICE_LEVEL_NONE:
|
||||
return "none";
|
||||
case UP_DEVICE_LEVEL_DISCHARGING:
|
||||
return "discharging";
|
||||
case UP_DEVICE_LEVEL_LOW:
|
||||
return "low";
|
||||
case UP_DEVICE_LEVEL_CRITICAL:
|
||||
|
|
@ -280,6 +282,8 @@ up_device_level_from_string (const gchar *level)
|
|||
return UP_DEVICE_LEVEL_UNKNOWN;
|
||||
if (g_strcmp0 (level, "none") == 0)
|
||||
return UP_DEVICE_LEVEL_NONE;
|
||||
if (g_strcmp0 (level, "discharging") == 0)
|
||||
return UP_DEVICE_LEVEL_DISCHARGING;
|
||||
if (g_strcmp0 (level, "low") == 0)
|
||||
return UP_DEVICE_LEVEL_LOW;
|
||||
if (g_strcmp0 (level, "critical") == 0)
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ typedef enum {
|
|||
typedef enum {
|
||||
UP_DEVICE_LEVEL_UNKNOWN,
|
||||
UP_DEVICE_LEVEL_NONE,
|
||||
UP_DEVICE_LEVEL_DISCHARGING,
|
||||
UP_DEVICE_LEVEL_LOW,
|
||||
UP_DEVICE_LEVEL_CRITICAL,
|
||||
UP_DEVICE_LEVEL_ACTION,
|
||||
|
|
|
|||
|
|
@ -698,13 +698,16 @@ method return sender=:1.386 -> dest=:1.477 reply_serial=2
|
|||
<doc:term>1</doc:term><doc:definition>None</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>2</doc:term><doc:definition>Low</doc:definition>
|
||||
<doc:term>2</doc:term><doc:definition>Discharging (only for UPSes)</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>3</doc:term><doc:definition>Critical</doc:definition>
|
||||
<doc:term>3</doc:term><doc:definition>Low</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>4</doc:term><doc:definition>Action</doc:definition>
|
||||
<doc:term>4</doc:term><doc:definition>Critical</doc:definition>
|
||||
</doc:item>
|
||||
<doc:item>
|
||||
<doc:term>5</doc:term><doc:definition>Action</doc:definition>
|
||||
</doc:item>
|
||||
</doc:list>
|
||||
</doc:description>
|
||||
|
|
|
|||
|
|
@ -551,6 +551,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
|
|||
gint64 time_to_empty)
|
||||
{
|
||||
gboolean use_percentage = TRUE;
|
||||
UpDeviceLevel default_level = UP_DEVICE_LEVEL_NONE;
|
||||
|
||||
if (state != UP_DEVICE_STATE_DISCHARGING)
|
||||
return UP_DEVICE_LEVEL_NONE;
|
||||
|
|
@ -566,6 +567,8 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
|
|||
return UP_DEVICE_LEVEL_LOW;
|
||||
else
|
||||
return UP_DEVICE_LEVEL_NONE;
|
||||
} else if (kind == UP_DEVICE_KIND_UPS) {
|
||||
default_level = UP_DEVICE_LEVEL_DISCHARGING;
|
||||
}
|
||||
|
||||
if (!power_supply || !daemon->priv->use_percentage_for_policy)
|
||||
|
|
@ -573,7 +576,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
|
|||
|
||||
if (use_percentage) {
|
||||
if (percentage > daemon->priv->low_percentage)
|
||||
return UP_DEVICE_LEVEL_NONE;
|
||||
return default_level;
|
||||
if (percentage > daemon->priv->critical_percentage)
|
||||
return UP_DEVICE_LEVEL_LOW;
|
||||
if (percentage > daemon->priv->action_percentage)
|
||||
|
|
@ -581,7 +584,7 @@ up_daemon_compute_warning_level (UpDaemon *daemon,
|
|||
return UP_DEVICE_LEVEL_ACTION;
|
||||
} else {
|
||||
if (time_to_empty > daemon->priv->low_time)
|
||||
return UP_DEVICE_LEVEL_NONE;
|
||||
return default_level;
|
||||
if (time_to_empty > daemon->priv->critical_time)
|
||||
return UP_DEVICE_LEVEL_LOW;
|
||||
if (time_to_empty > daemon->priv->action_time)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue