forked from enlightenment/evisum
mibs: fix openbsd
This commit is contained in:
parent
83a33bd991
commit
16cdd0e12a
|
@ -48,6 +48,8 @@ typedef struct
|
||||||
char *child_name;
|
char *child_name;
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
char *path;
|
char *path;
|
||||||
|
#elif defined(__OpenBSD__)
|
||||||
|
int mibs[5];
|
||||||
#endif
|
#endif
|
||||||
double value;
|
double value;
|
||||||
bool invalid;
|
bool invalid;
|
||||||
|
@ -143,6 +145,11 @@ system_sensors_thermal_get(int *count);
|
||||||
int
|
int
|
||||||
system_sensor_thermal_by_id(char *id, double *value);
|
system_sensor_thermal_by_id(char *id, double *value);
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__)
|
||||||
|
int
|
||||||
|
system_sensor_thermal_by_mib(int mib[], double *value);
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
system_sensors_thermal_free(sensor_t **sensors, int count);
|
system_sensors_thermal_free(sensor_t **sensors, int count);
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,22 @@ system_sensor_thermal_by_id(char *id, double *value)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__OpenBSD__)
|
||||||
|
int
|
||||||
|
system_sensor_thermal_by_mib(int mibs[], double *value)
|
||||||
|
{
|
||||||
|
struct sensor snsr;
|
||||||
|
size_t slen = sizeof(struct sensor);
|
||||||
|
|
||||||
|
if (sysctl(mibs, 5, &snsr, &slen, NULL, 0) == -1) return 0;
|
||||||
|
|
||||||
|
*value = (snsr.value - 273150000) / 1000000.0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
sensor_t **
|
sensor_t **
|
||||||
system_sensors_thermal_get(int *sensor_count)
|
system_sensors_thermal_get(int *sensor_count)
|
||||||
{
|
{
|
||||||
|
@ -94,6 +110,7 @@ system_sensors_thermal_get(int *sensor_count)
|
||||||
sensors[(*sensor_count)++] = sensor = calloc(1, sizeof(sensor_t));
|
sensors[(*sensor_count)++] = sensor = calloc(1, sizeof(sensor_t));
|
||||||
sensor->name = strdup(snsrdev.xname);
|
sensor->name = strdup(snsrdev.xname);
|
||||||
sensor->value = (snsr.value - 273150000) / 1000000.0; // (uK -> C)
|
sensor->value = (snsr.value - 273150000) / 1000000.0; // (uK -> C)
|
||||||
|
memcpy(sensor->mibs, &mibs, sizeof(mibs));
|
||||||
}
|
}
|
||||||
#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
#elif defined(__FreeBSD__) || defined(__DragonFly__)
|
||||||
sensor_t *sensor;
|
sensor_t *sensor;
|
||||||
|
|
|
@ -85,7 +85,11 @@ _sensors_update(void *data, Ecore_Thread *thread)
|
||||||
{
|
{
|
||||||
if (pd->selected_it)
|
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))
|
if (system_sensor_thermal_by_id(pd->sensor->path, &msg->thermal_temp))
|
||||||
|
#endif
|
||||||
msg->thermal_valid = 1;
|
msg->thermal_valid = 1;
|
||||||
}
|
}
|
||||||
system_power_state_get(&msg->power);
|
system_power_state_get(&msg->power);
|
||||||
|
@ -285,19 +289,22 @@ ui_win_sensors_add(Ui *ui)
|
||||||
evas_object_show(content);
|
evas_object_show(content);
|
||||||
elm_object_content_set(win, content);
|
elm_object_content_set(win, content);
|
||||||
|
|
||||||
pd->power_fr = fr = elm_frame_add(win);
|
|
||||||
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
|
||||||
evas_object_size_hint_align_set(fr, FILL, FILL);
|
|
||||||
elm_object_text_set(fr, _("Power"));
|
|
||||||
evas_object_show(fr);
|
|
||||||
|
|
||||||
bx = elm_box_add(win);
|
|
||||||
evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
|
|
||||||
evas_object_size_hint_align_set(bx, FILL, FILL);
|
|
||||||
evas_object_show(bx);
|
|
||||||
elm_object_content_set(fr, bx);
|
|
||||||
|
|
||||||
system_power_state_get(&power);
|
system_power_state_get(&power);
|
||||||
|
if (power.battery_count)
|
||||||
|
{
|
||||||
|
pd->power_fr = fr = elm_frame_add(win);
|
||||||
|
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
||||||
|
evas_object_size_hint_align_set(fr, FILL, FILL);
|
||||||
|
elm_object_text_set(fr, _("Power"));
|
||||||
|
evas_object_show(fr);
|
||||||
|
|
||||||
|
bx = elm_box_add(win);
|
||||||
|
evas_object_size_hint_weight_set(bx, EXPAND, EXPAND);
|
||||||
|
evas_object_size_hint_align_set(bx, FILL, FILL);
|
||||||
|
evas_object_show(bx);
|
||||||
|
elm_object_content_set(fr, bx);
|
||||||
|
elm_box_pack_end(content, fr);
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < power.battery_count; i++)
|
for (int i = 0; i < power.battery_count; i++)
|
||||||
{
|
{
|
||||||
|
@ -346,8 +353,6 @@ ui_win_sensors_add(Ui *ui)
|
||||||
|
|
||||||
system_power_state_free(&power);
|
system_power_state_free(&power);
|
||||||
|
|
||||||
elm_box_pack_end(content, fr);
|
|
||||||
|
|
||||||
fr = elm_frame_add(win);
|
fr = elm_frame_add(win);
|
||||||
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
||||||
evas_object_size_hint_align_set(fr, FILL, FILL);
|
evas_object_size_hint_align_set(fr, FILL, FILL);
|
||||||
|
|
Loading…
Reference in New Issue