int sensorhub_device::parse_data(const char *hub_data, int data_len)
{
const char *cursor = hub_data;
- char libtype = 0;
+ int32_t libtype = 0;
sensorhub_sensor *sensor = manager->get_sensor(libtype);
if (!sensor) {
sensorhub_manager::~sensorhub_manager()
{
- for (auto &it : m_id_sensor)
+ for (auto &it : m_id_sensors)
delete it.second;
- m_id_sensor.clear();
- m_key_sensor.clear();
+ m_id_sensors.clear();
m_handles.clear();
}
return instance;
}
-bool sensorhub_manager::add_sensor(sensor_handle_t handle, char key, sensorhub_sensor *sensor)
+bool sensorhub_manager::add_sensor(sensor_handle_t handle, sensorhub_sensor *sensor)
{
m_handles.push_back(handle);
- m_id_sensor[handle.id] = sensor;
- m_key_sensor[key] = sensor;
+ m_id_sensors[handle.id] = sensor;
return true;
}
void sensorhub_manager::set_controller(sensorhub_controller *controller)
{
- for (auto const &it : m_id_sensor) {
+ for (auto const &it : m_id_sensors) {
sensorhub_sensor *sensor = it.second;
sensor->set_controller(controller);
}
sensorhub_sensor *sensorhub_manager::get_sensor(uint32_t id)
{
- return m_id_sensor[id];
-}
-
-sensorhub_sensor *sensorhub_manager::get_sensor(char key)
-{
- return m_key_sensor[key];
+ return m_id_sensors[id];
}
int sensorhub_manager::get_sensors(const sensor_handle_t **sensors)
#include "sensorhub_controller.h"
#include "sensorhub_sensor.h"
-#define REGISTER_SENSORHUB_LIB(handle, key, sensor_class) \
- static sensor_initializer<sensor_class> initializer((handle), (key)); \
+#define REGISTER_SENSORHUB_LIB(handle, sensor_class) \
+ static sensor_initializer<sensor_class> initializer((handle)); \
class sensorhub_manager {
public:
virtual ~sensorhub_manager();
sensorhub_sensor *get_sensor(uint32_t id);
- sensorhub_sensor *get_sensor(char key);
int get_sensors(const sensor_handle_t **sensors);
void set_controller(sensorhub_controller *controller);
- bool add_sensor(sensor_handle_t handle, char key, sensorhub_sensor *sensor);
+ bool add_sensor(sensor_handle_t handle, sensorhub_sensor *sensor);
private:
sensorhub_manager();
- std::map<uint32_t, sensorhub_sensor *> m_id_sensor;
- std::map<char, sensorhub_sensor *> m_key_sensor;
+ std::map<char, sensorhub_sensor *> m_id_sensors;
std::vector<sensor_handle_t> m_handles;
};
template <typename T>
class sensor_initializer {
public:
- sensor_initializer(sensor_handle_t handle, char key)
+ sensor_initializer(sensor_handle_t handle)
{
T *sensor = new(std::nothrow) T();
if (!sensor) {
ERR("Failed to allocate memory");
return;
}
- sensorhub_manager::get_instance().add_sensor(handle, key, sensor);
+ sensorhub_manager::get_instance().add_sensor(handle, sensor);
}
~sensor_initializer() {}
};
#include "dbus_util.h"
#include "system_state.h"
-#define CPU_BOOST_DURATION 400
-#define WAKEUP_LCD_CUSTOM_PARAM 7000
-
system_state_handler::system_state_handler()
{
}
#include "system_state.h"
#include "wristup.h"
-#define SENSOR_NAME "WRIST_UP_SENSOR"
+#define WRIST_UP_NAME "WRIST_UP_SENSOR"
#define SHUB_LIB_WRIST_UP 0
#define WRIST_UP_PACKET_SIZE 1
static const sensor_handle_t handle = {
- id: 0x1,
- name: SENSOR_NAME,
+ id: SHUB_LIB_WRIST_UP,
+ name: WRIST_UP_NAME,
type: SENSOR_DEVICE_GESTURE_WRIST_UP,
event_type: (SENSOR_DEVICE_GESTURE_WRIST_UP << 16) | 0x0001,
model_name: "Wristup",
return false;
}
-REGISTER_SENSORHUB_LIB(handle, (char)SHUB_LIB_WRIST_UP, wristup_sensor)
+REGISTER_SENSORHUB_LIB(handle, wristup_sensor)