bool first_connection = false;
sensor_info* info = sensor_to_sensor_info(sensor);
-
- retvm_if(!sensor_info_manager::get_instance().is_valid(info),
- OP_ERROR, "Invalid param: sensor (%p)", sensor);
+ retv_if(!sensor_info_manager::get_instance().is_valid(info), OP_ERROR);
sensor_id_t sensor_id = info->get_id();
AUTOLOCK(lock);
if (!sensor_client_info::get_instance().get_sensor_id(handle, sensor_id)) {
- _E("client %s failed to get handle information", get_client_name());
+ _W("client %s failed to get handle information", get_client_name());
return false;
}
}
if (cmd_done->value < 0) {
- _E("client %s got error[%d] from server with sensor [%s]",
+ _W("client %s got value[%d] from server with sensor [%s]",
get_client_name(), cmd_done->value, get_sensor_name(sensor));
delete[] (char *)cmd_done;
handle++;
if (handle == MAX_HANDLE) {
- _E("Handles of client %s are full", get_client_name());
+ _W("Handles of client %s are full", get_client_name());
return MAX_HANDLE_REACHED;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_channel = m_command_channels.find(sensor);
if (it_channel != m_command_channels.end()) {
- _E("%s alreay has command_channel for %s", get_client_name(), get_sensor_name(sensor));
+ _W("%s alreay has command_channel for %s", get_client_name(), get_sensor_name(sensor));
return false;
}
auto it_channel = m_command_channels.find(sensor);
if (it_channel == m_command_channels.end()) {
- _E("%s doesn't have command_channel for %s", get_client_name(), get_sensor_name(sensor));
+ _W("%s doesn't have command_channel for %s", get_client_name(), get_sensor_name(sensor));
return false;
}
auto it_channel = m_command_channels.find(sensor_id);
if (it_channel == m_command_channels.end()) {
- _E("%s doesn't have command_channel for %s", get_client_name(), get_sensor_name(sensor_id));
+ _W("%s doesn't have command_channel for %s", get_client_name(), get_sensor_name(sensor_id));
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
auto it_handle = m_sensor_handle_infos.find(handle);
if (it_handle == m_sensor_handle_infos.end()) {
- _E("Handle[%d] is not found for client %s", handle, get_client_name());
+ _W("Handle[%d] is not found for client %s", handle, get_client_name());
return false;
}
m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
if (!m_accel_sensor) {
- _E("cannot load accel sensor_hal from %s", get_name());
+ _W("cannot load accel sensor_hal from %s", get_name());
return false;
}
m_gravity_sensor = sensor_loader::get_instance().get_sensor(GRAVITY_SENSOR);
if (!m_gravity_sensor) {
- _E("cannot load gravity sensor sensor[%s]", SENSOR_NAME);
+ _W("cannot load gravity sensor sensor[%s]", SENSOR_NAME);
return false;
}
m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
if (!m_accel_sensor) {
- _E("cannot load accelerometer sensor_hal[%s]", get_name());
+ _W("cannot load accelerometer sensor_hal[%s]", get_name());
return false;
}
int accuracy;
if (!m_fusion->get_rotation_vector(x, y, z, w, heading_accuracy, accuracy)) {
- _E("Failed to get rotation vector");
+ _W("Failed to get rotation vector");
return;
}
m_accel_sensor = sensor_loader::get_instance().get_sensor(ACCELEROMETER_SENSOR);
if (!m_accel_sensor) {
- _E("cannot load accelerometer sensor_hal[%s]", get_name());
+ _W("cannot load accelerometer sensor_hal[%s]", get_name());
return false;
}
m_gravity_sensor = sensor_loader::get_instance().get_sensor(GRAVITY_SENSOR);
if (!m_gravity_sensor) {
- _E("cannot load gravity sensor_hal[%s]", get_name());
+ _W("cannot load gravity sensor_hal[%s]", get_name());
return false;
}
m_rotation_vector_sensor = sensor_loader::get_instance().get_sensor(ROTATION_VECTOR_SENSOR);
if (!m_rotation_vector_sensor) {
- _E("cannot load sensor[%s]", SENSOR_NAME);
+ _W("cannot load sensor[%s]", SENSOR_NAME);
return false;
}
_I("%s is created!", SENSOR_NAME);
m_gyro_sensor = sensor_loader::get_instance().get_sensor(GYROSCOPE_SENSOR);
if (!m_accel_sensor || !m_gyro_sensor) {
- _E("cannot load sensors[%s]", SENSOR_NAME);
+ _W("cannot load sensors[%s]", SENSOR_NAME);
return false;
}
m_mag_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
if (!m_accel_sensor || !m_mag_sensor) {
- _E("cannot load sensors[%s]", SENSOR_NAME);
+ _W("cannot load sensors[%s]", SENSOR_NAME);
return false;
}
m_mag_sensor = sensor_loader::get_instance().get_sensor(GEOMAGNETIC_SENSOR);
if (!m_accel_sensor || !m_gyro_sensor|| !m_mag_sensor) {
- _E("cannot load sensors[%s]", SENSOR_NAME);
+ _W("cannot load sensors[%s]", SENSOR_NAME);
return false;
}
register_supported_event(TILT_RAW_DATA_EVENT);
if (!config.get(SENSOR_TYPE_TILT, ELEMENT_VENDOR, m_vendor)) {
- _E("[VENDOR] is empty\n");
+ _W("[VENDOR] is empty\n");
throw ENXIO;
}
_I("m_vendor = %s", m_vendor.c_str());
if (!config.get(SENSOR_TYPE_TILT, ELEMENT_RAW_DATA_UNIT, m_raw_data_unit)) {
- _E("[RAW_DATA_UNIT] is empty\n");
+ _W("[RAW_DATA_UNIT] is empty\n");
throw ENXIO;
}
_I("m_raw_data_unit = %s", m_raw_data_unit.c_str());
if (!config.get(SENSOR_TYPE_TILT, ELEMENT_DEFAULT_SAMPLING_TIME, &m_default_sampling_time)) {
- _E("[DEFAULT_SAMPLING_TIME] is empty\n");
+ _W("[DEFAULT_SAMPLING_TIME] is empty\n");
throw ENXIO;
}
_I("m_default_sampling_time = %d", m_default_sampling_time);
if (!config.get(SENSOR_TYPE_TILT, ELEMENT_PITCH_ROTATION_COMPENSATION, &m_pitch_rotation_compensation)) {
- _E("[PITCH_ROTATION_COMPENSATION] is empty\n");
+ _W("[PITCH_ROTATION_COMPENSATION] is empty\n");
throw ENXIO;
}
_I("m_pitch_rotation_compensation = %d", m_pitch_rotation_compensation);
if (!config.get(SENSOR_TYPE_TILT, ELEMENT_ROLL_ROTATION_COMPENSATION, &m_roll_rotation_compensation)) {
- _E("[ROLL_ROTATION_COMPENSATION] is empty\n");
+ _W("[ROLL_ROTATION_COMPENSATION] is empty\n");
throw ENXIO;
}
m_fusion_sensor = sensor_loader::get_instance().get_sensor(FUSION_SENSOR);
if (!m_accel_sensor || !m_fusion_sensor) {
- _E("Failed to load sensors, accel: %#x, fusion: %#x",
+ _W("Failed to load sensors, accel: %#x, fusion: %#x",
m_accel_sensor, m_fusion_sensor);
return false;
}
return false;
}
+ /*
+ * TODO: get_sensor_list() command is processed on one-time connection in the current architecture.
+ * but it doesn't need to use one-time connection.
+ */
+ m_socket.close();
+
return true;
}
m_module = (sensor_base *)sensor_loader::get_instance().get_sensor(cmd->sensor);
if (!m_module) {
- _E("Sensor type[%d] is not supported", cmd->sensor);
+ _W("Sensor type[%d] is not supported", cmd->sensor);
if (!get_client_info_manager().has_sensor_record(m_client_id))
get_client_info_manager().remove_client_record(m_client_id);
}
if (!instance->init()) {
- _E("Failed to init %s", name);
+ _W("Failed to init %s", name);
delete instance;
return;
}
void server::stop(void)
{
- _I("Sensord server stopped");
+ if (!m_running)
+ return;
m_running = false;
g_main_loop_unref(m_mainloop);
m_mainloop = NULL;
}
+
+ _I("Sensord server stopped");
}
server& server::get_instance(void)
{
if (m_trans_func[index] != NULL) {
if (!m_trans_func[index](m_context)) {
- _E("Transition[%d] function returning false", index);
+ _W("Transition[%d] function returning false", index);
return false;
}
}
int length;
mode_t socket_mode;
- if (!is_valid()) {
- _E("%s's socket is invalid", get_client_name());
+ if (!is_valid())
return false;
- }
if (!access(sock_path, F_OK)) {
unlink(sock_path);
bool csocket::listen(const int max_connections)
{
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return false;
- }
if (::listen(m_sock_fd, max_connections) < 0) {
_ERRNO(errno, _E, "Failed to listen for socket[%d]", m_sock_fd);
ssize_t csocket::send(const void *buffer, size_t size) const
{
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return -EINVAL;
- }
if (m_sock_type == SOCK_STREAM)
return send_for_stream(buffer, size);
ssize_t csocket::recv(void* buffer, size_t size) const
{
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return -EINVAL;
- }
if (m_sock_type == SOCK_STREAM)
return recv_for_stream(buffer, size);
int addr_len;
bool prev_blocking_mode;
- if (!is_valid()) {
- _E("%s's socket is invalid", get_client_name());
+ if (!is_valid())
return false;
- }
prev_blocking_mode = is_blocking_mode();
{
int flags;
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return false;
- }
flags = fcntl(m_sock_fd, F_GETFL);
opt_len = sizeof(sock_type);
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return false;
- }
if (getsockopt(m_sock_fd, SOL_SOCKET, SO_TYPE, &sock_type, &opt_len) < 0) {
_ERRNO(errno, _E, "getsockopt(SOL_SOCKET, SO_TYPE) failed for %s, m_sock_fd: %d",
tv.tv_sec = TIMEOUT;
tv.tv_usec = 0;
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return false;
- }
if (setsockopt(m_sock_fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0) {
_ERRNO(errno, _E, "Set SO_RCVTIMEO failed for %s, m_sock_fd : %d", get_client_name(), m_sock_fd);
{
int flags;
- if (!is_valid()) {
- _E("Socket(%d) is invalid", m_sock_fd);
+ if (!is_valid())
return false;
- }
flags = fcntl(m_sock_fd, F_GETFL);
{
if (m_sock_fd >= 0) {
if (::close(m_sock_fd) < 0) {
- _ERRNO(errno, _E, "Failed to close socket[%d]", m_sock_fd);
+ _ERRNO(errno, _W, "Failed to close socket[%d]", m_sock_fd);
return false;
}
m_sock_fd = -1;