sensord: rename interface of HAL for managing it easily 63/57763/2
authorkibak.yoon <kibak.yoon@samsung.com>
Fri, 22 Jan 2016 11:36:53 +0000 (20:36 +0900)
committerkibak.yoon <kibak.yoon@samsung.com>
Fri, 22 Jan 2016 12:00:52 +0000 (21:00 +0900)
Change-Id: Ide316de6e6bec76c20d0d8a827d83a821af2df61
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
23 files changed:
src/server/CMakeLists.txt
src/server/command_worker.cpp
src/server/main.cpp
src/server/permission_checker.cpp
src/server/physical_sensor.cpp
src/server/physical_sensor.h
src/server/plugins/auto_rotation/auto_rotation_sensor.cpp
src/server/plugins/fusion/fusion_sensor.cpp
src/server/plugins/gravity/gravity_sensor.cpp
src/server/plugins/linear_accel/linear_accel_sensor.cpp
src/server/plugins/orientation/orientation_sensor.cpp
src/server/plugins/rotation_vector/gaming_rv/gaming_rv_sensor.cpp
src/server/plugins/rotation_vector/geomagnetic_rv/geomagnetic_rv_sensor.cpp
src/server/plugins/rotation_vector/rv/rv_sensor.cpp
src/server/plugins/tilt/tilt_sensor.cpp
src/server/sensor_event_poller.cpp
src/server/sensor_event_poller.h
src/server/sensor_loader.cpp.in [new file with mode: 0644]
src/server/sensor_loader.h [moved from src/server/sensor_plugin_loader.h with 71% similarity]
src/server/sensor_plugin_loader.cpp.in [deleted file]
src/server/server.cpp
src/shared/sensor_hal.h
src/shared/sf_common.h

index a17facd..7a5a888 100644 (file)
@@ -8,7 +8,7 @@ add_subdirectory(plugins)
 
 add_definitions(${PLUGIN_DEFS})
 
-configure_file(sensor_plugin_loader.cpp.in sensor_plugin_loader.cpp)
+configure_file(sensor_loader.cpp.in sensor_loader.cpp)
 
 INCLUDE_DIRECTORIES(include)
 FILE(GLOB SERVER_SRCS *.c *.cpp)
index e0359f2..1e1ae3b 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #include <command_worker.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <sensor_info.h>
 #include <sensor_types.h>
 #include <thread>
@@ -144,7 +144,7 @@ void command_worker::make_sensor_raw_data_map(void)
        sensor_info info;
        int permission;
 
-       sensors = sensor_plugin_loader::get_instance().get_sensors(ALL_SENSOR);
+       sensors = sensor_loader::get_instance().get_sensors(ALL_SENSOR);
 
     std::sort(sensors.begin(), sensors.end());
     auto last = std::unique(sensors.begin(), sensors.end());
@@ -397,7 +397,7 @@ bool command_worker::cmd_hello(void *payload)
        if (m_permission == SENSOR_PERMISSION_NONE)
                get_client_info_manager().get_permission(m_client_id, m_permission);
 
-       m_module = (sensor_base *)sensor_plugin_loader::get_instance().get_sensor(cmd->sensor);
+       m_module = (sensor_base *)sensor_loader::get_instance().get_sensor(cmd->sensor);
 
        if (!m_module) {
                ERR("Sensor type[%d] is not supported", cmd->sensor);
index 28c425e..35805a7 100644 (file)
@@ -21,7 +21,7 @@
 #include <sensor_logs.h>
 #include <server.h>
 #include <dbus_util.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <string>
 
 using std::string;
@@ -57,7 +57,7 @@ int main(int argc, char *argv[])
 
        signal_init();
 
-       sensor_plugin_loader::get_instance().load_plugins();
+       sensor_loader::get_instance().load_sensors();
 
        server::get_instance().run();
 
index e06e680..aa700b8 100644 (file)
@@ -23,7 +23,7 @@
 #include <permission_checker.h>
 #include <sf_common.h>
 #include <sensor_logs.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <sensor_base.h>
 
 static cynara *cynara_env = NULL;
@@ -82,7 +82,7 @@ void permission_checker::init()
        m_permission_infos.push_back(std::make_shared<permission_info> (SENSOR_PERMISSION_BIO, true, "http://tizen.org/privilege/healthinfo"));
 
        std::vector<sensor_base *> sensors;
-       sensors = sensor_plugin_loader::get_instance().get_sensors(ALL_SENSOR);
+       sensors = sensor_loader::get_instance().get_sensors(ALL_SENSOR);
 
        for (unsigned int i = 0; i < sensors.size(); ++i)
                m_permission_set |= sensors[i]->get_permission();
index b108682..71de409 100644 (file)
@@ -23,7 +23,7 @@
 #define UNKNOWN_NAME "UNKNOWN_SENSOR"
 
 physical_sensor::physical_sensor()
-: m_sensor_hal(NULL)
+: m_sensor_device(NULL)
 {
 
 }
@@ -43,7 +43,7 @@ unsigned int physical_sensor::get_event_type(void)
        return m_handle.event_type;
 }
 
-const char* physical_sensor::get_name()
+const char* physical_sensor::get_name(void)
 {
        if (m_handle.name.empty())
                return UNKNOWN_NAME;
@@ -60,40 +60,40 @@ void physical_sensor::set_sensor_handle(sensor_handle_t handle)
        m_handle.properties = handle.properties;
 }
 
-void physical_sensor::set_sensor_hal(sensor_hal *hal)
+void physical_sensor::set_sensor_device(sensor_device *device)
 {
-       m_sensor_hal = hal;
+       m_sensor_device = device;
 }
 
 int physical_sensor::get_poll_fd()
 {
        AUTOLOCK(m_mutex);
 
-       if (!m_sensor_hal)
+       if (!m_sensor_device)
                return -1;
 
-       return m_sensor_hal->get_poll_fd();
+       return m_sensor_device->get_poll_fd();
 }
 
 bool physical_sensor::on_start()
 {
        AUTOLOCK(m_mutex);
 
-       return m_sensor_hal->enable(m_handle.id);
+       return m_sensor_device->enable(m_handle.id);
 }
 
 bool physical_sensor::on_stop()
 {
        AUTOLOCK(m_mutex);
 
-       return m_sensor_hal->disable(m_handle.id);
+       return m_sensor_device->disable(m_handle.id);
 }
 
 long physical_sensor::set_command(unsigned int cmd, long value)
 {
        AUTOLOCK(m_mutex);
 
-       return m_sensor_hal->set_command(m_handle.id, std::to_string(cmd), std::to_string(value));
+       return m_sensor_device->set_command(m_handle.id, std::to_string(cmd), std::to_string(value));
 }
 
 bool physical_sensor::set_interval(unsigned long interval)
@@ -102,7 +102,7 @@ bool physical_sensor::set_interval(unsigned long interval)
 
        INFO("Polling interval is set to %dms", interval);
 
-       return m_sensor_hal->set_interval(m_handle.id, interval);
+       return m_sensor_device->set_interval(m_handle.id, interval);
 }
 
 bool physical_sensor::set_batch(unsigned long latency)
@@ -111,7 +111,7 @@ bool physical_sensor::set_batch(unsigned long latency)
 
        INFO("Polling interval is set to %dms", latency);
 
-       return m_sensor_hal->set_batch_latency(m_handle.id, latency);
+       return m_sensor_device->set_batch_latency(m_handle.id, latency);
 }
 
 bool physical_sensor::set_wakeup(int wakeup)
@@ -123,14 +123,14 @@ bool physical_sensor::is_data_ready(void)
 {
        AUTOLOCK(m_mutex);
 
-       return m_sensor_hal->is_data_ready();
+       return m_sensor_device->is_data_ready();
 }
 
 int physical_sensor::get_sensor_data(sensor_data_t &data)
 {
        AUTOLOCK(m_mutex);
 
-       if (!m_sensor_hal->get_sensor_data(m_handle.id, data)) {
+       if (!m_sensor_device->get_sensor_data(m_handle.id, data)) {
                ERR("Failed to get sensor data");
                return -1;
        }
@@ -143,7 +143,7 @@ int physical_sensor::get_sensor_event(sensor_event_t **event)
        AUTOLOCK(m_mutex);
 
        int event_length = -1;
-       event_length = m_sensor_hal->get_sensor_event(m_handle.id, event);
+       event_length = m_sensor_device->get_sensor_event(m_handle.id, event);
 
        if (event_length < 0) {
                ERR("Failed to get sensor event");
@@ -155,6 +155,6 @@ int physical_sensor::get_sensor_event(sensor_event_t **event)
 
 bool physical_sensor::get_properties(sensor_properties_s &properties)
 {
-       return m_sensor_hal->get_properties(m_handle.id, properties);
+       return m_sensor_device->get_properties(m_handle.id, properties);
 }
 
index 2fb245a..2c7742f 100644 (file)
@@ -32,10 +32,10 @@ public:
 
        /* setting module */
        void set_sensor_handle(sensor_handle_t handle);
-       void set_sensor_hal(sensor_hal *hal);
+       void set_sensor_device(sensor_device *device);
 
        /* module info */
-       virtual sensor_type_t get_type();
+       virtual sensor_type_t get_type(void);
        virtual unsigned int get_event_type(void);
        virtual const char* get_name(void);
 
@@ -48,13 +48,13 @@ public:
 
 private:
        sensor_handle_t m_handle;
-       sensor_hal *m_sensor_hal;
+       sensor_device *m_sensor_device;
 
        virtual bool set_interval(unsigned long interval);
        virtual bool set_wakeup(int wakeup);
        virtual bool set_batch(unsigned long latency);
-       virtual bool on_start();
-       virtual bool on_stop();
+       virtual bool on_start(void);
+       virtual bool on_stop(void);
        virtual long set_command(unsigned int cmd, long value);
        virtual bool get_properties(sensor_properties_s &properties);
 };
index 9b6caaa..c78a743 100644 (file)
@@ -31,7 +31,7 @@
 
 #include <virtual_sensor.h>
 #include <auto_rotation_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <virtual_sensor_config.h>
 #include <auto_rotation_alg.h>
 #include <auto_rotation_alg_emul.h>
@@ -124,7 +124,7 @@ auto_rotation_alg *auto_rotation_sensor::get_alg()
 
 bool auto_rotation_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
 
        if (!m_accel_sensor) {
                ERR("cannot load accel sensor_hal[%s]", sensor_base::get_name());
index a2f9183..49d3f9e 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <fusion_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 #include <algorithm>
@@ -165,9 +165,9 @@ fusion_sensor::~fusion_sensor()
 
 bool fusion_sensor::init(void)
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
        if (!m_accel_sensor) {
                ERR("Failed to load accel sensor: 0x%x", m_accel_sensor);
index b77bac4..b39218f 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <gravity_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <virtual_sensor_config.h>
 
 using std::string;
@@ -69,7 +69,7 @@ gravity_sensor::gravity_sensor()
 {
        virtual_sensor_config &config = virtual_sensor_config::get_instance();
 
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -144,11 +144,11 @@ gravity_sensor::~gravity_sensor()
 
 bool gravity_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_gyro_sensor || !m_magnetic_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, gyro: 0x%x, mag: 0x%x, fusion: 0x%x",
index f320885..3c194f3 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <linear_accel_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <virtual_sensor_config.h>
 
 using std::string;
@@ -81,7 +81,7 @@ linear_accel_sensor::linear_accel_sensor()
        m_enable_linear_accel = 0;
        register_supported_event(LINEAR_ACCEL_RAW_DATA_EVENT);
 
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -174,11 +174,11 @@ linear_accel_sensor::~linear_accel_sensor()
 
 bool linear_accel_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_gyro_sensor || !m_magnetic_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, gyro: 0x%x, mag: 0x%x, fusion: 0x%x",
index a4200d5..2775c4c 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <orientation_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 
@@ -64,7 +64,7 @@ orientation_sensor::orientation_sensor()
 {
        virtual_sensor_config &config = virtual_sensor_config::get_instance();
 
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -125,11 +125,11 @@ orientation_sensor::~orientation_sensor()
 
 bool orientation_sensor::init(void)
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_gyro_sensor || !m_magnetic_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, gyro: 0x%x, mag: 0x%x, fusion: 0x%x",
index df3b168..ac19b63 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <gaming_rv_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 
@@ -65,7 +65,7 @@ gaming_rv_sensor::gaming_rv_sensor()
 {
        virtual_sensor_config &config = virtual_sensor_config::get_instance();
 
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -129,8 +129,8 @@ gaming_rv_sensor::~gaming_rv_sensor()
 
 bool gaming_rv_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
 
        if (!m_accel_sensor || !m_gyro_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, gyro: 0x%x",
index 6bfdaf4..43abcf2 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <geomagnetic_rv_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 
@@ -53,7 +53,7 @@ geomagnetic_rv_sensor::geomagnetic_rv_sensor()
 {
        virtual_sensor_config &config = virtual_sensor_config::get_instance();
 
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -86,10 +86,10 @@ geomagnetic_rv_sensor::~geomagnetic_rv_sensor()
 
 bool geomagnetic_rv_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_magnetic_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, mag: 0x%x, fusion: 0x%x",
index 08d1353..3a98182 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <rv_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 
@@ -59,7 +59,7 @@ rv_sensor::rv_sensor()
        virtual_sensor_config &config = virtual_sensor_config::get_instance();
 
        // Will check if fusion_sensor is in the list of hal sensors.
-       sensor_hal *fusion_sensor_hal = sensor_plugin_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
+       sensor_hal *fusion_sensor_hal = sensor_loader::get_instance().get_sensor_hal(SENSOR_HAL_TYPE_FUSION);
        if (!fusion_sensor_hal)
                m_hardware_fusion = false;
        else
@@ -93,11 +93,11 @@ rv_sensor::~rv_sensor()
 
 bool rv_sensor::init()
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_gyro_sensor = sensor_plugin_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
-       m_magnetic_sensor = sensor_plugin_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
+       m_magnetic_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
 
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_gyro_sensor || !m_magnetic_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, gyro: 0x%x, mag: 0x%x, fusion: 0x%x",
index a7830fe..ef1a088 100644 (file)
@@ -28,7 +28,7 @@
 #include <sensor_logs.h>
 #include <sf_common.h>
 #include <tilt_sensor.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <orientation_filter.h>
 #include <virtual_sensor_config.h>
 
@@ -109,8 +109,8 @@ tilt_sensor::~tilt_sensor()
 
 bool tilt_sensor::init(void)
 {
-       m_accel_sensor = sensor_plugin_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
-       m_fusion_sensor = sensor_plugin_loader::get_instance().get_sensor(FUSION_SENSOR);
+       m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
+       m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
 
        if (!m_accel_sensor || !m_fusion_sensor) {
                ERR("Failed to load sensors,  accel: 0x%x, fusion: 0x%x",
index 2a8ec96..b02b624 100644 (file)
@@ -21,7 +21,7 @@
 #include <sensor_base.h>
 #include <physical_sensor.h>
 #include <sensor_event_poller.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 
 #define EPOLL_MAX_FD 32
 
@@ -41,7 +41,7 @@ void sensor_event_poller::init_sensor_map()
        physical_sensor *sensor;
 
        std::vector<sensor_base *> sensors;
-       sensors = sensor_plugin_loader::get_instance().get_sensors(ALL_SENSOR);
+       sensors = sensor_loader::get_instance().get_sensors(ALL_SENSOR);
 
        auto it_sensor = sensors.begin();
 
@@ -61,7 +61,7 @@ void sensor_event_poller::init_sensor_map()
 
 void sensor_event_poller::init_fd()
 {
-       fd_sensor_plugins::iterator it;
+       fd_sensors_t::iterator it;
        for (it = m_fd_sensors.begin(); it != m_fd_sensors.end(); it = m_fd_sensors.upper_bound(it->first)) {
                if (!add_poll_fd(it->first))
                        continue;
@@ -95,14 +95,14 @@ bool sensor_event_poller::poll()
 
 bool sensor_event_poller::is_data_ready(int fd)
 {
-       fd_sensor_plugins::iterator it;
+       fd_sensors_t::iterator it;
        physical_sensor *sensor;
 
        it = m_fd_sensors.find(fd);
        sensor = dynamic_cast<physical_sensor *>(it->second);
 
        if (!sensor) {
-               ERR("Failed to get sensor plugin");
+               ERR("Failed to get sensor");
                return false;
        }
 
@@ -115,7 +115,7 @@ bool sensor_event_poller::is_data_ready(int fd)
 bool sensor_event_poller::process_event(int fd)
 {
        physical_sensor *sensor;
-       std::pair<fd_sensor_plugins::iterator, fd_sensor_plugins::iterator> ret;
+       std::pair<fd_sensors_t::iterator, fd_sensors_t::iterator> ret;
 
        ret = m_fd_sensors.equal_range(fd);
 
index 21f3240..a290b42 100644 (file)
@@ -24,7 +24,7 @@
 #include <poller.h>
 #include <physical_sensor.h>
 
-typedef std::multimap<int, physical_sensor *> fd_sensor_plugins;
+typedef std::multimap<int, physical_sensor *> fd_sensors_t;
 
 class sensor_event_poller {
 public:
@@ -34,7 +34,7 @@ public:
        bool poll();
 private:
        poller m_poller;
-       fd_sensor_plugins m_fd_sensors;
+       fd_sensors_t m_fd_sensors;
 
        void init_fd();
        void init_sensor_map();
diff --git a/src/server/sensor_loader.cpp.in b/src/server/sensor_loader.cpp.in
new file mode 100644 (file)
index 0000000..6fd1dfd
--- /dev/null
@@ -0,0 +1,285 @@
+/*
+ * libsensord-share
+ *
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <sensor_loader.h>
+#include <libxml/xmlmemory.h>
+#include <libxml/parser.h>
+#include <sensor_hal.h>
+#include <sensor_base.h>
+#include <physical_sensor.h>
+#include <dlfcn.h>
+#include <dirent.h>
+#include <sensor_logs.h>
+#include <unordered_set>
+#include <algorithm>
+
+#ifdef ENABLE_AUTO_ROTATION
+#include <auto_rotation_sensor.h>
+#endif
+
+using std::vector;
+using std::string;
+
+#define DEVICE_PLUGINS_DIR_PATH "/usr/lib/sensor"
+#define SENSOR_INDEX_SHIFT 16
+
+sensor_loader::sensor_loader()
+{
+}
+
+sensor_loader& sensor_loader::get_instance()
+{
+       static sensor_loader inst;
+       return inst;
+}
+
+bool sensor_loader::load_devices(const string &path, vector<void*> &devices, void* &handle)
+{
+       INFO("load device: [%s]", path.c_str());
+
+       void *_handle = dlopen(path.c_str(), RTLD_NOW);
+
+       if (!_handle) {
+               ERR("Failed to dlopen(%s), dlerror : %s", path.c_str(), dlerror());
+               return false;
+       }
+
+       dlerror();
+
+       create_t create_devices = (create_t) dlsym(_handle, "create");
+
+       if (!create_devices) {
+               ERR("Failed to find symbols in %s", path.c_str());
+               dlclose(_handle);
+               return false;
+       }
+
+       sensor_devices *_devices = create_devices();
+
+       if (!_devices) {
+               ERR("Failed to create devices, path is %s\n", path.c_str());
+               dlclose(_handle);
+               return false;
+       }
+
+       devices.clear();
+       devices.swap(_devices->devices);
+
+       delete _devices;
+       handle = _handle;
+
+       return true;
+}
+
+physical_sensor* sensor_loader::create_sensor(sensor_handle_t handle, sensor_device *device)
+{
+       int index;
+       physical_sensor *sensor;
+
+       index = m_sensors.count(handle.type);
+
+       sensor = new(std::nothrow) physical_sensor();
+       if (!sensor) {
+               ERR("Memory allocation failed[%s]", handle.name.c_str());
+               return NULL;
+       }
+
+       sensor->set_id(index << SENSOR_INDEX_SHIFT | handle.type);
+       sensor->set_sensor_handle(handle);
+       sensor->set_sensor_device(device);
+
+       return sensor;
+}
+
+bool sensor_loader::insert_sensors(std::vector<void *> devices)
+{
+       sensor_device *device;
+       vector<sensor_handle_t> handles;
+       physical_sensor *sensor;
+
+       for (void *device_ptr : devices) {
+               device = static_cast<sensor_device *>(device_ptr);
+               device->get_sensors(handles);
+
+               for (unsigned int i = 0; i < handles.size(); ++i) {
+                       sensor = create_sensor(handles[i], device);
+                       if (!sensor)
+                               continue;
+
+                       std::shared_ptr<sensor_base> sensor_ptr(sensor);
+                       m_sensors.insert(std::make_pair(handles[i].type, sensor_ptr));
+
+                       INFO("inserted [%s] sensor", sensor->get_name());
+               }
+       }
+
+       return true;
+}
+
+bool sensor_loader::load_sensors(void)
+{
+       vector<string> device_plugin_paths;
+       vector<string> unique_device_plugin_paths;
+
+       get_paths_from_dir(string(DEVICE_PLUGINS_DIR_PATH), device_plugin_paths);
+
+       std::unordered_set<string> s;
+       auto unique = [&s](vector<string> &paths, const string &path) {
+               if (s.insert(path).second)
+                       paths.push_back(path);
+       };
+
+       for_each(device_plugin_paths.begin(), device_plugin_paths.end(),
+               [&](const string &path) {
+                       unique(unique_device_plugin_paths, path);
+               }
+       );
+
+       for_each(unique_device_plugin_paths.begin(), unique_device_plugin_paths.end(),
+               [&](const string &path) {
+                       void *handle;
+                       std::vector<void *> devices;
+
+                       load_devices(path, devices, handle);
+                       insert_sensors(devices);
+               }
+       );
+
+#ifdef ENABLE_AUTO_ROTATION
+       auto_rotation_sensor* auto_rot_sensor_ptr = NULL;
+       try {
+               auto_rot_sensor_ptr = new(std::nothrow) auto_rotation_sensor;
+       } catch (int err) {
+               ERR("Failed to create auto_rotation_sensor, err: %d, cause: %s", err, strerror(err));
+       }
+       if (auto_rot_sensor_ptr != NULL) {
+               std::shared_ptr<sensor_base> sensor(auto_rot_sensor_ptr);
+               sensor_device_type type;
+
+               type = static_cast<sensor_device_type>(sensor->get_type());
+               sensor->set_id(type);
+
+               m_sensors.insert(std::make_pair(type, sensor));
+       }
+#endif
+
+       show_sensor_info();
+       return true;
+}
+
+void sensor_loader::show_sensor_info(void)
+{
+       INFO("========== Loaded sensor information ==========\n");
+
+       int index = 0;
+
+       auto it = m_sensors.begin();
+
+       while (it != m_sensors.end()) {
+               sensor_base *sensor = it->second.get();
+
+               sensor_info info;
+               sensor->get_sensor_info(info);
+               INFO("No:%d [%s]\n", ++index, sensor->get_name());
+               info.show();
+               it++;
+       }
+
+       INFO("===============================================\n");
+}
+
+bool sensor_loader::get_paths_from_dir(const string &dir_path, vector<string> &plugin_paths)
+{
+       DIR *dir = NULL;
+       struct dirent *dir_entry = NULL;
+
+       dir = opendir(dir_path.c_str());
+
+       if (!dir) {
+               ERR("Failed to open dir: %s", dir_path.c_str());
+               return false;
+       }
+
+       string name;
+
+       while ((dir_entry = readdir(dir))) {
+               name = string(dir_entry->d_name);
+               plugin_paths.push_back(dir_path + "/" + name);
+       }
+
+       closedir(dir);
+       return true;
+}
+
+sensor_base* sensor_loader::get_sensor(sensor_type_t type)
+{
+       auto it_plugins = m_sensors.find(static_cast<sensor_device_type>(type));
+
+       if (it_plugins == m_sensors.end())
+               return NULL;
+
+       return it_plugins->second.get();
+}
+
+sensor_base* sensor_loader::get_sensor(sensor_id_t id)
+{
+       vector<sensor_base *> sensors;
+
+       sensor_type_t type = static_cast<sensor_type_t> (id & SENSOR_TYPE_MASK);
+       unsigned int index = id >> SENSOR_INDEX_SHIFT;
+
+       sensors = get_sensors(type);
+
+       if (sensors.size() <= index)
+               return NULL;
+
+       return sensors[index];
+}
+
+vector<sensor_base *> sensor_loader::get_sensors(sensor_type_t type)
+{
+       vector<sensor_base *> sensor_list;
+       std::pair<sensor_map_t::iterator, sensor_map_t::iterator> ret;
+
+       if ((int)(type) == (int)SENSOR_DEVICE_ALL)
+               ret = std::make_pair(m_sensors.begin(), m_sensors.end());
+       else
+               ret = m_sensors.equal_range(static_cast<sensor_device_type>(type));
+
+       for (auto it = ret.first; it != ret.second; ++it)
+               sensor_list.push_back(it->second.get());
+
+       return sensor_list;
+}
+
+vector<sensor_base *> sensor_loader::get_virtual_sensors(void)
+{
+       vector<sensor_base *> virtual_list;
+       sensor_base* sensor;
+
+       for (auto sensor_it = m_sensors.begin(); sensor_it != m_sensors.end(); ++sensor_it) {
+               sensor = sensor_it->second.get();
+
+               if (sensor && sensor->is_virtual() == true) {
+                       virtual_list.push_back(sensor);
+               }
+       }
+
+       return virtual_list;
+}
similarity index 71%
rename from src/server/sensor_plugin_loader.h
rename to src/server/sensor_loader.h
index 07886e3..ae246fd 100644 (file)
 #include <map>
 #include <set>
 #include <memory>
+#include <physical_sensor.h>
 
 class sensor_hal;
 class sensor_base;
 
-typedef std::multimap<sensor_hal_type, std::shared_ptr<sensor_base>> sensor_plugins;
+typedef std::multimap<sensor_device_type, std::shared_ptr<sensor_base>> sensor_map_t;
 
-class sensor_plugin_loader
+class sensor_loader
 {
 private:
-       sensor_plugin_loader();
+       sensor_loader();
 
-       bool load_plugin(const std::string &path, std::vector<void *> &sensors, void* &handle);
-       bool insert_plugins(std::vector<void *> hals);
-       bool insert_sensors(sensor_hal *hal);
+       bool load_devices(const std::string &path, std::vector<void *> &devices, void* &handle);
+       physical_sensor* create_sensor(sensor_handle_t handle, sensor_device *device);
+       bool insert_sensors(std::vector<void *> hals);
        void show_sensor_info(void);
 
        bool get_paths_from_dir(const std::string &dir_path, std::vector<std::string> &hal_paths);
 
-       sensor_plugins m_sensors;
+       sensor_map_t m_sensors;
 public:
-       static sensor_plugin_loader& get_instance();
-       bool load_plugins(void);
+       static sensor_loader& get_instance();
+       bool load_sensors(void);
 
        sensor_base* get_sensor(sensor_type_t type);
        sensor_base* get_sensor(sensor_id_t id);
 
        std::vector<sensor_base *> get_sensors(sensor_type_t type);
-       std::vector<sensor_base*> get_virtual_sensors(void);
+       std::vector<sensor_base *> get_virtual_sensors(void);
 };
 #endif /* _SENSOR_PLUGIN_LOADER_H_ */
diff --git a/src/server/sensor_plugin_loader.cpp.in b/src/server/sensor_plugin_loader.cpp.in
deleted file mode 100644 (file)
index 366b3ab..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * libsensord-share
- *
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <sensor_plugin_loader.h>
-#include <libxml/xmlmemory.h>
-#include <libxml/parser.h>
-#include <sensor_hal.h>
-#include <sensor_base.h>
-#include <physical_sensor.h>
-#include <dlfcn.h>
-#include <dirent.h>
-#include <sensor_logs.h>
-#include <unordered_set>
-#include <algorithm>
-
-#ifdef ENABLE_AUTO_ROTATION
-#include <auto_rotation_sensor.h>
-#endif
-/*
-#ifdef ENABLE_TILT
-#include <tilt_sensor.h>
-#endif
-#ifdef ENABLE_GRAVITY
-#include <gravity_sensor.h>
-#endif
-#ifdef ENABLE_SENSOR_FUSION
-#include <fusion_sensor.h>
-#endif
-#ifdef ENABLE_LINEAR_ACCEL
-#include <linear_accel_sensor.h>
-#endif
-#ifdef ENABLE_ORIENTATION
-#include <orientation_sensor.h>
-#endif
-#ifdef ENABLE_GAMING_RV
-#include <gaming_rv_sensor.h>
-#endif
-#ifdef ENABLE_GEOMAGNETIC_RV
-#include <geomagnetic_rv_sensor.h>
-#endif
-#ifdef ENABLE_RV
-#include <rv_sensor.h>
-#endif
-#ifdef ENABLE_GYROSCOPE_UNCAL
-#include <gyroscope_uncal_sensor.h>
-#endif
-*/
-
-using std::unordered_set;
-using std::vector;
-using std::string;
-
-#define ROOT_ELEMENT "PLUGIN"
-#define TEXT_ELEMENT "text"
-#define PATH_ATTR "path"
-#define HAL_ELEMENT "HAL"
-#define SENSOR_ELEMENT "SENSOR"
-
-#define HAL_PLUGINS_DIR_PATH "/usr/lib/sensor"
-
-#define SENSOR_INDEX_SHIFT 16
-
-sensor_plugin_loader::sensor_plugin_loader()
-{
-}
-
-sensor_plugin_loader& sensor_plugin_loader::get_instance()
-{
-       static sensor_plugin_loader inst;
-       return inst;
-}
-
-bool sensor_plugin_loader::load_plugin(const string &path, vector<void*> &sensors, void* &handle)
-{
-       INFO("load HAL plugin [%s]", path.c_str());
-
-       void *_handle = dlopen(path.c_str(), RTLD_NOW);
-
-       if (!_handle) {
-               ERR("Failed to dlopen(%s), dlerror : %s", path.c_str(), dlerror());
-               return false;
-       }
-
-       dlerror();
-
-       create_t create_plugin = (create_t) dlsym(_handle, "create");
-
-       if (!create_plugin) {
-               ERR("Failed to find symbols in %s", path.c_str());
-               dlclose(_handle);
-               return false;
-       }
-
-       sensor_module *plugin = create_plugin();
-
-       if (!plugin) {
-               ERR("Failed to create plugin, path is %s\n", path.c_str());
-               dlclose(_handle);
-               return false;
-       }
-
-       sensors.clear();
-       sensors.swap(plugin->sensors);
-
-       delete plugin;
-       handle = _handle;
-
-       return true;
-}
-
-bool sensor_plugin_loader::insert_plugins(std::vector<void *> hals)
-{
-       unsigned int i;
-       sensor_hal *hal;
-
-       for (i = 0; i < hals.size(); ++i) {
-               hal = static_cast<sensor_hal *>(hals[i]);
-
-               insert_sensors(hal);
-       }
-
-       return true;
-}
-
-bool sensor_plugin_loader::insert_sensors(sensor_hal *hal)
-{
-       unsigned int i;
-       vector<sensor_handle_t> sensors;
-       physical_sensor *phy_sensor;
-
-       hal->get_sensors(sensors);
-
-       for (i = 0; i < sensors.size(); ++i) {
-               int idx;
-               idx = m_sensors.count(sensors[i].type);
-
-               phy_sensor = new(std::nothrow) physical_sensor();
-               if (!phy_sensor) {
-                       ERR("Memory allocation failed[%s]", sensors[i].name.c_str());
-                       continue;
-               }
-
-               phy_sensor->set_id(idx << SENSOR_INDEX_SHIFT | sensors[i].type);
-               phy_sensor->set_sensor_handle(sensors[i]);
-               phy_sensor->set_sensor_hal(hal);
-
-               std::shared_ptr<sensor_base> sensor(phy_sensor);
-               m_sensors.insert(std::make_pair(sensors[i].type, sensor));
-
-               INFO("created [%s] sensor", sensor->get_name());
-       }
-
-       return true;
-}
-
-bool sensor_plugin_loader::load_plugins(void)
-{
-       vector<string> hal_paths;
-       vector<string> unique_hal_paths;
-
-       get_paths_from_dir(string(HAL_PLUGINS_DIR_PATH), hal_paths);
-
-       unordered_set<string> s;
-       auto unique = [&s](vector<string> &paths, const string &path) {
-               if (s.insert(path).second)
-                       paths.push_back(path);
-       };
-
-       for_each(hal_paths.begin(), hal_paths.end(),
-               [&](const string &path) {
-                       unique(unique_hal_paths, path);
-               }
-       );
-
-       for_each(unique_hal_paths.begin(), unique_hal_paths.end(),
-               [&](const string &path) {
-                       void *handle;
-                       std::vector<void *> hals;
-
-                       load_plugin(path, hals, handle);
-                       insert_plugins(hals);
-               }
-       );
-
-#ifdef ENABLE_AUTO_ROTATION
-       auto_rotation_sensor* auto_rot_sensor_ptr = NULL;
-       try {
-               auto_rot_sensor_ptr = new(std::nothrow) auto_rotation_sensor;
-       } catch (int err) {
-               ERR("Failed to create auto_rotation_sensor module, err: %d, cause: %s", err, strerror(err));
-       }
-       if (auto_rot_sensor_ptr != NULL) {
-               std::shared_ptr<sensor_base> sensor(auto_rot_sensor_ptr);
-               sensor_hal_type type;
-
-               type = static_cast<sensor_hal_type>(sensor->get_type());
-               sensor->set_id(type);
-
-               m_sensors.insert(std::make_pair(type, sensor));
-       }
-#endif
-
-       show_sensor_info();
-       return true;
-}
-
-void sensor_plugin_loader::show_sensor_info(void)
-{
-       INFO("========== Loaded sensor information ==========\n");
-
-       int index = 0;
-
-       auto it = m_sensors.begin();
-
-       while (it != m_sensors.end()) {
-               sensor_base *sensor = it->second.get();
-
-               sensor_info info;
-               sensor->get_sensor_info(info);
-               INFO("No:%d [%s]\n", ++index, sensor->get_name());
-               info.show();
-               it++;
-       }
-
-       INFO("===============================================\n");
-}
-
-bool sensor_plugin_loader::get_paths_from_dir(const string &dir_path, vector<string> &hal_paths)
-{
-       DIR *dir = NULL;
-       struct dirent *dir_entry = NULL;
-
-       dir = opendir(dir_path.c_str());
-
-       if (!dir) {
-               ERR("Failed to open dir: %s", dir_path.c_str());
-               return false;
-       }
-
-       string name;
-
-       while ((dir_entry = readdir(dir))) {
-               name = string(dir_entry->d_name);
-               hal_paths.push_back(dir_path + "/" + name);
-       }
-
-       closedir(dir);
-       return true;
-}
-
-sensor_base* sensor_plugin_loader::get_sensor(sensor_type_t type)
-{
-       auto it_plugins = m_sensors.find(static_cast<sensor_hal_type>(type));
-
-       if (it_plugins == m_sensors.end())
-               return NULL;
-
-       return it_plugins->second.get();
-}
-
-sensor_base* sensor_plugin_loader::get_sensor(sensor_id_t id)
-{
-       vector<sensor_base *> sensors;
-
-       sensor_type_t type = static_cast<sensor_type_t> (id & SENSOR_TYPE_MASK);
-       unsigned int index = id >> SENSOR_INDEX_SHIFT;
-
-       sensors = get_sensors(type);
-
-       if (sensors.size() <= index)
-               return NULL;
-
-       return sensors[index];
-}
-
-vector<sensor_base *> sensor_plugin_loader::get_sensors(sensor_type_t type)
-{
-       vector<sensor_base *> sensor_list;
-       std::pair<sensor_plugins::iterator, sensor_plugins::iterator> ret;
-
-       if ((int)(type) == (int)SENSOR_HAL_TYPE_ALL)
-               ret = std::make_pair(m_sensors.begin(), m_sensors.end());
-       else
-               ret = m_sensors.equal_range(static_cast<sensor_hal_type>(type));
-
-       for (auto it = ret.first; it != ret.second; ++it)
-               sensor_list.push_back(it->second.get());
-
-       return sensor_list;
-}
-
-vector<sensor_base *> sensor_plugin_loader::get_virtual_sensors(void)
-{
-       vector<sensor_base *> virtual_list;
-       sensor_base* sensor;
-
-       for (auto sensor_it = m_sensors.begin(); sensor_it != m_sensors.end(); ++sensor_it) {
-               sensor = sensor_it->second.get();
-
-               if (sensor && sensor->is_virtual() == true) {
-                       virtual_list.push_back(sensor);
-               }
-       }
-
-       return virtual_list;
-}
index 6bf0793..8f572bc 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <systemd/sd-daemon.h>
 #include <server.h>
-#include <sensor_plugin_loader.h>
+#include <sensor_loader.h>
 #include <command_worker.h>
 #include <thread>
 #include <sys/epoll.h>
index 6ee4212..535ad28 100644 (file)
  *   humidity            : relative humidity (%)
  */
 typedef enum {
-       SENSOR_HAL_TYPE_UNKNOWN = -2,
-       SENSOR_HAL_TYPE_ALL = -1,
-       SENSOR_HAL_TYPE_ACCELEROMETER,
-       SENSOR_HAL_TYPE_GRAVITY,
-       SENSOR_HAL_TYPE_LINEAR_ACCELERATION,
-       SENSOR_HAL_TYPE_GEOMAGNETIC,
-       SENSOR_HAL_TYPE_ROTATION_VECTOR,
-       SENSOR_HAL_TYPE_ORIENTATION,
-       SENSOR_HAL_TYPE_GYROSCOPE,
-       SENSOR_HAL_TYPE_LIGHT,
-       SENSOR_HAL_TYPE_PROXIMITY,
-       SENSOR_HAL_TYPE_PRESSURE,
-       SENSOR_HAL_TYPE_ULTRAVIOLET,
-       SENSOR_HAL_TYPE_TEMPERATURE,
-       SENSOR_HAL_TYPE_HUMIDITY,
-       SENSOR_HAL_TYPE_HRM,
-       SENSOR_HAL_TYPE_HRM_LED_GREEN,
-       SENSOR_HAL_TYPE_HRM_LED_IR,
-       SENSOR_HAL_TYPE_HRM_LED_RED,
-       SENSOR_HAL_TYPE_GYROSCOPE_UNCAL,
-       SENSOR_HAL_TYPE_GEOMAGNETIC_UNCAL,
-       SENSOR_HAL_TYPE_GYROSCOPE_RV,
-       SENSOR_HAL_TYPE_GEOMAGNETIC_RV,
-
-       SENSOR_HAL_TYPE_ACTIVITY_STATIONARY = 0x100,
-       SENSOR_HAL_TYPE_ACTIVITY_WALK,
-       SENSOR_HAL_TYPE_ACTIVITY_RUN,
-       SENSOR_HAL_TYPE_ACTIVITY_IN_VEHICLE,
-       SENSOR_HAL_TYPE_ACTIVITY_ON_BICYCLE,
-
-       SENSOR_HAL_TYPE_GESTURE_MOVEMENT = 0x200,
-       SENSOR_HAL_TYPE_GESTURE_WRIST_UP,
-       SENSOR_HAL_TYPE_GESTURE_WRIST_DOWN,
-
-       SENSOR_HAL_TYPE_HUMAN_PEDOMETER = 0x300,
-       SENSOR_HAL_TYPE_HUMAN_SLEEP_MONITOR,
-
-       SENSOR_HAL_TYPE_FUSION = 0x900,
-       SENSOR_HAL_TYPE_AUTO_ROTATION,
-
-       SENSOR_HAL_TYPE_CONTEXT = 0x1000,
-       SENSOR_HAL_TYPE_MOTION,
-       SENSOR_HAL_TYPE_PIR,
-       SENSOR_HAL_TYPE_PIR_LONG,
-       SENSOR_HAL_TYPE_DUST,
-       SENSOR_HAL_TYPE_THERMOMETER,
-       SENSOR_HAL_TYPE_PEDOMETER,
-       SENSOR_HAL_TYPE_FLAT,
-       SENSOR_HAL_TYPE_HRM_RAW,
-       SENSOR_HAL_TYPE_TILT,
-       SENSOR_HAL_TYPE_ROTATION_VECTOR_RAW,
-} sensor_hal_type;
+       SENSOR_DEVICE_UNKNOWN = -2,
+       SENSOR_DEVICE_ALL = -1,
+       SENSOR_DEVICE_ACCELEROMETER,
+       SENSOR_DEVICE_GRAVITY,
+       SENSOR_DEVICE_LINEAR_ACCELERATION,
+       SENSOR_DEVICE_GEOMAGNETIC,
+       SENSOR_DEVICE_ROTATION_VECTOR,
+       SENSOR_DEVICE_ORIENTATION,
+       SENSOR_DEVICE_GYROSCOPE,
+       SENSOR_DEVICE_LIGHT,
+       SENSOR_DEVICE_PROXIMITY,
+       SENSOR_DEVICE_PRESSURE,
+       SENSOR_DEVICE_ULTRAVIOLET,
+       SENSOR_DEVICE_TEMPERATURE,
+       SENSOR_DEVICE_HUMIDITY,
+       SENSOR_DEVICE_HRM,
+       SENSOR_DEVICE_HRM_LED_GREEN,
+       SENSOR_DEVICE_HRM_LED_IR,
+       SENSOR_DEVICE_HRM_LED_RED,
+       SENSOR_DEVICE_GYROSCOPE_UNCAL,
+       SENSOR_DEVICE_GEOMAGNETIC_UNCAL,
+       SENSOR_DEVICE_GYROSCOPE_RV,
+       SENSOR_DEVICE_GEOMAGNETIC_RV,
+
+       SENSOR_DEVICE_ACTIVITY_STATIONARY = 0x100,
+       SENSOR_DEVICE_ACTIVITY_WALK,
+       SENSOR_DEVICE_ACTIVITY_RUN,
+       SENSOR_DEVICE_ACTIVITY_IN_VEHICLE,
+       SENSOR_DEVICE_ACTIVITY_ON_BICYCLE,
+
+       SENSOR_DEVICE_GESTURE_MOVEMENT = 0x200,
+       SENSOR_DEVICE_GESTURE_WRIST_UP,
+       SENSOR_DEVICE_GESTURE_WRIST_DOWN,
+
+       SENSOR_DEVICE_HUMAN_PEDOMETER = 0x300,
+       SENSOR_DEVICE_HUMAN_SLEEP_MONITOR,
+
+       SENSOR_DEVICE_FUSION = 0x900,
+       SENSOR_DEVICE_AUTO_ROTATION,
+
+       SENSOR_DEVICE_CONTEXT = 0x1000,
+       SENSOR_DEVICE_MOTION,
+       SENSOR_DEVICE_PIR,
+       SENSOR_DEVICE_PIR_LONG,
+       SENSOR_DEVICE_DUST,
+       SENSOR_DEVICE_THERMOMETER,
+       SENSOR_DEVICE_PEDOMETER,
+       SENSOR_DEVICE_FLAT,
+       SENSOR_DEVICE_HRM_RAW,
+       SENSOR_DEVICE_TILT,
+       SENSOR_DEVICE_ROTATION_VECTOR_RAW,
+} sensor_device_type;
 
 /*
  * A platform sensor handler is generated based on this handle
@@ -105,19 +105,20 @@ typedef enum {
 typedef struct sensor_handle_t {
        uint32_t id;
        std::string name;
-       sensor_hal_type type;
+       sensor_device_type type;
        unsigned int event_type; // for Internal API
        sensor_properties_s properties;
 } sensor_handle_t;
 
 /*
- * Sensor HAL interface
+ * Sensor device interface
  * 1 HAL must be abstracted from 1 device event node
  */
-class sensor_hal
+class sensor_device
 {
 public:
-       uint32_t get_hal_version(void) {
+       uint32_t get_hal_version(void)
+       {
                return SENSOR_HAL_VERSION(1, 0);
        }
 
index c627edf..2781348 100644 (file)
@@ -191,11 +191,11 @@ typedef struct sensorhub_event_t {
        sensorhub_data_t data;
 } sensorhub_event_t;
 
-typedef struct sensor_module{
-       std::vector<void*> sensors;
-} sensor_module;
+typedef struct sensor_devices {
+       std::vector<void*> devices;
+} sensor_devices;
 
-typedef sensor_module* (*create_t)(void);
+typedef sensor_devices* (*create_t)(void);
 
 typedef void *(*cmd_func_t)(void *data, void *cb_data);