netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=1313354239fa11f86a780b54fa5e55f86326181d

commit 1313354239fa11f86a780b54fa5e55f86326181d
Author: Alastair Poole <nets...@gmail.com>
Date:   Tue Dec 22 17:53:17 2020 +0000

    sensors: use your brain
---
 src/bin/system/machine.h             |  7 +------
 src/bin/system/machine/sensors.bogox | 26 ++++++++++----------------
 src/bin/ui/ui_sensors.c              | 13 +++++++------
 3 files changed, 18 insertions(+), 28 deletions(-)

diff --git a/src/bin/system/machine.h b/src/bin/system/machine.h
index 1fb6885..89ddf4a 100644
--- a/src/bin/system/machine.h
+++ b/src/bin/system/machine.h
@@ -143,12 +143,7 @@ sensor_t **
 system_sensors_thermal_get(int *count);
 
 int
-system_sensor_thermal_by_id(char *id, double *value);
-
-#if defined(__OpenBSD__)
-int
-system_sensor_thermal_by_mib(int mib[], double *value);
-#endif
+system_sensor_thermal_get(sensor_t *snsr);
 
 void
 system_sensors_thermal_free(sensor_t **sensors, int count);
diff --git a/src/bin/system/machine/sensors.bogox 
b/src/bin/system/machine/sensors.bogox
index f4f25b2..821a613 100644
--- a/src/bin/system/machine/sensors.bogox
+++ b/src/bin/system/machine/sensors.bogox
@@ -35,37 +35,31 @@ system_sensors_thermal_free(sensor_t **sensors, int count)
 }
 
 int
-system_sensor_thermal_by_id(char *id, double *value)
+system_sensor_thermal_get(sensor_t *sensor)
 {
 #if defined(__linux__)
-   char *d = file_contents(id);
+   char *d = file_contents(sensor->path);
    if (d)
      {
-       *value = atof(d);
-       if (*value) *value /= 1000;
+       double val = atof(d);
+       if (val);
+         sensor->value = val /= 1000;
        free(d);
        return 1;
      }
    return 0;
-#endif
-   return 0;
-}
-
-#if defined(__OpenBSD__)
-int
-system_sensor_thermal_by_mib(int mibs[], double *value)
-{
+#elif defined(__OpenBSD__)
    struct sensor snsr;
    size_t slen = sizeof(struct sensor);
 
-   if (sysctl(mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0;
+   if (sysctl(sensor->mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0;
 
-   *value = (snsr.value - 273150000) / 1000000.0;
+   sensor->value = (snsr.value - 273150000) / 1000000.0;
 
    return 1;
-}
-
 #endif
+   return 0;
+}
 
 sensor_t **
 system_sensors_thermal_get(int *sensor_count)
diff --git a/src/bin/ui/ui_sensors.c b/src/bin/ui/ui_sensors.c
index 9f68eb4..01ea2d1 100644
--- a/src/bin/ui/ui_sensors.c
+++ b/src/bin/ui/ui_sensors.c
@@ -85,12 +85,13 @@ _sensors_update(void *data, Ecore_Thread *thread)
      {
         if (pd->selected_it)
           {
-#if defined(__OpenBSD__)
-             if (system_sensor_thermal_by_mib(pd->sensor->mibs, 
&msg->thermal_temp))
-#else
-             if (system_sensor_thermal_by_id(pd->sensor->path, 
&msg->thermal_temp))
-#endif
-               msg->thermal_valid = 1;
+             if (!system_sensor_thermal_get(pd->sensor))
+               msg->thermal_valid = 0;
+             else
+               {
+                  msg->thermal_valid = 1;
+                  msg->thermal_temp = pd->sensor->value;
+               }
           }
         system_power_state_get(&msg->power);
 

-- 


Reply via email to