ret = _bt_get_adapter_path(_bt_gdbus_get_system_gconn(), NULL);
- if (ret != BLUETOOTH_ERROR_NONE) {
+ if (ret != BLUETOOTH_ERROR_NONE)
return BLUETOOTH_ADAPTER_LE_DISABLED;
- }
ret = vconf_get_int(VCONFKEY_BT_LE_STATUS, &value);
if (ret != 0) {
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_SCAN_FILTER_SUPPORTED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
is_scan_filter_supported = g_array_index(out_param, int, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
}
- if (is_scan_filter_supported == 1) {
+ if (is_scan_filter_supported == 1)
return TRUE;
- }
return FALSE;
}
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_REGISTER_SCAN_FILTER,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*slot_id = g_array_index(out_param, int, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_ADVERTISING,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*is_advertising = g_array_index(out_param, int, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
BT_ERR("Failed to Write the host suggested default data length values : %d", result);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_LE_SET_DATA_LENGTH,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
BT_ERR("Failed to Set data length values : %d", result);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
dev_info = g_memdup(&info, sizeof(bluetooth_device_info_t));
- if (dev_info) {
+ if (dev_info)
g_ptr_array_add(*dev_list, (gpointer)dev_info);
- }
}
return BLUETOOTH_ERROR_NONE;
ret = _bt_get_adapter_path(_bt_gdbus_get_system_gconn(), NULL);
- if (ret != BLUETOOTH_ERROR_NONE) {
+ if (ret != BLUETOOTH_ERROR_NONE)
return BLUETOOTH_ADAPTER_DISABLED;
- }
#endif
/* check VCONFKEY_BT_STATUS */
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_GET_LOCAL_VERSION,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*local_version = g_array_index(out_param, bluetooth_version_t, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_SERVICE_USED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*used = g_array_index(out_param, gboolean, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
return BLUETOOTH_ERROR_DEVICE_NOT_ENABLED;
}
- if (timeout == -1) {
+ if (timeout == -1)
*discoverable_mode_ptr = BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE;
- } else {
+ else
*discoverable_mode_ptr = BLUETOOTH_DISCOVERABLE_MODE_CONNECTABLE;
- }
return BLUETOOTH_ERROR_NONE;
}
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_GET_DISCOVERABLE_MODE,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*discoverable_mode_ptr = g_array_index(out_param, int, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_GET_DISCOVERABLE_TIME,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*timeout = g_array_index(out_param, int, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_CONNECTABLE,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*is_connectable = g_array_index(out_param, int, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
addr = g_memdup(ptr, sizeof(bluetooth_device_address_t));
- if (addr) {
+ if (addr)
g_ptr_array_add(*addr_list, (gpointer)addr);
- }
}
}
}
g_variant_get(reply, "(i)", &sco_audio_connected_from_bt_agent);
*audio_connected = sco_audio_connected_from_bt_agent;
- if (*audio_connected == BLUETOOTH_HF_AUDIO_CONNECTED) {
+ if (*audio_connected == BLUETOOTH_HF_AUDIO_CONNECTED)
BT_DBG("SCO Audio is Connected");
- } else {
+ else
BT_DBG("SCO Audio is Disconnected");
- }
g_variant_unref(reply);
return BLUETOOTH_ERROR_NONE;
GDBusConnection *_bt_gdbus_get_system_gconn(void)
{
-
-
- if (system_gconn == NULL) {
+ if (system_gconn == NULL)
system_gconn = _bt_gdbus_init_system_gconn();
- } else if (g_dbus_connection_is_closed(system_gconn)) {
+ else if (g_dbus_connection_is_closed(system_gconn))
system_gconn = g_bus_get_private_conn();
- }
return system_gconn;
}
void _bt_convert_addr_string_to_type(unsigned char *addr,
const char *address)
{
- int i;
- char *ptr = NULL;
+ int i;
+ char *ptr = NULL;
ret_if(address == NULL);
ret_if(addr == NULL);
- for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
- addr[i] = strtol(address, &ptr, 16);
- if (ptr[0] != '\0') {
- if (ptr[0] != ':')
- return;
+ for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
+ addr[i] = strtol(address, &ptr, 16);
+ if (ptr[0] != '\0') {
+ if (ptr[0] != ':')
+ return;
- address = ptr + 1;
- }
- }
+ address = ptr + 1;
+ }
+ }
}
void _bt_convert_addr_string_to_secure_string(char *addr,
dev_addr += 4;
g_strlcpy(address, dev_addr, sizeof(address));
- while ((pos = strchr(address, '_')) != NULL) {
+ while ((pos = strchr(address, '_')) != NULL)
*pos = ':';
- }
g_strlcpy(device_address, address, BT_ADDRESS_STRING_SIZE);
}
retv_if(object_path == NULL, NULL);
_bt_convert_device_path_to_address(object_path, device_address);
- if (g_strcmp0(address, device_address) == 0) {
+ if (g_strcmp0(address, device_address) == 0)
return g_strdup(object_path);
- }
}
return NULL;
}
if (bt_enabled == TRUE)
return TRUE;
- if (bluetooth_check_adapter() == BLUETOOTH_ADAPTER_ENABLED) {
+ if (bluetooth_check_adapter() == BLUETOOTH_ADAPTER_ENABLED)
bt_enabled = TRUE;
- }
return bt_enabled;
}
ret = _bt_deinit_event_handler();
- if (ret != BLUETOOTH_ERROR_NONE) {
+ if (ret != BLUETOOTH_ERROR_NONE)
BT_ERR("Fail to deinit the event handler");
- }
_bt_unregister_name_owner_changed();
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_IS_DEVICE_CONNECTED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*is_connected = g_array_index(out_param, gboolean, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_GET_CONNECTED_LINK_TYPE,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*connected = g_array_index(out_param, guint, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_GET_ATT_MTU,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*mtu = g_array_index(out_param, unsigned int, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_SET_PROFILE_TRUSTED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
BT_DBG("SUCCESSFUL");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_SET_PROFILE_RESTRICTED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
BT_DBG("SUCCESSFUL");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
dpm_status = _bt_check_dpm_blacklist_uuid(BT_OPP_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
bluetooth_dpm_get_data_transfer_state(&dpm_value);
dpm_status = _bt_check_dpm_blacklist_uuid(BT_HFP_AUDIO_GATEWAY_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
dpm_status = _bt_check_dpm_blacklist_uuid(BT_HSP_AUDIO_GATEWAY_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
+
return dpm_status;
}
dpm_status = _bt_check_dpm_blacklist_uuid(BT_A2DP_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
return dpm_status;
}
dpm_status = _bt_check_dpm_blacklist_uuid(BT_AVRCP_TARGET_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
return dpm_status;
}
dpm_status = _bt_check_dpm_blacklist_uuid(BT_SPP_UUID);
- if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) {
+ if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED)
return dpm_status;
- }
return dpm_status;
}
#endif
#ifdef TIZEN_DPM_VCONF_ENABLE
- if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0)
BT_ERR("Error in reading VCONFKEY_BT_STATUS");
- }
if (bt_status == VCONFKEY_BT_STATUS_ON) {
if (vconf_set_int(VCONFKEY_BT_DPM_STATUS, value) != 0) {
BT_ERR("Set VCONFKEY_BT_DPM_STATUS failed\n");
result = BLUETOOTH_DPM_RESULT_FAIL;
- } else
+ } else {
+ BT_ERR("Set VCONFKEY_BT_DPM_STATUS success\n");
result = BLUETOOTH_DPM_RESULT_SUCCESS;
+ }
BT_INIT_PARAMS();
BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result, &dev_address,
event_info->cb, event_info->user_data);
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
__bt_remove_push_request_id(request_id);
- }
+
} else if (strcasecmp(signal_name, BT_OPP_DISCONNECTED) == 0) {
const char *address = NULL;
int request_id = 0;
_bt_hf_event_cb(BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED,
result, &dev_event,
event_info->cb, event_info->user_data);
- } else if (strcasecmp(property, "SignalStrength") == 0) {
+ } else if (strcasecmp(property, "SignalStrength") == 0) {
dev_event.event = BLUETOOTH_HF_CIEV_SIGNAL;
_bt_hf_event_cb(BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED,
result, &dev_event,
event_info->cb, event_info->user_data);
- } else if (strcasecmp(property, "RegistrationStatus") == 0) {
+ } else if (strcasecmp(property, "RegistrationStatus") == 0) {
dev_event.event = BLUETOOTH_HF_CIEV_SERVICE;
_bt_hf_event_cb(BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED,
result, &dev_event,
{
bt_event_info_t *info;
- while ((info = g_slist_nth_data(event_list, 0)) != NULL) {
+ while ((info = g_slist_nth_data(event_list, 0)) != NULL)
_bt_unregister_event(info->event_type);
- }
if (event_list) {
g_slist_free(event_list);
if (info == NULL)
continue;
- if (info->server_fd == server_fd) {
+ if (info->server_fd == server_fd)
server_list = g_slist_remove(server_list, (void *)info);
- }
g_free(info);
}
BT_INFO("Set watcher for %s with %d", secure_address, enable);
if (enable == TRUE) {
- if (service_monitor_list == NULL) {
+ if (service_monitor_list == NULL)
_bt_register_manager_subscribe_signal(TRUE);
- }
if (_bluetooth_gatt_check_service_change_watcher_address(address)
== TRUE) {
}
}
- if (service_monitor_list == NULL) {
+ if (service_monitor_list == NULL)
_bt_register_manager_subscribe_signal(FALSE);
- }
}
return BLUETOOTH_ERROR_NONE;
} else if (!g_strcmp0(key, "Includes")) {
g_variant_get(value, "ao", &char_iter);
gp_array = g_ptr_array_new();
- while (g_variant_iter_loop(char_iter, "&o", &char_handle)) {
+ while (g_variant_iter_loop(char_iter, "&o", &char_handle))
g_ptr_array_add(gp_array, (gpointer)char_handle);
- }
+
if (gp_array->len != 0) {
service->include_handles.count = gp_array->len;
service->include_handles.handle =
} else if (!g_strcmp0(key, "Characteristics")) {
g_variant_get(value, "ao", &char_iter);
gp_array = g_ptr_array_new();
- while (g_variant_iter_loop(char_iter, "&o", &char_handle)) {
+ while (g_variant_iter_loop(char_iter, "&o", &char_handle))
g_ptr_array_add(gp_array, (gpointer)char_handle);
- }
+
if (gp_array->len != 0) {
service->char_handle.count = gp_array->len;
service->char_handle.handle =
BT_INFO("permission = %s", permission);
- if (!g_strcmp0(permission, "broadcast")) {
+ if (!g_strcmp0(permission, "broadcast"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_BROADCAST;
- } else if (!g_strcmp0(permission, "read")) {
+ else if (!g_strcmp0(permission, "read"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_READ;
- } else if (!g_strcmp0(permission, "write-without-response")) {
+ else if (!g_strcmp0(permission, "write-without-response"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_WRITE_NO_RESPONSE;
- } else if (!g_strcmp0(permission, "write")) {
+ else if (!g_strcmp0(permission, "write"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_WRITE;
- } else if (!g_strcmp0(permission, "notify")) {
+ else if (!g_strcmp0(permission, "notify"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_NOTIFY;
- } else if (!g_strcmp0(permission, "indicate")) {
+ else if (!g_strcmp0(permission, "indicate"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_INDICATE;
- } else if (!g_strcmp0(permission, "authenticated-signed-writes")) {
+ else if (!g_strcmp0(permission, "authenticated-signed-writes"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_SIGNED_WRITE;
- } else if (!g_strcmp0(permission, "reliable-write")) {
+ else if (!g_strcmp0(permission, "reliable-write"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_RELIABLE_WRITE;
- } else if (!g_strcmp0(permission, "writable-auxiliaries")) {
+ else if (!g_strcmp0(permission, "writable-auxiliaries"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_WRITABLE_AUXILIARIES;
- } else if (!g_strcmp0(permission, "encrypt-read")) {
+ else if (!g_strcmp0(permission, "encrypt-read"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_ENCRYPT_READ;
- } else if (!g_strcmp0(permission, "encrypt-write")) {
+ else if (!g_strcmp0(permission, "encrypt-write"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_ENCRYPT_WRITE;
- } else if (!g_strcmp0(permission, "encrypt-authenticated-read")) {
+ else if (!g_strcmp0(permission, "encrypt-authenticated-read"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_ENCRYPT_AUTHENTICATED_READ;
- } else if (!g_strcmp0(permission, "encrypt-authenticated-write")) {
+ else if (!g_strcmp0(permission, "encrypt-authenticated-write"))
ret = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_ENCRYPT_AUTHENTICATED_WRITE;
- }
return ret;
}
} else if (!g_strcmp0(key, "Descriptors")) {
g_variant_get(value, "ao", &char_desc_iter);
gp_array = g_ptr_array_new();
- while (g_variant_iter_loop(char_desc_iter, "&o", &char_desc_handle)) {
+ while (g_variant_iter_loop(char_desc_iter, "&o", &char_desc_handle))
g_ptr_array_add(gp_array, (gpointer)char_desc_handle);
- }
+
g_variant_iter_free(char_desc_iter);
if (gp_array->len != 0) {
characteristic->char_desc_handle.count = gp_array->len;
gp_byte_array = g_byte_array_new();
g_variant_get(value, "(ay)", &iter);
- while (g_variant_iter_loop(iter, "y", &g_byte)) {
+ while (g_variant_iter_loop(iter, "y", &g_byte))
g_byte_array_append(gp_byte_array, &g_byte, 1);
- }
if (gp_byte_array->len != 0) {
char_value.val_len = gp_byte_array->len;
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < length; i++) {
+ for (i = 0; i < length; i++)
g_variant_builder_add(builder, "y", value[i]);
- }
val = g_variant_new("(ay)", builder);
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < length; i++) {
+ for (i = 0; i < length; i++)
g_variant_builder_add(builder, "y", value[i]);
- }
val = g_variant_new("ay", builder);
g_dbus_connection_call(conn,
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < length; i++) {
+ for (i = 0; i < length; i++)
g_variant_builder_add(builder, "y", value[i]);
- }
val = g_variant_new("(ay)", builder);
GVariantBuilder *svc_builder = NULL;
GVariantBuilder *inner_builder = NULL;
- if (register_pending_cnt > 1) {
+ if (register_pending_cnt > 1)
l1 = g_slist_nth(gatt_services, len - register_pending_cnt);
- } else {
+ else
l1 = g_slist_last(gatt_services);
- }
+
register_pending_cnt--;
if (l1 == NULL) {
for (l = gatt_requests; l != NULL; l = l->next) {
struct gatt_req_info *req_info = l->data;
- if (req_info && req_info->request_id == request_id) {
+ if (req_info && req_info->request_id == request_id)
return req_info;
- }
}
BT_ERR("Gatt Request not found");
return NULL;
char_info->char_id = object_id;
char_info->char_uuid = g_strdup(char_uuid);
- for (i = 0; i < flag_count; i++) {
+ for (i = 0; i < flag_count; i++)
char_info->char_flags[i] = char_flags[i];
- }
+
char_info->flags_length = flag_count;
builder2 = g_variant_builder_new(G_VARIANT_TYPE("as"));
- for (i = 0; i < flag_count; i++) {
+ for (i = 0; i < flag_count; i++)
g_variant_builder_add(builder2, "s", char_flags[i]);
- }
flags_val = g_variant_new("as", builder2);
g_variant_builder_add(inner_builder, "{sv}", "Flags",
builder1 = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
- for (i = 0; i < value_length; i++) {
+ for (i = 0; i < value_length; i++)
g_variant_builder_add(builder1, "y", char_value[i]);
- }
char_val = g_variant_new("ay", builder1);
g_variant_builder_add(inner_builder, "{sv}", "Value", char_val);
desc_info->desc_id = object_id;
desc_info->desc_uuid = g_strdup(desc_uuid);
- for (i = 0; i < flag_count; i++) {
+ for (i = 0; i < flag_count; i++)
desc_info->desc_flags[i] = desc_flags[i];
- }
desc_info->flags_length = flag_count;
builder2 = g_variant_builder_new(G_VARIANT_TYPE("as"));
- for (i = 0; i < flag_count; i++) {
+ for (i = 0; i < flag_count; i++)
g_variant_builder_add(builder2, "s", desc_flags[i]);
- }
flags_val = g_variant_new("as", builder2);
g_variant_builder_add(inner_builder, "{sv}", "Flags",
builder1 = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
- for (i = 0; i < value_length; i++) {
+ for (i = 0; i < value_length; i++)
g_variant_builder_add(builder1, "y", desc_value[i]);
- }
+
desc_val = g_variant_new("ay", builder1);
g_variant_builder_add(inner_builder, "{sv}", "Value", desc_val);
invalidated_builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
inner_builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
- for (i = 0; i < value_length; i++) {
+ for (i = 0; i < value_length; i++)
g_variant_builder_add(inner_builder, "y", char_value[i]);
- }
update_value = g_variant_new("ay", inner_builder);
char_info->char_value = (char *)realloc(char_info->char_value, value_length);
if (char_info->char_value) {
- for (i = 0; i < value_length; i++) {
+ for (i = 0; i < value_length; i++)
char_info->char_value[i] = char_value[i];
- }
}
}
}
ret = g_dbus_connection_unregister_object(g_conn, svc_info->prop_id);
- if (ret) {
+ if (ret)
BT_DBG("Unregistered the service on properties interface");
- }
/* list remove & free */
gatt_services = g_slist_remove(gatt_services, svc_info);
new_service = FALSE;
- if (gatt_services == NULL) {
+ if (gatt_services == NULL)
serv_id = 1;
- } else if (gatt_services->next == NULL) {
+ else if (gatt_services->next == NULL)
serv_id--;
- }
return err;
}
if (signal_name == NULL)
return;
- if (strcasecmp(signal_name, "ChannelConnected") == 0)
+ if (strcasecmp(signal_name, "ChannelConnected") == 0)
__bt_hdp_internal_handle_connect(parameters);
else if (strcasecmp(signal_name, "ChannelDeleted") == 0)
}
reply = g_dbus_proxy_call_with_unix_fd_list_sync(proxy,
- "Acquire",
- NULL,
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- NULL,
- &out_fd_list,
- NULL,
- &err);
+ "Acquire", NULL,
+ G_DBUS_CALL_FLAGS_NONE,
+ -1, NULL, &out_fd_list,
+ NULL, &err);
g_object_unref(proxy);
while (g_variant_iter_loop(property_iter, "{sv}", &property, &value)) {
BT_DBG("String received = %s\n", property);
- if (g_strcmp0("Type", property) == 0) {
+ if (g_strcmp0("Type", property) == 0)
type_qos = g_variant_dup_string(value, &len);
- } else if (g_strcmp0("Device", property) == 0) {
+ else if (g_strcmp0("Device", property) == 0)
device = g_variant_dup_string(value, &len);
- } else if (g_strcmp0("Application", property) == 0) {
+ else if (g_strcmp0("Application", property) == 0)
app_handle = g_variant_dup_string(value, &len);
- }
}
g_variant_iter_free(property_iter);
if (err != NULL) {
g_dbus_error_strip_remote_error(err);
BT_ERR("INPUT server register Error: %s\n", err->message);
- if (g_strcmp0(err->message, "Already Exists") == 0) {
+ if (g_strcmp0(err->message, "Already Exists") == 0)
ret = BLUETOOTH_ERROR_ALREADY_INITIALIZED;
- } else {
+ else
ret = BLUETOOTH_ERROR_INTERNAL;
- }
+
g_error_free(err);
}
} else {
if (cond & (G_IO_NVAL | G_IO_HUP | G_IO_ERR)) {
BT_ERR_C("HID disconnected: %d", info->ctrl_fd);
- if (info->disconnect_idle_id > 0) {
- BT_INFO("Disconnect idle still not process remove source");
- g_source_remove(info->disconnect_idle_id);
- info->disconnect_idle_id = 0;
- }
+ if (info->disconnect_idle_id > 0) {
+ BT_INFO("Disconnect idle still not process remove source");
+ g_source_remove(info->disconnect_idle_id);
+ info->disconnect_idle_id = 0;
+ }
__hid_disconnect(info);
return FALSE;
}
+
status = g_io_channel_read_chars(chan, buffer, BT_RFCOMM_BUFFER_LEN,
&len, &err);
if (status == G_IO_STATUS_NORMAL) {
data.address = g_strdup(info->address);
switch (type) {
- case BT_HID_TRANS_HANDSHAKE:
- BT_INFO("TRANS HANDSHAKE");
- data.type = HTYPE_TRANS_HANDSHAKE;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- break;
- case BT_HID_TRANS_HID_CONTROL:
- BT_INFO("HID CONTROL");
- data.type = HTYPE_TRANS_HID_CONTROL;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- break;
- case BT_HID_TRANS_DATA:
- BT_INFO("TRANS DATA");
- data.type = HTYPE_TRANS_DATA;
- if (param & BT_HID_DATA_RTYPE_INPUT) {
- BT_INFO("Input Report");
- data.param = PTYPE_DATA_RTYPE_INPUT;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- } else {
- BT_INFO("Out Report");
- data.param = PTYPE_DATA_RTYPE_OUTPUT;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- }
- break;
- case BT_HID_TRANS_GET_REPORT: {
- BT_INFO("Get Report");
- data.type = HTYPE_TRANS_GET_REPORT;
- if (param & BT_HID_DATA_RTYPE_INPUT) {
- BT_INFO("Input Report");
- data.param = PTYPE_DATA_RTYPE_INPUT;
- } else {
- BT_INFO("Output Report");
- data.param = PTYPE_DATA_RTYPE_OUTPUT;
- }
+ case BT_HID_TRANS_HANDSHAKE:
+ BT_INFO("TRANS HANDSHAKE");
+ data.type = HTYPE_TRANS_HANDSHAKE;
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
+
+ case BT_HID_TRANS_HID_CONTROL:
+ BT_INFO("HID CONTROL");
+ data.type = HTYPE_TRANS_HID_CONTROL;
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
+
+ case BT_HID_TRANS_DATA:
+ BT_INFO("TRANS DATA");
+ data.type = HTYPE_TRANS_DATA;
+ if (param & BT_HID_DATA_RTYPE_INPUT) {
+ BT_INFO("Input Report");
+ data.param = PTYPE_DATA_RTYPE_INPUT;
data.buffer_size = len;
data.buffer = (char *) malloc(sizeof(char) * len);
if (data.buffer)
memcpy(data.buffer, buffer, len);
- break;
- }
- case BT_HID_TRANS_SET_REPORT: {
- BT_INFO("Set Report");
- data.type = HTYPE_TRANS_SET_REPORT;
- if (param & BT_HID_DATA_RTYPE_INPUT) {
- BT_INFO("Input Report");
- data.param = PTYPE_DATA_RTYPE_INPUT;
- } else {
- BT_INFO("Output Report");
- data.param = PTYPE_DATA_RTYPE_OUTPUT;
- }
+ } else {
+ BT_INFO("Out Report");
+ data.param = PTYPE_DATA_RTYPE_OUTPUT;
data.buffer_size = len;
data.buffer = (char *) malloc(sizeof(char) * len);
if (data.buffer)
memcpy(data.buffer, buffer, len);
- break;
}
- case BT_HID_TRANS_GET_PROTOCOL:{
- BT_INFO("Get_PROTOCOL");
- data.type = HTYPE_TRANS_GET_PROTOCOL;
+ break;
+
+ case BT_HID_TRANS_GET_REPORT: {
+ BT_INFO("Get Report");
+ data.type = HTYPE_TRANS_GET_REPORT;
+ if (param & BT_HID_DATA_RTYPE_INPUT) {
+ BT_INFO("Input Report");
data.param = PTYPE_DATA_RTYPE_INPUT;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- break;
+ } else {
+ BT_INFO("Output Report");
+ data.param = PTYPE_DATA_RTYPE_OUTPUT;
}
- case BT_HID_TRANS_SET_PROTOCOL:{
- BT_INFO("Set_PROTOCOL");
- data.type = HTYPE_TRANS_SET_PROTOCOL;
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
+ }
+
+ case BT_HID_TRANS_SET_REPORT: {
+ BT_INFO("Set Report");
+ data.type = HTYPE_TRANS_SET_REPORT;
+ if (param & BT_HID_DATA_RTYPE_INPUT) {
+ BT_INFO("Input Report");
data.param = PTYPE_DATA_RTYPE_INPUT;
- data.buffer_size = len;
- data.buffer = (char *) malloc(sizeof(char) * len);
- if (data.buffer)
- memcpy(data.buffer, buffer, len);
- break;
- }
- default: {
- BT_INFO("unsupported HIDP control message");
- BT_ERR("Send Handshake Message");
- guint8 type = BT_HID_TRANS_HANDSHAKE |
- BT_HID_HSHK_ERR_UNSUPPORTED_REQUEST;
- data.type = HTYPE_TRANS_UNKNOWN;
- int fd = g_io_channel_unix_get_fd(chan);
- int bytes = write(fd, &type, sizeof(type));
- BT_INFO("Bytes Written %d", bytes);
- break;
+ } else {
+ BT_INFO("Output Report");
+ data.param = PTYPE_DATA_RTYPE_OUTPUT;
}
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
+ }
+
+ case BT_HID_TRANS_GET_PROTOCOL:{
+ BT_INFO("Get_PROTOCOL");
+ data.type = HTYPE_TRANS_GET_PROTOCOL;
+ data.param = PTYPE_DATA_RTYPE_INPUT;
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
}
- _bt_common_event_cb(BLUETOOTH_HID_DEVICE_DATA_RECEIVED,
+ case BT_HID_TRANS_SET_PROTOCOL:{
+ BT_INFO("Set_PROTOCOL");
+ data.type = HTYPE_TRANS_SET_PROTOCOL;
+ data.param = PTYPE_DATA_RTYPE_INPUT;
+ data.buffer_size = len;
+ data.buffer = (char *) malloc(sizeof(char) * len);
+ if (data.buffer)
+ memcpy(data.buffer, buffer, len);
+ break;
+ }
+
+ default: {
+ BT_INFO("unsupported HIDP control message");
+ BT_ERR("Send Handshake Message");
+ guint8 type = BT_HID_TRANS_HANDSHAKE |
+ BT_HID_HSHK_ERR_UNSUPPORTED_REQUEST;
+ data.type = HTYPE_TRANS_UNKNOWN;
+ int fd = g_io_channel_unix_get_fd(chan);
+ int bytes = write(fd, &type, sizeof(type));
+ BT_INFO("Bytes Written %d", bytes);
+ break;
+ }
+ }
+
+ _bt_common_event_cb(BLUETOOTH_HID_DEVICE_DATA_RECEIVED,
BLUETOOTH_ERROR_NONE, &data,
event_info->cb, event_info->user_data);
- if (data.buffer)
- g_free(data.buffer);
- if (data.address)
- g_free((char *)data.address);
+ if (data.buffer)
+ g_free(data.buffer);
+
+ if (data.address)
+ g_free((char *)data.address);
} else {
BT_ERR("Error while reading data %d [%s]", status, info->address);
if (err) {
G_IO_IN | G_IO_HUP | G_IO_ERR | G_IO_NVAL,
__received_cb, dev_info);
}
- if (dev_info->ctrl_fd != -1 && dev_info->intr_fd != -1) {
+
+ if (dev_info->ctrl_fd != -1 && dev_info->intr_fd != -1)
__hid_connected_cb(dev_info, BLUETOOTH_ERROR_NONE);
- }
return 0;
}
path = g_strdup_printf("/org/socket/server/%d", getpid());
object_id = _bt_register_new_conn(path, new_hid_connection);
- if (object_id < 0) {
+ if (object_id < 0)
return NULL;
- }
+
info = g_new(hid_info_t, 1);
info->object_id = (guint)object_id;
info->path = path;
BT_INFO("htype %d ptype %d", htype, ptype);
switch (htype) {
- case HTYPE_TRANS_GET_REPORT: {
- switch (ptype) {
- case PTYPE_DATA_RTYPE_INPUT: {
- output_report.type = BT_HID_TRANS_DATA |
- BT_HID_DATA_RTYPE_INPUT;
- memcpy(output_report.rep_data, data, data_len);
- bytes = write(info->intr_fd, &output_report,
- sizeof(output_report));
- BT_DBG("Bytes Written %d", bytes);
- break;
- }
- default:
- BT_INFO("Not Supported");
- break;
- }
- break;
- case HTYPE_TRANS_GET_PROTOCOL: {
- BT_DBG("Replying to Get_PROTOCOL");
- output_report.type = BT_HID_TRANS_DATA | BT_HID_DATA_RTYPE_OUTPUT;
- output_report.rep_data[0] = data[0];
- bytes = write(info->intr_fd, &output_report, 2);
- BT_DBG("Bytes Written %d", bytes);
- break;
- }
- case HTYPE_TRANS_SET_PROTOCOL: {
- BT_DBG("Reply to Set_Protocol");
- output_report.type = BT_HID_TRANS_DATA | BT_HID_DATA_RTYPE_INPUT;
+ case HTYPE_TRANS_GET_REPORT: {
+ switch (ptype) {
+ case PTYPE_DATA_RTYPE_INPUT: {
+ output_report.type = BT_HID_TRANS_DATA |
+ BT_HID_DATA_RTYPE_INPUT;
memcpy(output_report.rep_data, data, data_len);
- bytes = write(info->ctrl_fd, &output_report,
- sizeof(output_report));
+ bytes = write(info->intr_fd, &output_report,
+ sizeof(output_report));
BT_DBG("Bytes Written %d", bytes);
break;
}
- case HTYPE_TRANS_HANDSHAKE: {
- BT_DBG("Replying Handshake");
- output_report.type = BT_HID_TRANS_HANDSHAKE | data[0];
- memset(output_report.rep_data, 0, sizeof(output_report.rep_data));
- bytes = write(info->intr_fd, &output_report.type,
- sizeof(output_report.type));
- BT_DBG("Bytes Written %d", bytes);
+ default:
+ BT_INFO("Not Supported");
break;
- }
- default:
- break;
+ }
+ break;
+
+ case HTYPE_TRANS_GET_PROTOCOL: {
+ BT_DBG("Replying to Get_PROTOCOL");
+ output_report.type = BT_HID_TRANS_DATA | BT_HID_DATA_RTYPE_OUTPUT;
+ output_report.rep_data[0] = data[0];
+ bytes = write(info->intr_fd, &output_report, 2);
+ BT_DBG("Bytes Written %d", bytes);
+ break;
+ }
+
+ case HTYPE_TRANS_SET_PROTOCOL: {
+ BT_DBG("Reply to Set_Protocol");
+ output_report.type = BT_HID_TRANS_DATA | BT_HID_DATA_RTYPE_INPUT;
+ memcpy(output_report.rep_data, data, data_len);
+ bytes = write(info->ctrl_fd, &output_report,
+ sizeof(output_report));
+ BT_DBG("Bytes Written %d", bytes);
+ break;
+ }
+
+ case HTYPE_TRANS_HANDSHAKE: {
+ BT_DBG("Replying Handshake");
+ output_report.type = BT_HID_TRANS_HANDSHAKE | data[0];
+ memset(output_report.rep_data, 0, sizeof(output_report.rep_data));
+ bytes = write(info->intr_fd, &output_report.type,
+ sizeof(output_report.type));
+ BT_DBG("Bytes Written %d", bytes);
+ break;
+ }
+ default:
+ break;
}
}
return bytes;
if (result == BLUETOOTH_ERROR_NONE) {
_bt_set_obex_server_id(BT_NATIVE_SERVER);
res = _bt_register_event(BT_OPP_SERVER_EVENT, user_info->cb,
- user_info->user_data);
+ user_info->user_data);
if (res != BLUETOOTH_ERROR_NONE)
BT_ERR("Fail to _bt_register_event(%d)", res);
} else {
if (result == BLUETOOTH_ERROR_NONE) {
_bt_set_obex_server_id(BT_CUSTOM_SERVER);
res = _bt_register_event(BT_OPP_SERVER_EVENT, user_info->cb,
- user_info->user_data);
+ user_info->user_data);
if (res != BLUETOOTH_ERROR_NONE)
BT_ERR("Fail to _bt_register_event(%d)", res);
result = _bt_send_request(BT_OBEX_SERVICE, BT_OBEX_SERVER_IS_ACTIVATED,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
is_activated = g_array_index(out_param, gboolean, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_OBEX_SERVICE, BT_OBEX_SERVER_IS_RECEIVING,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*is_receiving = g_array_index(out_param, gboolean, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
result = _bt_send_request(BT_BLUEZ_SERVICE, BT_OOB_READ_LOCAL_DATA,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*local_oob_data = g_array_index(out_param, bt_oob_data_t, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
}
BT_EXPORT_API int bluetooth_opc_push_files(bluetooth_device_address_t *remote_address,
- char **file_name_array)
+ char **file_name_array)
{
int result;
int i;
result = _bt_send_request(BT_OBEX_SERVICE, BT_OPP_IS_PUSHING_FILES,
in_param1, in_param2, in_param3, in_param4, &out_param);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
*is_sending = g_array_index(out_param, gboolean, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
+
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
}
static void __send_request_cb(GDBusProxy *proxy,
- GAsyncResult *res,
- gpointer user_data)
+ GAsyncResult *res,
+ gpointer user_data)
{
bluetooth_event_param_t bt_event;
bt_req_info_t *cb_data = user_data;
in_param4->data, in_param4->len,
TRUE, NULL, NULL);
param5 = g_variant_new_from_data((const GVariantType *)"ay",
- in_param5->data, in_param5->len,
+ in_param5->data, in_param5->len,
TRUE, NULL, NULL);
ret = g_dbus_proxy_call_sync(proxy, "service_request",
g_io_channel_unref(data_io);
event_info = _bt_event_get_cb_data(BT_RFCOMM_SERVER_EVENT);
- if (event_info) {
+ if (event_info)
__connected_cb(info, conn, event_info);
- }
return 0;
}
int object_id;
object_id = _bt_register_new_conn_ex(path, bus_name, new_server_connection);
- if (object_id < 0) {
+ if (object_id < 0)
return NULL;
- }
+
info = g_new0(rfcomm_info_t, 1);
info->object_id = (guint)object_id;
info->path = g_strdup(path);
BT_DBG("result: %x", result);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
socket_fd = g_array_index(out_param, int, 0);
- } else {
+ else
BT_ERR("Fail to send request");
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_DBG("result: %x", result);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
_bt_remove_server(id);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_DBG("result: %x", result);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
available = g_array_index(out_param, gboolean, 0);
- }
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
BT_DBG("result: %x", result);
- if (result == BLUETOOTH_ERROR_NONE) {
- _bt_add_server(id);
- }
+ if (result == BLUETOOTH_ERROR_NONE)
+ _bt_add_server(id);
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
telephony_dbus_info.manager_proxy = NULL;
}
- if (telephony_dbus_info.conn != NULL) {
+ if (telephony_dbus_info.conn != NULL)
telephony_dbus_info.conn = NULL;
- }
if (telephony_dbus_info.dbus_proxy != NULL) {
g_object_unref(telephony_dbus_info.dbus_proxy);
#define LOG_COLOR_PURPLE "\033[35m"
#define BT_DBG(fmt, args...) \
- SLOGD(fmt, ##args)
+ SLOGD(fmt, ##args)
#define BT_INFO(fmt, args...) \
- SLOGI(fmt, ##args)
+ SLOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- SLOGE(fmt, ##args)
+ SLOGE(fmt, ##args)
#define BT_DBG_UUID(uuids, len, i) \
BT_DBG("***UUIDs***"); \
#define BT_ALLOC_PARAMS(IP1, IP2, IP3, IP4, OP) \
do { \
- IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
} while (0)
#define BT_INIT_AGENT_PARAMS() \
#define BT_ALLOC_AGENT_PARAMS(IP, OP) \
do { \
- IP = g_array_new(FALSE, FALSE, sizeof(gchar)); \
+ IP = g_array_new(FALSE, FALSE, sizeof(gchar)); \
} while (0)
#define BT_CHECK_PARAMETER(arg, func) \
#define RFKILL_NODE "/dev/rfkill"
typedef enum {
- RFKILL_TYPE_ALL = 0,
- RFKILL_TYPE_WLAN,
- RFKILL_TYPE_BLUETOOTH,
- RFKILL_TYPE_UWB,
- RFKILL_TYPE_WIMAX,
- RFKILL_TYPE_WWAN,
- RFKILL_TYPE_GPS,
- RFKILL_TYPE_FM,
- NUM_RFKILL_TYPES,
+ RFKILL_TYPE_ALL = 0,
+ RFKILL_TYPE_WLAN,
+ RFKILL_TYPE_BLUETOOTH,
+ RFKILL_TYPE_UWB,
+ RFKILL_TYPE_WIMAX,
+ RFKILL_TYPE_WWAN,
+ RFKILL_TYPE_GPS,
+ RFKILL_TYPE_FM,
+ NUM_RFKILL_TYPES,
} rfkill_type;
typedef struct {
- unsigned int idx;
- unsigned char type;
- unsigned char op;
- unsigned char soft;
- unsigned char hard;
+ unsigned int idx;
+ unsigned char type;
+ unsigned char op;
+ unsigned char soft;
+ unsigned char hard;
} rfkill_event;
typedef enum {
int ret = -1;
ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &isFlightMode);
- if (ret != 0) {
+ if (ret != 0)
BT_ERR("vconf_get_bool failed");
- }
+
return isFlightMode;
#else
return FALSE;
}
#ifdef HPS_FEATURE
ret = _bt_core_start_httpproxy();
- if (ret < 0) {
+ if (ret < 0)
BT_ERR("_bt_core_start_httpproxy() failed");
- }
#endif
return 0;
gboolean __bt_core_reset_adapter(void)
{
/* Forcely terminate */
- if (__execute_command("/usr/etc/bluetooth/bt-reset-env.sh", NULL) < 0) {
+ if (__execute_command("/usr/etc/bluetooth/bt-reset-env.sh", NULL) < 0)
BT_ERR("running script failed");
- }
+
_bt_core_terminate();
return TRUE;
}
BT_DBG("Run %s", cmd);
- if (__execute_command(cmd, arg_list) < 0) {
+ if (__execute_command(cmd, arg_list) < 0)
BT_ERR("running script failed");
- }
_bt_core_terminate();
return TRUE;
g_variant_get(parameters, "(&o@a{sa{sv}})",
&obj_path, &optional_param);
- if (g_strcmp0(obj_path, "/org/bluez/hci0") == 0) {
+ if (g_strcmp0(obj_path, "/org/bluez/hci0") == 0)
_bt_core_adapter_added_cb();
- }
+
} else if (!g_strcmp0(signal_name, "InterfacesRemoved")) {
char *obj_path = NULL;
GVariant *optional_param;
g_variant_get(parameters, "(&o@as)", &obj_path,
&optional_param);
- if (g_strcmp0(obj_path, "/org/bluez/hci0") == 0) {
+ if (g_strcmp0(obj_path, "/org/bluez/hci0") == 0)
_bt_core_adapter_removed_cb();
- }
+
} else { /* NameOwnerChanged */
const char *name = NULL;
const char *old_owner = NULL;
le_status = _bt_core_get_le_status();
BT_DBG("State: %d, LE State: %d", status, le_status);
- if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0)
BT_DBG("no bluetooth device info, so BT was disabled at previous session");
- }
#ifdef ENABLE_TIZEN_2_4
- if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0)
BT_ERR("no bluetooth le info, so BT LE was disabled at previous session");
- }
#endif
if (vconf_get_int(BT_OFF_DUE_TO_FLIGHT_MODE, &flight_mode_deactivation) != 0)
#define LOG_COLOR_PURPLE "\033[35m"
#define BT_DBG(fmt, args...) \
- SLOGD(fmt, ##args)
+ SLOGD(fmt, ##args)
#define BT_INFO(fmt, args...) \
SLOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- SLOGE(fmt, ##args)
+ SLOGE(fmt, ##args)
#define BT_INFO_C(fmt, arg...) \
SLOGI_IF(TRUE, LOG_COLOR_GREEN" "fmt" "LOG_COLOR_RESET, ##arg)
#define BT_ALLOC_PARAMS(IP1, IP2, IP3, IP4, OP) \
do { \
- IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
- IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP1 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP2 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP3 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
+ IP4 = g_array_new(TRUE, TRUE, sizeof(gchar)); \
} while (0)
#ifdef __cplusplus
#define LOG_TAG "BLUETOOTH_FRWK_CORE"
#define BT_DBG(fmt, args...) \
- SLOGD(fmt, ##args)
+ SLOGD(fmt, ##args)
#define BT_INFO(fmt, args...) \
SLOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- SLOGE(fmt, ##args)
+ SLOGE(fmt, ##args)
#define BT_CORE_NAME "org.projectx.bt_core"
#define BT_CORE_PATH "/org/projectx/bt_core"
return;
i = sscanf(addr_str, "%X:%X:%X:%X:%X:%X", &addr[0], &addr[1], &addr[2], &addr[3], &addr[4], &addr[5]);
- if (i != BLUETOOTH_ADDRESS_LENGTH) {
+ if (i != BLUETOOTH_ADDRESS_LENGTH)
BT_ERR("Invalid format string - [%s]", addr_str);
- }
- for (i = 0; i < BLUETOOTH_ADDRESS_LENGTH; i++) {
+ for (i = 0; i < BLUETOOTH_ADDRESS_LENGTH; i++)
addr_hex->addr[i] = (unsigned char)addr[i];
- }
}
static void _bt_hps_send_status_notification(unsigned short http_status,
// Write Data to Status Code Characteristic
#ifdef HPS_GATT_DB
data_status = (hdr_len > MAX_ENTITY_LENGTH) ? DS_HEADER_TRUNCATED : DS_HEADER_RECEIVED;
- if (data_status == DS_BODY_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status)) {
+ if (data_status == DS_BODY_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status))
_bt_hps_set_notify_read_status(http_hdr_obj_path, data_status, 0, http_status);
- }
+
_bt_hps_send_status_notification(http_status, data_status, &addr_hex);
#else
status[0] = http_status & 0x0F;
// Write Data to Status Code Characteristic
#ifdef HPS_GATT_DB
data_status = (body->length > MAX_ENTITY_LENGTH) ? DS_BODY_TRUNCATED : DS_BODY_RECEIVED;
- if (data_status == DS_BODY_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status)) {
+ if (data_status == DS_BODY_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status))
_bt_hps_set_notify_read_status(http_entity_obj_path, data_status, 0, http_status);
- }
+
_bt_hps_send_status_notification(http_status, data_status, &addr_hex);
#else
// Write Data to Status Code Characteristic
#ifdef HPS_GATT_DB
data_status = (hdr_len > MAX_HEADER_LENGTH) ? DS_HEADER_TRUNCATED : DS_HEADER_RECEIVED;
- if (data_status == DS_HEADER_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status)) {
+ if (data_status == DS_HEADER_TRUNCATED && SOUP_STATUS_IS_SUCCESSFUL(http_status))
_bt_hps_set_notify_read_status(http_hdr_obj_path, data_status, 0, http_status);
- }
+
_bt_hps_send_status_notification(http_status, data_status, &addr_hex);
#else
status[0] = http_status & 0x0F;
#endif
switch (opcode) {
- case HTTP_GET_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("GET", g_uri);
+ case HTTP_GET_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("GET", g_uri);
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, NULL);
#endif
- } else {
- BT_ERR("HTTP GET request in progress, message dropped");
+ } else {
+ BT_ERR("HTTP GET request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTP_POST_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("POST", g_uri);
+ if (hps_soup_msg == NULL || g_entity == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTP_POST_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("POST", g_uri);
- if (hps_soup_msg == NULL || g_entity == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
- soup_message_set_request(hps_soup_msg, "text/xml", SOUP_MEMORY_COPY,
- g_entity, strlen(g_entity));
+ soup_message_set_request(hps_soup_msg, "text/xml", SOUP_MEMORY_COPY,
+ g_entity, strlen(g_entity));
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- } else {
- BT_ERR("HTTP POST request in progress, message dropped");
+ } else {
+ BT_ERR("HTTP POST request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTP_HEAD_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("HEAD", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTP_HEAD_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("HEAD", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, NULL);
#endif
- } else {
- BT_ERR("HTTP HEAD request in progress, message dropped");
+ } else {
+ BT_ERR("HTTP HEAD request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTP_PUT_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ SoupBuffer *buf;
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("PUT", g_uri);
+ if (hps_soup_msg == NULL || g_entity == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTP_PUT_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- SoupBuffer *buf;
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("PUT", g_uri);
- if (hps_soup_msg == NULL || g_entity == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
- buf = soup_buffer_new(SOUP_MEMORY_TAKE, g_entity, strlen(g_entity));
- soup_message_body_append_buffer(hps_soup_msg->request_body, buf);
- soup_message_body_set_accumulate(hps_soup_msg->request_body, FALSE);
+ buf = soup_buffer_new(SOUP_MEMORY_TAKE, g_entity, strlen(g_entity));
+ soup_message_body_append_buffer(hps_soup_msg->request_body, buf);
+ soup_message_body_set_accumulate(hps_soup_msg->request_body, FALSE);
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- } else {
- BT_ERR("HTTP PUT request in progress, message dropped");
+ } else {
+ BT_ERR("HTTP PUT request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTP_DELETE_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("DELETE", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTP_DELETE_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("DELETE", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- } else {
- BT_ERR("HTTP DELETE request in progress, message dropped");
+ } else {
+ BT_ERR("HTTP DELETE request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTPS_GET_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("GET", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTPS_GET_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("GET", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_get_response_cb, NULL);
#endif
- https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
+ https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
#ifdef HPS_GATT_DB
- _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
+ _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
#else
- bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
+ bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
#endif
- } else {
- BT_ERR("HTTPS GET request in progress, message dropped");
+ } else {
+ BT_ERR("HTTPS GET request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTPS_HEAD_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("HEAD", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTPS_HEAD_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("HEAD", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_head_response_cb, NULL);
#endif
- https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
+ https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
#ifdef HPS_GATT_DB
- _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
+ _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
#else
- bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
+ bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
#endif
- } else {
- BT_ERR("HTTPS HEAD request in progress, message dropped");
+ } else {
+ BT_ERR("HTTPS HEAD request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTPS_POST_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("POST", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTPS_POST_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("POST", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
- soup_message_set_request(hps_soup_msg, "text/xml", SOUP_MEMORY_STATIC,
- g_entity, strlen(g_entity));
+ soup_message_set_request(hps_soup_msg, "text/xml", SOUP_MEMORY_STATIC,
+ g_entity, strlen(g_entity));
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
+ https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
#ifdef HPS_GATT_DB
- _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
+ _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
#else
- bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
+ bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
#endif
- } else {
- BT_ERR("HTTPS POST request in progress, message dropped");
+ } else {
+ BT_ERR("HTTPS POST request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTPS_PUT_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ SoupBuffer *buf;
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("PUT", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTPS_PUT_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- SoupBuffer *buf;
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("PUT", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
- buf = soup_buffer_new(SOUP_MEMORY_TAKE, g_entity, strlen(g_entity));
- soup_message_body_append_buffer(hps_soup_msg->request_body, buf);
- soup_message_body_set_accumulate(hps_soup_msg->request_body, FALSE);
+ buf = soup_buffer_new(SOUP_MEMORY_TAKE, g_entity, strlen(g_entity));
+ soup_message_body_append_buffer(hps_soup_msg->request_body, buf);
+ soup_message_body_set_accumulate(hps_soup_msg->request_body, FALSE);
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
+ https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
#ifdef HPS_GATT_DB
- _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
+ _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
#else
- bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
+ bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
#endif
- } else {
- BT_ERR("HTTPS PUT request in progress, message dropped");
+ } else {
+ BT_ERR("HTTPS PUT request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTPS_DELETE_REQUEST:
+ if (req_state == HTTP_REQ_STATE_EXECUTED) {
+ req_state = HTTP_REQ_STATE_INPROGRESS;
+ hps_soup_msg = soup_message_new("DELETE", g_uri);
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTPS_DELETE_REQUEST:
- if (req_state == HTTP_REQ_STATE_EXECUTED) {
- req_state = HTTP_REQ_STATE_INPROGRESS;
- hps_soup_msg = soup_message_new("DELETE", g_uri);
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
#ifdef HPS_GATT_DB
- g_object_ref(hps_soup_msg);
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
+ g_object_ref(hps_soup_msg);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, addr);
#else
- soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
+ soup_session_queue_message(hps_soup_session, hps_soup_msg, _bt_hps_http_response_cb, NULL);
#endif
- https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
+ https_status = soup_message_get_https_status(hps_soup_msg, &cert, &flags);
#ifdef HPS_GATT_DB
- _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
+ _bt_hps_set_char_value(http_security_obj_path, (const char *)&https_status, 1);
#else
- bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
+ bluetooth_gatt_set_characteristic_value(http_security_obj_path, (char *)&https_status, 1);
#endif
- } else {
- BT_ERR("HTTPS DELETE request in progress, message dropped");
+ } else {
+ BT_ERR("HTTPS DELETE request in progress, message dropped");
+ result = BLUETOOTH_ERROR_INTERNAL;
+ }
+ break;
+
+ case HTTP_REQUEST_CANCEL:
+ /* Cancel the outstanding request */
+ if (req_state == HTTP_REQ_STATE_INPROGRESS) {
+ req_state = HTTP_REQ_STATE_IDLE;
+ if (hps_soup_msg == NULL) {
+ BT_ERR("Soup Message NULL");
result = BLUETOOTH_ERROR_INTERNAL;
+ req_state = HTTP_REQ_STATE_EXECUTED;
+ break;
}
- break;
-
- case HTTP_REQUEST_CANCEL:
- /* Cancel the outstanding request */
- if (req_state == HTTP_REQ_STATE_INPROGRESS) {
- req_state = HTTP_REQ_STATE_IDLE;
- if (hps_soup_msg == NULL) {
- BT_ERR("Soup Message NULL");
- result = BLUETOOTH_ERROR_INTERNAL;
- req_state = HTTP_REQ_STATE_EXECUTED;
- break;
- }
- soup_session_cancel_message(hps_soup_session, hps_soup_msg, SOUP_STATUS_CANCELLED);
- hps_soup_msg = NULL;
- }
- break;
+ soup_session_cancel_message(hps_soup_session, hps_soup_msg, SOUP_STATUS_CANCELLED);
+ hps_soup_msg = NULL;
+ }
+ break;
- default:
- BT_ERR("Unknown opcode %0x", opcode);
- result = BLUETOOTH_ERROR_INTERNAL;
- break;
+ default:
+ BT_ERR("Unknown opcode %0x", opcode);
+ result = BLUETOOTH_ERROR_INTERNAL;
+ break;
}
return result;
int ret;
BT_DBG("");
- // Temporary UUID is used. SIG have not yet defined the UUID yet
+ // Temporary UUID is used. SIG have not yet defined the UUID yet
guint8 data[4] = {0x03, 0x02, 0x00, 0x19};
bluetooth_advertising_data_t adv;
BT_DBG("");
switch (sig) {
- case SIGTERM:
- BT_DBG("caught signal - sigterm\n");
- break;
- case SIGINT:
- BT_DBG("caught signal - sigint\n");
- break;
- case SIGKILL:
- BT_DBG("caught signal - sigkill\n");
- break;
- default:
- BT_DBG("caught signal %d and ignored\n", sig);
- break;
+ case SIGTERM:
+ BT_DBG("caught signal - sigterm\n");
+ break;
+ case SIGINT:
+ BT_DBG("caught signal - sigint\n");
+ break;
+ case SIGKILL:
+ BT_DBG("caught signal - sigkill\n");
+ break;
+ default:
+ BT_DBG("caught signal %d and ignored\n", sig);
+ break;
}
}
_bt_hps_unregister_interface();
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_quit(main_loop);
- }
}
void bt_hps_event_callback(int event, bluetooth_event_param_t* param,
BT_DBG("g_main_loop_quit called!");
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_unref(main_loop);
- }
return 0;
}
goto fail;
}
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
goto fail;
- }
if ((request_type == BT_ASYNC_REQ ||
service_function == BT_OBEX_SERVER_ACCEPT_CONNECTION) &&
} else {
/* Return result */
if (service_type == BT_CHECK_PRIVILEGE ||
- service_function != BT_OPP_PUSH_FILES) {
+ service_function != BT_OPP_PUSH_FILES) {
out_var = g_variant_new_from_data((const GVariantType *)"ay",
- out_param1->data, out_param1->len,
- TRUE, NULL, NULL);
+ out_param1->data, out_param1->len,
+ TRUE, NULL, NULL);
GVariant *temp = g_variant_new("(iv)", result, out_var);
g_dbus_method_invocation_return_value(invocation, temp);
int length = 0;
result = _bt_get_advertising_data(&adv, &length);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
g_array_append_vals(*out_param1, adv.data, length);
- }
+
break;
}
case BT_SET_ADVERTISING_DATA: {
int length = 0;
result = _bt_get_scan_response_data(&rsp, &length);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
g_array_append_vals(*out_param1, rsp.data, length);
- }
break;
}
&address, file_path,
file_count);
} else {
- BT_DBG("normal case");
- result = _bt_opp_client_push_files(request_id, context,
+ BT_DBG("normal case");
+ result = _bt_opp_client_push_files(request_id, context,
&address, file_path,
file_count);
}
- for (i = 0; i < file_count; i++) {
+ for (i = 0; i < file_count; i++)
g_free(file_path[i]);
- }
+
g_free(file_path);
g_array_free(param2, TRUE);
if (process_proxy)
int service_type,
const char *unique_name)
{
- int ret_val;
- gboolean result = TRUE;
- char *client_creds = NULL;
- char *user_creds = NULL;
- char *client_session = "";
- enum cynara_client_creds client_creds_method = CLIENT_METHOD_SMACK;
- enum cynara_user_creds user_creds_method = USER_METHOD_UID;
- char err_msg[256] = {0, };
-
- retv_if(unique_name == NULL, FALSE);
-
- BT_DBG("unique_name: %s", unique_name);
-
- retv_if(bt_service_conn == NULL, FALSE);
-
- ret_val = cynara_creds_get_default_client_method(&client_creds_method);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get default client method: %s", err_msg);
- return FALSE;
- }
-
- ret_val = cynara_creds_get_default_user_method(&user_creds_method);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get default user method: %s", err_msg);
- return FALSE;
- }
-
- ret_val = cynara_creds_gdbus_get_client(bt_service_conn, unique_name, client_creds_method, &client_creds);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get client credential: %s", err_msg);
- return FALSE;
- }
-
- BT_DBG("client_creds: %s", client_creds);
-
- ret_val = cynara_creds_gdbus_get_user(bt_service_conn, unique_name, user_creds_method, &user_creds);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get user credential: %s", err_msg);
- if (client_creds)
- free(client_creds);
- return FALSE;
- }
-
- BT_DBG("user_creds: %s", user_creds);
-
- switch (function_name) {
- case BT_SET_LOCAL_NAME:
- case BT_START_DISCOVERY:
- case BT_START_CUSTOM_DISCOVERY:
- case BT_CANCEL_DISCOVERY:
- case BT_OOB_ADD_REMOTE_DATA:
- case BT_OOB_REMOVE_REMOTE_DATA:
- case BT_SET_ADVERTISING:
- case BT_SET_CUSTOM_ADVERTISING:
- case BT_SET_ADVERTISING_PARAMETERS:
- case BT_START_LE_DISCOVERY:
- case BT_STOP_LE_DISCOVERY:
-
- case BT_BOND_DEVICE:
- case BT_CANCEL_BONDING:
- case BT_UNBOND_DEVICE:
- case BT_SET_ALIAS:
- case BT_SET_AUTHORIZATION:
- case BT_UNSET_AUTHORIZATION:
- case BT_SEARCH_SERVICE:
-
- case BT_RFCOMM_CLIENT_CONNECT:
- case BT_RFCOMM_CLIENT_CANCEL_CONNECT:
- case BT_RFCOMM_SOCKET_DISCONNECT:
- case BT_RFCOMM_SOCKET_WRITE:
- case BT_RFCOMM_CREATE_SOCKET:
- case BT_RFCOMM_REMOVE_SOCKET:
-
- case BT_OPP_PUSH_FILES:
- case BT_OPP_CANCEL_PUSH:
-
- case BT_OBEX_SERVER_ACCEPT_CONNECTION:
- case BT_OBEX_SERVER_REJECT_CONNECTION:
- case BT_OBEX_SERVER_ACCEPT_FILE:
- case BT_OBEX_SERVER_REJECT_FILE:
- case BT_OBEX_SERVER_SET_PATH:
- case BT_OBEX_SERVER_SET_ROOT:
- case BT_OBEX_SERVER_CANCEL_TRANSFER:
- case BT_OBEX_SERVER_CANCEL_ALL_TRANSFERS:
-
- case BT_AUDIO_CONNECT:
- case BT_AUDIO_DISCONNECT:
- case BT_AG_CONNECT:
- case BT_AG_DISCONNECT:
- case BT_AV_CONNECT:
- case BT_AV_DISCONNECT:
- case BT_AV_SOURCE_CONNECT:
- case BT_AV_SOURCE_DISCONNECT:
- case BT_AVRCP_CONTROL_CONNECT:
- case BT_AVRCP_CONTROL_DISCONNECT:
- case BT_AVRCP_HANDLE_CONTROL:
- case BT_AVRCP_SET_TRACK_INFO:
- case BT_AVRCP_SET_PROPERTY:
- case BT_AVRCP_SET_PROPERTIES:
- case BT_AVRCP_CONTROL_SET_PROPERTY:
-
- case BT_HF_CONNECT:
- case BT_HF_DISCONNECT:
-
- case BT_HID_CONNECT:
- case BT_HID_DISCONNECT:
-
- case BT_HID_DEVICE_ACTIVATE:
- case BT_HID_DEVICE_DEACTIVATE:
- case BT_HID_DEVICE_CONNECT:
- case BT_HID_DEVICE_DISCONNECT:
- case BT_HID_DEVICE_SEND_MOUSE_EVENT:
- case BT_HID_DEVICE_SEND_KEY_EVENT:
- case BT_HID_DEVICE_SEND_REPLY_TO_REPORT:
-
- case BT_CONNECT_LE:
- case BT_DISCONNECT_LE:
-
- case BT_SET_ADVERTISING_DATA:
- case BT_SET_SCAN_RESPONSE_DATA:
-
- case BT_HDP_CONNECT:
- case BT_HDP_DISCONNECT:
- case BT_HDP_SEND_DATA:
-
- case BT_DPM_SET_ALLOW_BT_MODE:
- case BT_DPM_GET_ALLOW_BT_MODE:
- case BT_DPM_SET_DEVICE_RESTRITION:
- case BT_DPM_GET_DEVICE_RESTRITION:
- case BT_DPM_SET_UUID_RESTRITION:
- case BT_DPM_GET_UUID_RESTRITION:
- case BT_DPM_ADD_DEVICES_BLACKLIST:
- case BT_DPM_ADD_DEVICES_WHITELIST:
- case BT_DPM_ADD_UUIDS_BLACKLIST:
- case BT_DPM_ADD_UUIDS_WHITELIST:
- case BT_DPM_CLEAR_DEVICES_BLACKLIST:
- case BT_DPM_CLEAR_DEVICES_WHITELIST:
- case BT_DPM_CLEAR_UUIDS_BLACKLIST:
- case BT_DPM_CLEAR_UUIDS_WHITELIST:
- case BT_DPM_REMOVE_DEVICE_BLACKLIST:
- case BT_DPM_REMOVE_DEVICE_WHITELIST:
- case BT_DPM_REMOVE_UUID_BLACKLIST:
- case BT_DPM_REMOVE_UUID_WHITELIST:
- case BT_DPM_GET_DEVICES_BLACKLIST:
- case BT_DPM_GET_DEVICES_WHITELIST:
- case BT_DPM_GET_UUIDS_BLACKLIST:
- case BT_DPM_GET_UUIDS_WHITELIST:
- case BT_DPM_SET_ALLOW_OUTGOING_CALL:
- case BT_DPM_GET_ALLOW_OUTGOING_CALL:
- case BT_DPM_SET_PAIRING_STATE:
- case BT_DPM_GET_PAIRING_STATE:
- case BT_DPM_SET_PROFILE_STATE:
- case BT_DPM_GET_PROFILE_STATE:
- case BT_DPM_SET_DESKROP_CONNECTIVITY_STATE:
- case BT_DPM_GET_DESKROP_CONNECTIVITY_STATE:
- case BT_DPM_SET_DISCOVERABLE_STATE:
- case BT_DPM_GET_DISCOVERABLE_STATE:
- case BT_DPM_SET_LIMITED_DISCOVERABLE_STATE:
- case BT_DPM_GET_LIMITED_DISCOVERABLE_STATE:
- case BT_DPM_SET_DATA_TRANSFER_STATE:
- case BT_DPM_GET_DATA_TRANSFER_STATE:
-
- case BT_NETWORK_ACTIVATE:
- case BT_NETWORK_DEACTIVATE:
- case BT_NETWORK_CONNECT:
- case BT_NETWORK_DISCONNECT:
- case BT_NETWORK_SERVER_DISCONNECT:
-
- case BT_GATT_GET_PRIMARY_SERVICES:
- case BT_GATT_DISCOVER_CHARACTERISTICS:
- case BT_GATT_SET_PROPERTY_REQUEST:
- case BT_GATT_READ_CHARACTERISTIC:
- case BT_GATT_DISCOVER_CHARACTERISTICS_DESCRIPTOR:
- case BT_GATT_REGISTER_APPLICATION:
- case BT_GATT_REGISTER_SERVICE:
- case BT_GATT_SEND_RESPONSE:
- case BT_PBAP_CONNECT:
- case BT_PBAP_DISCONNECT:
- case BT_PBAP_GET_PHONEBOOK_SIZE:
- case BT_PBAP_GET_PHONEBOOK:
- case BT_PBAP_GET_LIST:
- case BT_PBAP_PULL_VCARD:
- case BT_PBAP_PHONEBOOK_SEARCH:
-
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- BT_PRIVILEGE_PUBLIC);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", BT_PRIVILEGE_PUBLIC);
- result = FALSE;
- }
-
- /* Need to check mediastorage privilege */
- if (function_name == BT_PBAP_GET_PHONEBOOK ||
- function_name == BT_PBAP_PULL_VCARD) {
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- MEDIASTORAGE_PRIVILEGE);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", MEDIASTORAGE_PRIVILEGE);
- result = FALSE;
- }
- }
- break;
-
- case BT_ENABLE_ADAPTER:
- case BT_DISABLE_ADAPTER:
- case BT_RESET_ADAPTER:
- case BT_RECOVER_ADAPTER:
- case BT_ENABLE_ADAPTER_LE:
- case BT_DISABLE_ADAPTER_LE:
- case BT_SET_CONNECTABLE:
- case BT_SET_DISCOVERABLE_MODE:
- case BT_ADD_WHITE_LIST:
- case BT_REMOVE_WHITE_LIST:
- case BT_CLEAR_WHITE_LIST:
- case BT_SET_MANUFACTURER_DATA:
- case BT_SET_SCAN_PARAMETERS:
-
- case BT_CANCEL_SEARCH_SERVICE:
- case BT_ENABLE_RSSI:
-
- case BT_RFCOMM_ACCEPT_CONNECTION:
- case BT_RFCOMM_REJECT_CONNECTION:
- case BT_RFCOMM_LISTEN:
-
- case BT_AVRCP_CONTROL_GET_PROPERTY:
- case BT_AVRCP_GET_TRACK_INFO:
-
- case BT_SET_CONTENT_PROTECT:
- case BT_BOND_DEVICE_BY_TYPE:
- case BT_SET_LE_PRIVACY:
- case BT_LE_CONN_UPDATE:
- case BT_LE_READ_MAXIMUM_DATA_LENGTH:
- case BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH:
- case BT_LE_READ_HOST_SUGGESTED_DATA_LENGTH:
- case BT_LE_SET_DATA_LENGTH:
-
- case BT_LE_IPSP_INIT:
- case BT_LE_IPSP_DEINIT:
- case BT_LE_IPSP_CONNECT:
- case BT_LE_IPSP_DISCONNECT:
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- BT_PRIVILEGE_PLATFORM);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", BT_PRIVILEGE_PLATFORM);
- result = FALSE;
- }
- break;
-
- case BT_CHECK_ADAPTER:
- case BT_GET_RSSI:
-
- case BT_GET_LOCAL_NAME:
- case BT_GET_LOCAL_ADDRESS:
- case BT_GET_LOCAL_VERSION:
- case BT_IS_SERVICE_USED:
- case BT_GET_DISCOVERABLE_MODE:
- case BT_GET_DISCOVERABLE_TIME:
- case BT_IS_DISCOVERYING:
- case BT_IS_LE_DISCOVERYING:
- case BT_IS_CONNECTABLE:
- case BT_GET_BONDED_DEVICES:
- case BT_GET_BONDED_DEVICE:
- case BT_IS_DEVICE_CONNECTED:
- case BT_GET_SPEAKER_GAIN:
- case BT_SET_SPEAKER_GAIN:
- case BT_OOB_READ_LOCAL_DATA:
- case BT_RFCOMM_CLIENT_IS_CONNECTED:
- case BT_RFCOMM_IS_UUID_AVAILABLE:
- case BT_GET_ADVERTISING_DATA:
- case BT_GET_SCAN_RESPONSE_DATA:
- case BT_IS_ADVERTISING:
-
- case BT_OBEX_SERVER_ALLOCATE:
- case BT_OBEX_SERVER_DEALLOCATE:
- /* Non-privilege control */
- break;
- default:
- BT_ERR("Unknown function!");
- result = FALSE;
- break;
- }
-
- if (client_creds)
- free(client_creds);
-
- if (user_creds)
- free(user_creds);
-
- return result;
+ int ret_val;
+ gboolean result = TRUE;
+ char *client_creds = NULL;
+ char *user_creds = NULL;
+ char *client_session = "";
+ enum cynara_client_creds client_creds_method = CLIENT_METHOD_SMACK;
+ enum cynara_user_creds user_creds_method = USER_METHOD_UID;
+ char err_msg[256] = {0, };
+
+ retv_if(unique_name == NULL, FALSE);
+
+ BT_DBG("unique_name: %s", unique_name);
+
+ retv_if(bt_service_conn == NULL, FALSE);
+
+ ret_val = cynara_creds_get_default_client_method(&client_creds_method);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get default client method: %s", err_msg);
+ return FALSE;
+ }
+
+ ret_val = cynara_creds_get_default_user_method(&user_creds_method);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get default user method: %s", err_msg);
+ return FALSE;
+ }
+
+ ret_val = cynara_creds_gdbus_get_client(bt_service_conn, unique_name, client_creds_method, &client_creds);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get client credential: %s", err_msg);
+ return FALSE;
+ }
+
+ BT_DBG("client_creds: %s", client_creds);
+
+ ret_val = cynara_creds_gdbus_get_user(bt_service_conn, unique_name, user_creds_method, &user_creds);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get user credential: %s", err_msg);
+
+ if (client_creds)
+ free(client_creds);
+ return FALSE;
+ }
+
+ BT_DBG("user_creds: %s", user_creds);
+
+ switch (function_name) {
+ case BT_SET_LOCAL_NAME:
+ case BT_START_DISCOVERY:
+ case BT_START_CUSTOM_DISCOVERY:
+ case BT_CANCEL_DISCOVERY:
+ case BT_OOB_ADD_REMOTE_DATA:
+ case BT_OOB_REMOVE_REMOTE_DATA:
+ case BT_SET_ADVERTISING:
+ case BT_SET_CUSTOM_ADVERTISING:
+ case BT_SET_ADVERTISING_PARAMETERS:
+ case BT_START_LE_DISCOVERY:
+ case BT_STOP_LE_DISCOVERY:
+
+ case BT_BOND_DEVICE:
+ case BT_CANCEL_BONDING:
+ case BT_UNBOND_DEVICE:
+ case BT_SET_ALIAS:
+ case BT_SET_AUTHORIZATION:
+ case BT_UNSET_AUTHORIZATION:
+ case BT_SEARCH_SERVICE:
+
+ case BT_RFCOMM_CLIENT_CONNECT:
+ case BT_RFCOMM_CLIENT_CANCEL_CONNECT:
+ case BT_RFCOMM_SOCKET_DISCONNECT:
+ case BT_RFCOMM_SOCKET_WRITE:
+ case BT_RFCOMM_CREATE_SOCKET:
+ case BT_RFCOMM_REMOVE_SOCKET:
+
+ case BT_OPP_PUSH_FILES:
+ case BT_OPP_CANCEL_PUSH:
+
+ case BT_OBEX_SERVER_ACCEPT_CONNECTION:
+ case BT_OBEX_SERVER_REJECT_CONNECTION:
+ case BT_OBEX_SERVER_ACCEPT_FILE:
+ case BT_OBEX_SERVER_REJECT_FILE:
+ case BT_OBEX_SERVER_SET_PATH:
+ case BT_OBEX_SERVER_SET_ROOT:
+ case BT_OBEX_SERVER_CANCEL_TRANSFER:
+ case BT_OBEX_SERVER_CANCEL_ALL_TRANSFERS:
+
+ case BT_AUDIO_CONNECT:
+ case BT_AUDIO_DISCONNECT:
+ case BT_AG_CONNECT:
+ case BT_AG_DISCONNECT:
+ case BT_AV_CONNECT:
+ case BT_AV_DISCONNECT:
+ case BT_AV_SOURCE_CONNECT:
+ case BT_AV_SOURCE_DISCONNECT:
+ case BT_AVRCP_CONTROL_CONNECT:
+ case BT_AVRCP_CONTROL_DISCONNECT:
+ case BT_AVRCP_HANDLE_CONTROL:
+ case BT_AVRCP_SET_TRACK_INFO:
+ case BT_AVRCP_SET_PROPERTY:
+ case BT_AVRCP_SET_PROPERTIES:
+ case BT_AVRCP_CONTROL_SET_PROPERTY:
+
+ case BT_HF_CONNECT:
+ case BT_HF_DISCONNECT:
+
+ case BT_HID_CONNECT:
+ case BT_HID_DISCONNECT:
+
+ case BT_HID_DEVICE_ACTIVATE:
+ case BT_HID_DEVICE_DEACTIVATE:
+ case BT_HID_DEVICE_CONNECT:
+ case BT_HID_DEVICE_DISCONNECT:
+ case BT_HID_DEVICE_SEND_MOUSE_EVENT:
+ case BT_HID_DEVICE_SEND_KEY_EVENT:
+ case BT_HID_DEVICE_SEND_REPLY_TO_REPORT:
+
+ case BT_CONNECT_LE:
+ case BT_DISCONNECT_LE:
+
+ case BT_SET_ADVERTISING_DATA:
+ case BT_SET_SCAN_RESPONSE_DATA:
+
+ case BT_HDP_CONNECT:
+ case BT_HDP_DISCONNECT:
+ case BT_HDP_SEND_DATA:
+
+ case BT_DPM_SET_ALLOW_BT_MODE:
+ case BT_DPM_GET_ALLOW_BT_MODE:
+ case BT_DPM_SET_DEVICE_RESTRITION:
+ case BT_DPM_GET_DEVICE_RESTRITION:
+ case BT_DPM_SET_UUID_RESTRITION:
+ case BT_DPM_GET_UUID_RESTRITION:
+ case BT_DPM_ADD_DEVICES_BLACKLIST:
+ case BT_DPM_ADD_DEVICES_WHITELIST:
+ case BT_DPM_ADD_UUIDS_BLACKLIST:
+ case BT_DPM_ADD_UUIDS_WHITELIST:
+ case BT_DPM_CLEAR_DEVICES_BLACKLIST:
+ case BT_DPM_CLEAR_DEVICES_WHITELIST:
+ case BT_DPM_CLEAR_UUIDS_BLACKLIST:
+ case BT_DPM_CLEAR_UUIDS_WHITELIST:
+ case BT_DPM_REMOVE_DEVICE_BLACKLIST:
+ case BT_DPM_REMOVE_DEVICE_WHITELIST:
+ case BT_DPM_REMOVE_UUID_BLACKLIST:
+ case BT_DPM_REMOVE_UUID_WHITELIST:
+ case BT_DPM_GET_DEVICES_BLACKLIST:
+ case BT_DPM_GET_DEVICES_WHITELIST:
+ case BT_DPM_GET_UUIDS_BLACKLIST:
+ case BT_DPM_GET_UUIDS_WHITELIST:
+ case BT_DPM_SET_ALLOW_OUTGOING_CALL:
+ case BT_DPM_GET_ALLOW_OUTGOING_CALL:
+ case BT_DPM_SET_PAIRING_STATE:
+ case BT_DPM_GET_PAIRING_STATE:
+ case BT_DPM_SET_PROFILE_STATE:
+ case BT_DPM_GET_PROFILE_STATE:
+ case BT_DPM_SET_DESKROP_CONNECTIVITY_STATE:
+ case BT_DPM_GET_DESKROP_CONNECTIVITY_STATE:
+ case BT_DPM_SET_DISCOVERABLE_STATE:
+ case BT_DPM_GET_DISCOVERABLE_STATE:
+ case BT_DPM_SET_LIMITED_DISCOVERABLE_STATE:
+ case BT_DPM_GET_LIMITED_DISCOVERABLE_STATE:
+ case BT_DPM_SET_DATA_TRANSFER_STATE:
+ case BT_DPM_GET_DATA_TRANSFER_STATE:
+
+ case BT_NETWORK_ACTIVATE:
+ case BT_NETWORK_DEACTIVATE:
+ case BT_NETWORK_CONNECT:
+ case BT_NETWORK_DISCONNECT:
+ case BT_NETWORK_SERVER_DISCONNECT:
+
+ case BT_GATT_GET_PRIMARY_SERVICES:
+ case BT_GATT_DISCOVER_CHARACTERISTICS:
+ case BT_GATT_SET_PROPERTY_REQUEST:
+ case BT_GATT_READ_CHARACTERISTIC:
+ case BT_GATT_DISCOVER_CHARACTERISTICS_DESCRIPTOR:
+ case BT_GATT_REGISTER_APPLICATION:
+ case BT_GATT_REGISTER_SERVICE:
+ case BT_GATT_SEND_RESPONSE:
+ case BT_PBAP_CONNECT:
+ case BT_PBAP_DISCONNECT:
+ case BT_PBAP_GET_PHONEBOOK_SIZE:
+ case BT_PBAP_GET_PHONEBOOK:
+ case BT_PBAP_GET_LIST:
+ case BT_PBAP_PULL_VCARD:
+ case BT_PBAP_PHONEBOOK_SEARCH:
+
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ BT_PRIVILEGE_PUBLIC);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", BT_PRIVILEGE_PUBLIC);
+ result = FALSE;
+ }
+
+ /* Need to check mediastorage privilege */
+ if (function_name == BT_PBAP_GET_PHONEBOOK ||
+ function_name == BT_PBAP_PULL_VCARD) {
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ MEDIASTORAGE_PRIVILEGE);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", MEDIASTORAGE_PRIVILEGE);
+ result = FALSE;
+ }
+ }
+break;
+
+ case BT_ENABLE_ADAPTER:
+ case BT_DISABLE_ADAPTER:
+ case BT_RESET_ADAPTER:
+ case BT_RECOVER_ADAPTER:
+ case BT_ENABLE_ADAPTER_LE:
+ case BT_DISABLE_ADAPTER_LE:
+ case BT_SET_CONNECTABLE:
+ case BT_SET_DISCOVERABLE_MODE:
+ case BT_ADD_WHITE_LIST:
+ case BT_REMOVE_WHITE_LIST:
+ case BT_CLEAR_WHITE_LIST:
+ case BT_SET_MANUFACTURER_DATA:
+ case BT_SET_SCAN_PARAMETERS:
+
+ case BT_CANCEL_SEARCH_SERVICE:
+ case BT_ENABLE_RSSI:
+
+ case BT_RFCOMM_ACCEPT_CONNECTION:
+ case BT_RFCOMM_REJECT_CONNECTION:
+ case BT_RFCOMM_LISTEN:
+
+ case BT_AVRCP_CONTROL_GET_PROPERTY:
+ case BT_AVRCP_GET_TRACK_INFO:
+
+ case BT_SET_CONTENT_PROTECT:
+ case BT_BOND_DEVICE_BY_TYPE:
+ case BT_SET_LE_PRIVACY:
+ case BT_LE_CONN_UPDATE:
+ case BT_LE_READ_MAXIMUM_DATA_LENGTH:
+ case BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH:
+ case BT_LE_READ_HOST_SUGGESTED_DATA_LENGTH:
+ case BT_LE_SET_DATA_LENGTH:
+
+ case BT_LE_IPSP_INIT:
+ case BT_LE_IPSP_DEINIT:
+ case BT_LE_IPSP_CONNECT:
+ case BT_LE_IPSP_DISCONNECT:
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ BT_PRIVILEGE_PLATFORM);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", BT_PRIVILEGE_PLATFORM);
+ result = FALSE;
+ }
+ break;
+
+ case BT_CHECK_ADAPTER:
+ case BT_GET_RSSI:
+
+ case BT_GET_LOCAL_NAME:
+ case BT_GET_LOCAL_ADDRESS:
+ case BT_GET_LOCAL_VERSION:
+ case BT_IS_SERVICE_USED:
+ case BT_GET_DISCOVERABLE_MODE:
+ case BT_GET_DISCOVERABLE_TIME:
+ case BT_IS_DISCOVERYING:
+ case BT_IS_LE_DISCOVERYING:
+ case BT_IS_CONNECTABLE:
+ case BT_GET_BONDED_DEVICES:
+ case BT_GET_BONDED_DEVICE:
+ case BT_IS_DEVICE_CONNECTED:
+ case BT_GET_SPEAKER_GAIN:
+ case BT_SET_SPEAKER_GAIN:
+ case BT_OOB_READ_LOCAL_DATA:
+ case BT_RFCOMM_CLIENT_IS_CONNECTED:
+ case BT_RFCOMM_IS_UUID_AVAILABLE:
+ case BT_GET_ADVERTISING_DATA:
+ case BT_GET_SCAN_RESPONSE_DATA:
+ case BT_IS_ADVERTISING:
+
+ case BT_OBEX_SERVER_ALLOCATE:
+ case BT_OBEX_SERVER_DEALLOCATE:
+ /* Non-privilege control */
+ break;
+ default:
+ BT_ERR("Unknown function!");
+ result = FALSE;
+ break;
+ }
+
+ if (client_creds)
+ free(client_creds);
+
+ if (user_creds)
+ free(user_creds);
+
+ return result;
}
GDBusNodeInfo *__bt_service_create_method_node_info
int _bt_service_cynara_init(void)
{
- int result;
- char err_msg[256] = {0, };
+ int result;
+ char err_msg[256] = {0, };
- retv_if(p_cynara != NULL, BLUETOOTH_ERROR_ALREADY_INITIALIZED);
+ retv_if(p_cynara != NULL, BLUETOOTH_ERROR_ALREADY_INITIALIZED);
- result = cynara_initialize(&p_cynara, conf);
+ result = cynara_initialize(&p_cynara, conf);
- if (result != CYNARA_API_SUCCESS) {
- cynara_strerror(result, err_msg, sizeof(err_msg));
- BT_ERR("Fail to initialize cynara: [%s]", err_msg);
- return BLUETOOTH_ERROR_INTERNAL;
- }
+ if (result != CYNARA_API_SUCCESS) {
+ cynara_strerror(result, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to initialize cynara: [%s]", err_msg);
+ return BLUETOOTH_ERROR_INTERNAL;
+ }
- return BLUETOOTH_ERROR_NONE;
+ return BLUETOOTH_ERROR_NONE;
}
void _bt_service_cynara_deinit(void)
{
- int result;
- char err_msg[256] = {0, };
+ int result;
+ char err_msg[256] = {0, };
- ret_if(p_cynara == NULL);
+ ret_if(p_cynara == NULL);
- result = cynara_finish(p_cynara);
+ result = cynara_finish(p_cynara);
- if (result != CYNARA_API_SUCCESS) {
- cynara_strerror(result, err_msg, sizeof(err_msg));
- BT_ERR("Fail to finish cynara: [%s]", err_msg);
- return;
- }
+ if (result != CYNARA_API_SUCCESS) {
+ cynara_strerror(result, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to finish cynara: [%s]", err_msg);
+ return;
+ }
- p_cynara = NULL;
- conf = NULL;
+ p_cynara = NULL;
+ conf = NULL;
}
phone_name = vconf_keynode_get_str(node);
if (phone_name && strlen(phone_name) != 0) {
- if (!g_utf8_validate(phone_name, -1,
- (const char **)&ptr))
- *ptr = '\0';
+ if (!g_utf8_validate(phone_name, -1, (const char **)&ptr))
+ *ptr = '\0';
_bt_set_local_name(phone_name);
}
int timeout = 0;
if (vconf_get_int(BT_FILE_VISIBLE_TIME, &timeout) != 0)
- BT_ERR("Fail to get the timeout value");
+ BT_ERR("Fail to get the timeout value");
if (timeout == -1) {
if (_bt_set_discoverable_mode(
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_DEVICE_NAME_STR,
(vconf_callback_fn)__bt_phone_name_changed_cb);
- if (0 != ret) {
+ if (0 != ret)
BT_ERR("vconf_ignore_key_changed failed\n");
- }
_bt_reliable_terminate_service(NULL);
- if (eventsystem_unregister_event(status_reg_id) != ES_R_OK) {
+ if (eventsystem_unregister_event(status_reg_id) != ES_R_OK)
BT_ERR("Fail to unregister system event");
- }
_bt_delete_event_timer(BT_EVENT_TIMER_DISABLE);
{
BT_CHECK_PARAMETER(device_address, return);
BT_CHECK_PARAMETER(dev_info, return);
-
- /* Should implement this */
+ /* Should implement this */
return BLUETOOTH_ERROR_NONE;
}
{
GDBusConnection *g_conn;
- if (system_conn == NULL) {
+ if (system_conn == NULL)
g_conn = __bt_init_system_gconn();
- } else {
+ else
g_conn = system_conn;
- }
retv_if(g_conn == NULL, NULL);
dev_addr += 4;
g_strlcpy(address, dev_addr, sizeof(address));
- while ((pos = strchr(address, '_')) != NULL) {
+ while ((pos = strchr(address, '_')) != NULL)
*pos = ':';
- }
g_strlcpy(device_address, address, BT_ADDRESS_STRING_SIZE);
}
void _bt_convert_addr_string_to_type(unsigned char *addr,
const char *address)
{
- int i;
- char *ptr = NULL;
+ int i;
+ char *ptr = NULL;
ret_if(address == NULL);
ret_if(addr == NULL);
- for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
- addr[i] = strtol(address, &ptr, 16);
- if (ptr[0] != '\0') {
- if (ptr[0] != ':')
- return;
+ for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
+ addr[i] = strtol(address, &ptr, 16);
+ if (ptr[0] != '\0') {
+ if (ptr[0] != ':')
+ return;
- address = ptr + 1;
- }
- }
+ address = ptr + 1;
+ }
+ }
}
void _bt_convert_addr_type_to_string(char *address,
if (arg < 0)
return -errno;
- if (arg & O_NONBLOCK) {
+ if (arg & O_NONBLOCK)
BT_ERR("Already Non-blocking \n");
- }
arg |= O_NONBLOCK;
if (_bt_dpm_get_allow_bluetooth_mode() == DPM_BT_RESTRICTED)
return ret;
-
+
if (list) {
ret = DPM_RESULT_SUCCESS;
uuids_list.count = g_slist_length(policy_table[DPM_POLICY_BLUETOOTH_UUIDS_WHITELIST].list);
case BT_RFCOMM_SERVER_EVENT:
path = BT_RFCOMM_SERVER_PATH;
break;
- case BT_A2DP_SOURCE_EVENT:
- path = BT_A2DP_SOURCE_PATH;
- break;
+ case BT_A2DP_SOURCE_EVENT:
+ path = BT_A2DP_SOURCE_PATH;
+ break;
default:
BT_ERR("Unknown event");
return BLUETOOTH_ERROR_INTERNAL;
signal = BT_A2DP_SOURCE_CONNECTED;
BT_INFO_C("Connected [A2DP Source]");
break;
- case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED:
- signal = BT_A2DP_SOURCE_DISCONNECTED;
- BT_INFO_C("Disconnected [A2DP Source]");
- break;
+ case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED:
+ signal = BT_A2DP_SOURCE_DISCONNECTED;
+ BT_INFO_C("Disconnected [A2DP Source]");
+ break;
case BLUETOOTH_EVENT_AVRCP_CONNECTED:
case BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED:
signal = BT_AVRCP_CONNECTED;
msg1 = g_dbus_message_new_signal(path, BT_EVENT_SERVICE, signal);
g_dbus_message_set_body(msg1, param);
- if (!g_dbus_connection_send_message(event_conn, msg1, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 0, NULL)) {
+ if (!g_dbus_connection_send_message(event_conn, msg1, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 0, NULL))
BT_ERR("Error while sending");
- }
g_object_unref(msg1);
path = BT_LE_ADAPTER_PATH;
break;
case BT_DEVICE_EVENT:
- path = BT_DEVICE_PATH;
+ path = BT_DEVICE_PATH;
break;
default:
BT_ERR("Unknown event");
BT_INFO_C("Terminating the bt-service daemon");
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_quit(main_loop);
- } else {
+ else
exit(0);
- }
return FALSE;
}
#ifdef TIZEN_TV
_bt_enable_adapter();
#else
- if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0)
BT_DBG("no bluetooth device info, so BT was disabled at previous session");
- }
- if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0)
BT_ERR("no bluetooth le info, so BT LE was disabled at previous session");
- }
if ((bt_status != VCONFKEY_BT_STATUS_OFF) &&
(status == BT_DEACTIVATED)) {
g_main_loop_run(main_loop);
BT_DBG("g_main_loop_quit called!");
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_unref(main_loop);
- }
if (terminated == FALSE)
__bt_release_service();
#define LOG_COLOR_PURPLE "\033[35m"
#define BT_DBG(fmt, args...) \
- SLOGD(fmt, ##args)
+ SLOGD(fmt, ##args)
#define BT_INFO(fmt, args...) \
- SLOGI(fmt, ##args)
+ SLOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- SLOGE(fmt, ##args)
+ SLOGE(fmt, ##args)
#define BT_INFO_C(fmt, arg...) \
SLOGI_IF(TRUE, LOG_COLOR_GREEN" "fmt" "LOG_COLOR_RESET, ##arg)
#include "bluetooth-api.h"
#ifdef __cplusplus
- extern "C" {
+extern "C" {
#endif
* @brief DPM BT allowance state
* @see
*/
- typedef enum {
- DPM_BT_ERROR = -1, /**< bluetooth allowance error */
- DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
- DPM_BT_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
- DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
- } dpm_bt_allow_t;
+typedef enum {
+ DPM_BT_ERROR = -1, /**< bluetooth allowance error */
+ DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
+ DPM_BT_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
+ DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
+} dpm_bt_allow_t;
/**
* @brief DPM API result
goto fail;
}
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
goto fail;
- }
if ((request_type == BT_ASYNC_REQ ||
service_function == BT_OBEX_SERVER_ACCEPT_CONNECTION) &&
case BT_IS_SCAN_FILTER_SUPPORTED:{
int is_supported = 0;
- if (_bt_is_scan_filter_supported() == TRUE) {
+ if (_bt_is_scan_filter_supported() == TRUE)
is_supported = 1;
- }
g_array_append_vals(*out_param1,
&is_supported, sizeof(int));
int length = 0;
result = _bt_get_advertising_data(&adv, &length);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
g_array_append_vals(*out_param1, adv.data, length);
- }
+
break;
}
case BT_SET_ADVERTISING_DATA: {
int length = 0;
result = _bt_get_scan_response_data(&rsp, &length);
- if (result == BLUETOOTH_ERROR_NONE) {
+ if (result == BLUETOOTH_ERROR_NONE)
g_array_append_vals(*out_param1, rsp.data, length);
- }
break;
}
&address, file_path,
file_count);
- for (i = 0; i < file_count; i++) {
+ for (i = 0; i < file_count; i++)
g_free(file_path[i]);
- }
+
g_free(file_path);
g_array_free(param2, TRUE);
int service_type,
const char *unique_name)
{
- int ret_val;
- gboolean result = TRUE;
- char *client_creds = NULL;
- char *user_creds = NULL;
- char *client_session = "";
- enum cynara_client_creds client_creds_method = CLIENT_METHOD_SMACK;
- enum cynara_user_creds user_creds_method = USER_METHOD_UID;
- char err_msg[256] = {0, };
-
- retv_if(unique_name == NULL, FALSE);
-
- BT_DBG("unique_name: %s", unique_name);
-
- retv_if(bt_service_conn == NULL, FALSE);
-
- ret_val = cynara_creds_get_default_client_method(&client_creds_method);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get default client method: %s", err_msg);
- return FALSE;
- }
-
- ret_val = cynara_creds_get_default_user_method(&user_creds_method);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get default user method: %s", err_msg);
- return FALSE;
- }
-
- ret_val = cynara_creds_gdbus_get_client(bt_service_conn, unique_name, client_creds_method, &client_creds);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get client credential: %s", err_msg);
- return FALSE;
- }
-
- BT_DBG("client_creds: %s", client_creds);
-
- ret_val = cynara_creds_gdbus_get_user(bt_service_conn, unique_name, user_creds_method, &user_creds);
- if (ret_val != CYNARA_API_SUCCESS) {
- cynara_strerror(ret_val, err_msg, sizeof(err_msg));
- BT_ERR("Fail to get user credential: %s", err_msg);
- if (client_creds)
- free(client_creds);
- return FALSE;
- }
-
- BT_DBG("user_creds: %s", user_creds);
-
- switch (function_name) {
- case BT_SET_LOCAL_NAME:
- case BT_START_DISCOVERY:
- case BT_START_CUSTOM_DISCOVERY:
- case BT_CANCEL_DISCOVERY:
- case BT_OOB_ADD_REMOTE_DATA:
- case BT_OOB_REMOVE_REMOTE_DATA:
- case BT_SET_ADVERTISING:
- case BT_SET_CUSTOM_ADVERTISING:
- case BT_SET_ADVERTISING_PARAMETERS:
- case BT_START_LE_DISCOVERY:
- case BT_STOP_LE_DISCOVERY:
- case BT_SET_SCAN_PARAMETERS:
-
- case BT_BOND_DEVICE:
- case BT_CANCEL_BONDING:
- case BT_UNBOND_DEVICE:
- case BT_SET_ALIAS:
- case BT_SET_AUTHORIZATION:
- case BT_UNSET_AUTHORIZATION:
- case BT_SEARCH_SERVICE:
-
- case BT_RFCOMM_CLIENT_CONNECT:
- case BT_RFCOMM_CLIENT_CANCEL_CONNECT:
- case BT_RFCOMM_SOCKET_DISCONNECT:
- case BT_RFCOMM_SOCKET_WRITE:
- case BT_RFCOMM_CREATE_SOCKET:
- case BT_RFCOMM_REMOVE_SOCKET:
-
- case BT_OPP_PUSH_FILES:
- case BT_OPP_CANCEL_PUSH:
-
- case BT_OBEX_SERVER_ACCEPT_CONNECTION:
- case BT_OBEX_SERVER_REJECT_CONNECTION:
- case BT_OBEX_SERVER_ACCEPT_FILE:
- case BT_OBEX_SERVER_REJECT_FILE:
- case BT_OBEX_SERVER_SET_PATH:
- case BT_OBEX_SERVER_SET_ROOT:
- case BT_OBEX_SERVER_CANCEL_TRANSFER:
- case BT_OBEX_SERVER_CANCEL_ALL_TRANSFERS:
-
- case BT_AUDIO_CONNECT:
- case BT_AUDIO_DISCONNECT:
- case BT_AG_CONNECT:
- case BT_AG_DISCONNECT:
- case BT_AV_CONNECT:
- case BT_AV_DISCONNECT:
- case BT_AV_SOURCE_CONNECT:
- case BT_AV_SOURCE_DISCONNECT:
- case BT_AVRCP_CONTROL_CONNECT:
- case BT_AVRCP_CONTROL_DISCONNECT:
- case BT_AVRCP_HANDLE_CONTROL:
- case BT_AVRCP_SET_TRACK_INFO:
- case BT_AVRCP_SET_PROPERTY:
- case BT_AVRCP_SET_PROPERTIES:
- case BT_AVRCP_CONTROL_SET_PROPERTY:
-
- case BT_HF_CONNECT:
- case BT_HF_DISCONNECT:
-
- case BT_HID_CONNECT:
- case BT_HID_DISCONNECT:
-
- case BT_HID_DEVICE_ACTIVATE:
- case BT_HID_DEVICE_DEACTIVATE:
- case BT_HID_DEVICE_CONNECT:
- case BT_HID_DEVICE_DISCONNECT:
- case BT_HID_DEVICE_SEND_MOUSE_EVENT:
- case BT_HID_DEVICE_SEND_KEY_EVENT:
- case BT_HID_DEVICE_SEND_REPLY_TO_REPORT:
+ int ret_val;
+ gboolean result = TRUE;
+ char *client_creds = NULL;
+ char *user_creds = NULL;
+ char *client_session = "";
+ enum cynara_client_creds client_creds_method = CLIENT_METHOD_SMACK;
+ enum cynara_user_creds user_creds_method = USER_METHOD_UID;
+ char err_msg[256] = {0, };
+
+ retv_if(unique_name == NULL, FALSE);
+
+ BT_DBG("unique_name: %s", unique_name);
+
+ retv_if(bt_service_conn == NULL, FALSE);
+
+ ret_val = cynara_creds_get_default_client_method(&client_creds_method);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get default client method: %s", err_msg);
+ return FALSE;
+ }
+
+ ret_val = cynara_creds_get_default_user_method(&user_creds_method);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get default user method: %s", err_msg);
+ return FALSE;
+ }
+
+ ret_val = cynara_creds_gdbus_get_client(bt_service_conn, unique_name, client_creds_method, &client_creds);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get client credential: %s", err_msg);
+ return FALSE;
+ }
+
+ BT_DBG("client_creds: %s", client_creds);
+
+ ret_val = cynara_creds_gdbus_get_user(bt_service_conn, unique_name, user_creds_method, &user_creds);
+ if (ret_val != CYNARA_API_SUCCESS) {
+ cynara_strerror(ret_val, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to get user credential: %s", err_msg);
+ if (client_creds)
+ free(client_creds);
+ return FALSE;
+ }
+
+ BT_DBG("user_creds: %s", user_creds);
+
+ switch (function_name) {
+ case BT_SET_LOCAL_NAME:
+ case BT_START_DISCOVERY:
+ case BT_START_CUSTOM_DISCOVERY:
+ case BT_CANCEL_DISCOVERY:
+ case BT_OOB_ADD_REMOTE_DATA:
+ case BT_OOB_REMOVE_REMOTE_DATA:
+ case BT_SET_ADVERTISING:
+ case BT_SET_CUSTOM_ADVERTISING:
+ case BT_SET_ADVERTISING_PARAMETERS:
+ case BT_START_LE_DISCOVERY:
+ case BT_STOP_LE_DISCOVERY:
+ case BT_SET_SCAN_PARAMETERS:
+
+ case BT_BOND_DEVICE:
+ case BT_CANCEL_BONDING:
+ case BT_UNBOND_DEVICE:
+ case BT_SET_ALIAS:
+ case BT_SET_AUTHORIZATION:
+ case BT_UNSET_AUTHORIZATION:
+ case BT_SEARCH_SERVICE:
+
+ case BT_RFCOMM_CLIENT_CONNECT:
+ case BT_RFCOMM_CLIENT_CANCEL_CONNECT:
+ case BT_RFCOMM_SOCKET_DISCONNECT:
+ case BT_RFCOMM_SOCKET_WRITE:
+ case BT_RFCOMM_CREATE_SOCKET:
+ case BT_RFCOMM_REMOVE_SOCKET:
+
+ case BT_OPP_PUSH_FILES:
+ case BT_OPP_CANCEL_PUSH:
+
+ case BT_OBEX_SERVER_ACCEPT_CONNECTION:
+ case BT_OBEX_SERVER_REJECT_CONNECTION:
+ case BT_OBEX_SERVER_ACCEPT_FILE:
+ case BT_OBEX_SERVER_REJECT_FILE:
+ case BT_OBEX_SERVER_SET_PATH:
+ case BT_OBEX_SERVER_SET_ROOT:
+ case BT_OBEX_SERVER_CANCEL_TRANSFER:
+ case BT_OBEX_SERVER_CANCEL_ALL_TRANSFERS:
+
+ case BT_AUDIO_CONNECT:
+ case BT_AUDIO_DISCONNECT:
+ case BT_AG_CONNECT:
+ case BT_AG_DISCONNECT:
+ case BT_AV_CONNECT:
+ case BT_AV_DISCONNECT:
+ case BT_AV_SOURCE_CONNECT:
+ case BT_AV_SOURCE_DISCONNECT:
+ case BT_AVRCP_CONTROL_CONNECT:
+ case BT_AVRCP_CONTROL_DISCONNECT:
+ case BT_AVRCP_HANDLE_CONTROL:
+ case BT_AVRCP_SET_TRACK_INFO:
+ case BT_AVRCP_SET_PROPERTY:
+ case BT_AVRCP_SET_PROPERTIES:
+ case BT_AVRCP_CONTROL_SET_PROPERTY:
+
+ case BT_HF_CONNECT:
+ case BT_HF_DISCONNECT:
+
+ case BT_HID_CONNECT:
+ case BT_HID_DISCONNECT:
+
+ case BT_HID_DEVICE_ACTIVATE:
+ case BT_HID_DEVICE_DEACTIVATE:
+ case BT_HID_DEVICE_CONNECT:
+ case BT_HID_DEVICE_DISCONNECT:
+ case BT_HID_DEVICE_SEND_MOUSE_EVENT:
+ case BT_HID_DEVICE_SEND_KEY_EVENT:
+ case BT_HID_DEVICE_SEND_REPLY_TO_REPORT:
case BT_HID_DEVICE_SEND_CUSTOM_EVENT:
- case BT_CONNECT_LE:
- case BT_DISCONNECT_LE:
-
- case BT_SET_ADVERTISING_DATA:
- case BT_SET_SCAN_RESPONSE_DATA:
-
- case BT_HDP_CONNECT:
- case BT_HDP_DISCONNECT:
- case BT_HDP_SEND_DATA:
- case BT_HDP_REGISTER_SINK_APP:
- case BT_HDP_UNREGISTER_SINK_APP:
-
- case BT_DPM_SET_ALLOW_BT_MODE:
- case BT_DPM_GET_ALLOW_BT_MODE:
- case BT_DPM_SET_DEVICE_RESTRITION:
- case BT_DPM_GET_DEVICE_RESTRITION:
- case BT_DPM_SET_UUID_RESTRITION:
- case BT_DPM_GET_UUID_RESTRITION:
- case BT_DPM_ADD_DEVICES_BLACKLIST:
- case BT_DPM_ADD_DEVICES_WHITELIST:
- case BT_DPM_ADD_UUIDS_BLACKLIST:
- case BT_DPM_ADD_UUIDS_WHITELIST:
- case BT_DPM_CLEAR_DEVICES_BLACKLIST:
- case BT_DPM_CLEAR_DEVICES_WHITELIST:
- case BT_DPM_CLEAR_UUIDS_BLACKLIST:
- case BT_DPM_CLEAR_UUIDS_WHITELIST:
- case BT_DPM_REMOVE_DEVICE_BLACKLIST:
- case BT_DPM_REMOVE_DEVICE_WHITELIST:
- case BT_DPM_REMOVE_UUID_BLACKLIST:
- case BT_DPM_REMOVE_UUID_WHITELIST:
- case BT_DPM_GET_DEVICES_BLACKLIST:
- case BT_DPM_GET_DEVICES_WHITELIST:
- case BT_DPM_GET_UUIDS_BLACKLIST:
- case BT_DPM_GET_UUIDS_WHITELIST:
- case BT_DPM_SET_ALLOW_OUTGOING_CALL:
- case BT_DPM_GET_ALLOW_OUTGOING_CALL:
- case BT_DPM_SET_PAIRING_STATE:
- case BT_DPM_GET_PAIRING_STATE:
- case BT_DPM_SET_PROFILE_STATE:
- case BT_DPM_GET_PROFILE_STATE:
- case BT_DPM_SET_DESKROP_CONNECTIVITY_STATE:
- case BT_DPM_GET_DESKROP_CONNECTIVITY_STATE:
- case BT_DPM_SET_DISCOVERABLE_STATE:
- case BT_DPM_GET_DISCOVERABLE_STATE:
- case BT_DPM_SET_LIMITED_DISCOVERABLE_STATE:
- case BT_DPM_GET_LIMITED_DISCOVERABLE_STATE:
- case BT_DPM_SET_DATA_TRANSFER_STATE:
- case BT_DPM_GET_DATA_TRANSFER_STATE:
-
- case BT_NETWORK_ACTIVATE:
- case BT_NETWORK_DEACTIVATE:
- case BT_NETWORK_CONNECT:
- case BT_NETWORK_DISCONNECT:
- case BT_NETWORK_SERVER_DISCONNECT:
-
- case BT_GATT_GET_PRIMARY_SERVICES:
- case BT_GATT_DISCOVER_CHARACTERISTICS:
- case BT_GATT_SET_PROPERTY_REQUEST:
- case BT_GATT_READ_CHARACTERISTIC:
- case BT_GATT_DISCOVER_CHARACTERISTICS_DESCRIPTOR:
- case BT_GATT_REGISTER_APPLICATION:
- case BT_GATT_REGISTER_SERVICE:
- case BT_GATT_SEND_RESPONSE:
- case BT_PBAP_CONNECT:
- case BT_PBAP_DISCONNECT:
- case BT_PBAP_GET_PHONEBOOK_SIZE:
- case BT_PBAP_GET_PHONEBOOK:
- case BT_PBAP_GET_LIST:
- case BT_PBAP_PULL_VCARD:
- case BT_PBAP_PHONEBOOK_SEARCH:
-
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- BT_PRIVILEGE_PUBLIC);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", BT_PRIVILEGE_PUBLIC);
- result = FALSE;
- }
-
- /* Need to check mediastorage privilege */
- if (function_name == BT_PBAP_GET_PHONEBOOK ||
- function_name == BT_PBAP_PULL_VCARD) {
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- MEDIASTORAGE_PRIVILEGE);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", MEDIASTORAGE_PRIVILEGE);
- result = FALSE;
- }
- }
- break;
-
- case BT_ENABLE_ADAPTER:
- case BT_DISABLE_ADAPTER:
- case BT_RESET_ADAPTER:
- case BT_RECOVER_ADAPTER:
- case BT_ENABLE_ADAPTER_LE:
- case BT_DISABLE_ADAPTER_LE:
- case BT_SET_CONNECTABLE:
- case BT_SET_DISCOVERABLE_MODE:
- case BT_ADD_WHITE_LIST:
- case BT_REMOVE_WHITE_LIST:
- case BT_CLEAR_WHITE_LIST:
- case BT_SET_MANUFACTURER_DATA:
- case BT_SET_PROFILE_RESTRICTED:
-
- case BT_CANCEL_SEARCH_SERVICE:
- case BT_ENABLE_RSSI:
-
- case BT_RFCOMM_ACCEPT_CONNECTION:
- case BT_RFCOMM_REJECT_CONNECTION:
- case BT_RFCOMM_LISTEN:
-
- case BT_AVRCP_CONTROL_GET_PROPERTY:
- case BT_AVRCP_GET_TRACK_INFO:
-
- case BT_SET_CONTENT_PROTECT:
- case BT_BOND_DEVICE_BY_TYPE:
- case BT_SET_LE_PRIVACY:
- case BT_LE_CONN_UPDATE:
- case BT_LE_READ_MAXIMUM_DATA_LENGTH:
- case BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH:
- case BT_LE_READ_HOST_SUGGESTED_DATA_LENGTH:
- case BT_LE_SET_DATA_LENGTH:
-
- case BT_GET_ATT_MTU:
-
- case BT_LE_IPSP_INIT:
- case BT_LE_IPSP_DEINIT:
- case BT_LE_IPSP_CONNECT:
- case BT_LE_IPSP_DISCONNECT:
- ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
- BT_PRIVILEGE_PLATFORM);
-
- if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
- BT_ERR("Fail to access: %s", BT_PRIVILEGE_PLATFORM);
- result = FALSE;
- }
- break;
-
- case BT_CHECK_ADAPTER:
- case BT_GET_RSSI:
-
- case BT_GET_LOCAL_NAME:
- case BT_GET_LOCAL_ADDRESS:
- case BT_GET_LOCAL_VERSION:
- case BT_IS_SERVICE_USED:
- case BT_GET_DISCOVERABLE_MODE:
- case BT_GET_DISCOVERABLE_TIME:
- case BT_IS_DISCOVERYING:
- case BT_IS_LE_DISCOVERYING:
- case BT_IS_CONNECTABLE:
- case BT_GET_BONDED_DEVICES:
- case BT_GET_BONDED_DEVICE:
+ case BT_CONNECT_LE:
+ case BT_DISCONNECT_LE:
+
+ case BT_SET_ADVERTISING_DATA:
+ case BT_SET_SCAN_RESPONSE_DATA:
+
+ case BT_HDP_CONNECT:
+ case BT_HDP_DISCONNECT:
+ case BT_HDP_SEND_DATA:
+ case BT_HDP_REGISTER_SINK_APP:
+ case BT_HDP_UNREGISTER_SINK_APP:
+
+ case BT_DPM_SET_ALLOW_BT_MODE:
+ case BT_DPM_GET_ALLOW_BT_MODE:
+ case BT_DPM_SET_DEVICE_RESTRITION:
+ case BT_DPM_GET_DEVICE_RESTRITION:
+ case BT_DPM_SET_UUID_RESTRITION:
+ case BT_DPM_GET_UUID_RESTRITION:
+ case BT_DPM_ADD_DEVICES_BLACKLIST:
+ case BT_DPM_ADD_DEVICES_WHITELIST:
+ case BT_DPM_ADD_UUIDS_BLACKLIST:
+ case BT_DPM_ADD_UUIDS_WHITELIST:
+ case BT_DPM_CLEAR_DEVICES_BLACKLIST:
+ case BT_DPM_CLEAR_DEVICES_WHITELIST:
+ case BT_DPM_CLEAR_UUIDS_BLACKLIST:
+ case BT_DPM_CLEAR_UUIDS_WHITELIST:
+ case BT_DPM_REMOVE_DEVICE_BLACKLIST:
+ case BT_DPM_REMOVE_DEVICE_WHITELIST:
+ case BT_DPM_REMOVE_UUID_BLACKLIST:
+ case BT_DPM_REMOVE_UUID_WHITELIST:
+ case BT_DPM_GET_DEVICES_BLACKLIST:
+ case BT_DPM_GET_DEVICES_WHITELIST:
+ case BT_DPM_GET_UUIDS_BLACKLIST:
+ case BT_DPM_GET_UUIDS_WHITELIST:
+ case BT_DPM_SET_ALLOW_OUTGOING_CALL:
+ case BT_DPM_GET_ALLOW_OUTGOING_CALL:
+ case BT_DPM_SET_PAIRING_STATE:
+ case BT_DPM_GET_PAIRING_STATE:
+ case BT_DPM_SET_PROFILE_STATE:
+ case BT_DPM_GET_PROFILE_STATE:
+ case BT_DPM_SET_DESKROP_CONNECTIVITY_STATE:
+ case BT_DPM_GET_DESKROP_CONNECTIVITY_STATE:
+ case BT_DPM_SET_DISCOVERABLE_STATE:
+ case BT_DPM_GET_DISCOVERABLE_STATE:
+ case BT_DPM_SET_LIMITED_DISCOVERABLE_STATE:
+ case BT_DPM_GET_LIMITED_DISCOVERABLE_STATE:
+ case BT_DPM_SET_DATA_TRANSFER_STATE:
+ case BT_DPM_GET_DATA_TRANSFER_STATE:
+
+ case BT_NETWORK_ACTIVATE:
+ case BT_NETWORK_DEACTIVATE:
+ case BT_NETWORK_CONNECT:
+ case BT_NETWORK_DISCONNECT:
+ case BT_NETWORK_SERVER_DISCONNECT:
+
+ case BT_GATT_GET_PRIMARY_SERVICES:
+ case BT_GATT_DISCOVER_CHARACTERISTICS:
+ case BT_GATT_SET_PROPERTY_REQUEST:
+ case BT_GATT_READ_CHARACTERISTIC:
+ case BT_GATT_DISCOVER_CHARACTERISTICS_DESCRIPTOR:
+ case BT_GATT_REGISTER_APPLICATION:
+ case BT_GATT_REGISTER_SERVICE:
+ case BT_GATT_SEND_RESPONSE:
+ case BT_PBAP_CONNECT:
+ case BT_PBAP_DISCONNECT:
+ case BT_PBAP_GET_PHONEBOOK_SIZE:
+ case BT_PBAP_GET_PHONEBOOK:
+ case BT_PBAP_GET_LIST:
+ case BT_PBAP_PULL_VCARD:
+ case BT_PBAP_PHONEBOOK_SEARCH:
+
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ BT_PRIVILEGE_PUBLIC);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", BT_PRIVILEGE_PUBLIC);
+ result = FALSE;
+ }
+
+ /* Need to check mediastorage privilege */
+ if (function_name == BT_PBAP_GET_PHONEBOOK ||
+ function_name == BT_PBAP_PULL_VCARD) {
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ MEDIASTORAGE_PRIVILEGE);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", MEDIASTORAGE_PRIVILEGE);
+ result = FALSE;
+ }
+ }
+ break;
+
+ case BT_ENABLE_ADAPTER:
+ case BT_DISABLE_ADAPTER:
+ case BT_RESET_ADAPTER:
+ case BT_RECOVER_ADAPTER:
+ case BT_ENABLE_ADAPTER_LE:
+ case BT_DISABLE_ADAPTER_LE:
+ case BT_SET_CONNECTABLE:
+ case BT_SET_DISCOVERABLE_MODE:
+ case BT_ADD_WHITE_LIST:
+ case BT_REMOVE_WHITE_LIST:
+ case BT_CLEAR_WHITE_LIST:
+ case BT_SET_MANUFACTURER_DATA:
+ case BT_SET_PROFILE_RESTRICTED:
+
+ case BT_CANCEL_SEARCH_SERVICE:
+ case BT_ENABLE_RSSI:
+
+ case BT_RFCOMM_ACCEPT_CONNECTION:
+ case BT_RFCOMM_REJECT_CONNECTION:
+ case BT_RFCOMM_LISTEN:
+
+ case BT_AVRCP_CONTROL_GET_PROPERTY:
+ case BT_AVRCP_GET_TRACK_INFO:
+
+ case BT_SET_CONTENT_PROTECT:
+ case BT_BOND_DEVICE_BY_TYPE:
+ case BT_SET_LE_PRIVACY:
+ case BT_LE_CONN_UPDATE:
+ case BT_LE_READ_MAXIMUM_DATA_LENGTH:
+ case BT_LE_WRITE_HOST_SUGGESTED_DATA_LENGTH:
+ case BT_LE_READ_HOST_SUGGESTED_DATA_LENGTH:
+ case BT_LE_SET_DATA_LENGTH:
+
+ case BT_GET_ATT_MTU:
+
+ case BT_LE_IPSP_INIT:
+ case BT_LE_IPSP_DEINIT:
+ case BT_LE_IPSP_CONNECT:
+ case BT_LE_IPSP_DISCONNECT:
+ ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
+ BT_PRIVILEGE_PLATFORM);
+
+ if (ret_val != CYNARA_API_ACCESS_ALLOWED) {
+ BT_ERR("Fail to access: %s", BT_PRIVILEGE_PLATFORM);
+ result = FALSE;
+ }
+ break;
+
+ case BT_CHECK_ADAPTER:
+ case BT_GET_RSSI:
+
+ case BT_GET_LOCAL_NAME:
+ case BT_GET_LOCAL_ADDRESS:
+ case BT_GET_LOCAL_VERSION:
+ case BT_IS_SERVICE_USED:
+ case BT_GET_DISCOVERABLE_MODE:
+ case BT_GET_DISCOVERABLE_TIME:
+ case BT_IS_DISCOVERYING:
+ case BT_IS_LE_DISCOVERYING:
+ case BT_IS_CONNECTABLE:
+ case BT_GET_BONDED_DEVICES:
+ case BT_GET_BONDED_DEVICE:
case BT_GET_IS_ALIAS_SET:
- case BT_IS_DEVICE_CONNECTED:
- case BT_GET_SPEAKER_GAIN:
- case BT_SET_SPEAKER_GAIN:
- case BT_OOB_READ_LOCAL_DATA:
- case BT_RFCOMM_CLIENT_IS_CONNECTED:
- case BT_RFCOMM_IS_UUID_AVAILABLE:
- case BT_GET_ADVERTISING_DATA:
- case BT_GET_SCAN_RESPONSE_DATA:
- case BT_IS_ADVERTISING:
- case BT_GET_PROFILE_RESTRICTED:
-
- case BT_OBEX_SERVER_ALLOCATE:
- case BT_OBEX_SERVER_DEALLOCATE:
- /* Non-privilege control */
- break;
- default:
- BT_ERR("Unknown function!");
- result = FALSE;
- break;
- }
-
- if (client_creds)
- free(client_creds);
-
- if (user_creds)
- free(user_creds);
-
- return result;
+ case BT_IS_DEVICE_CONNECTED:
+ case BT_GET_SPEAKER_GAIN:
+ case BT_SET_SPEAKER_GAIN:
+ case BT_OOB_READ_LOCAL_DATA:
+ case BT_RFCOMM_CLIENT_IS_CONNECTED:
+ case BT_RFCOMM_IS_UUID_AVAILABLE:
+ case BT_GET_ADVERTISING_DATA:
+ case BT_GET_SCAN_RESPONSE_DATA:
+ case BT_IS_ADVERTISING:
+ case BT_GET_PROFILE_RESTRICTED:
+
+ case BT_OBEX_SERVER_ALLOCATE:
+ case BT_OBEX_SERVER_DEALLOCATE:
+ /* Non-privilege control */
+ break;
+ default:
+ BT_ERR("Unknown function!");
+ result = FALSE;
+ break;
+ }
+
+ if (client_creds)
+ free(client_creds);
+
+ if (user_creds)
+ free(user_creds);
+
+ return result;
}
GDBusNodeInfo *__bt_service_create_method_node_info
int _bt_service_cynara_init(void)
{
- int result;
- char err_msg[256] = {0, };
+ int result;
+ char err_msg[256] = {0, };
- retv_if(p_cynara != NULL, BLUETOOTH_ERROR_ALREADY_INITIALIZED);
+ retv_if(p_cynara != NULL, BLUETOOTH_ERROR_ALREADY_INITIALIZED);
- result = cynara_initialize(&p_cynara, conf);
+ result = cynara_initialize(&p_cynara, conf);
- if (result != CYNARA_API_SUCCESS) {
- cynara_strerror(result, err_msg, sizeof(err_msg));
- BT_ERR("Fail to initialize cynara: [%s]", err_msg);
- return BLUETOOTH_ERROR_INTERNAL;
- }
+ if (result != CYNARA_API_SUCCESS) {
+ cynara_strerror(result, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to initialize cynara: [%s]", err_msg);
+ return BLUETOOTH_ERROR_INTERNAL;
+ }
- return BLUETOOTH_ERROR_NONE;
+ return BLUETOOTH_ERROR_NONE;
}
void _bt_service_cynara_deinit(void)
{
- int result;
- char err_msg[256] = {0, };
+ int result;
+ char err_msg[256] = {0, };
- ret_if(p_cynara == NULL);
+ ret_if(p_cynara == NULL);
- result = cynara_finish(p_cynara);
+ result = cynara_finish(p_cynara);
- if (result != CYNARA_API_SUCCESS) {
- cynara_strerror(result, err_msg, sizeof(err_msg));
- BT_ERR("Fail to finish cynara: [%s]", err_msg);
- return;
- }
+ if (result != CYNARA_API_SUCCESS) {
+ cynara_strerror(result, err_msg, sizeof(err_msg));
+ BT_ERR("Fail to finish cynara: [%s]", err_msg);
+ return;
+ }
- p_cynara = NULL;
- conf = NULL;
+ p_cynara = NULL;
+ conf = NULL;
}
}
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < length; i++) {
+ for (i = 0; i < length; i++)
g_variant_builder_add(builder, "y", adv->data[i]);
- }
temp = g_variant_new("ay", builder);
g_variant_builder_unref(builder);
if (old_len != new_len ||
(old_mdata && new_mdata &&
memcmp(old_mdata, new_mdata, new_len))) {
- ad_data = g_variant_new_from_data((const GVariantType *)"ay",
- new_mdata, new_len, TRUE, NULL, NULL);
+ ad_data = g_variant_new_from_data((const GVariantType *)"ay",
+ new_mdata, new_len, TRUE, NULL, NULL);
param = g_variant_new("(@ay)", ad_data);
_bt_send_event(BT_ADAPTER_EVENT,
BLUETOOTH_EVENT_ADVERTISING_MANUFACTURER_DATA_CHANGED,
return BLUETOOTH_ERROR_NO_RESOURCES;
}
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < length; i++) {
+ for (i = 0; i < length; i++)
g_variant_builder_add(builder, "y", response->data[i]);
- }
temp = g_variant_new("ay", builder);
g_variant_builder_unref(builder);
(old_mdata && new_mdata &&
memcmp(old_mdata, new_mdata, new_len))) {
scan_data = g_variant_new_from_data((const GVariantType *)"ay",
- new_mdata, new_len, TRUE, NULL, NULL);
+ new_mdata, new_len, TRUE, NULL, NULL);
param = g_variant_new("(@ay)", scan_data);
_bt_send_event(BT_ADAPTER_EVENT,
BLUETOOTH_EVENT_SCAN_RESPONSE_MANUFACTURER_DATA_CHANGED,
scanner = l->data;
for (fl = scanner->filter_list; fl != NULL; fl = g_slist_next(fl)) {
filter_data = fl->data;
- if (filter_data->slot_id < le_feature_info.max_filter) {
+ if (filter_data->slot_id < le_feature_info.max_filter)
slot_check_list[filter_data->slot_id] = TRUE;
- }
}
}
gboolean _bt_is_scan_filter_supported(void)
{
- if (le_feature_info.max_filter > 0) {
+ if (le_feature_info.max_filter > 0)
return TRUE;
- }
return FALSE;
}
g_array_append_vals(arr_uuid_mask, filter->service_uuid_mask.data.data, filter->service_uuid_mask.data_len * sizeof(guint8));
arr_uuid_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_uuid->data, arr_uuid->len, TRUE, NULL, NULL);
+ arr_uuid->data, arr_uuid->len, TRUE, NULL, NULL);
arr_uuid_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_uuid_mask->data, arr_uuid_mask->len, TRUE, NULL, NULL);
+ arr_uuid_mask->data, arr_uuid_mask->len, TRUE, NULL, NULL);
arr_data_param = g_variant_new_from_data((const GVariantType *)"ay",
NULL, 0, TRUE, NULL, NULL);
arr_data_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
g_array_append_vals(arr_uuid_mask, filter->service_solicitation_uuid_mask.data.data, filter->service_solicitation_uuid_mask.data_len * sizeof(guint8));
arr_uuid_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_uuid->data, arr_uuid->len, TRUE, NULL, NULL);
+ arr_uuid->data, arr_uuid->len, TRUE, NULL, NULL);
arr_uuid_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_uuid_mask->data, arr_uuid_mask->len, TRUE, NULL, NULL);
+ arr_uuid_mask->data, arr_uuid_mask->len, TRUE, NULL, NULL);
arr_data_param = g_variant_new_from_data((const GVariantType *)"ay",
NULL, 0, TRUE, NULL, NULL);
arr_data_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
arr_uuid_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
NULL, 0, TRUE, NULL, NULL);
arr_data_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_data->data, arr_data->len, TRUE, NULL, NULL);
+ arr_data->data, arr_data->len, TRUE, NULL, NULL);
arr_data_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_data_mask->data, arr_data_mask->len, TRUE, NULL, NULL);
+ arr_data_mask->data, arr_data_mask->len, TRUE, NULL, NULL);
param = g_variant_new("(iiiiii@ay@aysu@ay@ay)",
0, // client_if
arr_uuid_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
NULL, 0, TRUE, NULL, NULL);
arr_data_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_data->data, arr_data->len, TRUE, NULL, NULL);
+ arr_data->data, arr_data->len, TRUE, NULL, NULL);
arr_data_mask_param = g_variant_new_from_data((const GVariantType *)"ay",
- arr_data_mask->data, arr_data_mask->len, TRUE, NULL, NULL);
+ arr_data_mask->data, arr_data_mask->len, TRUE, NULL, NULL);
param = g_variant_new("(iiiiii@ay@aysu@ay@ay)",
0, // client_if
static GDBusProxy *__bt_get_core_proxy(void)
{
- return (core_proxy) ? core_proxy : _bt_init_core_proxy();
+ return (core_proxy) ? core_proxy : _bt_init_core_proxy();
}
static gboolean __bt_is_factory_test_mode(void)
} else if (!g_strcmp0(key, "ManufacturerData")) {
manufacturer_data = g_byte_array_new();
g_variant_get(value, "ay", &char_value_iter);
- while (g_variant_iter_loop(char_value_iter, "y", &char_value)) {
+ while (g_variant_iter_loop(char_value_iter, "y", &char_value))
g_byte_array_append(manufacturer_data, &char_value, 1);
- }
+
g_variant_iter_free(char_value_iter);
if (manufacturer_data) {
phone_name = vconf_keynode_get_str(node);
if (phone_name && strlen(phone_name) != 0) {
- if (!g_utf8_validate(phone_name, -1,
+ if (!g_utf8_validate(phone_name, -1,
(const char **)&ptr))
- *ptr = '\0';
+ *ptr = '\0';
_bt_set_local_name(phone_name);
}
ret = vconf_ignore_key_changed(VCONFKEY_SETAPPL_DEVICE_NAME_STR,
(vconf_callback_fn)__bt_phone_name_changed_cb);
- if (0 != ret) {
+ if (0 != ret)
ERR("vconf_ignore_key_changed failed\n");
- }
#ifndef USB_BLUETOOTH
_bt_destroy_agent(adapter_agent);
if (le_status == BT_LE_ACTIVATED) {
BT_INFO("LE Already enabled. Just turn on PSCAN");
ret = _bt_set_connectable(TRUE);
- if (ret == BLUETOOTH_ERROR_NONE) {
+ if (ret == BLUETOOTH_ERROR_NONE)
_bt_adapter_set_status(BT_ACTIVATED);
- } else {
+ else
return BLUETOOTH_ERROR_INTERNAL;
- }
}
result = g_dbus_proxy_call_sync(proxy, "EnableAdapter",
G_DBUS_CALL_FLAGS_NONE, BT_ENABLE_TIMEOUT,
NULL, &error);
if (error) {
- BT_ERR("EnableAdapterLe failed: %s", error->message);
- _bt_adapter_set_status(BT_DEACTIVATED);
+ BT_ERR("EnableAdapterLe failed: %s", error->message);
+ _bt_adapter_set_status(BT_DEACTIVATED);
g_clear_error(&error);
error = NULL;
result = g_dbus_proxy_call_sync(proxy,
return BLUETOOTH_ERROR_INTERNAL;
}
g_variant_unref(result);
- if (le_status == BT_LE_ACTIVATED) {
+ if (le_status == BT_LE_ACTIVATED)
__bt_set_enabled();
- } else {
+ else
_bt_adapter_start_enable_timer();
- }
return BLUETOOTH_ERROR_NONE;
}
g_variant_unref(result);
/* Terminate myself */
- if (_bt_adapter_get_status() == BT_DEACTIVATED) {
+ if (_bt_adapter_get_status() == BT_DEACTIVATED)
g_idle_add((GSourceFunc)_bt_terminate_service, NULL);
- }
return BLUETOOTH_ERROR_NONE;
}
address = g_variant_get_string(temp, NULL);
BT_DBG("Address:%s", address);
- if (address) {
+ if (address)
_bt_convert_addr_string_to_type(local_address->addr, address);
- } else {
+ else
return BLUETOOTH_ERROR_INTERNAL;
- }
g_variant_unref(result);
g_variant_unref(temp);
} else if (strcasecmp(key, "ManufacturerData") == 0) {
manufacturer_data = g_byte_array_new();
g_variant_get(value, "ay", &char_value_iter);
- while (g_variant_iter_loop(char_value_iter, "y", &char_value)) {
+ while (g_variant_iter_loop(char_value_iter, "y", &char_value))
g_byte_array_append(manufacturer_data, &char_value, 1);
- }
+
if (manufacturer_data) {
- if (manufacturer_data->len > 0) {
+ if (manufacturer_data->len > 0)
memcpy(dev_info->manufacturer_data.data, manufacturer_data->data, manufacturer_data->len);
- }
}
g_variant_iter_free(char_value_iter);
g_byte_array_free(manufacturer_data, TRUE);
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < (m_data->data_len) + 2; i++) {
+ for (i = 0; i < (m_data->data_len) + 2; i++)
g_variant_builder_add(builder, "y", m_data->data[i]);
- }
val = g_variant_new("(ay)", builder);
}
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < (m_data->data_len) + 2; i++) {
+ for (i = 0; i < (m_data->data_len) + 2; i++)
g_variant_builder_add(builder, "y", m_data->data[i]);
- }
val = g_variant_new("(ay)", builder);
alarm_id_t alarm_id = (alarm_id_t)data;
bt_service_alarm_t *p_data = (bt_service_alarm_t *)list_data;
- if (p_data->alarm_id == alarm_id) {
+ if (p_data->alarm_id == alarm_id)
return 0;
- }
+
return 1;
}
ret = tethering_destroy(tethering);
- if (ret != TETHERING_ERROR_NONE) {
+ if (ret != TETHERING_ERROR_NONE)
BT_ERR("Fail to create tethering: %d", ret);
- }
if (enabled != true) {
BT_ERR("BT tethering is not enabled");
sender, enable ? "Enable" : "Disable");
g_free(passkey_watcher);
- if (enable == TRUE) {
+ if (enable == TRUE)
passkey_watcher = g_strdup(sender);
- } else {
+ else
passkey_watcher = NULL;
- }
return BLUETOOTH_ERROR_NONE;
}
node = g_list_first(g_connected_list);
while (node != NULL) {
connected_device = node->data;
- if (connected_device->device_state == BT_STATE_DISCONNECTING) {
+ if (connected_device->device_state == BT_STATE_DISCONNECTING)
return BLUETOOTH_ERROR_CONNECTION_BUSY;
- }
+
node = g_list_next(node);
}
BT_INFO("Start auto connection after linkloss");
result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_LINKLOSS,
__bt_auto_connect_alarm_cb, NULL, &alarm_id);
- if (result != BLUETOOTH_ERROR_NONE) {
+ if (result != BLUETOOTH_ERROR_NONE)
g_timeout_add(500, (GSourceFunc)__bt_audio_alarm_retry_cb, NULL);
- } else {
+ else
auto_connect_timer.alarm_id = alarm_id;
- }
+
} else {
BT_INFO("Start auto connection after BT activated");
result = _bt_service_set_alarm(BT_AUTO_CONNECT_TIMEOUT_AFTER_BT_ACTIVATED,
{
GError *error = NULL;
- if (!g_thread_supported()) {
+ if (!g_thread_supported())
g_thread_init(NULL);
- }
dbus_threads_init_default();
dev_addr += 4;
g_strlcpy(address, dev_addr, sizeof(address));
- while ((pos = strchr(address, '_')) != NULL) {
+ while ((pos = strchr(address, '_')) != NULL)
*pos = ':';
- }
g_strlcpy(device_address, address, BT_ADDRESS_STRING_SIZE);
}
void _bt_convert_addr_string_to_type(unsigned char *addr,
const char *address)
{
- int i;
- char *ptr = NULL;
+ int i;
+ char *ptr = NULL;
ret_if(address == NULL);
ret_if(addr == NULL);
- for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
- addr[i] = strtol(address, &ptr, 16);
- if (ptr[0] != '\0') {
- if (ptr[0] != ':')
- return;
+ for (i = 0; i < BT_ADDRESS_LENGTH_MAX; i++) {
+ addr[i] = strtol(address, &ptr, 16);
+ if (ptr[0] != '\0') {
+ if (ptr[0] != ':')
+ return;
- address = ptr + 1;
- }
- }
+ address = ptr + 1;
+ }
+ }
}
void _bt_convert_addr_string_to_secure_string(char *addr,
if (arg < 0)
return -errno;
- if (arg & O_NONBLOCK) {
+ if (arg & O_NONBLOCK)
BT_ERR("Already Non-blocking \n");
- }
arg |= O_NONBLOCK;
return NULL;
}
_bt_convert_device_path_to_address(object_path, device_address);
- if (g_strcmp0(address, device_address) == 0) {
+ if (g_strcmp0(address, device_address) == 0)
return g_strdup(object_path);
- }
+
}
BT_ERR("Unable to get object path");
g_dbus_error_strip_remote_error(err);
BT_ERR("Error occured in Proxy call [%s]\n", err->message);
- if (g_strrstr("Operation canceled", err->message)) {
+ if (g_strrstr("Operation canceled", err->message))
result = BLUETOOTH_ERROR_CANCEL_BY_USER;
- } else if (g_strrstr("In Progress", err->message)) {
+ else if (g_strrstr("In Progress", err->message))
result = BLUETOOTH_ERROR_IN_PROGRESS;
- } else if (g_strrstr("Host is down", err->message)) {
+ else if (g_strrstr("Host is down", err->message))
result = BLUETOOTH_ERROR_HOST_DOWN;
- } else {
+ else
result = BLUETOOTH_ERROR_CONNECTION_ERROR;
- }
if (result == BLUETOOTH_ERROR_HOST_DOWN ||
result == BLUETOOTH_ERROR_CONNECTION_ERROR) {
bluetooth_trusted_profile_t _bt_get_trusted_profile_enum(const char *uuid)
{
- if (g_strcmp0("0000112f-0000-1000-8000-00805f9b34fb", uuid) == 0) {
+ if (g_strcmp0("0000112f-0000-1000-8000-00805f9b34fb", uuid) == 0)
return TRUSTED_PROFILE_PBAP;
- } else if (g_strcmp0("00001132-0000-1000-8000-00805f9b34fb", uuid) == 0) {
+ else if (g_strcmp0("00001132-0000-1000-8000-00805f9b34fb", uuid) == 0)
return TRUSTED_PROFILE_MAP;
- } else if (g_strcmp0("0000112D-0000-1000-8000-00805f9b34fb", uuid) == 0) {
+ else if (g_strcmp0("0000112D-0000-1000-8000-00805f9b34fb", uuid) == 0)
return TRUSTED_PROFILE_SAP;
- }
+
return 0; /* 0 - Unknown Profile */
}
BT_DBG("ID Address:%s", idaddress);
- if (idaddress) {
+ if (idaddress)
_bt_convert_addr_string_to_type(id_address->addr, idaddress);
- } else {
+ else
ret = BLUETOOTH_ERROR_INTERNAL;
- }
g_object_unref(device_proxy);
if (_bt_dpm_get_allow_bluetooth_mode() == DPM_BT_RESTRICTED)
return ret;
-
+
if (list) {
ret = DPM_RESULT_SUCCESS;
uuids_list.count = g_slist_length(policy_table[DPM_POLICY_BLUETOOTH_UUIDS_WHITELIST].list);
OBEX_PBAP = (1 << 4),
OBEX_IRMC = (1 << 5),
OBEX_PCSUITE = (1 << 6),
- OBEX_SYNCEVOLUTION = (1 << 7),
+ OBEX_SYNCEVOLUTION = (1 << 7),
OBEX_MAS = (1 << 8),
} bluetooth_obex_connection_type_t;
{
int bt_device_state = VCONFKEY_BT_DEVICE_NONE;
- if (vconf_get_int(VCONFKEY_BT_DEVICE, &bt_device_state) != 0) {
+ if (vconf_get_int(VCONFKEY_BT_DEVICE, &bt_device_state) != 0)
BT_ERR("vconf_get_int failed");
- }
if (connected == TRUE)
bt_device_state |= state;
else if (bt_device_state & state)
bt_device_state ^= state;
- if (vconf_set_int(VCONFKEY_BT_DEVICE, bt_device_state) != 0) {
+ if (vconf_set_int(VCONFKEY_BT_DEVICE, bt_device_state) != 0)
BT_ERR("vconf_set_int failed");
- }
}
gboolean _bt_discovery_finished_cb(gpointer user_data)
event_id = 0;
GVariant *param = NULL;
if (_bt_get_discovering_property(DISCOVERY_ROLE_BREDR) == FALSE) {
- if (_bt_get_cancel_by_user() == TRUE) {
+ if (_bt_get_cancel_by_user() == TRUE)
result = BLUETOOTH_ERROR_CANCEL_BY_USER;
- }
_bt_set_cancel_by_user(FALSE);
_bt_set_discovery_status(FALSE);
event_id = 0;
GVariant *param = NULL;
if (_bt_get_discovering_property(DISCOVERY_ROLE_LE) == FALSE) {
- if (_bt_get_cancel_by_user() == TRUE) {
+ if (_bt_get_cancel_by_user() == TRUE)
result = BLUETOOTH_ERROR_CANCEL_BY_USER;
- }
g_list_free_full(p_adv_ind_list, __bt_free_bt_le_adv_info_t);
p_adv_ind_list = NULL;
_bt_set_cancel_by_user(FALSE);
- _bt_disable_all_scanner_status();
+ _bt_disable_all_scanner_status();
_bt_set_le_scan_status(FALSE);
param = g_variant_new("(i)", result);
_bt_send_event(BT_LE_ADAPTER_EVENT,
g_variant_get(val, "s", &status);
BT_DBG("Status is %s", status);
- if (strcasecmp(status, "active") == 0) {
+ if (strcasecmp(status, "active") == 0)
_bt_obex_client_started(path);
- } else if (strcasecmp(status, "complete") == 0) {
+ else if (strcasecmp(status, "complete") == 0)
_bt_obex_client_completed(path, TRUE);
- } else if (strcasecmp(status, "error") == 0) {
+ else if (strcasecmp(status, "error") == 0)
_bt_obex_client_completed(path, FALSE);
- }
+
g_free(status);
} else if (strcasecmp(property, "Transferred") == 0) {
guint64 transferred = 0;
_bt_audio_stop_auto_connect();
#endif
_bt_add_headset_to_list(BT_AUDIO_A2DP_SOURCE,
- BT_STATE_CONNECTED, address);
+ BT_STATE_CONNECTED, address);
_bt_send_event(BT_A2DP_SOURCE_EVENT, event,
g_variant_new("(is)", result, address));
} else if (state == BT_PROFILE_STATE_DISCONNECTED) {
int bt_device_state = VCONFKEY_BT_DEVICE_NONE;
/* Set the headset name */
- if (connected == TRUE) {
+ if (connected == TRUE)
name = _bt_get_bonded_device_name(address);
- } else {
+ else
name = g_strdup("");
- }
- if (vconf_set_str(VCONFKEY_BT_HEADSET_NAME,
- name) != 0) {
+ if (vconf_set_str(VCONFKEY_BT_HEADSET_NAME, name) != 0)
BT_ERR("vconf_set_str failed");
- }
g_free(name);
/* Set the headset state */
- if (vconf_get_int(VCONFKEY_BT_DEVICE,
- &bt_device_state) != 0) {
+ if (vconf_get_int(VCONFKEY_BT_DEVICE, &bt_device_state) != 0)
BT_ERR("vconf_get_int failed");
- }
#ifdef TIZEN_SUPPORT_DUAL_HF
if ((connected == TRUE) &&
bt_device_state ^= VCONFKEY_BT_DEVICE_HEADSET_CONNECTED;
}
#else
- if (connected == TRUE) {
+ if (connected == TRUE)
bt_device_state |= VCONFKEY_BT_DEVICE_HEADSET_CONNECTED;
- } else if (bt_device_state & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED) {
+ else if (bt_device_state & VCONFKEY_BT_DEVICE_HEADSET_CONNECTED)
bt_device_state ^= VCONFKEY_BT_DEVICE_HEADSET_CONNECTED;
- }
#endif
if (vconf_set_int(VCONFKEY_BT_DEVICE,
if (property)
g_free(property);
g_variant_unref(value);
- }
+}
void _bt_handle_sink_event(GVariant *msg, const char *path)
{
BT_DBG("InterfacesRemoved");
_bt_handle_adapter_removed();
#endif
- if (g_strcmp0(interface_name, BT_MEDIATRANSPORT_INTERFACE) == 0) {
+ if (g_strcmp0(interface_name, BT_MEDIATRANSPORT_INTERFACE) == 0)
bt_event = BT_MEDIA_TRANSFER_EVENT;
- } else if (g_strcmp0(interface_name, BT_DEVICE_INTERFACE) == 0) {
+ else if (g_strcmp0(interface_name, BT_DEVICE_INTERFACE) == 0)
bt_event = BT_DEVICE_EVENT;
- } else if (g_strcmp0(interface_name, BT_PLAYER_CONTROL_INTERFACE) == 0) {
+ else if (g_strcmp0(interface_name, BT_PLAYER_CONTROL_INTERFACE) == 0)
bt_event = BT_AVRCP_CONTROL_EVENT;
- }
+
if ((bt_event != 0) && (bt_event != BT_MEDIA_TRANSFER_EVENT)) {
_bt_handle_adapter_event(parameters, signal_name);
if (bt_event == BT_AVRCP_CONTROL_EVENT) {
msg1 = g_dbus_message_new_signal(path, BT_EVENT_SERVICE, signal);
g_dbus_message_set_body(msg1, param);
- if (!g_dbus_connection_send_message(event_conn, msg1, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 0, NULL)) {
+ if (!g_dbus_connection_send_message(event_conn, msg1, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 0, NULL))
BT_ERR("Error while sending");
- }
g_object_unref(msg1);
addr += 4;
g_strlcpy(agent->pairing_addr, addr, sizeof(agent->pairing_addr));
- while ((pos = strchr(agent->pairing_addr, '_')) != NULL) {
+ while ((pos = strchr(agent->pairing_addr, '_')) != NULL)
*pos = ':';
- }
}
agent->cb.pincode_func(agent, device);
addr += 4;
g_strlcpy(priv->pairing_addr, addr, sizeof(priv->pairing_addr));
- while ((pos = strchr(priv->pairing_addr, '_')) != NULL) {
+ while ((pos = strchr(priv->pairing_addr, '_')) != NULL)
*pos = ':';
- }
}
priv->cb.passkey_func(priv, device);
addr += 4;
g_strlcpy(priv->pairing_addr, addr, sizeof(priv->pairing_addr));
- while ((pos = strchr(priv->pairing_addr, '_')) != NULL) {
+ while ((pos = strchr(priv->pairing_addr, '_')) != NULL)
*pos = ':';
- }
}
priv->cb.confirm_func(priv, device, passkey);
g_strlcpy(priv->authorize_addr, addr,
sizeof(priv->authorize_addr));
- while ((pos = strchr(priv->authorize_addr, '_')) != NULL) {
+ while ((pos = strchr(priv->authorize_addr, '_')) != NULL)
*pos = ':';
- }
}
priv->cb.authorize_func(priv, device, uuid);
osp_serv = __gap_agent_find_server(priv->osp_servers,
type, uuid);
- if (!osp_serv) {
+ if (!osp_serv)
return NULL;
- }
return osp_serv;
}
BT_INFO_C("Terminating the bt-service daemon");
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_quit(main_loop);
- } else {
+ else
exit(0);
- }
return FALSE;
}
if (_bt_get_enable_timer_id() == 0)
_bt_enable_adapter();
#else
- if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0)
BT_DBG("no bluetooth device info, so BT was disabled at previous session");
- }
- if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0) {
+ if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status) < 0)
BT_ERR("no bluetooth le info, so BT LE was disabled at previous session");
- }
if (vconf_get_int(BT_OFF_DUE_TO_FLIGHT_MODE, &flight_mode_deactivation) != 0)
BT_ERR("Fail to get the flight_mode_deactivation value");
sigaction(SIGINT, &sa, NULL);
sigaction(SIGTERM, &sa, NULL);
- if (_bt_service_initialize() != BLUETOOTH_ERROR_NONE) {
+ if (_bt_service_initialize() != BLUETOOTH_ERROR_NONE)
return 0;
- }
g_timeout_add(500, (GSourceFunc)__bt_check_bt_service, NULL);
g_main_loop_run(main_loop);
BT_DBG("g_main_loop_quit called!");
- if (main_loop != NULL) {
+ if (main_loop != NULL)
g_main_loop_unref(main_loop);
- }
if (terminated == FALSE)
__bt_release_service();
if (err != NULL) {
g_dbus_error_strip_remote_error(err);
BT_ERR("Network server register Error: %s\n", err->message);
- if (g_strcmp0(err->message, "Already Exists") == 0) {
+ if (g_strcmp0(err->message, "Already Exists") == 0)
ret = BLUETOOTH_ERROR_ALREADY_INITIALIZED;
- } else {
+ else
ret = BLUETOOTH_ERROR_INTERNAL;
- }
+
g_error_free(err);
}
} else {
" <method name='Complete'>"
" <annotation name='org.freedesktop.DBus.GLib.Async' value=''/>"
" <arg type='o' name='transfer'/>"
- " </method>"
+" </method>"
" <method name='Release'>"
" <annotation name='org.freedesktop.DBus.GLib.Async' value=''/>"
" </method>"
static const gchar obex_service_reply_xml3[] =
"<node name='/'>"
-" <interface name='org.bluez.obex.reply'>"
+" <interface name='org.bluez.obex.reply'>"
" <method name='ReplyAuthorize'>"
-" <arg type='u' name='accept' direction='in'/>"
-" </method>"
-" </interface>"
+" <arg type='u' name='accept' direction='in'/>"
+" </method>"
+" </interface>"
"</node>";
static bt_obex_agent_info *__find_obex_agent_info(char *path)
if (info->name == NULL) {
info->name = sender;
} else {
- if (g_strcmp0(sender, info->name) != 0) {
+ if (g_strcmp0(sender, info->name) != 0)
goto fail;
- }
}
if (info->request_cb == NULL)
sender = (char *)g_dbus_method_invocation_get_sender(invocation);
- if (g_strcmp0(sender, info->name) != 0) {
+ if (g_strcmp0(sender, info->name) != 0)
goto fail;
- }
if (info->progress_cb == NULL)
goto fail;
sender = (char *)g_dbus_method_invocation_get_sender(invocation);
- if (g_strcmp0(sender, info->name) != 0) {
+ if (g_strcmp0(sender, info->name) != 0)
goto fail;
- }
if (info->error_cb == NULL)
goto fail;
sender = (char *)g_dbus_method_invocation_get_sender(invocation);
- if (g_strcmp0(sender, info->name) != 0) {
+ if (g_strcmp0(sender, info->name) != 0)
goto fail;
- }
if (info->complete_cb == NULL)
goto fail;
if (info->name) {
/*In H2 if user denies auth,release will come without request and hence
info->name will be NULL */
- if (g_strcmp0(sender, info->name) != 0) {
+ if (g_strcmp0(sender, info->name) != 0)
goto fail;
- }
}
if (info->release_cb == NULL)
GVariant *val;
gsize len = 0;
while (g_variant_iter_loop(iter, "{sv}", &key, &val)) {
- if (g_strcmp0(key, "Name") == 0) {
+ if (g_strcmp0(key, "Name") == 0)
agent_info.auth_info->filename = g_variant_dup_string(val, &len);
- } else if (g_strcmp0(key, "Address") == 0) {
+ else if (g_strcmp0(key, "Address") == 0)
bdaddress = g_variant_dup_string(val, &len);
- } else if (g_strcmp0(key, "Size") == 0) {
+ else if (g_strcmp0(key, "Size") == 0)
agent_info.auth_info->file_size = g_variant_get_uint64(val);
- }
}
g_variant_iter_free(iter);
}
BT_OBEX_MANAGER,
NULL, &g_error);
- if (manager_proxy == NULL) {
+ if (manager_proxy == NULL)
return BLUETOOTH_ERROR_INTERNAL;
- }
result = g_dbus_proxy_call_sync(manager_proxy, "RegisterAgent",
g_variant_new("(o)", BT_OBEX_SERVER_AGENT_PATH),
char *__bt_transfer_folder_path(char *dest_path)
{
char *dst_path = (char *)g_malloc0(BT_OBEX_PATH_MAX_LENGTH);
- if (g_str_has_prefix(dest_path, BT_OBEX_PATH_PREFIX)) {
+ if (g_str_has_prefix(dest_path, BT_OBEX_PATH_PREFIX))
snprintf(dst_path, BT_OBEX_PATH_MAX_LENGTH, BT_OBEX_DEFAULT_PATH"%s", dest_path + strlen(BT_OBEX_PATH_PREFIX));
- } else {
+ else
snprintf(dst_path, BT_OBEX_PATH_MAX_LENGTH, "%s", dest_path);
- }
BT_INFO("obex transfed path : %s", dst_path);
return dst_path;
{
BT_CHECK_PARAMETER(activated, return);
- if (agent_info.custom_server) {
+ if (agent_info.custom_server)
*activated = TRUE;
- } else {
+ else
*activated = FALSE;
- }
return BLUETOOTH_ERROR_NONE;
}
{
BT_CHECK_PARAMETER(allocation, return);
- if (agent_info.native_server || agent_info.custom_server) {
+ if (agent_info.native_server || agent_info.custom_server)
*allocation = TRUE;
- } else {
+ else
*allocation = FALSE;
- }
return BLUETOOTH_ERROR_NONE;
}
{
BT_CHECK_PARAMETER(receiving, return);
- if (transfers == NULL || g_slist_length(transfers) == 0) {
+ if (transfers == NULL || g_slist_length(transfers) == 0)
*receiving = FALSE;
- } else {
+ else
*receiving = TRUE;
- }
return BLUETOOTH_ERROR_NONE;
}
ret_if(info == NULL);
- for (i = 0; i < info->file_count; i++) {
+ for (i = 0; i < info->file_count; i++)
g_free(info->file_path[i]);
- }
_bt_delete_request_id(info->request_id);
GVariant *val;
gsize len = 0;
while (g_variant_iter_loop(iter, "{sv}", &key, &val)) {
- if (g_strcmp0(key, "Name") == 0) {
+ if (g_strcmp0(key, "Name") == 0)
transfer_name = g_variant_dup_string(val, &len);
- } else if (g_strcmp0(key, "Filename") == 0) {
+ else if (g_strcmp0(key, "Filename") == 0)
file_name = g_variant_dup_string(val, &len);
- } else if (g_strcmp0(key, "Size") == 0) {
+ else if (g_strcmp0(key, "Size") == 0)
size = g_variant_get_uint64(val);
- }
}
g_variant_iter_free(iter);
}
{
BT_CHECK_PARAMETER(existence, return);
- if (server_list && g_slist_length(server_list) > 0) {
+ if (server_list && g_slist_length(server_list) > 0)
*existence = TRUE;
- } else {
+ else
*existence = FALSE;
- }
return BLUETOOTH_ERROR_NONE;
}
if (server_info == NULL)
continue;
- if (g_strcmp0(server_info->sender, name) == 0) {
+ if (g_strcmp0(server_info->sender, name) == 0)
_bt_rfcomm_remove_socket(server_info->control_fd);
- }
+
}
return BLUETOOTH_ERROR_NONE;
#ifndef TIZEN_TV
#define BT_DBG(fmt, args...) \
- SLOGD(fmt, ##args)
+ SLOGD(fmt, ##args)
#define BT_INFO(fmt, args...) \
- SLOGI(fmt, ##args)
+ SLOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- SLOGE(fmt, ##args)
+ SLOGE(fmt, ##args)
#else
#define BT_DBG(fmt, args...) \
- LOGI(fmt, ##args)
+ LOGI(fmt, ##args)
#define BT_INFO(fmt, args...) \
- LOGI(fmt, ##args)
+ LOGI(fmt, ##args)
#define BT_ERR(fmt, args...) \
- LOGE(fmt, ##args)
+ LOGE(fmt, ##args)
#endif
#define BT_INFO_C(fmt, arg...) \
#include "bluetooth-api.h"
#ifdef __cplusplus
- extern "C" {
+extern "C" {
#endif
* @brief DPM BT allowance state
* @see
*/
- typedef enum {
- DPM_BT_ERROR = -1, /**< bluetooth allowance error */
- DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
- DPM_BT_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
- DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
- } dpm_bt_allow_t;
+typedef enum {
+ DPM_BT_ERROR = -1, /**< bluetooth allowance error */
+ DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
+ DPM_BT_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
+ DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
+} dpm_bt_allow_t;
/**
* @brief DPM API result
* Service type
*/
typedef enum {
- BLUETOOTH_DEV_CONN_DEFAULT = 0xFF, /* represents that connection
- * type can both BR/EDR and LE */
- BLUETOOTH_DEV_CONN_BREDR = 0x00,
- BLUETOOTH_DEV_CONN_LE = 0x01,
+ BLUETOOTH_DEV_CONN_DEFAULT = 0xFF,
+ /* represents that connection
+ * type can both BR/EDR and LE */
+ BLUETOOTH_DEV_CONN_BREDR = 0x00,
+ BLUETOOTH_DEV_CONN_LE = 0x01,
} bluetooth_conn_type_t;
/**
BLUETOOTH_EVENT_DISCOVERY_FINISHED, /**< Bluetooth event discovery finished */
BLUETOOTH_EVENT_REMOTE_DEVICE_FOUND, /**< Bluetooth event remote deice found */
BLUETOOTH_EVENT_LE_DISCOVERY_STARTED, /**< Bluetooth event LE discovery started */
- BLUETOOTH_EVENT_LE_DISCOVERY_FINISHED, /**< Bluetooth event LE discovery finished */
+ BLUETOOTH_EVENT_LE_DISCOVERY_FINISHED, /**< Bluetooth event LE discovery finished */
BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND, /**< Bluetooth event remote deice found (LE dev) */
- BLUETOOTH_EVENT_REMOTE_IBEACON_DEVICE_FOUND, /**< Bluetooth event remote ibeacon device found (iBeacon LE dev) */
+ BLUETOOTH_EVENT_REMOTE_IBEACON_DEVICE_FOUND, /**< Bluetooth event remote ibeacon device found (iBeacon LE dev) */
BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED,/**< Bluetooth event remote device name updated*/
BLUETOOTH_EVENT_BONDING_FINISHED, /**< Bluetooth event bonding completed */
BLUETOOTH_EVENT_BONDED_DEVICE_REMOVED, /**< Bluetooth event bonding removed */
BLUETOOTH_EVENT_OPC_CONNECTED = BLUETOOTH_EVENT_OPC_BASE,
/* OPC Connected event */
- BLUETOOTH_EVENT_OPC_DISCONNECTED, /* OPC Disonnected event */
+ BLUETOOTH_EVENT_OPC_DISCONNECTED, /* OPC Disonnected event */
BLUETOOTH_EVENT_OPC_TRANSFER_STARTED, /* OPC Transfer started event */
BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS, /* OPC Transfer progress event */
BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE, /* OPC Transfer Complete event */
BLUETOOTH_GENERIC_FILE_TRANSFER_UUID = ((unsigned short)0x1202),/**<GENERIC FILE TRANSFER*/
BLUETOOTH_GENERIC_AUDIO_UUID = ((unsigned short)0x1203), /**<GENERIC AUDIO*/
BLUETOOTH_GENERIC_TELEPHONY_UUID = ((unsigned short)0x1204), /**<GENERIC TELEPHONY*/
- BLUETOOTH_VIDEO_SOURCE_UUID = ((unsigned short)0x1303), /**<VEDIO SOURCE*/
+ BLUETOOTH_VIDEO_SOURCE_UUID = ((unsigned short)0x1303), /**<VEDIO SOURCE*/
BLUETOOTH_VIDEO_SINK_UUID = ((unsigned short)0x1304), /**<VEDIO SINK*/
BLUETOOTH_VIDEO_DISTRIBUTION_UUID = ((unsigned short)0x1305), /**<VEDIO DISTRIBUTION*/
BLUETOOTH_HDP_UUID = ((unsigned short)0x1400), /**<HDP*/
char *service_handle;
char *address;
gboolean complete;
- } bt_gatt_indicate_confirm_t;
+} bt_gatt_indicate_confirm_t;
/**
* Structure to RSSI Signal Strength Alert
* @brief DPM BT allowance state
* @see
*/
- typedef enum {
- BLUETOOTH_DPM_ERROR = -1, /**< bluetooth allowance error */
- BLUETOOTH_DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
- BLUETOOTH_DPM_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
- BLUETOOTH_DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
- } bt_dpm_allow_t;
+typedef enum {
+ BLUETOOTH_DPM_ERROR = -1, /**< bluetooth allowance error */
+ BLUETOOTH_DPM_BT_ALLOWED, /**< bluetooth allowance allowed */
+ BLUETOOTH_DPM_HANDSFREE_ONLY, /**< bluetooth allowance handsfree only */
+ BLUETOOTH_DPM_BT_RESTRICTED, /**< bluetooth allowance restricted */
+} bt_dpm_allow_t;
/**
* @brief DPM API result
*
* @exception None
* @remark None
- * @see bluetooth_rfcomm_reject_connection
+ * @see bluetooth_rfcomm_reject_connection
*/
int bluetooth_rfcomm_accept_connection(int server_fd);
*
* @exception None
* @remark None
- * @see bluetooth_rfcomm_accept_connection
+ * @see bluetooth_rfcomm_accept_connection
*/
int bluetooth_rfcomm_reject_connection(int server_fd);
* should be HDP_QOS_ANY.
* @param[out] app_handle The application handler against corresponding service
* @remark None
- * @see bluetooth_hdp_deactivate
+ * @see bluetooth_hdp_deactivate
*/
int bluetooth_hdp_activate(unsigned short data_type,
bt_hdp_role_type_t role,
* @exception None
* @param[in] app_handle The application handler against corresponding service
* @remark None
- * @see bluetooth_hdp_deactivate
+ * @see bluetooth_hdp_deactivate
*/
int bluetooth_hdp_deactivate(const char *app_handle);
* @param[in] buffer The pdu buffer.
* @param[in] size Size of the buffer.
* @remark None
- * @see bluetooth_hdp_connect
+ * @see bluetooth_hdp_connect
*/
int bluetooth_hdp_send_data(unsigned int channel_id,
const char *buffer, unsigned int size);
* @param[in] device_address The remote device Bd address.
*
* @remark None
- * @see bluetooth_hdp_disconnect
+ * @see bluetooth_hdp_disconnect
*/
int bluetooth_hdp_connect(const char *app_handle,
bt_hdp_qos_type_t channel_type,
* @param[in] device_address The remote device Bd address.
*
* @remark None
- * @see bluetooth_hdp_connect
+ * @see bluetooth_hdp_connect
*/
int bluetooth_hdp_disconnect(unsigned int channel_id,
const bluetooth_device_address_t *device_address);
* @exception None
*
* @remark None
- * @see bluetooth_opc_deinit
+ * @see bluetooth_opc_deinit
*/
int bluetooth_opc_init(void);
* @exception None
*
* @remark None
- * @see bluetooth_opc_init
+ * @see bluetooth_opc_init
*/
- int bluetooth_opc_deinit(void);
+int bluetooth_opc_deinit(void);
/**
* @fn int bluetooth_opc_push_files(bluetooth_device_address_t *remote_address,
* @param[in] file_name_array Array of filepaths to be sent.
*
* @remark None
- * @see bluetooth_opc_cancel_push
+ * @see bluetooth_opc_cancel_push
*/
int bluetooth_opc_push_files(bluetooth_device_address_t *remote_address,
- char **file_name_array);
+ char **file_name_array);
/**
* @fn int bluetooth_opc_cancel_push(void)
* @exception None
*
* @remark None
- * @see bluetooth_opc_push_files
+ * @see bluetooth_opc_push_files
*/
int bluetooth_opc_cancel_push(void);
* @exception None
*
* @remark None
- * @see None
+ * @see None
*/
gboolean bluetooth_opc_session_is_exist(void);
* @exception None
* @param[in] dst_path OPS destination file path.
* @remark None
- * @see bluetooth_obex_server_deinit
+ * @see bluetooth_obex_server_deinit
*/
int bluetooth_obex_server_init(const char *dst_path);
* @exception None
*
* @remark None
- * @see bluetooth_obex_server_init
+ * @see bluetooth_obex_server_init
*/
int bluetooth_obex_server_deinit(void);
* @exception None
* @param[in] dst_path OPS destination file path.
* @remark None
- * @see bluetooth_obex_server_deinit_without_agent
+ * @see bluetooth_obex_server_deinit_without_agent
*/
int bluetooth_obex_server_init_without_agent(const char *dst_path);
* @exception None
*
* @remark None
- * @see bluetooth_obex_server_init_without_agent
+ * @see bluetooth_obex_server_init_without_agent
*/
int bluetooth_obex_server_deinit_without_agent(void);
*
* @exception None
* @remark None
- * @see bluetooth_obex_server_reject_authorize
+ * @see bluetooth_obex_server_reject_authorize
*/
int bluetooth_obex_server_accept_connection(void);
*
* @exception None
* @remark None
- * @see bluetooth_obex_server_reject_authorize
+ * @see bluetooth_obex_server_reject_authorize
*/
int bluetooth_obex_server_reject_connection(void);
* @param[in] filename Authorized filename.
* @remark None
- * @see bluetooth_obex_server_reject_authorize
+ * @see bluetooth_obex_server_reject_authorize
*/
int bluetooth_obex_server_accept_authorize(const char *filename);
* @exception None
* @remark None
- * @see bluetooth_obex_server_accept_authorize
+ * @see bluetooth_obex_server_accept_authorize
*/
int bluetooth_obex_server_reject_authorize(void);
* @param[in] dst_path OPS destination file path.
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_obex_server_set_destination_path(const char *dst_path);
* @param[in] root FTS root folder.
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_obex_server_set_root(const char *root);
* @param[in] transfer_id transfer ID
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_obex_server_cancel_transfer(int transfer_id);
* @exception None
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_obex_server_cancel_all_transfers(void);
* @param[out] is_receiving The receiving status: (@c TRUE = in receiving , @c false = not in receiving)
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_obex_server_is_receiving(gboolean *is_receiving);
* @param[out] local_oob_data - Pointer to the local OOB data
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_oob_read_local_data(bt_oob_data_t *local_oob_data);
* @param[in] remote_device_address - Remote device address
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_oob_remove_remote_data(
* @param[in] service_handle - Handle for remote service.
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_gatt_watch_characteristics(const char *service_handle);
* @remark None
* @see None
*/
- int bluetooth_gatt_get_service_from_uuid(bluetooth_device_address_t *address,
+int bluetooth_gatt_get_service_from_uuid(bluetooth_device_address_t *address,
const char *service_uuid,
bt_gatt_service_property_t *service);
* @remark None
* @see bluetooth_gatt_get_characteristics_property()
*/
- int bluetooth_gatt_free_char_property(bt_gatt_char_property_t *char_pty);
+int bluetooth_gatt_free_char_property(bt_gatt_char_property_t *char_pty);
/**
* @fn int bluetooth_gatt_free_desc_property(bt_gatt_char_descriptor_property_t *desc_pty);
* @remark None
* @see bluetooth_gatt_get_char_descriptor_property()
*/
- int bluetooth_gatt_free_desc_property(bt_gatt_char_descriptor_property_t *desc_pty);
-
+int bluetooth_gatt_free_desc_property(bt_gatt_char_descriptor_property_t *desc_pty);
- int bluetooth_connect_le(const bluetooth_device_address_t *device_address, gboolean auto_connect);
+int bluetooth_connect_le(const bluetooth_device_address_t *device_address, gboolean auto_connect);
- int bluetooth_disconnect_le(const bluetooth_device_address_t *device_address);
+int bluetooth_disconnect_le(const bluetooth_device_address_t *device_address);
/**
* @fn int bluetooth_gatt_discover_characteristic_descriptor(const char *characteristic_handle);
* @remark None
* @see None
*/
- int bluetooth_gatt_read_descriptor_value(const char *desc_handle);
+int bluetooth_gatt_read_descriptor_value(const char *desc_handle);
/**
* @fn int bluetooth_gatt_write_descriptor_value(const char *desc_handle,
* @remark None
* @see None
*/
- int bluetooth_gatt_write_descriptor_value(const char *desc_handle,
+int bluetooth_gatt_write_descriptor_value(const char *desc_handle,
const guint8 *value, int length);
/* @fn int bluetooth_gatt_init(void)
*
* This function is a synchronous call.
* @return BLUETOOTH_ERROR_NONE - Success \n
-* BLUETOOTH_ERROR_INTERNAL - Internal Error \n
-* BLUETOOTH_ERROR_INVALID_PARAM -Invalid Parameters \n
-* BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
+* BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+* BLUETOOTH_ERROR_INVALID_PARAM -Invalid Parameters \n
+* BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
*
* @exception None
* @remark Adapter should be enabled
*
* This function is a synchronous call.
* @return BLUETOOTH_ERROR_NONE - Success \n
-* BLUETOOTH_ERROR_INTERNAL - Internal Error \n
-* BLUETOOTH_ERROR_INVALID_PARAM -Invalid Parameters \n
-* BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
+* BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+* BLUETOOTH_ERROR_INVALID_PARAM -Invalid Parameters \n
+* BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
*
* @exception None
* @remark Adapter should be enabled
* BLUETOOTH_ERROR_INVALID_PARAM -Invalid Parameters \n
* BLUETOOTH_ERROR_DEVICE_NOT_ENABLED - Adapter is disabled \n
*
-* @exception None
-* @param[in] desc_uuid Gatt descriptor uuid.
-* @param[in] desc_value GATT descriptor value.
-* @param[in] value_length Length of GATT descriptor value.
-* @param[in] permissions descriptor permissions.
-* @param[in] properties GATT descriptor properties.
-* @param[in] char_path characteristics object path of the exported character.
+* @exception None
+* @param[in] desc_uuid Gatt descriptor uuid.
+* @param[in] desc_value GATT descriptor value.
+* @param[in] value_length Length of GATT descriptor value.
+* @param[in] permissions descriptor permissions.
+* @param[in] properties GATT descriptor properties.
+* @param[in] char_path characteristics object path of the exported character.
*
* @remark Adapter should be enabled
* @see bluetooth_gatt_add_service()
*
* @exception None
* @param[in] desc_value GATT descriptor value.
-* @param[in] value_length Length of GATT descriptor value.
-* @param[in] desc_path descriptor path to which the value needs to be added.
+* @param[in] value_length Length of GATT descriptor value.
+* @param[in] desc_path descriptor path to which the value needs to be added.
*
* @remark Adapter should be enabled
* @see bluetooth_gatt_add_service()
* @see bluetooth_bond_device
*/
int bluetooth_le_conn_update(const bluetooth_device_address_t *address,
- const bluetooth_le_connection_param_t *parameters);
-
+ const bluetooth_le_connection_param_t *parameters);
/**
* @fn int bluetooth_enable_le_privacy(gboolean enable_privacy);
/**
* @fn int bluetooth_get_device_ida(const bluetooth_device_address_t *device_rpa,
- * bluetooth_device_address_t *id_address)
+ * bluetooth_device_address_t *id_address)
* @brief Gets the Identity address of remote device.
*
* This function is a synchronous call.
*
- * @return BLUETOOTH_ERROR_NONE - Success \n
- * BLUETOOTH_ERROR_INTERNAL - Internal Error \n
- * BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
+ * @return BLUETOOTH_ERROR_NONE - Success \n
+ * BLUETOOTH_ERROR_INTERNAL - Internal Error \n
+ * BLUETOOTH_ERROR_INVALID_PARAM - Parameter is not valid \n
*
* @exception None
* @param[in] device_rpa - remote Resolvable private address.
* @exception None
* @param[in] None
* @param[out] value - BT Allow value.
- * BLUETOOTH_DPM_ERROR = -1, < bluetooth allowance error
- * BLUETOOTH_DPM_BT_ALLOWED, < bluetooth allowance allowed
- * BLUETOOTH_DPM_HANDSFREE_ONLY, < bluetooth allowance handsfree only
- * BLUETOOTH_DPM_BT_RESTRICTED, < bluetooth allowance restricted
+ * BLUETOOTH_DPM_ERROR = -1, < bluetooth allowance error
+ * BLUETOOTH_DPM_BT_ALLOWED, < bluetooth allowance allowed
+ * BLUETOOTH_DPM_HANDSFREE_ONLY, < bluetooth allowance handsfree only
+ * BLUETOOTH_DPM_BT_RESTRICTED, < bluetooth allowance restricted
*
* @remark None
*/
*
* @exception None
* @param[in] value - State value.
- * BLUETOOTH_DPM_ALLOWED = 0, < DPM Policy status allowed.
+ * BLUETOOTH_DPM_ALLOWED = 0, < DPM Policy status allowed.
* BLUETOOTH_DPM_RESTRICTED = 1, < DPM Policy status restricted.
*
* @remark None
} bt_audio_info_t;
typedef enum {
- BLUETOOTH_STATE_NONE = 0x0000,
- BLUETOOTH_STATE_HEADSET_CONNECTED = 0x0004,
- BLUETOOTH_STATE_A2DP_HEADSET_CONNECTED = 0x0010,
+ BLUETOOTH_STATE_NONE = 0x0000,
+ BLUETOOTH_STATE_HEADSET_CONNECTED = 0x0004,
+ BLUETOOTH_STATE_A2DP_HEADSET_CONNECTED = 0x0010,
} bluetooth_device_state_t;
/**
* @brief The function bluetooth_audio_init called to initializes the Audio
- * service to bluetoothD and Global data related to audio.
+ * service to bluetoothD and Global data related to audio.
* @param[in] cb Callback function
* @param[in] user_data Data sent by application, which will be
* returned in event handler.
* @param[in] device_address - remote device address.
*
* @remark None
- * @see bluetooth_ipsp_disconnect()
+ * @see bluetooth_ipsp_disconnect()
*/
int bluetooth_ipsp_connect(const ipsp_device_address_t *device_address);
* @param[in] device_address - remote device address.
*
* @remark None
- * @see bluetooth_ipsp_disconnect()
+ * @see bluetooth_ipsp_disconnect()
*/
int bluetooth_ipsp_disconnect(const ipsp_device_address_t *device_address);
* @param[in] setting - The music player properties
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_media_player_set_properties(
media_player_settings_t *setting);
* value - Value of the property which is changed
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_media_player_change_property(
media_player_property_type type,
* BT_MEDIA_CONTROL_ERROR - Error \n
*
* @exception None
- * @param[in] metadata -Meida attributes
+ * @param[in] metadata -Meida attributes
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_media_player_change_track(
media_metadata_attributes_t *metadata);
* @remark None
*
*/
- int bluetooth_media_control_deinit(void);
+int bluetooth_media_control_deinit(void);
/**
* @brief The function bluetooth_media_control_connect is called to establish an AVRCP
* @brief The function bluetooth_media_control_command is called to send
* the AVRCP Control command like Play, Pause, FF, Rewind to the target device.
*
- * @param[in] type media_player_control_cmd.
+ * @param[in] type media_player_control_cmd.
* @return int Zero on Success or reason for error if any.
*
*/
* @param[in] setting - The music control properties
*
* @remark None
- * @see None
+ * @see None
*/
- int bluetooth_media_control_set_property(media_player_property_type type, unsigned int value);
+int bluetooth_media_control_set_property(media_player_property_type type, unsigned int value);
/**
* @fn int bluetooth_media_control_get_property(media_player_property_type type, unsigned int *value)
* @param[in] setting - The music control properties
*
* @remark None
- * @see None
+ * @see None
*/
int bluetooth_media_control_get_property(media_player_property_type type, unsigned int *value);
* @param[in] metadata - The music meta data information.
*
* @remark None
- * @see None
+ * @see None
*/
- int bluetooth_media_control_get_track_info(media_metadata_attributes_t *metadata);
+int bluetooth_media_control_get_track_info(media_metadata_attributes_t *metadata);
#ifdef __cplusplus
}
* @return int Zero on Success or reason for error if any.
*
*/
- int bluetooth_telephony_is_nrec_enabled(gboolean *status);
+int bluetooth_telephony_is_nrec_enabled(gboolean *status);
/**
* @brief The function bluetooth_telephony_is_nrec_enabled to check
* @return int Zero on Success or reason for error if any.
*
*/
- int bluetooth_telephony_is_wbs_mode(gboolean *status);
+int bluetooth_telephony_is_wbs_mode(gboolean *status);
/**
* @brief This function send XSAT vendor specific AT command
*
* @return int Zero on Success or reason for error if any.
*/
- int bluetooth_telephony_send_vendor_cmd(const char *cmd);
+int bluetooth_telephony_send_vendor_cmd(const char *cmd);
/**
*
* @return int Zero on Success or reason for error if any.
*/
- int bluetooth_telephony_start_voice_recognition(void);
+int bluetooth_telephony_start_voice_recognition(void);
/**
* @brief This function sends request to disable voice recognition feature
*
* @return int Zero on Success or reason for error if any.
*/
- int bluetooth_telephony_stop_voice_recognition(void);
+int bluetooth_telephony_stop_voice_recognition(void);
/**
int i = 0;
while (tc_table[i].tc_name) {
- if (tc_table[i].tc_code != 0x00ff) {
+ if (tc_table[i].tc_code != 0x00ff)
TC_PRT("Key %d : usage %s", tc_table[i].tc_code, tc_table[i].tc_name);
- } else {
+ else
TC_PRT("Key %d : usage %s\n\n", 0x00ff, tc_table[i].tc_name);
- }
i++;
}
TC_PRT("TC : %s[%d]", tc_table[test_id].tc_name, tc_table[test_id].tc_code);
switch (tc_table[test_id].tc_code) {
- case 0x00ff:
- TC_PRT("Finished");
- g_main_loop_quit(main_loop);
- break;
+ case 0x00ff:
+ TC_PRT("Finished");
+ g_main_loop_quit(main_loop);
+ break;
+
+ case 1:
+ bluetooth_register_callback(bt_event_callback, NULL);
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[0].tc_name, ret);
+ tc_result(TC_FAIL, 1);
+ }
+ break;
+
+ case 2:
+ bluetooth_unregister_callback();
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[1].tc_name, ret);
+ tc_result(TC_FAIL, 1);
+ }
+ break;
+
+ case 3:
+ ret = bluetooth_enable_adapter();
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[2].tc_name, ret);
+ tc_result(TC_FAIL, 1);
+ }
+ break;
+
+ case 4:
+ ret = bluetooth_disable_adapter();
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[3].tc_name, ret);
+ tc_result(TC_FAIL, 2);
+ }
+ break;
+
+ case 5:
+ {
+ ret = bluetooth_check_adapter();
+ TC_PRT("state: %d", ret);
+ break;
+ }
- case 1:
- bluetooth_register_callback(bt_event_callback, NULL);
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[0].tc_name, ret);
- tc_result(TC_FAIL, 1);
- }
- break;
+ case 6:
+ {
+ bluetooth_device_address_t address = { {0} };
+ ret = bluetooth_get_local_address(&address);
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[5].tc_name, ret);
+ } else {
+ TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
+ address.addr[0], address.addr[1], address.addr[2], \
+ address.addr[3], address.addr[4], address.addr[5]);
+ }
+ break;
+ }
- case 2:
- bluetooth_unregister_callback();
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[1].tc_name, ret);
- tc_result(TC_FAIL, 1);
- }
- break;
+ case 7:
+ {
+ bluetooth_device_name_t local_name = { {0} };
+ ret = bluetooth_get_local_name(&local_name);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[6].tc_name, ret);
+ else
+ TC_PRT("name: %s", local_name.name);
- case 3:
- ret = bluetooth_enable_adapter();
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[2].tc_name, ret);
- tc_result(TC_FAIL, 1);
- }
- break;
+ break;
+ }
- case 4:
- ret = bluetooth_disable_adapter();
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[3].tc_name, ret);
- tc_result(TC_FAIL, 2);
- }
- break;
+ case 8:
+ {
+ bluetooth_device_name_t local_name = { {0} };
+ snprintf(local_name.name, sizeof(local_name.name),
+ "bt-frwk-pid-%d", getpid());
+ ret = bluetooth_set_local_name(&local_name);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[7].tc_name, ret);
- case 5:
- {
- ret = bluetooth_check_adapter();
- TC_PRT("state: %d", ret);
- break;
- }
+ break;
+ }
- case 6:
- {
- bluetooth_device_address_t address = { {0} };
- ret = bluetooth_get_local_address(&address);
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[5].tc_name, ret);
- } else {
- TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
- address.addr[0], address.addr[1], address.addr[2], \
- address.addr[3], address.addr[4], address.addr[5]);
- }
- break;
- }
+ case 90:
+ {
+ bluetooth_version_t local_version = { {0} };
+ snprintf(local_version.version, sizeof(local_version.version),
+ "version%d", getpid());
+ ret = bluetooth_get_local_version(&local_version);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[89].tc_name, ret);
+ else
+ TC_PRT("version: %s", local_version.version);
+ break;
+ }
- case 7:
- {
- bluetooth_device_name_t local_name = { {0} };
+ case 9:
+ {
+ gboolean used = FALSE;
+ ret = bluetooth_is_service_used(rfcomm_test_uuid_spp, &used);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[8].tc_name, ret);
+ else
+ TC_PRT("used: %d", used);
+ break;
+ }
- ret = bluetooth_get_local_name(&local_name);
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[6].tc_name, ret);
- } else {
- TC_PRT("name: %s", local_name.name);
- }
- break;
- }
+ case 10:
+ {
+ bluetooth_discoverable_mode_t mode;
+ ret = bluetooth_get_discoverable_mode(&mode);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[9].tc_name, ret);
+ else
+ TC_PRT("BT Get Discoverable mode [%d]", mode);
+ break;
+ }
- case 8:
- {
- bluetooth_device_name_t local_name = { {0} };
- snprintf(local_name.name, sizeof(local_name.name),
- "bt-frwk-pid-%d", getpid());
+ case 11:
+ {
+ bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_CONNECTABLE;
+ ret = bluetooth_set_discoverable_mode(mode, 0);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[10].tc_name, ret);
+ else
+ TC_PRT("BT Set Discoverable mode [%d]", mode);
+ break;
+ }
- ret = bluetooth_set_local_name(&local_name);
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[7].tc_name, ret);
- }
- break;
- }
+ case 12:
+ {
+ bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE;
+ ret = bluetooth_set_discoverable_mode(mode, 0);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[11].tc_name, ret);
+ else
+ TC_PRT("BT Set Discoverable mode [%d]", mode);
+ break;
+ }
- case 90:
- {
- bluetooth_version_t local_version = { {0} };
- snprintf(local_version.version, sizeof(local_version.version),
- "version%d", getpid());
+ case 13:
+ {
+ bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_TIME_LIMITED_DISCOVERABLE;
+ ret = bluetooth_set_discoverable_mode(mode, 5);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[12].tc_name, ret);
+ else
+ TC_PRT("BT Set Discoverable mode [%d]", mode);
+ break;
+ }
- ret = bluetooth_get_local_version(&local_version);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[89].tc_name, ret);
- else
- TC_PRT("version: %s", local_version.version);
- break;
- }
+ case 14:
+ ret = bluetooth_start_discovery(0, 0, 0);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[13].tc_name, ret);
+ break;
+
+ case 15:
+ ret = bluetooth_cancel_discovery();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[14].tc_name, ret);
+ break;
+
+ case 16:
+ {
+ ret = bluetooth_is_discovering();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[15].tc_name, ret);
+ else
+ TC_PRT("Discovering [%d]", ret);
+ break;
+ }
- case 9:
- {
- gboolean used = FALSE;
+ case 17: /*Get paired device list */
+ {
+ GPtrArray *devinfo = NULL;
+ devinfo = g_ptr_array_new();
+ TC_PRT("g pointer arrary count : [%d]", devinfo->len);
- ret = bluetooth_is_service_used(rfcomm_test_uuid_spp, &used);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[8].tc_name, ret);
- else
- TC_PRT("used: %d", used);
- break;
+ ret = bluetooth_get_bonded_device_list(&devinfo);
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[16].tc_name, ret);
+ } else {
+ int i;
+ bluetooth_device_info_t *ptr;
+ TC_PRT("g pointer arrary count : [%d]", devinfo->len);
+ for (i = 0; i < devinfo->len; i++) {
+ ptr = g_ptr_array_index(devinfo, i);
+ if (ptr != NULL) {
+ TC_PRT("Name [%s]", ptr->device_name.name);
+ TC_PRT("Major Class [%d]", ptr->device_class.major_class);
+ TC_PRT("Minor Class [%d]", ptr->device_class.minor_class);
+ TC_PRT("Service Class [%d]", ptr->device_class.service_class);
+ TC_PRT("%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", ptr->device_address.addr[0], ptr->device_address.addr[1], ptr->device_address.addr[2], ptr->device_address.addr[3], ptr->device_address.addr[4], ptr->device_address.addr[5]);
+ TC_PRT("\n");
+ }
+ }
}
+ g_ptr_array_free(devinfo, TRUE);
- case 10:
- {
- bluetooth_discoverable_mode_t mode;
- ret = bluetooth_get_discoverable_mode(&mode);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[9].tc_name, ret);
- else
- TC_PRT("BT Get Discoverable mode [%d]", mode);
- break;
- }
+ break;
+ }
- case 11:
- {
- bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_CONNECTABLE;
- ret = bluetooth_set_discoverable_mode(mode, 0);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[10].tc_name, ret);
- else
- TC_PRT("BT Set Discoverable mode [%d]", mode);
+ case 18:
+ {
+ bluetooth_device_address_t device_address = { {0xDC, 0x2C, 0x26, 0xD0, 0xF3, 0xC1} }; /* BT Keyboard */
+ TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
+ device_address.addr[0], device_address.addr[1], device_address.addr[2], \
+ device_address.addr[3], device_address.addr[4], device_address.addr[5]);
+ ret = bluetooth_bond_device(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[17].tc_name, ret);
break;
- }
+ }
- case 12:
- {
- bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_GENERAL_DISCOVERABLE;
- ret = bluetooth_set_discoverable_mode(mode, 0);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[11].tc_name, ret);
- else
- TC_PRT("BT Set Discoverable mode [%d]", mode);
+ case 19: /*Cancel bonding */
+ {
+ ret = bluetooth_cancel_bonding();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[18].tc_name, ret);
break;
- }
+ }
- case 13:
- {
- bluetooth_discoverable_mode_t mode = BLUETOOTH_DISCOVERABLE_MODE_TIME_LIMITED_DISCOVERABLE;
- ret = bluetooth_set_discoverable_mode(mode, 5);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[12].tc_name, ret);
- else
- TC_PRT("BT Set Discoverable mode [%d]", mode);
+ case 20: /*unbonding */
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x19, 0x0E, 0x01, 0x61, 0x17} }; /* DO-DH79-PYUN04 */
+ ret = bluetooth_unbond_device(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[19].tc_name, ret);
break;
+ }
+
+ case 21: /*Get paired device */
+ {
+ bluetooth_device_info_t devinfo;
+ bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ memset(&devinfo, 0x00, sizeof(bluetooth_device_info_t));
+ ret = bluetooth_get_bonded_device(&device_address, &devinfo);
+ if (ret != BLUETOOTH_ERROR_NONE) {
+ TC_PRT("bluetooth_get_bonded_device failed with [%d]", ret);
+ } else {
+ TC_PRT("Name [%s]", devinfo.device_name.name);
+ TC_PRT("Major Class [%d]", devinfo.device_class.major_class);
+ TC_PRT("Minor Class [%d]", devinfo.device_class.minor_class);
+ TC_PRT("Service Class [%d]", devinfo.device_class.service_class);
+ TC_PRT("%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", devinfo.device_address.addr[0], devinfo.device_address.addr[1], devinfo.device_address.addr[2], devinfo.device_address.addr[3], devinfo.device_address.addr[4], devinfo.device_address.addr[5]);
}
- case 14:
- ret = bluetooth_start_discovery(0, 0, 0);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[13].tc_name, ret);
- break;
+ break;
+ }
- case 15:
- ret = bluetooth_cancel_discovery();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[14].tc_name, ret);
- break;
+ case 22: /*set alias for bonded device */
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
- case 16:
- {
- ret = bluetooth_is_discovering();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[15].tc_name, ret);
- else
- TC_PRT("Discovering [%d]", ret);
- break;
- }
+ ret = bluetooth_set_alias(&device_address, "Renamed device");
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[21].tc_name, ret);
- case 17: /*Get paired device list */
- {
- GPtrArray *devinfo = NULL;
- devinfo = g_ptr_array_new();
- TC_PRT("g pointer arrary count : [%d]", devinfo->len);
+ break;
+ }
- ret = bluetooth_get_bonded_device_list(&devinfo);
- if (ret < 0) {
- TC_PRT("%s failed with [0x%04x]", tc_table[16].tc_name, ret);
- } else {
- int i;
- bluetooth_device_info_t *ptr;
- TC_PRT("g pointer arrary count : [%d]", devinfo->len);
+ case 23:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ ret = bluetooth_authorize_device(&device_address, TRUE);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[22].tc_name, ret);
- for (i = 0; i < devinfo->len; i++) {
- ptr = g_ptr_array_index(devinfo, i);
- if (ptr != NULL) {
- TC_PRT("Name [%s]", ptr->device_name.name);
- TC_PRT("Major Class [%d]", ptr->device_class.major_class);
- TC_PRT("Minor Class [%d]", ptr->device_class.minor_class);
- TC_PRT("Service Class [%d]", ptr->device_class.service_class);
- TC_PRT("%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", ptr->device_address.addr[0], ptr->device_address.addr[1], ptr->device_address.addr[2], ptr->device_address.addr[3], ptr->device_address.addr[4], ptr->device_address.addr[5]);
- TC_PRT("\n");
- }
- }
- }
- g_ptr_array_free(devinfo, TRUE);
+ break;
+ }
+ case 24:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ ret = bluetooth_authorize_device(&device_address, FALSE);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[23].tc_name, ret);
break;
- }
+ }
+ case 25:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
- case 18:
- {
- bluetooth_device_address_t device_address = { {0xDC, 0x2C, 0x26, 0xD0, 0xF3, 0xC1} }; /* BT Keyboard */
+ ret = bluetooth_search_service(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
- TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
- device_address.addr[0], device_address.addr[1], device_address.addr[2], \
- device_address.addr[3], device_address.addr[4], device_address.addr[5]);
+ break;
+ }
- ret = bluetooth_bond_device(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[17].tc_name, ret);
- break;
+ case 26:
+ {
+ ret = bluetooth_cancel_service_search();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
+ break;
+ }
+
+ case 27:
+ {
+ gboolean connected = FALSE;
+ bluetooth_device_address_t device_address = { {0x00, 0x1B, 0x66, 0x01, 0x23, 0x1C} }; /* Gennheiser PX210BT */
+
+ ret = bluetooth_is_device_connected(&device_address, BLUETOOTH_A2DP_SERVICE, &connected);
+ if (ret < 0) {
+ TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
+ TC_PRT("connected : %d", connected);
}
+ break;
+ }
- case 19: /*Cancel bonding */
- {
- ret = bluetooth_cancel_bonding();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[18].tc_name, ret);
+ case 28:
+ {
+ ret = bluetooth_reset_adapter();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[27].tc_name, ret);
- break;
- }
+ break;
+ }
- case 20: /*unbonding */
- {
- bluetooth_device_address_t device_address = { {0x00, 0x19, 0x0E, 0x01, 0x61, 0x17} }; /* DO-DH79-PYUN04 */
- ret = bluetooth_unbond_device(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[19].tc_name, ret);
+ case 91:
+ {
+ bluetooth_manufacturer_data_t m_data;
+ guint8 data[6] = {0x05, 0xFF, 0x02, 0x03, 0x04, 0x05};
+ TC_PRT("%x %x %x %x %x %x", data[0], data[1], data[2], data[3],
+ data[4], data[5]);
+
+ memcpy(m_data.data, data, sizeof(data));
+ m_data.data_len = sizeof(data) - 2;
+ ret = bluetooth_set_manufacturer_data(&m_data);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[90].tc_name, ret);
+ break;
+ }
- break;
- }
+ case 29:
+ {
+ ret = bluetooth_audio_init(bt_audio_event_callback, NULL);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[28].tc_name, ret);
- case 21: /*Get paired device */
- {
- bluetooth_device_info_t devinfo;
- bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ break;
+ }
- memset(&devinfo, 0x00, sizeof(bluetooth_device_info_t));
+ case 30:
+ {
+ ret = bluetooth_audio_deinit();
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[29].tc_name, ret);
- ret = bluetooth_get_bonded_device(&device_address, &devinfo);
- if (ret != BLUETOOTH_ERROR_NONE) {
- TC_PRT("bluetooth_get_bonded_device failed with [%d]", ret);
- } else {
- TC_PRT("Name [%s]", devinfo.device_name.name);
- TC_PRT("Major Class [%d]", devinfo.device_class.major_class);
- TC_PRT("Minor Class [%d]", devinfo.device_class.minor_class);
- TC_PRT("Service Class [%d]", devinfo.device_class.service_class);
- TC_PRT("%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X", devinfo.device_address.addr[0], devinfo.device_address.addr[1], devinfo.device_address.addr[2], devinfo.device_address.addr[3], devinfo.device_address.addr[4], devinfo.device_address.addr[5]);
- }
+ break;
+ }
- break;
- }
+ case 31:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x0D, 0xFD, 0x24, 0x5E, 0xFF} }; /* Motorola S9 */
- case 22: /*set alias for bonded device */
- {
- bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ ret = bluetooth_audio_connect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[30].tc_name, ret);
- ret = bluetooth_set_alias(&device_address, "Renamed device");
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[21].tc_name, ret);
- break;
- }
+ break;
+ }
- case 23:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ case 32:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x0D, 0xFD, 0x24, 0x5E, 0xFF} }; /* Motorola S9 */
- ret = bluetooth_authorize_device(&device_address, TRUE);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[22].tc_name, ret);
- break;
- }
- case 24:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ ret = bluetooth_audio_disconnect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[31].tc_name, ret);
+ break;
+ }
- ret = bluetooth_authorize_device(&device_address, FALSE);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[23].tc_name, ret);
- break;
- }
- case 25:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x16, 0x38, 0xC3, 0x1F, 0xD2} };
+ case 33:
+ {
+ /* MW600 */
+ bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
- ret = bluetooth_search_service(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
- break;
- }
- case 26:
- {
- ret = bluetooth_cancel_service_search();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
- break;
- }
- case 27:
- {
- gboolean connected = FALSE;
- bluetooth_device_address_t device_address = { {0x00, 0x1B, 0x66, 0x01, 0x23, 0x1C} }; /* Gennheiser PX210BT */
+ ret = bluetooth_ag_connect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[32].tc_name, ret);
+ break;
+ }
+ case 34:
+ {
+ /* MW600 */
+ bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
+
+ ret = bluetooth_ag_disconnect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[33].tc_name, ret);
+ break;
+ }
- ret = bluetooth_is_device_connected(&device_address, BLUETOOTH_A2DP_SERVICE, &connected);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[24].tc_name, ret);
+ case 35:
+ {
+ /* MW600 */
+ bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
- TC_PRT("connected : %d", connected);
- break;
- }
- case 28:
- {
- ret = bluetooth_reset_adapter();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[27].tc_name, ret);
- break;
- }
- case 91:
- {
- bluetooth_manufacturer_data_t m_data;
- guint8 data[6] = {0x05, 0xFF, 0x02, 0x03, 0x04, 0x05};
-
- TC_PRT("%x %x %x %x %x %x", data[0], data[1], data[2], data[3],
- data[4], data[5]);
- memcpy(m_data.data, data, sizeof(data));
- m_data.data_len = sizeof(data) - 2;
- ret = bluetooth_set_manufacturer_data(&m_data);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[90].tc_name, ret);
- break;
- }
- case 29:
- {
- ret = bluetooth_audio_init(bt_audio_event_callback, NULL);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[28].tc_name, ret);
- break;
- }
- case 30:
- {
- ret = bluetooth_audio_deinit();
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[29].tc_name, ret);
- break;
- }
- case 31:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x0D, 0xFD, 0x24, 0x5E, 0xFF} }; /* Motorola S9 */
+ ret = bluetooth_av_connect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[34].tc_name, ret);
+ break;
+ }
- ret = bluetooth_audio_connect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[30].tc_name, ret);
- break;
- }
- case 32:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x0D, 0xFD, 0x24, 0x5E, 0xFF} }; /* Motorola S9 */
+ case 36:
+ {
+ /* MW600 */
+ bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
- ret = bluetooth_audio_disconnect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[31].tc_name, ret);
- break;
- }
- case 33:
- {
- /* MW600 */
- bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
-
- ret = bluetooth_ag_connect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[32].tc_name, ret);
- break;
- }
- case 34:
- {
- /* MW600 */
- bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
-
- ret = bluetooth_ag_disconnect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[33].tc_name, ret);
- break;
- }
- case 35:
- {
- /* MW600 */
- bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
-
- ret = bluetooth_av_connect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[34].tc_name, ret);
- break;
- }
- case 36:
- {
- /* MW600 */
- bluetooth_device_address_t device_address = { {0x58, 0x17, 0x0C, 0xEC, 0x6A, 0xF3} };
-
- ret = bluetooth_av_disconnect(&device_address);
- if (ret < 0)
- TC_PRT("%s failed with [0x%04x]", tc_table[35].tc_name, ret);
- break;
- }
- case 37:
- {
- unsigned int volume = 0;
+ ret = bluetooth_av_disconnect(&device_address);
+ if (ret < 0)
+ TC_PRT("%s failed with [0x%04x]", tc_table[35].tc_name, ret);
- ret = bluetooth_ag_get_headset_volume(&volume);
- if (ret < 0)
- TC_PRT("failed with [0x%04x]", ret);
+ break;
+ }
+
+ case 37:
+ {
+ unsigned int volume = 0;
+ ret = bluetooth_ag_get_headset_volume(&volume);
+ if (ret < 0) {
+ TC_PRT("failed with [0x%04x]", ret);
TC_PRT("volume: %d", volume);
- break;
- }
- case 38:
- {
- ret = bluetooth_ag_set_speaker_gain(10);
- if (ret < 0)
- TC_PRT("failed with [0x%04x]", ret);
- break;
}
- case 39:
- {
- if (bluetooth_oob_read_local_data(&g_local_oob_data.oob_data)) {
- TC_PRT("ERROR in bluetooth_oob_read_local_data\n");
- } else {
- TC_PRT("SUCESS in bluetooth_oob_read_local_data\n");
- TC_PRT("hash = [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X"
- "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]\n",
- g_local_oob_data.oob_data.hash[0],
- g_local_oob_data.oob_data.hash[1],
- g_local_oob_data.oob_data.hash[2],
- g_local_oob_data.oob_data.hash[3],
- g_local_oob_data.oob_data.hash[4],
- g_local_oob_data.oob_data.hash[5],
- g_local_oob_data.oob_data.hash[6],
- g_local_oob_data.oob_data.hash[7],
- g_local_oob_data.oob_data.hash[8],
- g_local_oob_data.oob_data.hash[9],
- g_local_oob_data.oob_data.hash[10],
- g_local_oob_data.oob_data.hash[11],
- g_local_oob_data.oob_data.hash[12],
- g_local_oob_data.oob_data.hash[13],
- g_local_oob_data.oob_data.hash[14],
- g_local_oob_data.oob_data.hash[15]);
-
- TC_PRT("randomizer = [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X"
- "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]\n",
- g_local_oob_data.oob_data.randomizer[0],
- g_local_oob_data.oob_data.randomizer[1],
- g_local_oob_data.oob_data.randomizer[2],
- g_local_oob_data.oob_data.randomizer[3],
- g_local_oob_data.oob_data.randomizer[4],
- g_local_oob_data.oob_data.randomizer[5],
- g_local_oob_data.oob_data.randomizer[6],
- g_local_oob_data.oob_data.randomizer[7],
- g_local_oob_data.oob_data.randomizer[8],
- g_local_oob_data.oob_data.randomizer[9],
- g_local_oob_data.oob_data.randomizer[10],
- g_local_oob_data.oob_data.randomizer[11],
- g_local_oob_data.oob_data.randomizer[12],
- g_local_oob_data.oob_data.randomizer[13],
- g_local_oob_data.oob_data.randomizer[14],
- g_local_oob_data.oob_data.randomizer[15]);
-
- TC_PRT("hash_len: %d\n", g_local_oob_data.oob_data.hash_len);
- TC_PRT("randomizer_len: %d\n", g_local_oob_data.oob_data.randomizer_len);
- }
- break;
- }
- case 40:
- {
- ret = bluetooth_get_local_address(&g_local_oob_data.address);
+ break;
+ }
+
+ case 38:
+ {
+ ret = bluetooth_ag_set_speaker_gain(10);
+ if (ret < 0)
+ TC_PRT("failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 39:
+ {
+ if (bluetooth_oob_read_local_data(&g_local_oob_data.oob_data)) {
+ TC_PRT("ERROR in bluetooth_oob_read_local_data\n");
+ } else {
+ TC_PRT("SUCESS in bluetooth_oob_read_local_data\n");
+ TC_PRT("hash = [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X"
+ "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]\n",
+ g_local_oob_data.oob_data.hash[0],
+ g_local_oob_data.oob_data.hash[1],
+ g_local_oob_data.oob_data.hash[2],
+ g_local_oob_data.oob_data.hash[3],
+ g_local_oob_data.oob_data.hash[4],
+ g_local_oob_data.oob_data.hash[5],
+ g_local_oob_data.oob_data.hash[6],
+ g_local_oob_data.oob_data.hash[7],
+ g_local_oob_data.oob_data.hash[8],
+ g_local_oob_data.oob_data.hash[9],
+ g_local_oob_data.oob_data.hash[10],
+ g_local_oob_data.oob_data.hash[11],
+ g_local_oob_data.oob_data.hash[12],
+ g_local_oob_data.oob_data.hash[13],
+ g_local_oob_data.oob_data.hash[14],
+ g_local_oob_data.oob_data.hash[15]);
+
+ TC_PRT("randomizer = [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X"
+ "%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]\n",
+ g_local_oob_data.oob_data.randomizer[0],
+ g_local_oob_data.oob_data.randomizer[1],
+ g_local_oob_data.oob_data.randomizer[2],
+ g_local_oob_data.oob_data.randomizer[3],
+ g_local_oob_data.oob_data.randomizer[4],
+ g_local_oob_data.oob_data.randomizer[5],
+ g_local_oob_data.oob_data.randomizer[6],
+ g_local_oob_data.oob_data.randomizer[7],
+ g_local_oob_data.oob_data.randomizer[8],
+ g_local_oob_data.oob_data.randomizer[9],
+ g_local_oob_data.oob_data.randomizer[10],
+ g_local_oob_data.oob_data.randomizer[11],
+ g_local_oob_data.oob_data.randomizer[12],
+ g_local_oob_data.oob_data.randomizer[13],
+ g_local_oob_data.oob_data.randomizer[14],
+ g_local_oob_data.oob_data.randomizer[15]);
+
TC_PRT("hash_len: %d\n", g_local_oob_data.oob_data.hash_len);
TC_PRT("randomizer_len: %d\n", g_local_oob_data.oob_data.randomizer_len);
-
- if (bluetooth_oob_add_remote_data(&g_local_oob_data.address,
- &g_local_oob_data.oob_data))
- TC_PRT("ERROR in bluetooth_oob_add_remote_data\n");
- else
- TC_PRT(" bluetooth_oob_add_remote_data SUCCESS\n");
- break;
}
- case 41:
- {
- if (bluetooth_oob_remove_remote_data(&g_local_oob_data.address))
- TC_PRT("ERROR in bluetooth_oob_remove_remote_data\n");
- else
- TC_PRT(" bluetooth_oob_remove_remote_data SUCCESS\n");
- break;
- }
- case 42:
- {
- bluetooth_opc_init();
- break;
- }
- case 43:
- {
- bluetooth_opc_deinit();
- break;
- }
- case 44:
- {
- bluetooth_device_address_t remote_address = { {0} };
+ break;
+ }
- /* Grey dongle */
- remote_address.addr[0] = 0x00; remote_address.addr[1] = 0x02; remote_address.addr[2] = 0x70;
- remote_address.addr[3] = 0x2B; remote_address.addr[4] = 0xD3; remote_address.addr[5] = 0xAF;
+ case 40:
+ {
+ ret = bluetooth_get_local_address(&g_local_oob_data.address);
+ TC_PRT("hash_len: %d\n", g_local_oob_data.oob_data.hash_len);
+ TC_PRT("randomizer_len: %d\n", g_local_oob_data.oob_data.randomizer_len);
- char *files[5] = {NULL};
+ if (bluetooth_oob_add_remote_data(&g_local_oob_data.address,
+ &g_local_oob_data.oob_data))
+ TC_PRT("ERROR in bluetooth_oob_add_remote_data\n");
+ else
+ TC_PRT(" bluetooth_oob_add_remote_data SUCCESS\n");
- files[0] = "/opt/media/Images/image1.jpg";
-// files[1] = "/opt/media/Images/image2.jpg";
-// files[2] = "/opt/media/Images/image3.jpg";
- bluetooth_opc_push_files(&remote_address, files);
- break;
- }
- case 45:
- {
- bluetooth_opc_cancel_push();
- break;
- }
- case 46:
- {
- gboolean exist;
- exist = bluetooth_opc_session_is_exist();
- TC_PRT("exist: %d", exist);
- break;
- }
- case 47:
- {
- bluetooth_network_activate_server();
- break;
- }
- case 48:
- {
- bluetooth_network_deactivate_server();
- break;
- }
- case 49:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x02, 0xA2, 0x14, 0x40, 0x51} };
- bluetooth_network_connect(&device_address, BLUETOOTH_NETWORK_NAP_ROLE, NULL);
- break;
- }
- case 50:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x02, 0xA2, 0x14, 0x40, 0x51} };
- bluetooth_network_disconnect(&device_address);
- break;
- }
- case 51:
- {
- bluetooth_obex_server_init("/opt/media/Downloads");
- break;
- }
- case 52:
- {
- bluetooth_obex_server_deinit();
- break;
- }
- case 53:
- {
- bluetooth_obex_server_init_without_agent("/opt/media/Downloads");
- break;
- }
- case 54:
- {
- bluetooth_obex_server_deinit_without_agent();
- break;
- }
- case 55:
- {
- bluetooth_obex_server_is_activated();
- break;
- }
- case 56:
- {
- bluetooth_obex_server_accept_connection();
- TC_PRT(" bluetooth_obex_server_accept_connection SUCCESS\n");
- break;
- }
- case 57:
- {
- bluetooth_obex_server_reject_connection();
- break;
- }
- case 58:
- {
- bluetooth_obex_server_accept_authorize("abc");
- break;
- }
- case 59:
- {
- bluetooth_obex_server_reject_authorize();
- break;
- }
- case 60:
- {
- bluetooth_obex_server_set_destination_path("/opt/media");
- break;
- }
- case 61:
- {
- bluetooth_obex_server_set_root("/opt/media");
- break;
- }
- case 62:
- {
- bluetooth_obex_server_cancel_transfer(0);
- break;
- }
- case 63:
- {
- bluetooth_obex_server_cancel_all_transfers();
- break;
- }
+ break;
+ }
- case 65:
- {
- ret = bluetooth_hid_init(bt_hid_event_callback, NULL);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 66:
- {
- ret = bluetooth_hid_deinit();
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 67:
- {
- /* Apple wireless keyboard */
- hid_device_address_t device_address = { {0xE8, 0x06, 0x88, 0x3B, 0x18, 0xBA} };
-
- ret = bluetooth_hid_connect(&device_address);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 68:
- {
- /* Apple wireless keyboard */
- hid_device_address_t device_address = { {0xE8, 0x06, 0x88, 0x3B, 0x18, 0xBA} };
-
- ret = bluetooth_hid_disconnect(&device_address);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
+ case 41:
+ {
+ if (bluetooth_oob_remove_remote_data(&g_local_oob_data.address))
+ TC_PRT("ERROR in bluetooth_oob_remove_remote_data\n");
+ else
+ TC_PRT(" bluetooth_oob_remove_remote_data SUCCESS\n");
+ break;
+ }
- case 70:
- {
- bluetooth_device_address_t device_address = { {0x00, 0x02, 0x2F, 0x92, 0x7B, 0xF5} };
+ case 42:
+ {
+ bluetooth_opc_init();
+ break;
+ }
- ret = bluetooth_rfcomm_connect(&device_address, rfcomm_test_uuid_spp);
- //ret = bluetooth_rfcomm_connect(&device_address, "1");
+ case 43:
+ {
+ bluetooth_opc_deinit();
+ break;
+ }
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 71:
- {
- ret = bluetooth_rfcomm_disconnect(-1);
+ case 44:
+ {
+ bluetooth_device_address_t remote_address = { {0} };
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 72:
- {
- ret = bluetooth_rfcomm_disconnect(g_ret_client_fd1);
+ /* Grey dongle */
+ remote_address.addr[0] = 0x00; remote_address.addr[1] = 0x02; remote_address.addr[2] = 0x70;
+ remote_address.addr[3] = 0x2B; remote_address.addr[4] = 0xD3; remote_address.addr[5] = 0xAF;
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 73:
- {
- const char rd_data[] = "123456789 12345";
- ret = bluetooth_rfcomm_write(g_ret_client_fd1, rd_data, sizeof(rd_data));
+ char *files[5] = {NULL};
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 74:
- {
- gboolean is_connected;
+ files[0] = "/opt/media/Images/image1.jpg";
+// files[1] = "/opt/media/Images/image2.jpg";
+// files[2] = "/opt/media/Images/image3.jpg";
+ bluetooth_opc_push_files(&remote_address, files);
+ break;
+ }
+
+ case 45:
+ {
+ bluetooth_opc_cancel_push();
+ break;
+ }
- is_connected = bluetooth_rfcomm_is_client_connected();
+ case 46:
+ {
+ gboolean exist;
+ exist = bluetooth_opc_session_is_exist();
+ TC_PRT("exist: %d", exist);
+ break;
+ }
- TC_PRT("Connected: %d", is_connected);
- break;
- }
- case 80:
- {
- ret = bluetooth_rfcomm_create_socket(rfcomm_test_uuid_spp);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
+ case 47:
+ {
+ bluetooth_network_activate_server();
+ break;
+ }
+
+ case 48:
+ {
+ bluetooth_network_deactivate_server();
+ break;
+ }
+
+ case 49:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x02, 0xA2, 0x14, 0x40, 0x51} };
+ bluetooth_network_connect(&device_address, BLUETOOTH_NETWORK_NAP_ROLE, NULL);
+ break;
+ }
+
+ case 50:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x02, 0xA2, 0x14, 0x40, 0x51} };
+ bluetooth_network_disconnect(&device_address);
+ break;
+ }
+
+ case 51:
+ {
+ bluetooth_obex_server_init("/opt/media/Downloads");
+ break;
+ }
+
+ case 52:
+ {
+ bluetooth_obex_server_deinit();
+ break;
+ }
+
+ case 53:
+ {
+ bluetooth_obex_server_init_without_agent("/opt/media/Downloads");
+ break;
+ }
+
+ case 54:
+ {
+ bluetooth_obex_server_deinit_without_agent();
+ break;
+ }
+
+ case 55:
+ {
+ bluetooth_obex_server_is_activated();
+ break;
+ }
+
+ case 56:
+ {
+ bluetooth_obex_server_accept_connection();
+ TC_PRT(" bluetooth_obex_server_accept_connection SUCCESS\n");
+ break;
+ }
+
+ case 57:
+ {
+ bluetooth_obex_server_reject_connection();
+ break;
+ }
+
+ case 58:
+ {
+ bluetooth_obex_server_accept_authorize("abc");
+ break;
+ }
+ case 59:
+ {
+ bluetooth_obex_server_reject_authorize();
+ break;
+ }
+
+ case 60:
+ {
+ bluetooth_obex_server_set_destination_path("/opt/media");
+ break;
+ }
+
+ case 61:
+ {
+ bluetooth_obex_server_set_root("/opt/media");
+ break;
+ }
+
+ case 62:
+ {
+ bluetooth_obex_server_cancel_transfer(0);
+ break;
+ }
+
+ case 63:
+ {
+ bluetooth_obex_server_cancel_all_transfers();
+ break;
+ }
+
+ case 65:
+ {
+ ret = bluetooth_hid_init(bt_hid_event_callback, NULL);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 66:
+ {
+ ret = bluetooth_hid_deinit();
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 67:
+ {
+ /* Apple wireless keyboard */
+ hid_device_address_t device_address = { {0xE8, 0x06, 0x88, 0x3B, 0x18, 0xBA} };
+
+ ret = bluetooth_hid_connect(&device_address);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 68:
+ {
+ /* Apple wireless keyboard */
+ hid_device_address_t device_address = { {0xE8, 0x06, 0x88, 0x3B, 0x18, 0xBA} };
+
+ ret = bluetooth_hid_disconnect(&device_address);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 70:
+ {
+ bluetooth_device_address_t device_address = { {0x00, 0x02, 0x2F, 0x92, 0x7B, 0xF5} };
+
+ ret = bluetooth_rfcomm_connect(&device_address, rfcomm_test_uuid_spp);
+ //ret = bluetooth_rfcomm_connect(&device_address, "1");
+
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 71:
+ {
+ ret = bluetooth_rfcomm_disconnect(-1);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 72:
+ {
+ ret = bluetooth_rfcomm_disconnect(g_ret_client_fd1);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 73:
+ {
+ const char rd_data[] = "123456789 12345";
+ ret = bluetooth_rfcomm_write(g_ret_client_fd1, rd_data, sizeof(rd_data));
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 74:
+ {
+ gboolean is_connected;
+ is_connected = bluetooth_rfcomm_is_client_connected();
+ TC_PRT("Connected: %d", is_connected);
+
+ break;
+ }
+
+ case 80:
+ {
+ ret = bluetooth_rfcomm_create_socket(rfcomm_test_uuid_spp);
+ if (ret < 0) {
+ TC_PRT("Failed with [0x%04x]", ret);
TC_PRT("Returned FD = %d", ret);
- server_fd = ret;
- break;
}
- case 81:
- {
- ret = bluetooth_rfcomm_create_socket(rfcomm_test_uuid_custom);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
+ server_fd = ret;
+
+ break;
+ }
+ case 81:
+ {
+ ret = bluetooth_rfcomm_create_socket(rfcomm_test_uuid_custom);
+ if (ret < 0) {
+ TC_PRT("Failed with [0x%04x]", ret);
TC_PRT("Returned FD = %d", ret);
- server_fd = ret;
- break;
- }
- case 82:
- {
- ret = bluetooth_rfcomm_remove_socket(server_fd);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
}
- case 83: /*Listen and accept */
- {
+ server_fd = ret;
- ret = bluetooth_rfcomm_listen_and_accept(server_fd, 1);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
+ break;
+ }
+ case 82:
+ {
+ ret = bluetooth_rfcomm_remove_socket(server_fd);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 83: /*Listen and accept */
+ {
+ ret = bluetooth_rfcomm_listen_and_accept(server_fd, 1);
+ if (ret < 0) {
+ TC_PRT("Failed with [0x%04x]", ret);
TC_PRT("result = %d", ret);
- break;
}
- case 84: /*Listen */
- {
- ret = bluetooth_rfcomm_listen(server_fd, 1);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
+ break;
+ }
+ case 84: /*Listen */
+ {
+ ret = bluetooth_rfcomm_listen(server_fd, 1);
+ if (ret < 0) {
+ TC_PRT("Failed with [0x%04x]", ret);
TC_PRT("result = %d", ret);
- break;
- }
- case 85:
- {
- ret = bluetooth_rfcomm_server_disconnect(client_fd);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
}
- case 86:
- {
- gboolean available;
- available = bluetooth_rfcomm_is_server_uuid_available(rfcomm_test_uuid_spp);
+ break;
+ }
- TC_PRT("available: %d", available);
- break;
- }
- case 87:
- {
- ret = bluetooth_rfcomm_accept_connection(server_fd);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
+ case 85:
+ {
+ ret = bluetooth_rfcomm_server_disconnect(client_fd);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+
+ break;
+ }
+
+ case 86:
+ {
+ gboolean available;
+ available = bluetooth_rfcomm_is_server_uuid_available(rfcomm_test_uuid_spp);
+ TC_PRT("available: %d", available);
+
+ break;
+ }
+
+ case 87:
+ {
+ ret = bluetooth_rfcomm_accept_connection(server_fd);
+ if (ret < 0) {
+ TC_PRT("Failed with [0x%04x]", ret);
TC_PRT("client fd: %d", client_fd);
- break;
- }
- case 88:
- {
- ret = bluetooth_rfcomm_reject_connection(server_fd);
- if (ret < 0)
- TC_PRT("Failed with [0x%04x]", ret);
- break;
- }
- case 89:
- ret = bluetooth_start_custom_discovery(DISCOVERY_ROLE_LE,
- 0, 0, 0);
- if (ret < 0)
- TC_PRT("failed with [0x%04x]", ret);
- break;
- case 92: {
- ret = bluetooth_gatt_init();
- if (ret < 0)
- TC_PRT("gatt init failed with [0x%04x]", ret);
- break;
}
- case 93: {
- ret = bluetooth_gatt_deinit();
- if (ret < 0)
- TC_PRT("gatt deinit failed with [0x%04x]", ret);
- break;
- }
- case 94: {
- char *service_uuid = g_strdup("00001802-0000-1000-8000-00805f9b34fb");
- ret = bluetooth_gatt_add_service(service_uuid,
- &svc_obj_path);
+ break;
+ }
- TC_PRT("service obj_path is %s", svc_obj_path);
- }
- break;
+ case 88:
+ {
+ ret = bluetooth_rfcomm_reject_connection(server_fd);
+ if (ret < 0)
+ TC_PRT("Failed with [0x%04x]", ret);
+ break;
+ }
- case 95: {
- /* testing with dummy values*/
- char *char_uuid = g_strdup("00002a06-0000-1000-8000-00805f9b34fb");
- bt_gatt_permission_t perms = 0;
- bt_gatt_characteristic_property_t props = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_READ |
- BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_WRITE |
- BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_NOTIFY |
- BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_INDICATE;
+ case 89:
+ ret = bluetooth_start_custom_discovery(DISCOVERY_ROLE_LE,
+ 0, 0, 0);
+ if (ret < 0)
+ TC_PRT("failed with [0x%04x]", ret);
- ret = bluetooth_gatt_add_new_characteristic(
- svc_obj_path, char_uuid,
- perms, props, &char_obj_path);
+ break;
- TC_PRT("characteristic obj_path is %s", char_obj_path);
+ case 92:
+ {
+ ret = bluetooth_gatt_init();
+ if (ret < 0)
+ TC_PRT("gatt init failed with [0x%04x]", ret);
+ break;
+ }
- break;
- }
+ case 93:
+ {
+ ret = bluetooth_gatt_deinit();
+ if (ret < 0)
+ TC_PRT("gatt deinit failed with [0x%04x]", ret);
- case 96: {
- char *desc_uuid = g_strdup("000026ff-0000-1000-8000-00805f9b34fb");
- bt_gatt_permission_t perms = BLUETOOTH_GATT_PERMISSION_READ |
- BLUETOOTH_GATT_PERMISSION_WRITE;
+ break;
+ }
- ret = bluetooth_gatt_add_descriptor(char_obj_path,
- desc_uuid, perms, &desc_obj_path);
+ case 94:
+ {
+ char *service_uuid = g_strdup("00001802-0000-1000-8000-00805f9b34fb");
- TC_PRT("add descriptor error is %d", ret);
+ ret = bluetooth_gatt_add_service(service_uuid,
+ &svc_obj_path);
- break;
- }
- case 97: {
- ret = bluetooth_gatt_register_service(svc_obj_path);
+ TC_PRT("service obj_path is %s", svc_obj_path);
- TC_PRT("register service error is %d", ret);
+ break;
+ }
- break;
- }
- case 98: {
- ret = bluetooth_gatt_register_application();
+ case 95:
+ {
+ /* testing with dummy values*/
+ char *char_uuid = g_strdup("00002a06-0000-1000-8000-00805f9b34fb");
+ bt_gatt_permission_t perms = 0;
+ bt_gatt_characteristic_property_t props = BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_READ |
+ BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_WRITE |
+ BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_NOTIFY |
+ BLUETOOTH_GATT_CHARACTERISTIC_PROPERTY_INDICATE;
- TC_PRT("register service error is %d", ret);
+ ret = bluetooth_gatt_add_new_characteristic(
+ svc_obj_path, char_uuid,
+ perms, props, &char_obj_path);
- break;
- }
- case 99: {
- char char_data[4] = {10, 20, 30, 40};
- int char_length = 4;
- ret = bluetooth_gatt_update_characteristic(char_obj_path,
- char_data, char_length);
+ TC_PRT("characteristic obj_path is %s", char_obj_path);
- TC_PRT("update_characteristic error is %d", ret);
+ break;
+ }
- break;
- }
- case 100: {
- ret = bluetooth_gatt_unregister_service(svc_obj_path);
+ case 96: {
+ char *desc_uuid = g_strdup("000026ff-0000-1000-8000-00805f9b34fb");
+ bt_gatt_permission_t perms = BLUETOOTH_GATT_PERMISSION_READ |
+ BLUETOOTH_GATT_PERMISSION_WRITE;
- TC_PRT("service removed with error is %d", ret);
+ ret = bluetooth_gatt_add_descriptor(char_obj_path,
+ desc_uuid, perms, &desc_obj_path);
+ TC_PRT("add descriptor error is %d", ret);
- break;
- }
- case 101: {
- ret = bluetooth_gatt_delete_services();
+ break;
+ }
- TC_PRT("services deleted with error is %d", ret);
+ case 97: {
+ ret = bluetooth_gatt_register_service(svc_obj_path);
+ TC_PRT("register service error is %d", ret);
- break;
- }
- default:
- break;
+ break;
+ }
+
+ case 98: {
+ ret = bluetooth_gatt_register_application();
+
+ TC_PRT("register service error is %d", ret);
+
+ break;
+ }
+
+ case 99: {
+ char char_data[4] = {10, 20, 30, 40};
+ int char_length = 4;
+ ret = bluetooth_gatt_update_characteristic(char_obj_path,
+ char_data, char_length);
+
+ TC_PRT("update_characteristic error is %d", ret);
+
+ break;
+ }
+
+ case 100: {
+ ret = bluetooth_gatt_unregister_service(svc_obj_path);
+ TC_PRT("service removed with error is %d", ret);
+
+ break;
}
+ case 101:
+ ret = bluetooth_gatt_delete_services();
+ TC_PRT("services deleted with error is %d", ret);
+
+ break;
+
+ default:
+ break;
+ }
return 0;
}
TC_PRT(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
TC_PRT("bt event callback 0x%04x", event);
switch (event) {
- case BLUETOOTH_EVENT_ENABLED:
- TC_PRT("BLUETOOTH_EVENT_ENABLED, result [0x%04x]", param->result);
- break;
+ case BLUETOOTH_EVENT_ENABLED:
+ TC_PRT("BLUETOOTH_EVENT_ENABLED, result [0x%04x]", param->result);
+ break;
+
+ case BLUETOOTH_EVENT_DISABLED:
+ TC_PRT("BLUETOOTH_EVENT_DISABLED, result [0x%04x]", param->result);
+ break;
+
+ case BLUETOOTH_EVENT_LOCAL_NAME_CHANGED:
+ TC_PRT("BLUETOOTH_EVENT_LOCAL_NAME_CHANGED, result [0x%04x]", param->result);
+ if (param->result == BLUETOOTH_ERROR_NONE) {
+ bluetooth_device_name_t *local_name = (bluetooth_device_name_t *)param->param_data;
+ tc_result(TC_PASS, 6);
+ TC_PRT("Changed Name : [%s]", local_name->name);
+ } else {
+ tc_result(TC_FAIL, 6);
+ }
+ break;
+
+ case BLUETOOTH_EVENT_DISCOVERY_STARTED:
+ TC_PRT("BLUETOOTH_EVENT_DISCOVERY_STARTED, result [0x%04x]", param->result);
+ break;
+
+ case BLUETOOTH_EVENT_REMOTE_DEVICE_FOUND:
+ {
+ bluetooth_device_info_t *device_info = NULL;
+ TC_PRT("BLUETOOTH_EVENT_REMOTE_DEVICE_FOUND, result [0x%04x]", param->result);
+ device_info = (bluetooth_device_info_t *)param->param_data;
+ memcpy(&searched_device, &device_info->device_address, sizeof(bluetooth_device_address_t));
+ TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
+ device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
+ device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5]);
+ break;
+ }
- case BLUETOOTH_EVENT_DISABLED:
- TC_PRT("BLUETOOTH_EVENT_DISABLED, result [0x%04x]", param->result);
- break;
+ case BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND:
+ {
+ int i;
+ bluetooth_le_device_info_t *le_device_info = NULL;
+ TC_PRT("BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND, result [0x%04x]", param->result);
+ le_device_info = (bluetooth_le_device_info_t *)param->param_data;
+ TC_PRT("dev[%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
+ le_device_info->device_address.addr[0], le_device_info->device_address.addr[1], le_device_info->device_address.addr[2], \
+ le_device_info->device_address.addr[3], le_device_info->device_address.addr[4], le_device_info->device_address.addr[5]);
+ TC_PRT("addr_type : %d", le_device_info->addr_type);
+ TC_PRT("rssi : %d", le_device_info->rssi);
+ TC_PRT("adv_ind_data_len :%d" , le_device_info->adv_ind_data.data_len);
+ TC_PRT("scan_resp_data_len :%d" , le_device_info->scan_resp_data.data_len);
+ for (i = 0; i < le_device_info->adv_ind_data.data_len; i++)
+ TC_PRT("adv_ind_data[%d] : [0x%x]", i, le_device_info->adv_ind_data.data.data[i]);
+ for (i = 0; i < le_device_info->scan_resp_data.data_len; i++)
+ TC_PRT("scan_resp_data[%d] : [0x%x]", i, le_device_info->scan_resp_data.data.data[i]);
+ break;
+ }
- case BLUETOOTH_EVENT_LOCAL_NAME_CHANGED:
- TC_PRT("BLUETOOTH_EVENT_LOCAL_NAME_CHANGED, result [0x%04x]", param->result);
- if (param->result == BLUETOOTH_ERROR_NONE) {
- bluetooth_device_name_t *local_name = (bluetooth_device_name_t *)param->param_data;
- tc_result(TC_PASS, 6);
- TC_PRT("Changed Name : [%s]", local_name->name);
- } else {
- tc_result(TC_FAIL, 6);
- }
- break;
+ case BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED:
+ {
+ bluetooth_device_info_t *device_info = NULL;
+ TC_PRT("BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED, result [0x%04x]", param->result);
+ device_info = (bluetooth_device_info_t *)param->param_data;
+ memcpy(&searched_device, &device_info->device_address, sizeof(bluetooth_device_address_t));
+ TC_PRT("dev [%s] [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", device_info->device_name.name, \
+ device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
+ device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5]);
+ break;
+ }
+ case BLUETOOTH_EVENT_DISCOVERY_FINISHED:
+ TC_PRT("BLUETOOTH_EVENT_DISCOVERY_FINISHED, result [0x%04x]", param->result);
+ break;
- case BLUETOOTH_EVENT_DISCOVERY_STARTED:
- TC_PRT("BLUETOOTH_EVENT_DISCOVERY_STARTED, result [0x%04x]", param->result);
- break;
+ case BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED:
+ {
+ int *mode = (int *)param->param_data;
+ TC_PRT("BT_DISCOVERABLE_MODE_CHANGED, result [0x%04x]", param->result);
+ TC_PRT("mode [%d]", *mode);
+ break;
+ }
- case BLUETOOTH_EVENT_REMOTE_DEVICE_FOUND:
- {
+ case BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED:
+ {
+ int *timeout = (int *)param->param_data;
+ TC_PRT("BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED, result [0x%04x]", param->result);
+ TC_PRT("timeout [%d]", *timeout);
+ break;
+ }
+
+ case BLUETOOTH_EVENT_BONDING_FINISHED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_BONDING_FINISHED, result [0x%04x]", param->result);
+ if (param->result >= BLUETOOTH_ERROR_NONE) {
bluetooth_device_info_t *device_info = NULL;
- TC_PRT("BLUETOOTH_EVENT_REMOTE_DEVICE_FOUND, result [0x%04x]", param->result);
- device_info = (bluetooth_device_info_t *)param->param_data;
- memcpy(&searched_device, &device_info->device_address, sizeof(bluetooth_device_address_t));
- TC_PRT("dev [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
- device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
- device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5]);
+ tc_result(TC_PASS, 12);
+ device_info = (bluetooth_device_info_t *)param->param_data;
+ if (device_info == NULL)
break;
+ TC_PRT("dev [%s] [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X] mjr[%#x] min[%#x] srv[%#x]", device_info->device_name.name, \
+ device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
+ device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5], \
+ device_info->device_class.major_class, device_info->device_class.minor_class, device_info->device_class.service_class);
+ } else {
+ tc_result(TC_FAIL, 12);
}
+ break;
+ }
- case BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND:
- {
- int i;
- bluetooth_le_device_info_t *le_device_info = NULL;
- TC_PRT("BLUETOOTH_EVENT_REMOTE_LE_DEVICE_FOUND, result [0x%04x]", param->result);
- le_device_info = (bluetooth_le_device_info_t *)param->param_data;
- TC_PRT("dev[%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", \
- le_device_info->device_address.addr[0], le_device_info->device_address.addr[1], le_device_info->device_address.addr[2], \
- le_device_info->device_address.addr[3], le_device_info->device_address.addr[4], le_device_info->device_address.addr[5]);
- TC_PRT("addr_type : %d", le_device_info->addr_type);
- TC_PRT("rssi : %d", le_device_info->rssi);
- TC_PRT("adv_ind_data_len :%d" , le_device_info->adv_ind_data.data_len);
- TC_PRT("scan_resp_data_len :%d" , le_device_info->scan_resp_data.data_len);
-
- for (i = 0; i < le_device_info->adv_ind_data.data_len; i++)
- TC_PRT("adv_ind_data[%d] : [0x%x]", i, le_device_info->adv_ind_data.data.data[i]);
-
- for (i = 0; i < le_device_info->scan_resp_data.data_len; i++)
- TC_PRT("scan_resp_data[%d] : [0x%x]", i, le_device_info->scan_resp_data.data.data[i]);
+ case BLUETOOTH_EVENT_BONDED_DEVICE_FOUND:
+ {
+ // bluetooth_get_bonded_device_list is changed as synchronous API. This event is not used any more.
+ // 2011.01.06
+#if 0
+// int i = 0;
+ TC_PRT("BLUETOOTH_EVENT_BONDED_DEVICE_FOUND, result [0x%04x]", param->result);
+ if (param->result >= BLUETOOTH_ERROR_NONE) {
+ ///tc_result(TC_PASS, 15);
+ bluetooth_device_info_t * bt_dev_info = (bluetooth_device_info_t*)param->param_data;
+ TC_PRT("Dev Name = %s, Dev add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X, COD (major,minor,service)= 0x%x:%x:%x\n", bt_dev_info->device_name.name,
+ bt_dev_info->device_address.addr[0], bt_dev_info->device_address.addr[1], bt_dev_info->device_address.addr[2], \
+ bt_dev_info->device_address.addr[3], bt_dev_info->device_address.addr[4], bt_dev_info->device_address.addr[5], \
+ bt_dev_info->device_class.major_class, bt_dev_info->device_class.minor_class, bt_dev_info->device_class.service_class);
- break;
+ } else if (param->result == BLUETOOTH_ERROR_END_OF_DEVICE_LIST) /*End of the Device found indication*/ {
+ tc_result(TC_PASS, 15);
+ TC_PRT("*****<<No more BLUETOOTH_EVENT_BONDED_DEVICE_FOUND indication>>***** ");
+ } else {
+ tc_result(TC_FAIL, 15);
+ TC_PRT("*****API failed ***** ");
}
+ break;
+#endif
+ }
- case BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED:
- {
- bluetooth_device_info_t *device_info = NULL;
- TC_PRT("BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED, result [0x%04x]", param->result);
- device_info = (bluetooth_device_info_t *)param->param_data;
- memcpy(&searched_device, &device_info->device_address, sizeof(bluetooth_device_address_t));
- TC_PRT("dev [%s] [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]", device_info->device_name.name, \
- device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
- device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5]);
- break;
- }
+ case BLUETOOTH_EVENT_SERVICE_SEARCHED:
+ {
+ int i = 0;
+ TC_PRT("BLUETOOTH_EVENT_SERVICE_SEARCHED, result [0x%04x]", param->result);
+ if (param->result >= BLUETOOTH_ERROR_NONE) {
+ tc_result(TC_PASS, 18);
+ bt_sdp_info_t *bt_sdp_info = param->param_data;
- case BLUETOOTH_EVENT_DISCOVERY_FINISHED:
- TC_PRT("BLUETOOTH_EVENT_DISCOVERY_FINISHED, result [0x%04x]", param->result);
- break;
+ TC_PRT("Dev add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
+ bt_sdp_info->device_addr.addr[0], bt_sdp_info->device_addr.addr[1], bt_sdp_info->device_addr.addr[2], \
+ bt_sdp_info->device_addr.addr[3], bt_sdp_info->device_addr.addr[4], bt_sdp_info->device_addr.addr[5]);
- case BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED:
- {
- int *mode = (int *)param->param_data;
- TC_PRT("BT_DISCOVERABLE_MODE_CHANGED, result [0x%04x]", param->result);
- TC_PRT("mode [%d]", *mode);
- break;
- }
- case BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED:
- {
- int *timeout = (int *)param->param_data;
- TC_PRT("BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED, result [0x%04x]", param->result);
- TC_PRT("timeout [%d]", *timeout);
- break;
- }
- case BLUETOOTH_EVENT_BONDING_FINISHED:
- {
- TC_PRT("BLUETOOTH_EVENT_BONDING_FINISHED, result [0x%04x]", param->result);
- if (param->result >= BLUETOOTH_ERROR_NONE) {
- bluetooth_device_info_t *device_info = NULL;
- tc_result(TC_PASS, 12);
- device_info = (bluetooth_device_info_t *)param->param_data;
- if (device_info == NULL)
- break;
-
- TC_PRT("dev [%s] [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X] mjr[%#x] min[%#x] srv[%#x]", device_info->device_name.name, \
- device_info->device_address.addr[0], device_info->device_address.addr[1], device_info->device_address.addr[2], \
- device_info->device_address.addr[3], device_info->device_address.addr[4], device_info->device_address.addr[5], \
- device_info->device_class.major_class, device_info->device_class.minor_class, device_info->device_class.service_class);
- } else {
- tc_result(TC_FAIL, 12);
- }
- break;
+ TC_PRT("Supported service list:\n");
+ for (i = 0; i < bt_sdp_info->service_index; i++)
+ TC_PRT("[%#x]\n", bt_sdp_info->service_list_array[i]);
+
+ } else {
+ tc_result(TC_FAIL, 18);
}
+ break;
+ }
- case BLUETOOTH_EVENT_BONDED_DEVICE_FOUND:
- {
- // bluetooth_get_bonded_device_list is changed as synchronous API. This event is not used any more.
- // 2011.01.06
-#if 0
-// int i = 0;
- TC_PRT("BLUETOOTH_EVENT_BONDED_DEVICE_FOUND, result [0x%04x]", param->result);
- if (param->result >= BLUETOOTH_ERROR_NONE) {
- ///tc_result(TC_PASS, 15);
- bluetooth_device_info_t * bt_dev_info = (bluetooth_device_info_t*)param->param_data;
+ case BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED, result [0x%04x]", param->result);
+ bluetooth_rfcomm_received_data_t *rx_data = param->param_data;
+ printf("\n FD = %d \nBuffer len = %d ", rx_data->socket_fd, rx_data->buffer_size);
+ if (rx_data->buffer_size < sizeof(oob_data_t))
+ TC_PRT("Complete oob data is not recivedn");
+ else
+ memcpy(&g_remote_oob_data, rx_data->buffer, sizeof(oob_data_t));
+ //tc_result(TC_PASS, 21);
+ break;
+ }
- TC_PRT("Dev Name = %s, Dev add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X, COD (major,minor,service)= 0x%x:%x:%x\n", bt_dev_info->device_name.name,
- bt_dev_info->device_address.addr[0], bt_dev_info->device_address.addr[1], bt_dev_info->device_address.addr[2], \
- bt_dev_info->device_address.addr[3], bt_dev_info->device_address.addr[4], bt_dev_info->device_address.addr[5], \
- bt_dev_info->device_class.major_class, bt_dev_info->device_class.minor_class, bt_dev_info->device_class.service_class);
-
- } else if (param->result == BLUETOOTH_ERROR_END_OF_DEVICE_LIST) /*End of the Device found indication*/ {
- tc_result(TC_PASS, 15);
- TC_PRT("*****<<No more BLUETOOTH_EVENT_BONDED_DEVICE_FOUND indication>>***** ");
- } else {
- tc_result(TC_FAIL, 15);
- TC_PRT("*****API failed ***** ");
- }
- break;
-#endif
- }
- case BLUETOOTH_EVENT_SERVICE_SEARCHED:
- {
- int i = 0;
- TC_PRT("BLUETOOTH_EVENT_SERVICE_SEARCHED, result [0x%04x]", param->result);
- if (param->result >= BLUETOOTH_ERROR_NONE) {
- tc_result(TC_PASS, 18);
- bt_sdp_info_t *bt_sdp_info = param->param_data;
-
- TC_PRT("Dev add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
- bt_sdp_info->device_addr.addr[0], bt_sdp_info->device_addr.addr[1], bt_sdp_info->device_addr.addr[2], \
- bt_sdp_info->device_addr.addr[3], bt_sdp_info->device_addr.addr[4], bt_sdp_info->device_addr.addr[5]);
-
- TC_PRT("Supported service list:\n");
- for (i = 0; i < bt_sdp_info->service_index; i++)
- TC_PRT("[%#x]\n", bt_sdp_info->service_list_array[i]);
-
- } else {
- tc_result(TC_FAIL, 18);
- }
- break;
- }
- case BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED:
- {
- TC_PRT("BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED, result [0x%04x]", param->result);
- bluetooth_rfcomm_received_data_t *rx_data = param->param_data;
- printf("\n FD = %d \nBuffer len = %d ", rx_data->socket_fd, rx_data->buffer_size);
- if (rx_data->buffer_size < sizeof(oob_data_t))
- TC_PRT("Complete oob data is not recivedn");
- else
- memcpy(&g_remote_oob_data, rx_data->buffer, sizeof(oob_data_t));
- //tc_result(TC_PASS, 21);
- break;
- }
- case BLUETOOTH_EVENT_RFCOMM_CONNECTED:
- {
- bluetooth_rfcomm_connection_t *con_ind = (bluetooth_rfcomm_connection_t *)param->param_data;
- TC_PRT("BLUETOOTH_EVENT_RFCOMM_CONNECTED, result [0x%04x], fd = %d, device add = 0x%X:%X:%X:%X:%X:%X, Role = %s", param->result,
- con_ind->socket_fd,
- con_ind->device_addr.addr[0], con_ind->device_addr.addr[1], con_ind->device_addr.addr[2],
- con_ind->device_addr.addr[3], con_ind->device_addr.addr[4], con_ind->device_addr.addr[5],
- (con_ind->device_role == RFCOMM_ROLE_SERVER) ? "SERVER" : "CLIENT");
- //tc_result(TC_PASS, 22);
- if ((con_ind->device_role == RFCOMM_ROLE_CLIENT) && (con_ind->socket_fd > 0))
- g_ret_client_fd1 = con_ind->socket_fd;
-
- if ((con_ind->device_role == RFCOMM_ROLE_SERVER) && (con_ind->socket_fd > 0))
- client_fd = con_ind->socket_fd;
+ case BLUETOOTH_EVENT_RFCOMM_CONNECTED:
+ {
+ bluetooth_rfcomm_connection_t *con_ind = (bluetooth_rfcomm_connection_t *)param->param_data;
+ TC_PRT("BLUETOOTH_EVENT_RFCOMM_CONNECTED, result [0x%04x], fd = %d, device add = 0x%X:%X:%X:%X:%X:%X, Role = %s", param->result,
+ con_ind->socket_fd,
+ con_ind->device_addr.addr[0], con_ind->device_addr.addr[1], con_ind->device_addr.addr[2],
+ con_ind->device_addr.addr[3], con_ind->device_addr.addr[4], con_ind->device_addr.addr[5],
+ (con_ind->device_role == RFCOMM_ROLE_SERVER) ? "SERVER" : "CLIENT");
+ //tc_result(TC_PASS, 22);
+ if ((con_ind->device_role == RFCOMM_ROLE_CLIENT) && (con_ind->socket_fd > 0))
+ g_ret_client_fd1 = con_ind->socket_fd;
+
+ if ((con_ind->device_role == RFCOMM_ROLE_SERVER) && (con_ind->socket_fd > 0))
+ client_fd = con_ind->socket_fd;
+
+ break;
+ }
- break;
- }
- case BLUETOOTH_EVENT_RFCOMM_DISCONNECTED:
- {
- bluetooth_rfcomm_disconnection_t *disconnection_ind = (bluetooth_rfcomm_disconnection_t *)param->param_data;;
- TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x] Fd = %d, device add = 0x%X:%X:%X:%X:%X:%X\n", param->result, disconnection_ind->socket_fd,
- disconnection_ind->device_addr.addr[0], disconnection_ind->device_addr.addr[1], disconnection_ind->device_addr.addr[2],
- disconnection_ind->device_addr.addr[3], disconnection_ind->device_addr.addr[4], disconnection_ind->device_addr.addr[5]);
- //tc_result(TC_PASS, 22);
- break;
- }
- case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
- {
- bluetooth_network_device_info_t *dev_info = (bluetooth_network_device_info_t *)param->param_data;
+ case BLUETOOTH_EVENT_RFCOMM_DISCONNECTED:
+ {
+ bluetooth_rfcomm_disconnection_t *disconnection_ind = (bluetooth_rfcomm_disconnection_t *)param->param_data;;
+ TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x] Fd = %d, device add = 0x%X:%X:%X:%X:%X:%X\n", param->result, disconnection_ind->socket_fd,
+ disconnection_ind->device_addr.addr[0], disconnection_ind->device_addr.addr[1], disconnection_ind->device_addr.addr[2],
+ disconnection_ind->device_addr.addr[3], disconnection_ind->device_addr.addr[4], disconnection_ind->device_addr.addr[5]);
+ //tc_result(TC_PASS, 22);
+ break;
+ }
- TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x]", param->result);
- TC_PRT("interface name: %s", dev_info->interface_name);
+ case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
+ {
+ bluetooth_network_device_info_t *dev_info = (bluetooth_network_device_info_t *)param->param_data;
- TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
- dev_info->device_address.addr[0], dev_info->device_address.addr[1], dev_info->device_address.addr[2],
- dev_info->device_address.addr[3], dev_info->device_address.addr[4], dev_info->device_address.addr[5]);
- break;
- }
- case BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED:
- {
- bluetooth_network_device_info_t *dev_info = (bluetooth_network_device_info_t *)param->param_data;
+ TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x]", param->result);
+ TC_PRT("interface name: %s", dev_info->interface_name);
- TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x]", param->result);
- TC_PRT("interface name: %s", dev_info->interface_name);
+ TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
+ dev_info->device_address.addr[0], dev_info->device_address.addr[1], dev_info->device_address.addr[2],
+ dev_info->device_address.addr[3], dev_info->device_address.addr[4], dev_info->device_address.addr[5]);
+ break;
+ }
- TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
- dev_info->device_address.addr[0], dev_info->device_address.addr[1], dev_info->device_address.addr[2],
- dev_info->device_address.addr[3], dev_info->device_address.addr[4], dev_info->device_address.addr[5]);
- break;
- }
+ case BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED:
+ {
+ bluetooth_network_device_info_t *dev_info = (bluetooth_network_device_info_t *)param->param_data;
- case BLUETOOTH_EVENT_HDP_CONNECTED:
- {
- bt_hdp_connected_t *conn_ind = (bt_hdp_connected_t *)param->param_data;
+ TC_PRT("BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, result [0x%04x]", param->result);
+ TC_PRT("interface name: %s", dev_info->interface_name);
- TC_PRT("BLUETOOTH_EVENT_HDP_CONNECTED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
- TC_PRT("App handler = %s, channel id = %d, type = %s", conn_ind->app_handle, conn_ind->channel_id, (conn_ind->type == HDP_QOS_RELIABLE) ? "Reliable" : "Streaming");
- TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
- conn_ind->device_address.addr[0], conn_ind->device_address.addr[1], conn_ind->device_address.addr[2],
- conn_ind->device_address.addr[3], conn_ind->device_address.addr[4], conn_ind->device_address.addr[5]);
+ TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
+ dev_info->device_address.addr[0], dev_info->device_address.addr[1], dev_info->device_address.addr[2],
+ dev_info->device_address.addr[3], dev_info->device_address.addr[4], dev_info->device_address.addr[5]);
+ break;
+ }
- g_ret_client_fd1 = conn_ind->channel_id;
- break;
- }
+ case BLUETOOTH_EVENT_HDP_CONNECTED:
+ {
+ bt_hdp_connected_t *conn_ind = (bt_hdp_connected_t *)param->param_data;
- case BLUETOOTH_EVENT_HDP_DISCONNECTED:
- {
- bt_hdp_disconnected_t *dis_ind = (bt_hdp_disconnected_t *)param->param_data;
+ TC_PRT("BLUETOOTH_EVENT_HDP_CONNECTED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
+ TC_PRT("App handler = %s, channel id = %d, type = %s", conn_ind->app_handle, conn_ind->channel_id, (conn_ind->type == HDP_QOS_RELIABLE) ? "Reliable" : "Streaming");
+ TC_PRT("device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n",
+ conn_ind->device_address.addr[0], conn_ind->device_address.addr[1], conn_ind->device_address.addr[2],
+ conn_ind->device_address.addr[3], conn_ind->device_address.addr[4], conn_ind->device_address.addr[5]);
- TC_PRT("BLUETOOTH_EVENT_HDP_DISCONNECTED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
- TC_PRT("Channel = %d, Add = device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n", dis_ind->channel_id,
- dis_ind->device_address.addr[0], dis_ind->device_address.addr[1], dis_ind->device_address.addr[2],
- dis_ind->device_address.addr[3], dis_ind->device_address.addr[4], dis_ind->device_address.addr[5]);
- break;
- }
+ g_ret_client_fd1 = conn_ind->channel_id;
+ break;
+ }
- case BLUETOOTH_EVENT_HDP_DATA_RECEIVED:
- {
- bt_hdp_data_ind_t *data_ind = (bt_hdp_data_ind_t *)param->param_data;
+ case BLUETOOTH_EVENT_HDP_DISCONNECTED:
+ {
+ bt_hdp_disconnected_t *dis_ind = (bt_hdp_disconnected_t *)param->param_data;
- TC_PRT("BLUETOOTH_EVENT_HDP_DATA_RECEIVED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
- TC_PRT("Data received from channel id = %d and size =%d, buff =[%s]\n", data_ind->channel_id, data_ind->size, data_ind->buffer);
+ TC_PRT("BLUETOOTH_EVENT_HDP_DISCONNECTED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
+ TC_PRT("Channel = %d, Add = device add = %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n", dis_ind->channel_id,
+ dis_ind->device_address.addr[0], dis_ind->device_address.addr[1], dis_ind->device_address.addr[2],
+ dis_ind->device_address.addr[3], dis_ind->device_address.addr[4], dis_ind->device_address.addr[5]);
+ break;
+ }
- break;
- }
+ case BLUETOOTH_EVENT_HDP_DATA_RECEIVED:
+ {
+ bt_hdp_data_ind_t *data_ind = (bt_hdp_data_ind_t *)param->param_data;
- case BLUETOOTH_EVENT_OPC_CONNECTED:
- TC_PRT("BLUETOOTH_EVENT_OPC_CONNECTED");
- break;
+ TC_PRT("BLUETOOTH_EVENT_HDP_DATA_RECEIVED, Result = %s\n", (param->result == 0) ? "BLUETOOTH_ERROR_NONE" : "BLUETOOTH_ERROR_XXXX");
+ TC_PRT("Data received from channel id = %d and size =%d, buff =[%s]\n", data_ind->channel_id, data_ind->size, data_ind->buffer);
- case BLUETOOTH_EVENT_OPC_DISCONNECTED:
- TC_PRT("BLUETOOTH_EVENT_OPC_DISCONNECTED");
- break;
- case BLUETOOTH_EVENT_OPC_TRANSFER_STARTED:
- {
- TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_STARTED");
- if (param->param_data) {
- bt_opc_transfer_info_t *info = param->param_data;
- TC_PRT("file %s", info->filename);
- TC_PRT("size %ld", info->size);
- }
- break;
- }
- case BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS:
- {
- TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS");
- break;
- }
- case BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE:
- {
- TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE");
+ break;
+ }
+
+ case BLUETOOTH_EVENT_OPC_CONNECTED:
+ TC_PRT("BLUETOOTH_EVENT_OPC_CONNECTED");
+ break;
+
+ case BLUETOOTH_EVENT_OPC_DISCONNECTED:
+ TC_PRT("BLUETOOTH_EVENT_OPC_DISCONNECTED");
+ break;
+ case BLUETOOTH_EVENT_OPC_TRANSFER_STARTED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_STARTED");
+ if (param->param_data) {
bt_opc_transfer_info_t *info = param->param_data;
TC_PRT("file %s", info->filename);
TC_PRT("size %ld", info->size);
- break;
}
+ break;
+ }
+ case BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS:
+ {
+ TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS");
+ break;
+ }
+ case BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE:
+ {
+ TC_PRT("BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE");
+ bt_opc_transfer_info_t *info = param->param_data;
+ TC_PRT("file %s", info->filename);
+ TC_PRT("size %ld", info->size);
+ break;
+ }
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE:
- TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE");
- break;
-
- case BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE:
- TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE");
- break;
-
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED:
- TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED");
- bt_obex_server_transfer_info_t *info = param->param_data;
- current_transfer_id = info->transfer_id;
- break;
-
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS:
- TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS");
- break;
+ case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE:
+ TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE");
+ break;
+
+ case BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE:
+ TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE");
+ break;
+
+ case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED:
+ TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED");
+ bt_obex_server_transfer_info_t *info = param->param_data;
+ current_transfer_id = info->transfer_id;
+ break;
+
+ case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS:
+ TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS");
+ break;
+
+ case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED:
+ TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED");
+ break;
+ case BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED:
+ { TC_PRT("BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED");
+ break;
+ }
+#if 0
+ case BLUETOOTH_EVENT_GATT_PRIM_SVC_DISCOVERED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_GATT_PRIM_SVC_DISCOVERED");
+ bt_gatt_handle_info_t *prim_svc = param->param_data;
+ int i;
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED:
- TC_PRT("BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED");
- break;
- case BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED:
- { TC_PRT("BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED");
+ if (prim_svc == NULL) {
+ TC_PRT("prim_svc is NULL");
break;
}
-#if 0
- case BLUETOOTH_EVENT_GATT_PRIM_SVC_DISCOVERED:
- {
- TC_PRT("BLUETOOTH_EVENT_GATT_PRIM_SVC_DISCOVERED");
- bt_gatt_handle_info_t *prim_svc = param->param_data;
- int i;
- if (prim_svc == NULL) {
- TC_PRT("prim_svc is NULL");
- break;
- }
+ for (i = 0; i < prim_svc->count; i++)
+ TC_PRT("prim_svc[%d] = %s\n", i, prim_svc->handle[i]);
- for (i = 0; i < prim_svc->count; i++) {
- TC_PRT("prim_svc[%d] = %s\n", i, prim_svc->handle[i]);
- }
+ break;
+ }
+ case BLUETOOTH_EVENT_GATT_SVC_CHAR_DISCOVERED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_GATT_SVC_CHAR_DISCOVERED");
+ bt_gatt_discovered_char_t *svc_char = param->param_data;
+ int i = 0;
+
+ if (svc_char == NULL) {
+ TC_PRT("svc_char is NULL");
break;
}
- case BLUETOOTH_EVENT_GATT_SVC_CHAR_DISCOVERED:
- {
- TC_PRT("BLUETOOTH_EVENT_GATT_SVC_CHAR_DISCOVERED");
- bt_gatt_discovered_char_t *svc_char = param->param_data;
- int i = 0;
+ if (svc_char->service_handle != NULL)
+ TC_PRT("svc_char->service_handle %s \n", svc_char->service_handle);
- if (svc_char == NULL) {
- TC_PRT("svc_char is NULL");
- break;
- }
+ for (i = 0; i < svc_char->handle_info.count; i++)
+ TC_PRT("svc_char.handle_info.handle[%d] = %s\n", i, svc_char->handle_info.handle[i]);
- if (svc_char->service_handle != NULL) {
- TC_PRT("svc_char->service_handle %s \n", svc_char->service_handle);
- }
+ break;
+ }
- for (i = 0; i < svc_char->handle_info.count; i++) {
- TC_PRT("svc_char.handle_info.handle[%d] = %s\n", i, svc_char->handle_info.handle[i]);
- }
+ case BLUETOOTH_EVENT_GATT_SVC_PROP_RECEIVED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_GATT_SVC_PROP_RECEIVED");
+ bt_gatt_service_property_t *svc_pty = param->param_data;
+ int i;
+ if (svc_pty == NULL) {
+ TC_PRT("char_pty is NULL \n");
break;
}
- case BLUETOOTH_EVENT_GATT_SVC_PROP_RECEIVED:
- {
- TC_PRT("BLUETOOTH_EVENT_GATT_SVC_PROP_RECEIVED");
- bt_gatt_service_property_t *svc_pty = param->param_data;
- int i;
-
- if (svc_pty == NULL) {
- TC_PRT("char_pty is NULL \n");
- break;
- }
-
- if (svc_pty->service_handle != NULL) {
- TC_PRT("svc_pty->service_handle %s \n", svc_pty->service_handle);
- }
-
- if (svc_pty->uuid != NULL) {
- TC_PRT("svc_pty->uuid %s \n", svc_pty->uuid);
- }
+ if (svc_pty->service_handle != NULL)
+ TC_PRT("svc_pty->service_handle %s \n", svc_pty->service_handle);
- for (i = 0; i < svc_pty->handle_info.count; i++) {
- TC_PRT("svc_char[%d] = %s\n", i, svc_pty->handle_info.handle[i]);
- }
+ if (svc_pty->uuid != NULL)
+ TC_PRT("svc_pty->uuid %s \n", svc_pty->uuid);
- break;
- }
+ for (i = 0; i < svc_pty->handle_info.count; i++)
+ TC_PRT("svc_char[%d] = %s\n", i, svc_pty->handle_info.handle[i]);
- case BLUETOOTH_EVENT_GATT_CHAR_PROP_RECEIVED:
- {
- TC_PRT("BLUETOOTH_EVENT_GATT_CHAR_PROP_RECEIVED");
- bt_gatt_char_property_t *char_pty = param->param_data;
- int i = 0;
+ break;
+ }
- if (char_pty->char_handle != NULL) {
- TC_PRT("char_pty->char_handle %s \n", char_pty->char_handle);
- }
+ case BLUETOOTH_EVENT_GATT_CHAR_PROP_RECEIVED:
+ {
+ TC_PRT("BLUETOOTH_EVENT_GATT_CHAR_PROP_RECEIVED");
+ bt_gatt_char_property_t *char_pty = param->param_data;
+ int i = 0;
- if (char_pty->uuid != NULL) {
- TC_PRT("char_pty->uuid %s \n", char_pty->uuid);
- }
+ if (char_pty->char_handle != NULL)
+ TC_PRT("char_pty->char_handle %s \n", char_pty->char_handle);
- if (char_pty == NULL) {
- TC_PRT("char_pty is NULL \n");
- break;
- }
+ if (char_pty->uuid != NULL)
+ TC_PRT("char_pty->uuid %s \n", char_pty->uuid);
- if (char_pty->name != NULL) {
- TC_PRT("char_pty->name %s \n", char_pty->name);
- }
+ if (char_pty == NULL) {
+ TC_PRT("char_pty is NULL \n");
+ break;
+ }
- if (char_pty->description != NULL) {
- TC_PRT("char_pty->description %s \n", char_pty->description);
- }
+ if (char_pty->name != NULL)
+ TC_PRT("char_pty->name %s \n", char_pty->name);
- if (char_pty->val != NULL) {
- TC_PRT("char_pty->val_len %d \n", char_pty->val_len);
+ if (char_pty->description != NULL)
+ TC_PRT("char_pty->description %s \n", char_pty->description);
- for (i = 0; i < char_pty->val_len; i++)
- TC_PRT("char_pty->val %02x \n", char_pty->val[i]);
- }
+ if (char_pty->val != NULL) {
+ TC_PRT("char_pty->val_len %d \n", char_pty->val_len);
- break;
+ for (i = 0; i < char_pty->val_len; i++)
+ TC_PRT("char_pty->val %02x \n", char_pty->val[i]);
}
+
+ break;
+ }
#endif
- case BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY:
- {
- bluetooth_authentication_request_info_t *auth_info = param->param_data;
-
- TC_PRT("BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY");
- TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
- auth_info->device_address.addr[0], auth_info->device_address.addr[1],
- auth_info->device_address.addr[2], auth_info->device_address.addr[3],
- auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
- TC_PRT("Device Name : [%s]", auth_info->device_name.name);
- TC_PRT("Passkey: [%s]", auth_info->str_passkey);
- break;
- }
- case BLUETOOTH_EVENT_PIN_REQUEST:
- {
- bluetooth_authentication_request_info_t *auth_info = param->param_data;
-
- TC_PRT("BLUETOOTH_EVENT_PIN_REQUEST");
- TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
- auth_info->device_address.addr[0], auth_info->device_address.addr[1],
- auth_info->device_address.addr[2], auth_info->device_address.addr[3],
- auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
- TC_PRT("Device Name : [%s]", auth_info->device_name.name);
-
- TC_PRT("bluetooth_passkey_reply(\"0000\", TRUE)");
- bluetooth_passkey_reply("0000", TRUE);
- break;
- }
- case BLUETOOTH_EVENT_PASSKEY_REQUEST:
- {
- bluetooth_authentication_request_info_t *auth_info = param->param_data;
-
- TC_PRT("BLUETOOTH_EVENT_PASSKEY_REQUEST");
- TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
- auth_info->device_address.addr[0], auth_info->device_address.addr[1],
- auth_info->device_address.addr[2], auth_info->device_address.addr[3],
- auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
- TC_PRT("Device Name : [%s]", auth_info->device_name.name);
-
- TC_PRT("bluetooth_passkey_reply(\"0000\", TRUE)");
- bluetooth_passkey_reply("0000", TRUE);
- break;
- }
- case BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST:
- {
- bluetooth_authentication_request_info_t *auth_info = param->param_data;
-
- TC_PRT("BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST");
- TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
- auth_info->device_address.addr[0], auth_info->device_address.addr[1],
- auth_info->device_address.addr[2], auth_info->device_address.addr[3],
- auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
- TC_PRT("Device Name : [%s]", auth_info->device_name.name);
- TC_PRT("Passkey: [%s]", auth_info->str_passkey);
-
- TC_PRT("bluetooth_passkey_confirmation_reply: TRUE");
- bluetooth_passkey_confirmation_reply(TRUE);
- break;
- }
- default:
- TC_PRT("received event [0x%04x]", event);
- break;
+ case BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY:
+ {
+ bluetooth_authentication_request_info_t *auth_info = param->param_data;
+
+ TC_PRT("BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY");
+ TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
+ auth_info->device_address.addr[0], auth_info->device_address.addr[1],
+ auth_info->device_address.addr[2], auth_info->device_address.addr[3],
+ auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
+ TC_PRT("Device Name : [%s]", auth_info->device_name.name);
+ TC_PRT("Passkey: [%s]", auth_info->str_passkey);
+ break;
+ }
+ case BLUETOOTH_EVENT_PIN_REQUEST:
+ {
+ bluetooth_authentication_request_info_t *auth_info = param->param_data;
+
+ TC_PRT("BLUETOOTH_EVENT_PIN_REQUEST");
+ TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
+ auth_info->device_address.addr[0], auth_info->device_address.addr[1],
+ auth_info->device_address.addr[2], auth_info->device_address.addr[3],
+ auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
+ TC_PRT("Device Name : [%s]", auth_info->device_name.name);
+
+ TC_PRT("bluetooth_passkey_reply(\"0000\", TRUE)");
+ bluetooth_passkey_reply("0000", TRUE);
+ break;
+ }
+ case BLUETOOTH_EVENT_PASSKEY_REQUEST:
+ {
+ bluetooth_authentication_request_info_t *auth_info = param->param_data;
+
+ TC_PRT("BLUETOOTH_EVENT_PASSKEY_REQUEST");
+ TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
+ auth_info->device_address.addr[0], auth_info->device_address.addr[1],
+ auth_info->device_address.addr[2], auth_info->device_address.addr[3],
+ auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
+ TC_PRT("Device Name : [%s]", auth_info->device_name.name);
+
+ TC_PRT("bluetooth_passkey_reply(\"0000\", TRUE)");
+ bluetooth_passkey_reply("0000", TRUE);
+ break;
+ }
+ case BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST:
+ {
+ bluetooth_authentication_request_info_t *auth_info = param->param_data;
+
+ TC_PRT("BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST");
+ TC_PRT("Device Address: [%2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X]",
+ auth_info->device_address.addr[0], auth_info->device_address.addr[1],
+ auth_info->device_address.addr[2], auth_info->device_address.addr[3],
+ auth_info->device_address.addr[4], auth_info->device_address.addr[5]);
+ TC_PRT("Device Name : [%s]", auth_info->device_name.name);
+ TC_PRT("Passkey: [%s]", auth_info->str_passkey);
+
+ TC_PRT("bluetooth_passkey_confirmation_reply: TRUE");
+ bluetooth_passkey_confirmation_reply(TRUE);
+ break;
+ }
+ default:
+ TC_PRT("received event [0x%04x]", event);
+ break;
}
TC_PRT("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
}
unsigned int len = 0;
int test_id;
- if (g_io_channel_read_chars(chan, buf, sizeof(buf),
+ if (g_io_channel_read_chars(chan, buf, sizeof(buf),
&len, NULL) == G_IO_STATUS_ERROR) {
printf("IO Channel read error");
return FALSE;
unsigned int len = 0;
int test_id;
- if (g_io_channel_read_chars(chan, buf, sizeof(buf),
+ if (g_io_channel_read_chars(chan, buf, sizeof(buf),
&len, NULL) == G_IO_STATUS_ERROR) {
printf("IO Channel read error");
return FALSE;