summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoHyun Pyun <dh79.pyun@samsung.com>2018-09-13 09:23:55 +0900
committerDoHyun Pyun <dh79.pyun@samsung.com>2018-09-13 13:40:13 +0900
commitd54db1eed167780129faa35ab878a03ce6622e7a (patch)
treeb500fc2a9aa40015a4fc51ea03bf3f094d700fd6
parentdfbc84ad1015e5e7503b5fcd5cdb0414685c4bb8 (diff)
downloadbluetooth-accepted/tizen/unified/20180914.073134.tar.gz
bluetooth-accepted/tizen/unified/20180914.073134.tar.bz2
bluetooth-accepted/tizen/unified/20180914.073134.zip
The profile check logic is redundent, because the event callback will not be invoked in those profiles. And replace some functions to the mapping table. Change-Id: I8c347ec66ffac6c4c749bebce54eb6d36a57145b Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
-rw-r--r--src/bluetooth-common.c738
-rw-r--r--src/bluetooth-device.c209
2 files changed, 334 insertions, 613 deletions
diff --git a/src/bluetooth-common.c b/src/bluetooth-common.c
index b149d1d..a9dfb15 100644
--- a/src/bluetooth-common.c
+++ b/src/bluetooth-common.c
@@ -36,6 +36,247 @@ static bool is_le_initialized = false;
static bt_event_sig_event_slot_s bt_event_slot_container[BT_EVENT_MAX] = { {NULL, NULL}, };
+typedef struct {
+ int err;
+ char *str;
+} bt_err2str_table_t;
+
+static bt_err2str_table_t err2str[] = {
+ { BT_ERROR_CANCELLED, "CANCELLED" },
+ { BT_ERROR_INVALID_PARAMETER, "INVALID_PARAMETER" },
+ { BT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY" },
+ { BT_ERROR_RESOURCE_BUSY, "RESOURCE_BUSY" },
+ { BT_ERROR_TIMED_OUT, "TIMED_OUT" },
+ { BT_ERROR_NOW_IN_PROGRESS, "NOW_IN_PROGRESS" },
+ { BT_ERROR_NOT_INITIALIZED, "NOT_INITIALIZED" },
+ { BT_ERROR_NOT_ENABLED, "DEVICE_NOT_ENABLED" },
+ { BT_ERROR_ALREADY_DONE, "ALREADY_DONE" },
+ { BT_ERROR_OPERATION_FAILED, "OPERATION_FAILED" },
+ { BT_ERROR_NOT_IN_PROGRESS, "NOT_IN_PROGRESS" },
+ { BT_ERROR_REMOTE_DEVICE_NOT_BONDED, "REMOTE_DEVICE_NOT_BONDED" },
+ { BT_ERROR_AUTH_REJECTED, "AUTH_REJECTED" },
+ { BT_ERROR_AUTH_FAILED, "AUTH_FAILED" },
+ { BT_ERROR_REMOTE_DEVICE_NOT_FOUND, "REMOTE_DEVICE_NOT_FOUND" },
+ { BT_ERROR_SERVICE_SEARCH_FAILED, "SERVICE_SEARCH_FAILED" },
+ { BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED, "REMOTE_DEVICE_NOT_CONNECTED" },
+ { BT_ERROR_PERMISSION_DENIED, "PERMISSION_DENIED" },
+ { BT_ERROR_SERVICE_NOT_FOUND, "SERVICE_NOT_FOUND" },
+ { BT_ERROR_NOT_SUPPORTED, "NOT_SUPPORTD" },
+ { BT_ERROR_NO_DATA, "NO_DATA" },
+ { BT_ERROR_QUOTA_EXCEEDED, "QUOTA EXCEEDED" },
+ { BT_ERROR_AGAIN, "AGAIN" },
+ { BT_ERROR_DEVICE_POLICY_RESTRICTION, "DEVICE_POLICY_RESTRICTION" },
+ { 0, "UNKNOWN" }
+};
+
+typedef struct {
+ int origin_err;
+ int public_err;
+} bt_err2pub_table_t;
+
+static bt_err2pub_table_t err2pub[] = {
+ { BLUETOOTH_ERROR_NONE, BT_ERROR_NONE },
+ { BLUETOOTH_ERROR_INVALID_DATA, BT_ERROR_INVALID_PARAMETER },
+ { BLUETOOTH_ERROR_INVALID_PARAM, BT_ERROR_INVALID_PARAMETER },
+ { BLUETOOTH_ERROR_NOT_CONNECTED, BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED },
+ { BLUETOOTH_ERROR_NOT_SUPPORT, BT_ERROR_NOT_SUPPORTED },
+ { BLUETOOTH_ERROR_MEMORY_ALLOCATION, BT_ERROR_OUT_OF_MEMORY },
+ { BLUETOOTH_ERROR_OUT_OF_MEMORY, BT_ERROR_OUT_OF_MEMORY },
+ { BLUETOOTH_ERROR_TIMEOUT, BT_ERROR_TIMED_OUT },
+ { BLUETOOTH_ERROR_DEVICE_NOT_ENABLED, BT_ERROR_NOT_ENABLED },
+ { BLUETOOTH_ERROR_DEVICE_ALREADY_ENABLED, BT_ERROR_ALREADY_DONE },
+ { BLUETOOTH_ERROR_ALREADY_INITIALIZED, BT_ERROR_ALREADY_DONE },
+ { BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST, BT_ERROR_ALREADY_DONE },
+ { BLUETOOTH_ERROR_ALREADY_DEACTIVATED, BT_ERROR_ALREADY_DONE },
+ { BLUETOOTH_ERROR_ALREADY_CONNECT, BT_ERROR_ALREADY_DONE },
+ { BLUETOOTH_ERROR_NOT_PAIRED, BT_ERROR_REMOTE_DEVICE_NOT_BONDED },
+ { BLUETOOTH_ERROR_NOT_IN_OPERATION, BT_ERROR_NOT_IN_PROGRESS },
+ { BLUETOOTH_ERROR_IN_PROGRESS, BT_ERROR_NOT_IN_PROGRESS },
+ { BLUETOOTH_ERROR_DEVICE_BUSY, BT_ERROR_RESOURCE_BUSY },
+ { BLUETOOTH_ERROR_CANCEL, BT_ERROR_CANCELLED },
+ { BLUETOOTH_ERROR_CANCEL_BY_USER, BT_ERROR_CANCELLED },
+ { BLUETOOTH_ERROR_AUTHENTICATION_FAILED, BT_ERROR_AUTH_FAILED },
+ { BLUETOOTH_ERROR_HOST_DOWN, BT_ERROR_REMOTE_DEVICE_NOT_FOUND },
+ { BLUETOOTH_ERROR_SERVICE_SEARCH_ERROR, BT_ERROR_SERVICE_SEARCH_FAILED },
+ { BLUETOOTH_ERROR_PERMISSION_DEINED, BT_ERROR_PERMISSION_DENIED },
+ { BLUETOOTH_ERROR_SERVICE_NOT_FOUND, BT_ERROR_SERVICE_NOT_FOUND },
+ { BLUETOOTH_ERROR_NOT_INITIALIZED, BT_ERROR_NOT_INITIALIZED },
+ { BLUETOOTH_ERROR_NO_RESOURCES, BT_ERROR_QUOTA_EXCEEDED },
+ { BLUETOOTH_ERROR_AUTHENTICATION_REJECTED, BT_ERROR_AUTH_REJECTED },
+ { BLUETOOTH_ERROR_AUTHORIZATION_REJECTED, BT_ERROR_AUTHORIZATION_REJECTED },
+ { BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION, BT_ERROR_DEVICE_POLICY_RESTRICTION },
+ { BLUETOOTH_ERROR_NO_DATA, BT_ERROR_NO_DATA },
+ { BLUETOOTH_ERROR_PARING_FAILED, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_MAX_CONNECTION, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_REGISTRATION_FAILED, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_CONNECTION_BUSY, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_MAX_CLIENT, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_INVALID_CALLBACK, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_NOT_FOUND, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_INTERNAL, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_CONNECTION_ERROR, BT_ERROR_OPERATION_FAILED },
+ { BLUETOOTH_ERROR_ACCESS_DENIED, BT_ERROR_OPERATION_FAILED },
+ { 0xFF, BT_ERROR_OPERATION_FAILED }
+};
+
+typedef struct {
+ int event;
+ int index;
+} bt_event2index_table_t;
+
+static bt_event2index_table_t event2index[] = {
+ { BLUETOOTH_EVENT_ENABLED, BT_EVENT_STATE_CHANGED },
+ { BLUETOOTH_EVENT_DISABLED, BT_EVENT_STATE_CHANGED },
+ { BLUETOOTH_EVENT_LE_ENABLED, BT_EVENT_LE_STATE_CHANGED },
+ { BLUETOOTH_EVENT_LE_DISABLED, BT_EVENT_LE_STATE_CHANGED },
+ { BLUETOOTH_EVENT_LOCAL_NAME_CHANGED, BT_EVENT_NAME_CHANGED },
+ { BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED, BT_EVENT_VISIBILITY_MODE_CHANGED },
+ { BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED, BT_EVENT_VISIBILITY_DURATION_CHANGED },
+ { BLUETOOTH_EVENT_DISCOVERY_STARTED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
+ { BLUETOOTH_EVENT_DISCOVERY_FINISHED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
+ { BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED, BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED },
+ { BLUETOOTH_EVENT_BONDING_FINISHED, BT_EVENT_BOND_CREATED },
+ { BLUETOOTH_EVENT_BONDED_DEVICE_REMOVED, BT_EVENT_BOND_DESTROYED },
+ { BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY, BT_EVENT_AUTHENTICATION_REQUEST },
+ { BLUETOOTH_EVENT_PASSKEY_REQUEST, BT_EVENT_AUTHENTICATION_REQUEST},
+ { BLUETOOTH_EVENT_PIN_REQUEST, BT_EVENT_AUTHENTICATION_REQUEST },
+ { BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST, BT_EVENT_AUTHENTICATION_REQUEST },
+ { BLUETOOTH_EVENT_DEVICE_AUTHORIZED, BT_EVENT_AUTHORIZATION_CHANGED },
+ { BLUETOOTH_EVENT_DEVICE_UNAUTHORIZED, BT_EVENT_AUTHORIZATION_CHANGED },
+ { BLUETOOTH_EVENT_DEVICE_CONNECTED, BT_EVENT_DEVICE_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_DEVICE_DISCONNECTED, BT_EVENT_DEVICE_CONNECTION_STATUS },
+#ifdef TIZEN_GATT_CLIENT
+ { BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_GATT_SERVER_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS },
+#else
+ { BLUETOOTH_EVENT_GATT_CONNECTED, BT_EVENT_GATT_CONNECTION_STATUS; },
+ { BLUETOOTH_EVENT_GATT_DISCONNECTED, BT_EVENT_GATT_CONNECTION_STATUS; },
+#endif
+ { BLUETOOTH_EVENT_SERVICE_SEARCHED, BT_EVENT_SERVICE_SEARCHED },
+ { BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED, BT_EVENT_DATA_RECEIVED },
+ { BLUETOOTH_EVENT_RFCOMM_CONNECTED, BT_EVENT_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_RFCOMM_DISCONNECTED, BT_EVENT_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_RFCOMM_AUTHORIZE, BT_EVENT_RFCOMM_CONNECTION_REQUESTED },
+ { BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE, BT_EVENT_OPP_CONNECTION_REQUESTED },
+ { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE, BT_EVENT_OPP_PUSH_REQUESTED },
+ { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED, BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS },
+ { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS, BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS },
+ { BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED, BT_EVENT_OPP_SERVER_TRANSFER_FINISHED },
+ { BLUETOOTH_EVENT_OPC_CONNECTED, BT_EVENT_OPP_CLIENT_PUSH_RESPONSED },
+ { BLUETOOTH_EVENT_OPC_TRANSFER_STARTED, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
+ { BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
+ { BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE, BT_EVENT_OPP_CLIENT_PUSH_PROGRESS },
+ { BLUETOOTH_EVENT_OPC_DISCONNECTED, BT_EVENT_OPP_CLIENT_PUSH_FINISHED },
+ { BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_FOLDERS },
+ { BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS },
+ { BLUETOOTH_EVENT_MAP_LIST_MESSAGES_COMPLETE, BT_EVENT_MAP_CLIENT_LIST_MESSAGES },
+ { BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE, BT_EVENT_MAP_CLIENT_GET_MESSAGE },
+ { BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE, BT_EVENT_MAP_CLIENT_PUSH_MESSAGE },
+ { BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED, BT_EVENT_NAP_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED, BT_EVENT_NAP_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_NETWORK_CONNECTED, BT_EVENT_PAN_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_NETWORK_DISCONNECTED, BT_EVENT_PAN_CONNECTION_STATE_CHANGED },
+ { BLUETOOTH_EVENT_HDP_DATA_RECEIVED, BT_EVENT_HDP_DATA_RECEIVED },
+ { BLUETOOTH_EVENT_HDP_CONNECTED, BT_EVENT_HDP_CONNECTED },
+ { BLUETOOTH_EVENT_HDP_DISCONNECTED, BT_EVENT_HDP_DISCONNECTED },
+ { BLUETOOTH_EVENT_AG_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AG_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AG_SPEAKER_GAIN, BT_EVENT_AG_SPEAKER_GAIN_CHANGE },
+ { BLUETOOTH_EVENT_AG_MIC_GAIN, BT_EVENT_AG_MICROPHONE_GAIN_CHANGE },
+ { BLUETOOTH_EVENT_AG_AUDIO_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED, BT_EVENT_AG_SCO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL, BT_EVENT_AG_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_CHLD_0_RELEASE_ALL_HELD_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_CHLD_1_RELEASE_ALL_ACTIVE_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_CHLD_2_ACTIVE_HELD_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_CHLD_3_MERGE_CALL, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_CHLD_4_EXPLICIT_CALL_TRANSFER, BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_SEND_DTMF, BT_EVENT_AG_DTMF_TRANSMITTED },
+ { BLUETOOTH_EVENT_AV_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AV_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AV_SOURCE_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AVRCP_CONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AVRCP_DISCONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_DISCONNECTED, BT_EVENT_AVRCP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_AVRCP_SETTING_SHUFFLE_STATUS, BT_EVENT_AVRCP_SHUFFLE_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_SHUFFLE_STATUS, BT_EVENT_AVRCP_SHUFFLE_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_SETTING_EQUALIZER_STATUS, BT_EVENT_AVRCP_EQUALIZER_STATE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_EQUALIZER_STATUS, BT_EVENT_AVRCP_EQUALIZER_STATE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS, BT_EVENT_AVRCP_REPEAT_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_REPEAT_STATUS, BT_EVENT_AVRCP_REPEAT_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS, BT_EVENT_AVRCP_SCAN_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_CONTROL_SCAN_STATUS, BT_EVENT_AVRCP_SCAN_MODE_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS, BT_EVENT_AVRCP_SONG_POSITION_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_PLAY_STATUS_CHANGED, BT_EVENT_AVRCP_PLAY_STATUS_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED, BT_EVENT_AVRCP_TRACK_INFO_CHANGED },
+ { BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED, BT_EVENT_AVRCP_DELAY_CHANGED },
+ { BLUETOOTH_HID_CONNECTED, BT_EVENT_HID_CONNECTION_STATUS },
+ { BLUETOOTH_HID_DISCONNECTED, BT_EVENT_HID_CONNECTION_STATUS },
+ { BLUETOOTH_HID_DEVICE_CONNECTED, BT_EVENT_HID_DEVICE_CONNECTION_STATUS },
+ { BLUETOOTH_HID_DEVICE_DISCONNECTED, BT_EVENT_HID_DEVICE_CONNECTION_STATUS },
+ { BLUETOOTH_HID_DEVICE_DATA_RECEIVED, BT_EVENT_HID_DEVICE_DATA_RECEIVED },
+ { BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED, BT_EVENT_GATT_CLIENT_VALUE_CHANGED },
+ { BLUETOOTH_EVENT_GATT_READ_CHAR, BT_EVENT_GATT_CLIENT_READ_CHARACTERISTIC },
+ { BLUETOOTH_EVENT_GATT_WRITE_CHAR, BT_EVENT_GATT_CLIENT_WRITE_CHARACTERISTIC },
+ { BLUETOOTH_EVENT_GATT_READ_DESC, BT_EVENT_GATT_CLIENT_READ_DESCRIPTOR },
+ { BLUETOOTH_EVENT_GATT_WRITE_DESC, BT_EVENT_GATT_CLIENT_WRITE_DESCRIPTOR },
+ { BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED, BT_EVENT_GATT_ATT_MTU_CHANGE_STATUS },
+ { BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED, BT_EVENT_MANUFACTURER_DATA_CHANGED },
+ { BLUETOOTH_EVENT_PASSKEY_NOTIFICATION, BT_EVENT_PASSKEY_NOTIFICATION_EVENT },
+ { BLUETOOTH_EVENT_CONNECTABLE_CHANGED, BT_EVENT_CONNECTABLE_CHANGED_EVENT },
+ { BLUETOOTH_EVENT_TELEPHONY_VENDOR_AT_CMD, BT_EVENT_AG_VENDOR_CMD },
+ { BLUETOOTH_EVENT_RSSI_ENABLED, BT_EVENT_RSSI_ENABLED_EVENT },
+ { BLUETOOTH_EVENT_RSSI_ALERT, BT_EVENT_RSSI_ALERT_EVENT },
+ { BLUETOOTH_EVENT_RAW_RSSI, BT_EVENT_GET_RSSI_EVENT },
+ { BLUETOOTH_EVENT_IPSP_CONNECTED, BT_EVENT_IPSP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_IPSP_DISCONNECTED, BT_EVENT_IPSP_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_SUPPORTED_PROFILE_TRUSTED, BT_EVENT_SUPPORTED_TRUSTED_PROFILE_EVENT },
+ { BLUETOOTH_EVENT_LE_DATA_LENGTH_CHANGED, BT_EVENT_LE_DATA_LENGTH_CHANGED },
+ { BLUETOOTH_PBAP_CONNECTED, BT_EVENT_PBAP_CONNECTION_STATUS },
+ { BLUETOOTH_PBAP_DISCONNECTED, BT_EVENT_PBAP_CONNECTION_STATUS },
+ { BLUETOOTH_PBAP_PHONEBOOK_SIZE, BT_EVENT_PBAP_PHONEBOOK_SIZE },
+ { BLUETOOTH_PBAP_PHONEBOOK_PULL, BT_EVENT_PBAP_PHONEBOOK_PULL },
+ { BLUETOOTH_PBAP_VCARD_LIST, BT_EVENT_PBAP_VCARD_LIST },
+ { BLUETOOTH_PBAP_VCARD_PULL, BT_EVENT_PBAP_VCARD_PULL },
+ { BLUETOOTH_PBAP_PHONEBOOK_SEARCH, BT_EVENT_PBAP_PHONEBOOK_SEARCH },
+ { BLUETOOTH_EVENT_HF_CONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_HF_DISCONNECTED, BT_EVENT_AUDIO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_HF_AUDIO_CONNECTED, BT_EVENT_HF_SCO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED, BT_EVENT_HF_SCO_CONNECTION_STATUS },
+ { BLUETOOTH_EVENT_HF_RING_INDICATOR, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_TERMINATED, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_STARTED, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_ENDED, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_WAITING, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_ON_HOLD, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_UNHOLD, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_SWAPPED, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALL_IDLE, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALLSETUP_DIALING, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING, BT_EVENT_HF_REMOTE_CALL_EVENT },
+ { BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD, BT_EVENT_HF_VENDOR_DEP_CMD_EVENT },
+ { BLUETOOTH_EVENT_HF_VOLUME_SPEAKER, BT_EVENT_HF_SPEAKER_GAIN_CHANGE },
+ { BLUETOOTH_EVENT_HF_CALL_STATUS, BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT },
+ { BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
+ { BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
+ { BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED, BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED },
+ { BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED, BT_EVENT_IPSP_INIT_STATE_CHANGED },
+ { BLUETOOTH_EVENT_PXP_PROPERTY_CHANGED, BT_EVENT_PROXIMITY_REPORTER_PROPERTY_CHANGED },
+ { BLUETOOTH_EVENT_TDS_ACTIVATION_REQUESTED, BT_EVENT_TDS_ACTIVATION_REQUESTED },
+ { BLUETOOTH_EVENT_OTP_SERVER_STATE_CHANGED, BT_EVENT_OTP_SERVER_STATE_CHANGED },
+ { 0, -1 }
+};
+
/*
* Internal Functions
*/
@@ -173,76 +414,14 @@ int _bt_le_adapter_deinit(void)
int _bt_get_error_code(int origin_error)
{
- switch (origin_error) {
- case BLUETOOTH_ERROR_NONE:
- return BT_ERROR_NONE;
- case BLUETOOTH_ERROR_INVALID_DATA:
- case BLUETOOTH_ERROR_INVALID_PARAM:
- return BT_ERROR_INVALID_PARAMETER;
- case BLUETOOTH_ERROR_NOT_CONNECTED:
- return BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED;
- case BLUETOOTH_ERROR_NOT_SUPPORT:
- return BT_ERROR_NOT_SUPPORTED;
- case BLUETOOTH_ERROR_MEMORY_ALLOCATION:
- case BLUETOOTH_ERROR_OUT_OF_MEMORY:
- return BT_ERROR_OUT_OF_MEMORY;
- case BLUETOOTH_ERROR_TIMEOUT:
- return BT_ERROR_TIMED_OUT;
- case BLUETOOTH_ERROR_DEVICE_NOT_ENABLED:
- return BT_ERROR_NOT_ENABLED;
- case BLUETOOTH_ERROR_DEVICE_ALREADY_ENABLED:
- case BLUETOOTH_ERROR_ALREADY_INITIALIZED:
- case BLUETOOTH_ERROR_AGENT_DOES_NOT_EXIST:
- case BLUETOOTH_ERROR_ALREADY_DEACTIVATED:
- case BLUETOOTH_ERROR_ALREADY_CONNECT:
- return BT_ERROR_ALREADY_DONE;
- case BLUETOOTH_ERROR_NOT_PAIRED:
- return BT_ERROR_REMOTE_DEVICE_NOT_BONDED;
- case BLUETOOTH_ERROR_NOT_IN_OPERATION:
- return BT_ERROR_NOT_IN_PROGRESS;
- case BLUETOOTH_ERROR_IN_PROGRESS:
- return BT_ERROR_NOW_IN_PROGRESS;
- case BLUETOOTH_ERROR_DEVICE_BUSY:
- return BT_ERROR_RESOURCE_BUSY;
- case BLUETOOTH_ERROR_CANCEL:
- case BLUETOOTH_ERROR_CANCEL_BY_USER:
- return BT_ERROR_CANCELLED;
- case BLUETOOTH_ERROR_AUTHENTICATION_FAILED:
- return BT_ERROR_AUTH_FAILED;
- case BLUETOOTH_ERROR_HOST_DOWN:
- return BT_ERROR_REMOTE_DEVICE_NOT_FOUND;
- case BLUETOOTH_ERROR_SERVICE_SEARCH_ERROR:
- return BT_ERROR_SERVICE_SEARCH_FAILED;
- case BLUETOOTH_ERROR_PERMISSION_DEINED:
- return BT_ERROR_PERMISSION_DENIED;
- case BLUETOOTH_ERROR_SERVICE_NOT_FOUND:
- return BT_ERROR_SERVICE_NOT_FOUND;
- case BLUETOOTH_ERROR_NOT_INITIALIZED:
- return BT_ERROR_NOT_INITIALIZED;
- case BLUETOOTH_ERROR_NO_RESOURCES:
- return BT_ERROR_QUOTA_EXCEEDED;
- case BLUETOOTH_ERROR_AUTHENTICATION_REJECTED:
- return BT_ERROR_AUTH_REJECTED;
- case BLUETOOTH_ERROR_AUTHORIZATION_REJECTED:
- return BT_ERROR_AUTHORIZATION_REJECTED;
- case BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION:
- return BT_ERROR_DEVICE_POLICY_RESTRICTION;
- case BLUETOOTH_ERROR_NO_DATA:
- return BT_ERROR_NO_DATA;
- case BLUETOOTH_ERROR_PARING_FAILED:
- case BLUETOOTH_ERROR_MAX_CONNECTION:
- case BLUETOOTH_ERROR_REGISTRATION_FAILED:
- case BLUETOOTH_ERROR_CONNECTION_BUSY:
- case BLUETOOTH_ERROR_MAX_CLIENT:
- case BLUETOOTH_ERROR_INVALID_CALLBACK:
- case BLUETOOTH_ERROR_NOT_FOUND:
- case BLUETOOTH_ERROR_INTERNAL:
- case BLUETOOTH_ERROR_CONNECTION_ERROR:
- case BLUETOOTH_ERROR_ACCESS_DENIED:
- default:
- return BT_ERROR_OPERATION_FAILED;
+ int i;
+
+ for (i = 0; err2pub[i].origin_err != 0xFF; i++) {
+ if (err2pub[i].origin_err == origin_error)
+ return err2pub[i].public_err;
}
+ return BT_ERROR_OPERATION_FAILED; /* LCOV_EXCL_LINE */
}
/* LCOV_EXCL_START */
@@ -414,58 +593,14 @@ void _bt_convert_address_to_hex(bluetooth_device_address_t *addr_hex, const char
char *_bt_convert_error_to_string(int error)
{
- switch (error) {
- case BT_ERROR_CANCELLED:
- return "CANCELLED";
- case BT_ERROR_INVALID_PARAMETER:
- return "INVALID_PARAMETER"; /* LCOV_EXCL_LINE */
- case BT_ERROR_OUT_OF_MEMORY:
- return "OUT_OF_MEMORY"; /* LCOV_EXCL_LINE */
- case BT_ERROR_RESOURCE_BUSY:
- return "RESOURCE_BUSY"; /* LCOV_EXCL_LINE */
- case BT_ERROR_TIMED_OUT:
- return "TIMED_OUT"; /* LCOV_EXCL_LINE */
- case BT_ERROR_NOW_IN_PROGRESS:
- return "NOW_IN_PROGRESS"; /* LCOV_EXCL_LINE */
- case BT_ERROR_NOT_INITIALIZED:
- return "NOT_INITIALIZED";
- case BT_ERROR_NOT_ENABLED:
- return "DEVICE_NOT_ENABLED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_ALREADY_DONE:
- return "ALREADY_DONE"; /* LCOV_EXCL_LINE */
- case BT_ERROR_OPERATION_FAILED:
- return "OPERATION_FAILED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_NOT_IN_PROGRESS:
- return "NOT_IN_PROGRESS";
- case BT_ERROR_REMOTE_DEVICE_NOT_BONDED:
- return "REMOTE_DEVICE_NOT_BONDED";
- case BT_ERROR_AUTH_REJECTED:
- return "AUTH_REJECTED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_AUTH_FAILED:
- return "AUTH_FAILED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_REMOTE_DEVICE_NOT_FOUND:
- return "REMOTE_DEVICE_NOT_FOUND"; /* LCOV_EXCL_LINE */
- case BT_ERROR_SERVICE_SEARCH_FAILED:
- return "SERVICE_SEARCH_FAILED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED:
- return "REMOTE_DEVICE_NOT_CONNECTED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_PERMISSION_DENIED:
- return "PERMISSION_DENIED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_SERVICE_NOT_FOUND:
- return "SERVICE_NOT_FOUND"; /* LCOV_EXCL_LINE */
- case BT_ERROR_NOT_SUPPORTED:
- return "NOT_SUPPORTD"; /* LCOV_EXCL_LINE */
- case BT_ERROR_NO_DATA:
- return "NO_DATA"; /* LCOV_EXCL_LINE */
- case BT_ERROR_QUOTA_EXCEEDED:
- return "QUOTA EXCEEDED"; /* LCOV_EXCL_LINE */
- case BT_ERROR_AGAIN:
- return "AGAIN"; /* LCOV_EXCL_LINE */
- case BT_ERROR_DEVICE_POLICY_RESTRICTION:
- return "DEVICE_POLICY_RESTRICTION"; /* LCOV_EXCL_LINE */
- default:
- return "UNKNOWN"; /* LCOV_EXCL_LINE */
+ int i;
+
+ for (i = 0; err2str[i].err != 0; i++) {
+ if (err2str[i].err == error)
+ return err2str[i].str;
}
+
+ return "UNKNOWN"; /* LCOV_EXCL_LINE */
}
char *_bt_convert_uuid_to_uuid128(const char *uuid)
@@ -2731,8 +2866,7 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
if (device_addr != NULL)
free(device_addr);
break;
- case BLUETOOTH_PBAP_CONNECTED:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_CONNECTED: {
bt_pbap_connection_state_changed_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
bt_pbap_connected_t *connected = (bt_pbap_connected_t *)param->param_data;
@@ -2746,11 +2880,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(device_addr);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_DISCONNECTED:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_DISCONNECTED: {
bt_pbap_connection_state_changed_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
bt_pbap_connected_t *connected = (bt_pbap_connected_t *)param->param_data;
@@ -2764,11 +2895,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(device_addr);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_PHONEBOOK_SIZE:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_PHONEBOOK_SIZE: {
bt_pbap_phone_book_size_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
bt_pbap_phonebook_size_t *pb_size = (bt_pbap_phonebook_size_t *)param->param_data;
@@ -2783,11 +2911,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(device_addr);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_PHONEBOOK_PULL:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_PHONEBOOK_PULL: {
bt_pbap_phone_book_received_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
bt_pbap_phonebook_pull_t *pb_pull = (bt_pbap_phonebook_pull_t *)(param->param_data);
@@ -2803,11 +2928,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(device_addr);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_VCARD_LIST:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_VCARD_LIST: {
int i;
bt_pbap_list_vcards_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
@@ -2837,11 +2959,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(vcard_info);
}
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_VCARD_PULL:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_VCARD_PULL: {
bt_pbap_phone_book_received_cb cb = bt_event_slot_container[event_index].callback;
void *user_data_pbap = bt_event_slot_container[event_index].user_data;
bt_pbap_vcard_pull_t *vc_pull = (bt_pbap_vcard_pull_t *)(param->param_data);
@@ -2857,11 +2976,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
free(device_addr);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_PBAP_PHONEBOOK_SEARCH:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_PBAP_PHONEBOOK_SEARCH: {
bt_pbap_list_vcards_cb cb = bt_event_slot_container[event_index].callback;
void *local_user_data = bt_event_slot_container[event_index].user_data;
bt_pbap_phonebook_search_list_t *vc_list = (bt_pbap_phonebook_search_list_t *)(param->param_data);
@@ -2884,11 +3000,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
g_free(vcard_info);
break;
- } else {
- break; /* goto default; */
}
case BLUETOOTH_EVENT_HF_CONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CONNECTED");
device_addr = (char *)(param->param_data);
((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
@@ -2896,7 +3009,6 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_DISCONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_DISCONNECTED");
device_addr = (char *)(param->param_data);
((bt_audio_connection_state_changed_cb)bt_event_slot_container[event_index].callback)
@@ -2904,7 +3016,6 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_AUDIO_CONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_AUDIO_CONNECTED");
device_addr = (char *)(param->param_data);
((bt_hf_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
@@ -2912,7 +3023,6 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED");
device_addr = (char *)(param->param_data);
((bt_hf_sco_state_changed_cb)bt_event_slot_container[event_index].callback)
@@ -2920,7 +3030,6 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_RING_INDICATOR:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_RING_INDICATOR");
phone_number = (char *)(param->param_data);
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
@@ -2928,77 +3037,66 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_TERMINATED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_TERMINATED");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_CALL_TERMINATED, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_FAILED_TO_DIALING, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_IDLE:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_IDLE");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_IDLE, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_INCOMING, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALLSETUP_DIALING:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_DIALING");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_DIALING, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_ALERTING, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_STARTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_STARTED");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_CALL_STARTED, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_ENDED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_ENDED");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_CALL_ENDED, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED");
((bt_hf_remote_device_state_changed_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_DEVICE_STATE_VOICE_RECOGNITON, TRUE,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED");
((bt_hf_remote_device_state_changed_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_DEVICE_STATE_VOICE_RECOGNITON, FALSE,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_WAITING:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_WAITING");
phone_number = (char *)(param->param_data);
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
@@ -3006,28 +3104,24 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_ON_HOLD:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_ON_HOLD");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_HELD, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_UNHOLD:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_UNHOLD");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_UNHELD, NULL,
bt_event_slot_container[event_index].user_data);
break;
case BLUETOOTH_EVENT_HF_CALL_SWAPPED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
BT_INFO("BLUETOOTH_EVENT_HF_CALL_SWAPPED");
((bt_hf_remote_call_event_cb)bt_event_slot_container[event_index].callback)
(BT_HF_REMOTE_CALL_EVENT_SWAPPED, NULL,
bt_event_slot_container[event_index].user_data);
break;
- case BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD:
- if (!TIZEN_PROFILE_WEARABLE_IVI) break;
+ case BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD: {
BT_INFO("BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD");
bluetooth_vendor_dep_at_cmd_t *cmd = (bluetooth_vendor_dep_at_cmd_t *)(param->param_data);
bt_hf_vendor_dep_at_cmd_s command = {0, };
@@ -3036,18 +3130,15 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
((bt_hf_vendor_dep_cmd_event_cb)bt_event_slot_container[event_index].callback)
(command, bt_event_slot_container[event_index].user_data);
break;
- case BLUETOOTH_EVENT_HF_VOLUME_SPEAKER:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ }
+ case BLUETOOTH_EVENT_HF_VOLUME_SPEAKER: {
BT_INFO("BLUETOOTH_EVENT_HF_VOLUME_SPEAKER");
int *spk_gain = (int *)(param->param_data);
((bt_hf_speaker_gain_changed_cb)bt_event_slot_container[event_index].callback)
(*spk_gain, bt_event_slot_container[event_index].user_data);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_EVENT_HF_CALL_STATUS:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_EVENT_HF_CALL_STATUS: {
BT_INFO("BLUETOOTH_EVENT_HF_CALL_STATUS");
bt_hf_call_list_s *handle = (bt_hf_call_list_s *)(param->param_data);
GList *l = NULL;
@@ -3069,11 +3160,8 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
((bt_hf_call_status_updated_event_cb)bt_event_slot_container[event_index].callback)
(call_list, bt_event_slot_container[event_index].user_data);
break;
- } else {
- break; /* goto default; */
}
- case BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED:
- if (TIZEN_PROFILE_WEARABLE_IVI) {
+ case BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED: {
bluetooth_hf_ciev_device_event_t *device_event = (bluetooth_hf_ciev_device_event_t *)(param->param_data);
BT_INFO("BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED (status %d)(value %d)",
@@ -3083,8 +3171,6 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
((bt_hf_remote_device_state_e) device_event->event, device_event->value,
bt_event_slot_container[event_index].user_data);
break;
- } else {
- break; /* goto default; */
}
case BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED: {
BT_DBG("BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED"); /* LCOV_EXCL_LINE */
@@ -3469,292 +3555,16 @@ static void __bt_free_tds_scan_result_info_s(bt_tds_transport_block_list_s *disc
/* LCOV_EXCL_STOP */
static int __bt_get_cb_index(int event)
{
- switch (event) {
- case BLUETOOTH_EVENT_ENABLED:
- case BLUETOOTH_EVENT_DISABLED:
- return BT_EVENT_STATE_CHANGED;
- case BLUETOOTH_EVENT_LE_ENABLED:
- case BLUETOOTH_EVENT_LE_DISABLED:
- return BT_EVENT_LE_STATE_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_LOCAL_NAME_CHANGED:
- return BT_EVENT_NAME_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_DISCOVERABLE_MODE_CHANGED:
- return BT_EVENT_VISIBILITY_MODE_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_DISCOVERABLE_TIMEOUT_CHANGED:
- return BT_EVENT_VISIBILITY_DURATION_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_DISCOVERY_STARTED:
- case BLUETOOTH_EVENT_DISCOVERY_FINISHED:
- case BLUETOOTH_EVENT_REMOTE_DEVICE_NAME_UPDATED:
- return BT_EVENT_DEVICE_DISCOVERY_STATE_CHANGED;
- case BLUETOOTH_EVENT_BONDING_FINISHED:
- return BT_EVENT_BOND_CREATED; /* LCOV_EXCL_LINE */
- /* LCOV_EXCL_START */
- case BLUETOOTH_EVENT_BONDED_DEVICE_REMOVED:
- return BT_EVENT_BOND_DESTROYED;
- case BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY:
- case BLUETOOTH_EVENT_PASSKEY_REQUEST:
- case BLUETOOTH_EVENT_PIN_REQUEST:
- case BLUETOOTH_EVENT_PASSKEY_CONFIRM_REQUEST:
- return BT_EVENT_AUTHENTICATION_REQUEST;
- case BLUETOOTH_EVENT_DEVICE_AUTHORIZED:
- case BLUETOOTH_EVENT_DEVICE_UNAUTHORIZED:
- return BT_EVENT_AUTHORIZATION_CHANGED;
- case BLUETOOTH_EVENT_DEVICE_CONNECTED:
- case BLUETOOTH_EVENT_DEVICE_DISCONNECTED:
- return BT_EVENT_DEVICE_CONNECTION_STATUS;
-#ifdef TIZEN_GATT_CLIENT
- case BLUETOOTH_EVENT_GATT_CLIENT_CONNECTED:
- case BLUETOOTH_EVENT_GATT_CLIENT_DISCONNECTED:
- case BLUETOOTH_EVENT_GATT_SERVER_CONNECTED:
- case BLUETOOTH_EVENT_GATT_SERVER_DISCONNECTED:
- return BT_EVENT_GATT_CONNECTION_STATUS;
-#else
- case BLUETOOTH_EVENT_GATT_CONNECTED:
- case BLUETOOTH_EVENT_GATT_DISCONNECTED:
- return BT_EVENT_GATT_CONNECTION_STATUS;
-#endif
- case BLUETOOTH_EVENT_SERVICE_SEARCHED:
- return BT_EVENT_SERVICE_SEARCHED;
- case BLUETOOTH_EVENT_RFCOMM_DATA_RECEIVED:
- return BT_EVENT_DATA_RECEIVED;
- case BLUETOOTH_EVENT_RFCOMM_CONNECTED:
- case BLUETOOTH_EVENT_RFCOMM_DISCONNECTED:
- return BT_EVENT_CONNECTION_STATE_CHANGED;
- case BLUETOOTH_EVENT_RFCOMM_AUTHORIZE:
- return BT_EVENT_RFCOMM_CONNECTION_REQUESTED;
- case BLUETOOTH_EVENT_OBEX_SERVER_CONNECTION_AUTHORIZE:
- return BT_EVENT_OPP_CONNECTION_REQUESTED;
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_AUTHORIZE:
- return BT_EVENT_OPP_PUSH_REQUESTED;
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_STARTED:
- return BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS;
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_PROGRESS:
- return BT_EVENT_OPP_SERVER_TRANSFER_PROGRESS;
- case BLUETOOTH_EVENT_OBEX_SERVER_TRANSFER_COMPLETED:
- return BT_EVENT_OPP_SERVER_TRANSFER_FINISHED;
- case BLUETOOTH_EVENT_OPC_CONNECTED:
- return BT_EVENT_OPP_CLIENT_PUSH_RESPONSED;
- case BLUETOOTH_EVENT_OPC_TRANSFER_STARTED:
- return BT_EVENT_OPP_CLIENT_PUSH_PROGRESS;
- case BLUETOOTH_EVENT_OPC_TRANSFER_PROGRESS:
- case BLUETOOTH_EVENT_OPC_TRANSFER_COMPLETE:
- return BT_EVENT_OPP_CLIENT_PUSH_PROGRESS;
- case BLUETOOTH_EVENT_OPC_DISCONNECTED:
- return BT_EVENT_OPP_CLIENT_PUSH_FINISHED;
- case BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE:
- return BT_EVENT_MAP_CLIENT_LIST_FOLDERS;
- case BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE:
- return BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS;
- case BLUETOOTH_EVENT_MAP_LIST_MESSAGES_COMPLETE:
- return BT_EVENT_MAP_CLIENT_LIST_MESSAGES;
- case BLUETOOTH_EVENT_MAP_GET_MESSAGE_COMPLETE:
- return BT_EVENT_MAP_CLIENT_GET_MESSAGE;
- case BLUETOOTH_EVENT_MAP_PUSH_MESSAGE_COMPLETE:
- return BT_EVENT_MAP_CLIENT_PUSH_MESSAGE;
- case BLUETOOTH_EVENT_NETWORK_SERVER_CONNECTED:
- case BLUETOOTH_EVENT_NETWORK_SERVER_DISCONNECTED:
- return BT_EVENT_NAP_CONNECTION_STATE_CHANGED;
- case BLUETOOTH_EVENT_NETWORK_CONNECTED:
- case BLUETOOTH_EVENT_NETWORK_DISCONNECTED:
- return BT_EVENT_PAN_CONNECTION_STATE_CHANGED;
- case BLUETOOTH_EVENT_HDP_DATA_RECEIVED:
- return BT_EVENT_HDP_DATA_RECEIVED;
- case BLUETOOTH_EVENT_HDP_CONNECTED:
- return BT_EVENT_HDP_CONNECTED;
- case BLUETOOTH_EVENT_HDP_DISCONNECTED:
- return BT_EVENT_HDP_DISCONNECTED;
- case BLUETOOTH_EVENT_AG_CONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AG_DISCONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AG_SPEAKER_GAIN:
- return BT_EVENT_AG_SPEAKER_GAIN_CHANGE;
- case BLUETOOTH_EVENT_AG_MIC_GAIN:
- return BT_EVENT_AG_MICROPHONE_GAIN_CHANGE;
- case BLUETOOTH_EVENT_AG_AUDIO_CONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AG_AUDIO_DISCONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_TELEPHONY_AUDIO_CONNECTED:
- return BT_EVENT_AG_SCO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_TELEPHONY_AUDIO_DISCONNECTED:
- return BT_EVENT_AG_SCO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_TELEPHONY_ANSWER_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_RELEASE_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_REJECT_CALL:
- return BT_EVENT_AG_CALL_HANDLING_EVENT;
- case BLUETOOTH_EVENT_TELEPHONY_CHLD_0_RELEASE_ALL_HELD_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_CHLD_1_RELEASE_ALL_ACTIVE_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_CHLD_2_ACTIVE_HELD_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_CHLD_3_MERGE_CALL:
- case BLUETOOTH_EVENT_TELEPHONY_CHLD_4_EXPLICIT_CALL_TRANSFER:
- return BT_EVENT_AG_MULTI_CALL_HANDLING_EVENT;
- case BLUETOOTH_EVENT_TELEPHONY_SEND_DTMF:
- return BT_EVENT_AG_DTMF_TRANSMITTED;
- case BLUETOOTH_EVENT_AV_CONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AV_DISCONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AV_SOURCE_CONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED:
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AVRCP_CONNECTED:
- case BLUETOOTH_EVENT_AVRCP_DISCONNECTED:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_CONNECTED:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_DISCONNECTED:
- return BT_EVENT_AVRCP_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_AVRCP_SETTING_SHUFFLE_STATUS:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_SHUFFLE_STATUS:
- return BT_EVENT_AVRCP_SHUFFLE_MODE_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_SETTING_EQUALIZER_STATUS:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_EQUALIZER_STATUS:
- return BT_EVENT_AVRCP_EQUALIZER_STATE_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_SETTING_REPEAT_STATUS:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_REPEAT_STATUS:
- return BT_EVENT_AVRCP_REPEAT_MODE_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_SETTING_SCAN_STATUS:
- case BLUETOOTH_EVENT_AVRCP_CONTROL_SCAN_STATUS:
- return BT_EVENT_AVRCP_SCAN_MODE_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS:
- return BT_EVENT_AVRCP_SONG_POSITION_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_PLAY_STATUS_CHANGED:
- return BT_EVENT_AVRCP_PLAY_STATUS_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED:
- return BT_EVENT_AVRCP_TRACK_INFO_CHANGED;
- case BLUETOOTH_EVENT_AVRCP_DELAY_CHANGED:
- return BT_EVENT_AVRCP_DELAY_CHANGED;
- case BLUETOOTH_HID_CONNECTED:
- return BT_EVENT_HID_CONNECTION_STATUS;
- case BLUETOOTH_HID_DISCONNECTED:
- return BT_EVENT_HID_CONNECTION_STATUS;
- case BLUETOOTH_HID_DEVICE_CONNECTED:
- return BT_EVENT_HID_DEVICE_CONNECTION_STATUS;
- case BLUETOOTH_HID_DEVICE_DISCONNECTED:
- return BT_EVENT_HID_DEVICE_CONNECTION_STATUS;
- case BLUETOOTH_HID_DEVICE_DATA_RECEIVED:
- return BT_EVENT_HID_DEVICE_DATA_RECEIVED;
- case BLUETOOTH_EVENT_GATT_CHAR_VAL_CHANGED:
- return BT_EVENT_GATT_CLIENT_VALUE_CHANGED;
- case BLUETOOTH_EVENT_GATT_READ_CHAR:
- return BT_EVENT_GATT_CLIENT_READ_CHARACTERISTIC;
- case BLUETOOTH_EVENT_GATT_WRITE_CHAR:
- return BT_EVENT_GATT_CLIENT_WRITE_CHARACTERISTIC;
- case BLUETOOTH_EVENT_GATT_READ_DESC:
- return BT_EVENT_GATT_CLIENT_READ_DESCRIPTOR;
- case BLUETOOTH_EVENT_GATT_WRITE_DESC:
- return BT_EVENT_GATT_CLIENT_WRITE_DESCRIPTOR;
- /* LCOV_EXCL_STOP */
- case BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED:
- return BT_EVENT_GATT_ATT_MTU_CHANGE_STATUS;
- case BLUETOOTH_EVENT_MANUFACTURER_DATA_CHANGED:
- return BT_EVENT_MANUFACTURER_DATA_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_PASSKEY_NOTIFICATION:
- return BT_EVENT_PASSKEY_NOTIFICATION_EVENT;
- case BLUETOOTH_EVENT_CONNECTABLE_CHANGED:
- return BT_EVENT_CONNECTABLE_CHANGED_EVENT; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_TELEPHONY_VENDOR_AT_CMD:
- return BT_EVENT_AG_VENDOR_CMD;
- case BLUETOOTH_EVENT_RSSI_ENABLED:
- return BT_EVENT_RSSI_ENABLED_EVENT;
- case BLUETOOTH_EVENT_RSSI_ALERT:
- return BT_EVENT_RSSI_ALERT_EVENT;
- case BLUETOOTH_EVENT_RAW_RSSI:
- return BT_EVENT_GET_RSSI_EVENT;
- case BLUETOOTH_EVENT_IPSP_CONNECTED:
- case BLUETOOTH_EVENT_IPSP_DISCONNECTED:
- return BT_EVENT_IPSP_CONNECTION_STATUS; /* LCOV_EXCL_LINE */
- case BLUETOOTH_EVENT_SUPPORTED_PROFILE_TRUSTED:
- return BT_EVENT_SUPPORTED_TRUSTED_PROFILE_EVENT;
- case BLUETOOTH_EVENT_LE_DATA_LENGTH_CHANGED:
- return BT_EVENT_LE_DATA_LENGTH_CHANGED; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_CONNECTED:
- case BLUETOOTH_PBAP_DISCONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_LINE */
- return -1;
- return BT_EVENT_PBAP_CONNECTION_STATUS; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_PHONEBOOK_SIZE:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_LINE */
- return -1;
- return BT_EVENT_PBAP_PHONEBOOK_SIZE; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_PHONEBOOK_PULL:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_LINE */
- return -1;
- return BT_EVENT_PBAP_PHONEBOOK_PULL; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_VCARD_LIST:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_LINE */
- return -1;
- return BT_EVENT_PBAP_VCARD_LIST; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_VCARD_PULL:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_LINE */
- return -1;
- return BT_EVENT_PBAP_VCARD_PULL; /* LCOV_EXCL_LINE */
- case BLUETOOTH_PBAP_PHONEBOOK_SEARCH:
- if (!TIZEN_PROFILE_WEARABLE_IVI) /* LCOV_EXCL_START */
- return -1;
- return BT_EVENT_PBAP_PHONEBOOK_SEARCH;
- case BLUETOOTH_EVENT_HF_CONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_HF_DISCONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_AUDIO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_HF_AUDIO_CONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_SCO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_HF_AUDIO_DISCONNECTED:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_SCO_CONNECTION_STATUS;
- case BLUETOOTH_EVENT_HF_RING_INDICATOR:
- case BLUETOOTH_EVENT_HF_CALL_TERMINATED:
- case BLUETOOTH_EVENT_HF_CALL_STARTED:
- case BLUETOOTH_EVENT_HF_CALL_ENDED:
- case BLUETOOTH_EVENT_HF_CALL_WAITING:
- case BLUETOOTH_EVENT_HF_CALL_ON_HOLD:
- case BLUETOOTH_EVENT_HF_CALL_UNHOLD:
- case BLUETOOTH_EVENT_HF_CALL_SWAPPED:
- case BLUETOOTH_EVENT_HF_CALL_FAILED_TO_DIAL:
- case BLUETOOTH_EVENT_HF_CALL_IDLE:
- case BLUETOOTH_EVENT_HF_CALLSETUP_INCOMING:
- case BLUETOOTH_EVENT_HF_CALLSETUP_DIALING:
- case BLUETOOTH_EVENT_HF_CALLSETUP_ALERTING:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_REMOTE_CALL_EVENT;
- case BLUETOOTH_EVENT_HF_VENDOR_DEP_CMD:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_VENDOR_DEP_CMD_EVENT;
- case BLUETOOTH_EVENT_HF_VOLUME_SPEAKER:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_SPEAKER_GAIN_CHANGE;
- case BLUETOOTH_EVENT_HF_CALL_STATUS:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_CALL_STATUS_UPDATED_EVENT;
- case BLUETOOTH_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED:
- case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_ENABLED:
- case BLUETOOTH_EVENT_HF_VOICE_RECOGNITION_DISABLED:
- if (!TIZEN_PROFILE_WEARABLE_IVI)
- return -1;
- return BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED;
- case BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED:
- return BT_EVENT_IPSP_INIT_STATE_CHANGED;
- case BLUETOOTH_EVENT_PXP_PROPERTY_CHANGED:
- return BT_EVENT_PROXIMITY_REPORTER_PROPERTY_CHANGED;
- case BLUETOOTH_EVENT_TDS_ACTIVATION_REQUESTED:
- return BT_EVENT_TDS_ACTIVATION_REQUESTED;
- case BLUETOOTH_EVENT_OTP_SERVER_STATE_CHANGED:
- return BT_EVENT_OTP_SERVER_STATE_CHANGED;
- default:
- return -1; /* LCOV_EXCL_STOP */
+ int i;
+
+ for (i = 0; event2index[i].event != 0; i++) {
+ if (event2index[i].event == event)
+ return event2index[i].index;
}
+
+ return -1; /* LCOV_EXCL_LINE */
}
+
/* LCOV_EXCL_START */
static void __bt_convert_lower_to_upper(char *origin)
{
diff --git a/src/bluetooth-device.c b/src/bluetooth-device.c
index 2c4c874..9c33d09 100644
--- a/src/bluetooth-device.c
+++ b/src/bluetooth-device.c
@@ -23,6 +23,52 @@
#include "bluetooth_internal.h"
#include "bluetooth_private.h"
+typedef struct {
+ unsigned int uuid;
+ bt_service_class_t service_mask;
+} bt_uuid2svc_table_t;
+
+static bt_uuid2svc_table_t uuid2svc_mask[] = {
+ { BLUETOOTH_SPP_PROFILE_UUID, BT_SC_SPP_SERVICE_MASK },
+ { BLUETOOTH_LAP_PROFILE_UUID, BT_SC_LAP_SERVICE_MASK },
+ { BLUETOOTH_DUN_PROFILE_UUID, BT_SC_DUN_SERVICE_MASK },
+ { BLUETOOTH_OBEX_IR_MC_SYNC_SERVICE_UUID, BT_SC_SYNC_SERVICE_MASK },
+ { BLUETOOTH_OBEX_OBJECT_PUSH_SERVICE_UUID, BT_SC_OPP_SERVICE_MASK },
+ { BLUETOOTH_OBEX_MESSAGE_ACCESS_SERVICE_UUID, BT_SC_MAP_SERVICE_MASK },
+ { BLUETOOTH_OBEX_FILE_TRANSFER_UUID, BT_SC_FTP_SERVICE_MASK },
+ { BLUETOOTH_HS_PROFILE_UUID, BT_SC_HSP_SERVICE_MASK },
+ { BLUETOOTH_CTP_PROFILE_UUID, BT_SC_CTP_SERVICE_MASK },
+ { BLUETOOTH_AUDIO_SOURCE_UUID, BT_SC_A2DP_SOURCE_SERVICE_MASK },
+ { BLUETOOTH_AUDIO_SINK_UUID, BT_SC_A2DP_SERVICE_MASK },
+ { BLUETOOTH_AV_REMOTE_CONTROL_UUID, BT_SC_AVRCP_SERVICE_MASK },
+ { BLUETOOTH_ICP_PROFILE_UUID, BT_SC_ICP_SERVICE_MASK },
+ { BLUETOOTH_FAX_PROFILE_UUID, BT_SC_FAX_SERVICE_MASK },
+ { BLUETOOTH_PAN_PANU_PROFILE_UUID, BT_SC_PANU_SERVICE_MASK },
+ { BLUETOOTH_PAN_NAP_PROFILE_UUID, BT_SC_NAP_SERVICE_MASK },
+ { BLUETOOTH_PAN_GN_PROFILE_UUID, BT_SC_GN_SERVICE_MASK },
+ { BLUETOOTH_OBEX_IMAGING_RESPONDER_UUID, BT_SC_BIP_SERVICE_MASK },
+ { BLUETOOTH_HF_PROFILE_UUID, BT_SC_HFP_SERVICE_MASK },
+ { BLUETOOTH_HID_PROFILE_UUID, BT_SC_HID_SERVICE_MASK },
+ { BLUETOOTH_SIM_ACCESS_PROFILE_UUID, BT_SC_SAP_SERVICE_MASK },
+ { BLUETOOTH_OBEX_PBA_PROFILE_UUID, BT_SC_PBAP_SERVICE_MASK },
+ { BLUETOOTH_OBEX_BPPS_PROFILE_UUID, BT_SC_BPP_SERVICE_MASK },
+ { BLUETOOTH_OBEX_PRINTING_STATUS_UUID, BT_SC_BPP_SERVICE_MASK },
+ { BLUETOOTH_PNP_INFORMATION_UUID, BT_SC_NONE },
+ { BLUETOOTH_AV_REMOTE_CONTROL_TARGET_UUID, BT_SC_NONE },
+ { BLUETOOTH_VIDEO_SINK_UUID, BT_SC_NONE },
+ { BLUETOOTH_VIDEO_SOURCE_UUID, BT_SC_NONE },
+ { BLUETOOTH_HEADSET_AG_SERVICE_UUID, BT_SC_NONE },
+ { BLUETOOTH_REFERENCE_PRINTING, BT_SC_NONE },
+ { BLUETOOTH_OBEX_IMAGING_UUID, BT_SC_NONE },
+ { BLUETOOTH_HFG_PROFILE_UUID, BT_SC_NONE },
+ { BLUETOOTH_DIRECT_PRINTING_REFERENCE_OBJ_UUID, BT_SC_NONE },
+ { BLUETOOTH_BASIC_PRINTING, BT_SC_NONE },
+ { BLUETOOTH_HCR_PROFILE_UUID, BT_SC_NONE },
+ { BLUETOOTH_OBEX_SYNCML_TRANSFER_UUID, BT_SC_NONE },
+ { 0, BT_SC_NONE }
+};
+
+
int bt_device_create_bond(const char *device_address)
{
bluetooth_device_address_t addr_hex = { {0,} };
@@ -514,6 +560,19 @@ int bt_device_le_conn_update(const char *device_address,
return ret;
}
/* LCOV_EXCL_STOP */
+
+static bt_service_class_t __bt_device_get_service_mask_value(unsigned int service)
+{
+ int i;
+
+ for (i = 0; uuid2svc_mask[i].uuid != 0; i++) {
+ if (uuid2svc_mask[i].uuid == service)
+ return uuid2svc_mask[i].service_mask;
+ }
+
+ return BT_SC_NONE; /* LCOV_EXCL_LINE */
+}
+
int bt_device_get_service_mask_from_uuid_list(char **uuids,
int no_of_service,
bt_service_class_t *service_mask_list)
@@ -542,155 +601,7 @@ int bt_device_get_service_mask_from_uuid_list(char **uuids,
service = g_ascii_strtoull(parts[0], NULL, 16);
g_strfreev(parts);
- switch (service) {
- case BLUETOOTH_SPP_PROFILE_UUID:
- service_mask |= BT_SC_SPP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_LAP_PROFILE_UUID:
- service_mask |= BT_SC_LAP_SERVICE_MASK; /* LCOV_EXCL_LINE */
- break; /* LCOV_EXCL_LINE */
-/* LCOV_EXCL_START */
- case BLUETOOTH_DUN_PROFILE_UUID:
- service_mask |= BT_SC_DUN_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_IR_MC_SYNC_SERVICE_UUID:
- service_mask |= BT_SC_SYNC_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_OBJECT_PUSH_SERVICE_UUID:
- service_mask |= BT_SC_OPP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_MESSAGE_ACCESS_SERVICE_UUID:
- service_mask |= BT_SC_MAP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_FILE_TRANSFER_UUID:
- service_mask |= BT_SC_FTP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_HS_PROFILE_UUID:
- service_mask |= BT_SC_HSP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_CTP_PROFILE_UUID:
- service_mask |= BT_SC_CTP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_AUDIO_SOURCE_UUID:
- service_mask |= BT_SC_A2DP_SOURCE_SERVICE_MASK;
- break;
-
- case BLUETOOTH_AUDIO_SINK_UUID:
- service_mask |= BT_SC_A2DP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_VIDEO_SOURCE_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_VIDEO_SINK_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_AV_REMOTE_CONTROL_TARGET_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_AV_REMOTE_CONTROL_UUID:
- service_mask |= BT_SC_AVRCP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_ICP_PROFILE_UUID:
- service_mask |= BT_SC_ICP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_FAX_PROFILE_UUID:
- service_mask |= BT_SC_FAX_SERVICE_MASK;
- break;
-
- case BLUETOOTH_HEADSET_AG_SERVICE_UUID:
- service_mask |= BT_SC_NONE; /* BT_SC_HSP_SERVICE_MASK */
- break;
-
- case BLUETOOTH_PAN_PANU_PROFILE_UUID:
- service_mask |= BT_SC_PANU_SERVICE_MASK;
- break;
-
- case BLUETOOTH_PAN_NAP_PROFILE_UUID:
- service_mask |= BT_SC_NAP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_PAN_GN_PROFILE_UUID:
- service_mask |= BT_SC_GN_SERVICE_MASK;
- break;
-
- case BLUETOOTH_REFERENCE_PRINTING:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_OBEX_IMAGING_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_OBEX_IMAGING_RESPONDER_UUID:
- service_mask |= BT_SC_BIP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_HF_PROFILE_UUID:
- service_mask |= BT_SC_HFP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_HFG_PROFILE_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_DIRECT_PRINTING_REFERENCE_OBJ_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_BASIC_PRINTING:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_HID_PROFILE_UUID:
- service_mask |= BT_SC_HID_SERVICE_MASK;
- break;
-
- case BLUETOOTH_SIM_ACCESS_PROFILE_UUID:
- service_mask |= BT_SC_SAP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_PBA_PROFILE_UUID:
- service_mask |= BT_SC_PBAP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_OBEX_BPPS_PROFILE_UUID:
- service_mask |= BT_SC_BPP_SERVICE_MASK;
- break;
-
- case BLUETOOTH_PNP_INFORMATION_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_OBEX_PRINTING_STATUS_UUID:
- service_mask |= BT_SC_BPP_SERVICE_MASK;
- break;
-/* LCOV_EXCL_STOP */
- case BLUETOOTH_HCR_PROFILE_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- case BLUETOOTH_OBEX_SYNCML_TRANSFER_UUID:
- service_mask |= BT_SC_NONE;
- break;
-
- default:
- break;
- }
-
+ service_mask |= __bt_device_get_service_mask_value(service);
}
*service_mask_list = service_mask;