#include <channel.h>
#include <sensor_log.h>
#include <sensor_types.h>
+#include <sensor_utils.h>
#include <ipc_client.h>
#include <command_types.h>
-#include "sensor_provider_handler.h"
+#include "sensor_provider_channel_handler.h"
using namespace sensor;
m_client = new(std::nothrow) ipc::ipc_client(SENSOR_CHANNEL_PATH);
retvm_if(!m_client, false, "Failed to allocate memory");
- m_handler = new(std::nothrow) sensor_provider_handler(this);
+ m_handler = new(std::nothrow) channel_handler(this);
if (!m_handler) {
delete m_client;
return false;
m_sensor.set_min_range(0);
m_sensor.set_max_range(1);
m_sensor.set_resolution(1);
- m_sensor.set_privilege(PRIV_APPLICATION_SENSOR);
+ /* TODO: temporary walkaround */
+ const char *priv = sensor::utils::get_privilege(uri);
+ m_sensor.set_privilege(priv);
return true;
}
return OP_SUCCESS;
}
-bool sensor_provider::connect(void)
+int sensor_provider::connect(void)
{
m_channel = m_client->connect(m_handler, &m_loop);
- retvm_if(!m_channel, false, "Failed to connect to server");
+ retvm_if(!m_channel, -EIO, "Failed to connect to server");
/* serialize and send sensor info */
send_sensor_info(get_sensor_info());
_I("Provider URI[%s]", get_uri());
- return true;
+ return OP_SUCCESS;
}
bool sensor_provider::disconnect(void)
retv_if(!is_connected(), false);
m_connected.store(false);
- ipc::message msg(OP_SUCCESS);
- ipc::message reply;
-
- msg.set_type(CMD_PROVIDER_DISCONNECT);
-
- m_channel->send_sync(&msg);
- m_channel->read_sync(reply);
-
m_channel->disconnect();
-
delete m_channel;
m_channel = NULL;
m_handler->set_stop_cb(cb, user_data);
}
-void sensor_provider::set_interval_cb(sensord_provider_set_interval_cb cb, void *user_data)
+void sensor_provider::set_interval_cb(sensord_provider_interval_changed_cb cb, void *user_data)
{
m_handler->set_interval_cb(cb, user_data);
}