2 #include "e_mod_main.h"
5 _temperature_cb_exe_data(void *data, __UNUSED__ int type, void *event)
7 Ecore_Exe_Event_Data *ev;
13 if (ev->exe != inst->tempget_exe) return ECORE_CALLBACK_PASS_ON;
15 if ((ev->lines) && (ev->lines[0].line))
19 for (i = 0; ev->lines[i].line; i++)
21 if (!strcmp(ev->lines[i].line, "ERROR"))
24 temp = atoi(ev->lines[i].line);
31 if (inst->units == FAHRENHEIT)
32 temp = (temp * 9.0 / 5.0) + 32;
36 /* enable therm object */
37 edje_object_signal_emit(inst->o_temp, "e,state,known", "");
41 if (inst->units == FAHRENHEIT)
42 snprintf(buf, sizeof(buf), "%i°F", temp);
44 snprintf(buf, sizeof(buf), "%i°C", temp);
46 _temperature_face_level_set(inst,
47 (double)(temp - inst->low) /
48 (double)(inst->high - inst->low));
49 edje_object_part_text_set(inst->o_temp, "e.text.reading", buf);
55 /* disable therm object */
56 edje_object_signal_emit(inst->o_temp, "e,state,unknown", "");
57 edje_object_part_text_set(inst->o_temp, "e.text.reading", "N/A");
58 _temperature_face_level_set(inst, 0.5);
62 return ECORE_CALLBACK_DONE;
66 _temperature_cb_exe_del(void *data, __UNUSED__ int type, void *event)
68 Ecore_Exe_Event_Del *ev;
73 if (ev->exe != inst->tempget_exe) return ECORE_CALLBACK_PASS_ON;
74 inst->tempget_exe = NULL;
75 return ECORE_CALLBACK_DONE;