#include <map>
#include <atomic>
-#include "sensor_provider_handler.h"
-
namespace sensor {
class sensor_provider {
const char *get_uri(void);
sensor_info *get_sensor_info(void);
- bool connect(void);
+ int connect(void);
bool disconnect(void);
void restore(void);
void set_start_cb(sensord_provider_start_cb cb, void *user_data);
void set_stop_cb(sensord_provider_stop_cb cb, void *user_data);
- void set_interval_cb(sensord_provider_set_interval_cb cb, void *user_data);
+ void set_interval_cb(sensord_provider_interval_changed_cb cb, void *user_data);
int publish(sensor_data_t *data, int len);
private:
+ class channel_handler;
+
bool init(const char *uri);
void deinit(void);
ipc::ipc_client *m_client;
ipc::channel *m_channel;
ipc::event_loop m_loop;
- sensor_provider_handler *m_handler;
+ channel_handler *m_handler;
std::atomic<bool> m_connected;
};