forked from enlightenment/efl
let's fix eeze sensors to not segv on shutdown.. dup registered fake
(udev registered it as fake)... and in the process i found that we probably double free as sensor is calloced in the module and AGAIN in eeze sensor core... oh and symbols probably might lak from modules.. so static them up yo.
This commit is contained in:
parent
8a19bb4b29
commit
6ccae99bd1
|
@ -131,9 +131,6 @@ eeze_sensor_module_register(const char *name, Eeze_Sensor_Module *mod)
|
||||||
|
|
||||||
if (!mod) return EINA_FALSE;
|
if (!mod) return EINA_FALSE;
|
||||||
|
|
||||||
module = calloc(1, sizeof(Eeze_Sensor_Module));
|
|
||||||
if (!module) return EINA_FALSE;
|
|
||||||
|
|
||||||
module = mod;
|
module = mod;
|
||||||
|
|
||||||
if (!module->init) return EINA_FALSE;
|
if (!module->init) return EINA_FALSE;
|
||||||
|
@ -155,6 +152,8 @@ eeze_sensor_module_unregister(const char *name)
|
||||||
Eeze_Sensor_Module *module = NULL;
|
Eeze_Sensor_Module *module = NULL;
|
||||||
|
|
||||||
module = eina_hash_find(g_handle->modules, name);
|
module = eina_hash_find(g_handle->modules, name);
|
||||||
|
if (!module) return EINA_FALSE;
|
||||||
|
|
||||||
if (module->shutdown)
|
if (module->shutdown)
|
||||||
module->shutdown();
|
module->shutdown();
|
||||||
|
|
||||||
|
|
|
@ -22,9 +22,9 @@ static int _eeze_sensor_fake_log_dom = -1;
|
||||||
#endif
|
#endif
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_fake_log_dom, __VA_ARGS__)
|
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_fake_log_dom, __VA_ARGS__)
|
||||||
|
|
||||||
Eeze_Sensor_Module *esensor_module;
|
static Eeze_Sensor_Module *esensor_module;
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
fake_init(void)
|
fake_init(void)
|
||||||
{
|
{
|
||||||
/* For the fake module we prepare a list with all potential sensors. Even if
|
/* For the fake module we prepare a list with all potential sensors. Even if
|
||||||
|
@ -45,13 +45,13 @@ fake_init(void)
|
||||||
/* We don't have anything to clear when we get unregistered from the core here.
|
/* We don't have anything to clear when we get unregistered from the core here.
|
||||||
* This is different in other modules.
|
* This is different in other modules.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
fake_shutdown(void)
|
fake_shutdown(void)
|
||||||
{
|
{
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -101,7 +101,7 @@ fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -177,7 +177,7 @@ fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
||||||
* entry point to anything in this module. After setting ourself up we register
|
* entry point to anything in this module. After setting ourself up we register
|
||||||
* into the core of eeze sensor to make our functionality available.
|
* into the core of eeze sensor to make our functionality available.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
sensor_fake_init(void)
|
sensor_fake_init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ sensor_fake_init(void)
|
||||||
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
||||||
* avoid calls into a not loaded module.
|
* avoid calls into a not loaded module.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
sensor_fake_shutdown(void)
|
sensor_fake_shutdown(void)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *sens;
|
Eeze_Sensor_Obj *sens;
|
||||||
|
@ -223,10 +223,11 @@ sensor_fake_shutdown(void)
|
||||||
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
||||||
free(sens);
|
free(sens);
|
||||||
|
|
||||||
|
eina_log_domain_unregister(_eeze_sensor_fake_log_dom);
|
||||||
|
|
||||||
free(esensor_module);
|
free(esensor_module);
|
||||||
esensor_module = NULL;
|
esensor_module = NULL;
|
||||||
|
|
||||||
eina_log_domain_unregister(_eeze_sensor_fake_log_dom);
|
|
||||||
_eeze_sensor_fake_log_dom = -1;
|
_eeze_sensor_fake_log_dom = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,9 +20,9 @@ static int _eeze_sensor_tizen_log_dom = -1;
|
||||||
#endif
|
#endif
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_tizen_log_dom, __VA_ARGS__)
|
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_tizen_log_dom, __VA_ARGS__)
|
||||||
|
|
||||||
Eeze_Sensor_Module *esensor_module;
|
static Eeze_Sensor_Module *esensor_module;
|
||||||
/* Tizen sensor handle */
|
/* Tizen sensor handle */
|
||||||
sensor_h sensor_handle;
|
static sensor_h sensor_handle;
|
||||||
|
|
||||||
/* The Tizen sensor type ENUM has shown to not be stable regarding its
|
/* The Tizen sensor type ENUM has shown to not be stable regarding its
|
||||||
* numbering scheme so we better translate between the Tizen types and the
|
* numbering scheme so we better translate between the Tizen types and the
|
||||||
|
@ -168,7 +168,7 @@ tizen_to_eeze(sesnor_type_e type)
|
||||||
/* We receive the timestamp in nanoseconds from the Tizen system lib. Convert
|
/* We receive the timestamp in nanoseconds from the Tizen system lib. Convert
|
||||||
* it to seconds as floating point value which is used in our public API.
|
* it to seconds as floating point value which is used in our public API.
|
||||||
*/
|
*/
|
||||||
double
|
static double
|
||||||
clock_convert(unsigned long long timestamp)
|
clock_convert(unsigned long long timestamp)
|
||||||
{
|
{
|
||||||
return ((double)timestamp) / 1000000000.0;
|
return ((double)timestamp) / 1000000000.0;
|
||||||
|
@ -183,7 +183,7 @@ clock_convert(unsigned long long timestamp)
|
||||||
* new data is available and then stop the sensor server to safe power. It will be
|
* new data is available and then stop the sensor server to safe power. It will be
|
||||||
* started again the next time data gets requested.
|
* started again the next time data gets requested.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
accelerometer_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
accelerometer_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -203,7 +203,7 @@ accelerometer_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy,
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ACCELEROMETER));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ACCELEROMETER));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
gravity_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
gravity_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -223,7 +223,7 @@ gravity_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GRAVITY));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GRAVITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
linear_acceleration_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
linear_acceleration_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -243,7 +243,7 @@ linear_acceleration_cb(unsigned long long timestamp, sensor_data_accuracy_e accu
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LINEAR_ACCELERATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LINEAR_ACCELERATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
device_orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float yaw,
|
device_orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float yaw,
|
||||||
float pitch, float roll, void *user_data)
|
float pitch, float roll, void *user_data)
|
||||||
{
|
{
|
||||||
|
@ -264,7 +264,7 @@ device_orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accur
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_DEVICE_ORIENTATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_DEVICE_ORIENTATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
magnetic_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
magnetic_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -284,7 +284,7 @@ magnetic_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MAGNETIC));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MAGNETIC));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float azimuth, float pitch, float roll, void *user_data)
|
orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float azimuth, float pitch, float roll, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -304,7 +304,7 @@ orientation_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, fl
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ORIENTATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ORIENTATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
gyroscope_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
gyroscope_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -324,7 +324,7 @@ gyroscope_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, floa
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GYROSCOPE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GYROSCOPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
light_cb(unsigned long long timestamp, float lux, void *user_data)
|
light_cb(unsigned long long timestamp, float lux, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -343,7 +343,7 @@ light_cb(unsigned long long timestamp, float lux, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LIGHT));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LIGHT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
proximity_cb(unsigned long long timestamp, float distance, void *user_data)
|
proximity_cb(unsigned long long timestamp, float distance, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -362,7 +362,7 @@ proximity_cb(unsigned long long timestamp, float distance, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_PROXIMITY));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_PROXIMITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
snap_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user_data)
|
snap_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -381,7 +381,7 @@ snap_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user_data
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SNAP));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SNAP));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
shake_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *user_data)
|
shake_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -400,7 +400,7 @@ shake_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *user_d
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SHAKE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SHAKE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
panning_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
panning_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -420,7 +420,7 @@ panning_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
panning_browse_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
panning_browse_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -440,7 +440,7 @@ panning_browse_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING_BROWSE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING_BROWSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
tilt_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
tilt_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -460,7 +460,7 @@ tilt_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_TILT));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_TILT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
facedown_cb(unsigned long long timestamp, void *user_data)
|
facedown_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -480,7 +480,7 @@ facedown_cb(unsigned long long timestamp, void *user_data)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
directcall_cb(unsigned long long timestamp, void *user_data)
|
directcall_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -500,7 +500,7 @@ directcall_cb(unsigned long long timestamp, void *user_data)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
smart_alert_cb(unsigned long long timestamp, void *user_data)
|
smart_alert_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -520,7 +520,7 @@ smart_alert_cb(unsigned long long timestamp, void *user_data)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
no_move_cb(unsigned long long timestamp, void *user_data)
|
no_move_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -540,7 +540,7 @@ no_move_cb(unsigned long long timestamp, void *user_data)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
doubletap_cb(unsigned long long timestamp, void *user_data)
|
doubletap_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -560,7 +560,7 @@ doubletap_cb(unsigned long long timestamp, void *user_data)
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
accelerometer_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
accelerometer_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -582,7 +582,7 @@ accelerometer_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accur
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ACCELEROMETER));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ACCELEROMETER));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
gravity_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
gravity_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -604,7 +604,7 @@ gravity_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, f
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GRAVITY));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GRAVITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
linear_acceleration_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
linear_acceleration_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -626,7 +626,7 @@ linear_acceleration_read_cb(unsigned long long timestamp, sensor_data_accuracy_e
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LINEAR_ACCELERATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LINEAR_ACCELERATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
device_orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float yaw,
|
device_orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float yaw,
|
||||||
float pitch, float roll, void *user_data)
|
float pitch, float roll, void *user_data)
|
||||||
{
|
{
|
||||||
|
@ -649,7 +649,7 @@ device_orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_DEVICE_ORIENTATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_DEVICE_ORIENTATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
magnetic_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
magnetic_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -671,7 +671,7 @@ magnetic_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy,
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MAGNETIC));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MAGNETIC));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float azimuth, float pitch, float roll, void *user_data)
|
orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float azimuth, float pitch, float roll, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -693,7 +693,7 @@ orientation_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accurac
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ORIENTATION));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_ORIENTATION));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
gyroscope_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
gyroscope_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy, float x, float y, float z, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -715,7 +715,7 @@ gyroscope_read_cb(unsigned long long timestamp, sensor_data_accuracy_e accuracy,
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GYROSCOPE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_GYROSCOPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
light_read_cb(unsigned long long timestamp, float lux, void *user_data)
|
light_read_cb(unsigned long long timestamp, float lux, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -736,7 +736,7 @@ light_read_cb(unsigned long long timestamp, float lux, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LIGHT));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_LIGHT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
proximity_read_cb(unsigned long long timestamp, float distance, void *user_data)
|
proximity_read_cb(unsigned long long timestamp, float distance, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -757,7 +757,7 @@ proximity_read_cb(unsigned long long timestamp, float distance, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_PROXIMITY));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_PROXIMITY));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
snap_read_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user_data)
|
snap_read_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -778,7 +778,7 @@ snap_read_cb(unsigned long long timestamp, sensor_motion_snap_e snap, void *user
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SNAP));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SNAP));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
shake_read_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *user_data)
|
shake_read_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -799,7 +799,7 @@ shake_read_cb(unsigned long long timestamp, sensor_motion_shake_e shake, void *u
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SHAKE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SHAKE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
doubletap_read_cb(unsigned long long timestamp, void *user_data)
|
doubletap_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -819,7 +819,7 @@ doubletap_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_DOUBLETAP));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_DOUBLETAP));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
panning_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
panning_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -841,7 +841,7 @@ panning_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
panning_browse_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
panning_browse_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -863,7 +863,7 @@ panning_browse_read_cb(unsigned long long timestamp, int x, int y, void *user_da
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING_BROWSE));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_PANNING_BROWSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
tilt_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
tilt_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -885,7 +885,7 @@ tilt_read_cb(unsigned long long timestamp, int x, int y, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_TILT));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_TILT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
facedown_read_cb(unsigned long long timestamp, void *user_data)
|
facedown_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -905,7 +905,7 @@ facedown_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_FACEDOWN));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_FACEDOWN));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
directcall_read_cb(unsigned long long timestamp, void *user_data)
|
directcall_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -925,7 +925,7 @@ directcall_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_DIRECT_CALL));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_DIRECT_CALL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
smart_alert_read_cb(unsigned long long timestamp, void *user_data)
|
smart_alert_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -945,7 +945,7 @@ smart_alert_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SMART_ALERT));
|
sensor_stop(sensor_handle, eeze_to_tizen(EEZE_SENSOR_TYPE_MOTION_SMART_ALERT));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
no_move_read_cb(unsigned long long timestamp, void *user_data)
|
no_move_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -970,7 +970,7 @@ no_move_read_cb(unsigned long long timestamp, void *user_data)
|
||||||
* might take quite some time depending on the sensor and how it is connected to
|
* might take quite some time depending on the sensor and how it is connected to
|
||||||
* the system. Normally it is better to use the asynchronous reading functions.
|
* the system. Normally it is better to use the asynchronous reading functions.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
eeze_sensor_tizen_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
eeze_sensor_tizen_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
{
|
{
|
||||||
sensor_data_accuracy_e accuracy;
|
sensor_data_accuracy_e accuracy;
|
||||||
|
@ -1095,7 +1095,7 @@ eeze_sensor_tizen_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
|
|
||||||
// FIXME ho to handle this without explicit callback setting
|
// FIXME ho to handle this without explicit callback setting
|
||||||
#if 0
|
#if 0
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
eeze_sensor_tizen_cb_set(Eeze_Sensor *handle, Eeze_Sensor_Type sensor_type, void *cb_function, void *user_data)
|
eeze_sensor_tizen_cb_set(Eeze_Sensor *handle, Eeze_Sensor_Type sensor_type, void *cb_function, void *user_data)
|
||||||
{
|
{
|
||||||
sensor_type_e type;
|
sensor_type_e type;
|
||||||
|
@ -1198,7 +1198,7 @@ eeze_sensor_tizen_cb_set(Eeze_Sensor *handle, Eeze_Sensor_Type sensor_type, void
|
||||||
* event. The public API function does actually return right away with the cached
|
* event. The public API function does actually return right away with the cached
|
||||||
* data. This is handled in the core and not in the different modules though.
|
* data. This is handled in the core and not in the different modules though.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
eeze_sensor_tizen_async_read(Eeze_Sensor_Type sensor_type, void *user_data)
|
eeze_sensor_tizen_async_read(Eeze_Sensor_Type sensor_type, void *user_data)
|
||||||
{
|
{
|
||||||
sensor_type_e type;
|
sensor_type_e type;
|
||||||
|
@ -1315,7 +1315,7 @@ eeze_sensor_tizen_sensors_find(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cleanup when getting the shutdown callback from core */
|
/* Cleanup when getting the shutdown callback from core */
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
eeze_sensor_tizen_shutdown(void)
|
eeze_sensor_tizen_shutdown(void)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj;
|
Eeze_Sensor_Obj *obj;
|
||||||
|
@ -1337,7 +1337,7 @@ eeze_sensor_tizen_shutdown(void)
|
||||||
/* Callback from core once we registered as a module. Create the Tizen sensor
|
/* Callback from core once we registered as a module. Create the Tizen sensor
|
||||||
* handle and find all available sensors.
|
* handle and find all available sensors.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
eeze_sensor_tizen_init(void)
|
eeze_sensor_tizen_init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1362,7 +1362,7 @@ eeze_sensor_tizen_init(void)
|
||||||
* entry point to anything in this module. After setting ourself up we register
|
* entry point to anything in this module. After setting ourself up we register
|
||||||
* into the core of eeze sensor to make our functionality available.
|
* into the core of eeze sensor to make our functionality available.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
sensor_tizen_init(void)
|
sensor_tizen_init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -1396,7 +1396,7 @@ sensor_tizen_init(void)
|
||||||
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
||||||
* avoid calls into a not loaded module.
|
* avoid calls into a not loaded module.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
sensor_tizen_shutdown(void)
|
sensor_tizen_shutdown(void)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *sens;
|
Eeze_Sensor_Obj *sens;
|
||||||
|
@ -1407,10 +1407,11 @@ sensor_tizen_shutdown(void)
|
||||||
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
||||||
free(sens);
|
free(sens);
|
||||||
|
|
||||||
|
eina_log_domain_unregister(_eeze_sensor_tizen_log_dom);
|
||||||
|
|
||||||
free(esensor_module);
|
free(esensor_module);
|
||||||
esensor_module = NULL;
|
esensor_module = NULL;
|
||||||
|
|
||||||
eina_log_domain_unregister(_eeze_sensor_tizen_log_dom);
|
|
||||||
_eeze_sensor_tizen_log_dom = -1;
|
_eeze_sensor_tizen_log_dom = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,11 +18,11 @@ static int _eeze_sensor_udev_log_dom = -1;
|
||||||
#endif
|
#endif
|
||||||
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_udev_log_dom, __VA_ARGS__)
|
#define ERR(...) EINA_LOG_DOM_ERR(_eeze_sensor_udev_log_dom, __VA_ARGS__)
|
||||||
|
|
||||||
Eeze_Sensor_Module *esensor_module;
|
static Eeze_Sensor_Module *esensor_module;
|
||||||
|
|
||||||
Eina_List *devices;
|
static Eina_List *devices;
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
udev_init(void)
|
udev_init(void)
|
||||||
{
|
{
|
||||||
/* We only offer a temperature sensor right now */
|
/* We only offer a temperature sensor right now */
|
||||||
|
@ -35,7 +35,7 @@ udev_init(void)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
udev_shutdown(void)
|
udev_shutdown(void)
|
||||||
{
|
{
|
||||||
char *data;
|
char *data;
|
||||||
|
@ -46,7 +46,7 @@ udev_shutdown(void)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
double
|
static double
|
||||||
_udev_read(void)
|
_udev_read(void)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
@ -88,7 +88,7 @@ _udev_read(void)
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
udev_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
udev_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -122,7 +122,7 @@ udev_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
udev_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
udev_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *obj = NULL;
|
Eeze_Sensor_Obj *obj = NULL;
|
||||||
|
@ -157,7 +157,7 @@ udev_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
|
||||||
* entry point to anything in this module. After setting ourself up we register
|
* entry point to anything in this module. After setting ourself up we register
|
||||||
* into the core of eeze sensor to make our functionality available.
|
* into the core of eeze sensor to make our functionality available.
|
||||||
*/
|
*/
|
||||||
Eina_Bool
|
static Eina_Bool
|
||||||
sensor_udev_init(void)
|
sensor_udev_init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ sensor_udev_init(void)
|
||||||
esensor_module->read = udev_read;
|
esensor_module->read = udev_read;
|
||||||
esensor_module->async_read = udev_async_read;
|
esensor_module->async_read = udev_async_read;
|
||||||
|
|
||||||
if (!eeze_sensor_module_register("fake", esensor_module))
|
if (!eeze_sensor_module_register("udev", esensor_module))
|
||||||
{
|
{
|
||||||
ERR("Failed to register udev module.");
|
ERR("Failed to register udev module.");
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
|
@ -194,7 +194,7 @@ sensor_udev_init(void)
|
||||||
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
/* Cleanup when the module gets unloaded. Unregister ourself from the core to
|
||||||
* avoid calls into a not loaded module.
|
* avoid calls into a not loaded module.
|
||||||
*/
|
*/
|
||||||
void
|
static void
|
||||||
sensor_udev_shutdown(void)
|
sensor_udev_shutdown(void)
|
||||||
{
|
{
|
||||||
Eeze_Sensor_Obj *sens;
|
Eeze_Sensor_Obj *sens;
|
||||||
|
@ -203,10 +203,11 @@ sensor_udev_shutdown(void)
|
||||||
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
EINA_LIST_FREE(esensor_module->sensor_list, sens)
|
||||||
free(sens);
|
free(sens);
|
||||||
|
|
||||||
|
eina_log_domain_unregister(_eeze_sensor_udev_log_dom);
|
||||||
|
|
||||||
free(esensor_module);
|
free(esensor_module);
|
||||||
esensor_module = NULL;
|
esensor_module = NULL;
|
||||||
|
|
||||||
eina_log_domain_unregister(_eeze_sensor_udev_log_dom);
|
|
||||||
_eeze_sensor_udev_log_dom = -1;
|
_eeze_sensor_udev_log_dom = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue