From: DoHyun Pyun Date: Thu, 13 Sep 2018 00:23:55 +0000 (+0900) Subject: Reduce the cyclomatic complexity X-Git-Tag: submit/tizen/20180913.053639^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d54db1eed167780129faa35ab878a03ce6622e7a;p=platform%2Fcore%2Fapi%2Fbluetooth.git Reduce the cyclomatic complexity 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 --- 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;