e_acpi: Add function to get lid status
authorSebastian Dransfeld <sd@tango.flipp.net>
Wed, 6 Nov 2013 05:09:04 +0000 (06:09 +0100)
committerSebastian Dransfeld <sd@tango.flipp.net>
Wed, 15 Jan 2014 06:06:13 +0000 (07:06 +0100)
So we can know lid status without waiting for a lid event.

src/bin/e_acpi.c
src/bin/e_acpi.h

index 5162951..dc67a39 100644 (file)
@@ -174,6 +174,23 @@ e_acpi_shutdown(void)
    return 1;
 }
 
+EINTERN E_Acpi_Lid_Status
+e_acpi_lid_status_get(void)
+{
+   int i;
+
+   for (i = 0; _devices_simple[i].name; i++)
+     {
+        if (_devices_simple[i].type == E_ACPI_TYPE_LID)
+          {
+             /* TODO: Can bus be anything other than LID? */
+             return _e_acpi_lid_status_get(_devices_simple[i].name, "LID");
+          }
+     }
+
+   return E_ACPI_LID_UNKNOWN;
+}
+
 EAPI void
 e_acpi_events_freeze(void)
 {
index 4a411d5..50440c1 100644 (file)
@@ -71,6 +71,8 @@ struct _E_Event_Acpi
 EINTERN int e_acpi_init(void);
 EINTERN int e_acpi_shutdown(void);
 
+EINTERN E_Acpi_Lid_Status e_acpi_lid_status_get(void);
+
 EAPI void e_acpi_events_freeze(void);
 EAPI void e_acpi_events_thaw(void);