Don't need tempget for udev processing.
Don't need exe data handlers for udev processing. Cut down on the number of rogue tempget processes (if using Internal method). Fix some formatting. Use PATH_MAX and E_FREE. SVN revision: 49167
This commit is contained in:
parent
131a5b9fca
commit
8b97b2ee11
|
@ -92,22 +92,30 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
|
||||||
#ifdef HAVE_EEZE
|
#ifdef HAVE_EEZE
|
||||||
if (inst->backend == TEMPGET)
|
if (inst->backend == TEMPGET)
|
||||||
{
|
{
|
||||||
#endif
|
|
||||||
inst->tempget_data_handler =
|
inst->tempget_data_handler =
|
||||||
ecore_event_handler_add(ECORE_EXE_EVENT_DATA,
|
ecore_event_handler_add(ECORE_EXE_EVENT_DATA,
|
||||||
_temperature_cb_exe_data, inst);
|
_temperature_cb_exe_data, inst);
|
||||||
inst->tempget_del_handler =
|
inst->tempget_del_handler =
|
||||||
ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
|
ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
|
||||||
_temperature_cb_exe_del, inst);
|
_temperature_cb_exe_del, inst);
|
||||||
#ifdef HAVE_EEZE
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
eeze_init();
|
eeze_init();
|
||||||
inst->temp_poller = ecore_poller_add(ECORE_POLLER_CORE, inst->poll_interval, temperature_udev_update_poll, inst);
|
inst->temp_poller =
|
||||||
|
ecore_poller_add(ECORE_POLLER_CORE, inst->poll_interval,
|
||||||
|
temperature_udev_update_poll, inst);
|
||||||
temperature_udev_update(inst);
|
temperature_udev_update(inst);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
inst->tempget_data_handler =
|
||||||
|
ecore_event_handler_add(ECORE_EXE_EVENT_DATA,
|
||||||
|
_temperature_cb_exe_data, inst);
|
||||||
|
inst->tempget_del_handler =
|
||||||
|
ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
|
||||||
|
_temperature_cb_exe_del, inst);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
temperature_face_update_config(inst);
|
temperature_face_update_config(inst);
|
||||||
|
|
||||||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
@ -168,7 +176,7 @@ static Evas_Object *
|
||||||
_gc_icon(E_Gadcon_Client_Class *client_class, Evas *evas)
|
_gc_icon(E_Gadcon_Client_Class *client_class, Evas *evas)
|
||||||
{
|
{
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
char buf[4096];
|
char buf[PATH_MAX];
|
||||||
|
|
||||||
o = edje_object_add(evas);
|
o = edje_object_add(evas);
|
||||||
snprintf(buf, sizeof(buf), "%s/e-module-temperature.edj",
|
snprintf(buf, sizeof(buf), "%s/e-module-temperature.edj",
|
||||||
|
@ -202,8 +210,6 @@ _gc_id_new(E_Gadcon_Client_Class *client_class)
|
||||||
return inst->id;
|
return inst->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_temperature_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
_temperature_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
{
|
{
|
||||||
|
@ -234,7 +240,7 @@ _temperature_face_cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *eve
|
||||||
e_menu_activate_mouse(mn,
|
e_menu_activate_mouse(mn,
|
||||||
e_util_zone_current_get(e_manager_current_get()),
|
e_util_zone_current_get(e_manager_current_get()),
|
||||||
cx + ev->output.x, cy + ev->output.y, 1, 1,
|
cx + ev->output.x, cy + ev->output.y, 1, 1,
|
||||||
E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
|
E_MENU_POP_DIRECTION_AUTO, ev->timestamp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,11 +288,12 @@ _temperature_face_shutdown(const Eina_Hash *hash __UNUSED__, const void *key __U
|
||||||
if (inst->tempdevs)
|
if (inst->tempdevs)
|
||||||
{
|
{
|
||||||
const char *s;
|
const char *s;
|
||||||
|
|
||||||
EINA_LIST_FREE(inst->tempdevs, s)
|
EINA_LIST_FREE(inst->tempdevs, s)
|
||||||
eina_stringshare_del(s);
|
eina_stringshare_del(s);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
free(inst);
|
E_FREE(inst);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,7 +331,8 @@ temperature_face_update_config(Config_Face *inst)
|
||||||
ecore_poller_del(inst->temp_poller);
|
ecore_poller_del(inst->temp_poller);
|
||||||
inst->temp_poller = NULL;
|
inst->temp_poller = NULL;
|
||||||
}
|
}
|
||||||
#endif
|
if (!inst->tempget_exe)
|
||||||
|
{
|
||||||
snprintf(buf, sizeof(buf),
|
snprintf(buf, sizeof(buf),
|
||||||
"%s/%s/tempget %i \"%s\" %i",
|
"%s/%s/tempget %i \"%s\" %i",
|
||||||
e_module_dir_get(temperature_config->module), MODULE_ARCH,
|
e_module_dir_get(temperature_config->module), MODULE_ARCH,
|
||||||
|
@ -332,13 +340,12 @@ temperature_face_update_config(Config_Face *inst)
|
||||||
(inst->sensor_name != NULL ? inst->sensor_name : "(null)"),
|
(inst->sensor_name != NULL ? inst->sensor_name : "(null)"),
|
||||||
inst->poll_interval);
|
inst->poll_interval);
|
||||||
inst->tempget_exe =
|
inst->tempget_exe =
|
||||||
ecore_exe_pipe_run(buf,
|
ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_READ |
|
||||||
ECORE_EXE_PIPE_READ |
|
|
||||||
ECORE_EXE_PIPE_READ_LINE_BUFFERED |
|
ECORE_EXE_PIPE_READ_LINE_BUFFERED |
|
||||||
ECORE_EXE_NOT_LEADER, inst);
|
ECORE_EXE_NOT_LEADER, inst);
|
||||||
#ifdef HAVE_EEZE
|
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
else if (inst->backend == UDEV)
|
||||||
{
|
{
|
||||||
/*avoid creating a new poller if possible*/
|
/*avoid creating a new poller if possible*/
|
||||||
if (inst->temp_poller)
|
if (inst->temp_poller)
|
||||||
|
@ -351,6 +358,20 @@ temperature_face_update_config(Config_Face *inst)
|
||||||
temperature_udev_update_poll, inst);
|
temperature_udev_update_poll, inst);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (!inst->tempget_exe)
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf),
|
||||||
|
"%s/%s/tempget %i \"%s\" %i",
|
||||||
|
e_module_dir_get(temperature_config->module), MODULE_ARCH,
|
||||||
|
inst->sensor_type,
|
||||||
|
(inst->sensor_name != NULL ? inst->sensor_name : "(null)"),
|
||||||
|
inst->poll_interval);
|
||||||
|
inst->tempget_exe =
|
||||||
|
ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_READ |
|
||||||
|
ECORE_EXE_PIPE_READ_LINE_BUFFERED |
|
||||||
|
ECORE_EXE_NOT_LEADER, inst);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,15 +61,16 @@ typedef enum _Backend
|
||||||
TEMPGET,
|
TEMPGET,
|
||||||
UDEV
|
UDEV
|
||||||
} Backend;
|
} Backend;
|
||||||
|
|
||||||
int temperature_udev_update_poll(void *data);
|
int temperature_udev_update_poll(void *data);
|
||||||
void temperature_udev_update(void *data);
|
void temperature_udev_update(void *data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
EAPI extern E_Module_Api e_modapi;
|
EAPI extern E_Module_Api e_modapi;
|
||||||
|
|
||||||
EAPI void *e_modapi_init (E_Module *m);
|
EAPI void *e_modapi_init(E_Module *m);
|
||||||
EAPI int e_modapi_shutdown (E_Module *m);
|
EAPI int e_modapi_shutdown(E_Module *m);
|
||||||
EAPI int e_modapi_save (E_Module *m);
|
EAPI int e_modapi_save(E_Module *m);
|
||||||
|
|
||||||
int _temperature_cb_exe_data(void *data, int type, void *event);
|
int _temperature_cb_exe_data(void *data, int type, void *event);
|
||||||
int _temperature_cb_exe_del(void *data, int type, void *event);
|
int _temperature_cb_exe_del(void *data, int type, void *event);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
#include "e_mod_main.h"
|
#include "e_mod_main.h"
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
_temperature_cb_exe_data(void *data, int type, void *event)
|
_temperature_cb_exe_data(void *data, int type, void *event)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue