- all of sensor handlers has sensor information as common part.
Change-Id: I45d14a742e246725cbd97070e80dd568678f6755
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
using namespace sensor;
application_sensor_handler::application_sensor_handler(const sensor_info &info, ipc::channel *ch)
-: m_info(info)
+: sensor_handler(info)
, m_ch(ch)
, m_started(false)
, m_prev_interval(0)
int get_data(sensor_data_t **data, int *len);
private:
- sensor_info m_info;
ipc::channel *m_ch;
std::atomic<bool> m_started;
int32_t m_prev_interval;
external_sensor_handler::external_sensor_handler(const sensor_info &info,
external_sensor *sensor)
-: m_info(info)
+: sensor_handler(info)
, m_notifier(NULL)
, m_policy(OP_DEFAULT)
{
int get_min_interval(void);
int get_min_batch_latency(void);
- sensor_info m_info;
external_sensor *m_sensor;
sensor_notifier *m_notifier;
int m_policy;
fusion_sensor_handler::fusion_sensor_handler(const sensor_info &info,
fusion_sensor *sensor)
-: m_info(info)
+: sensor_handler(info)
, m_sensor(sensor)
{
}
int get_min_interval(void);
int get_min_batch_latency(void);
- sensor_info m_info;
fusion_sensor *m_sensor;
std::unordered_map<std::string, required_sensor> m_required_sensors;
physical_sensor_handler::physical_sensor_handler(const sensor_info &info,
sensor_device *device, int hal_id,
physical_sensor *sensor)
-: m_info(info)
+: sensor_handler(info)
, m_device(device)
, m_sensor(sensor)
, m_hal_id(hal_id)
, m_prev_interval(0)
{
- /* TODO: temporary walkaround */
- switch (m_info.get_type()) {
- case HRM_SENSOR:
- case HRM_LED_GREEN_SENSOR:
- case HRM_LED_IR_SENSOR:
- case HRM_LED_RED_SENSOR:
- case HUMAN_PEDOMETER_SENSOR:
- case HUMAN_SLEEP_MONITOR_SENSOR:
- case HUMAN_SLEEP_DETECTOR_SENSOR:
- case HUMAN_STRESS_MONITOR_SENSOR:
- m_info.set_privilege("http://tizen.org/privilege/healthinfo");
- break;
- default:
- break;
- };
}
physical_sensor_handler::~physical_sensor_handler()
int get_min_interval(void);
int get_min_batch_latency(void);
- sensor_info m_info;
sensor_device *m_device;
physical_sensor *m_sensor;
uint32_t m_hal_id;
*
*/
+#include "sensor_handler.h"
+
#include <message.h>
#include <sensor_log.h>
-#include "sensor_handler.h"
using namespace sensor;
+sensor_handler::sensor_handler(const sensor_info &info)
+: m_info(info)
+{
+}
+
bool sensor_handler::has_observer(sensor_observer *ob)
{
for (auto it = m_observers.begin(); it != m_observers.end(); ++it) {
class sensor_handler : public sensor_publisher {
public:
+ sensor_handler(const sensor_info &info);
virtual ~sensor_handler() {}
/* publisher */
virtual int flush(sensor_observer *ob) = 0;
virtual int get_data(sensor_data_t **data, int *len) = 0;
+protected:
+ sensor_info m_info;
+
private:
std::list<sensor_observer *> m_observers;
};