From: DoHyun Pyun Date: Tue, 6 Dec 2016 07:12:57 +0000 (+0900) Subject: Add the function definitions for TV profile X-Git-Tag: submit/tizen_3.0/20161206.041315^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff184dbb2ed676a526d7969c09176c83a6f09b69;p=platform%2Fcore%2Fapi%2Fbluetooth.git Add the function definitions for TV profile Change-Id: I695f7735720f4f19dec7757e9bbdadd67d493202 Signed-off-by: DoHyun Pyun --- diff --git a/include/tv/bluetooth_internal.h b/include/tv/bluetooth_internal.h index e2a7eff..32218e5 100644 --- a/include/tv/bluetooth_internal.h +++ b/include/tv/bluetooth_internal.h @@ -414,6 +414,47 @@ int bt_adapter_set_connectable(bool connectable); */ int bt_adapter_set_manufacturer_data(char *data, int len); +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE + * @brief Parse the samsung specific manufacturer data of discovered device. + * + * @remarks bt_adapter_free_manufacturer_data should be invoked + * to free the memory associated with parsed data + * + * @param[in] manufacturer_data The manufacturer specific data of the discovered Bluetooth device. + * @param[in] len length of the received manufacturer data + * @param[out] data Parsed manufacturer data + * + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_NOT_INITIALIZED Not initialized + * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #BT_ERROR_NOT_ENABLED Not enabled + * + * @pre The state of local Bluetooth must be #BT_ADAPTER_ENABLED. + * + * @see bt_adapter_free_manufacturer_data() + */ +int bt_adapter_parse_manufacturer_data(bt_manufacturer_data *data, + char *manufacturer_data, int manufacturer_data_len); + +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE + * @brief Free the memory associated with parsed manufacturer data + * + * @param[in] data parsed manufactrer data + * + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter + * + * + * @see bt_adapter_parse_manufacturer_data() + */ +int bt_adapter_free_manufacturer_data(bt_manufacturer_data *data); + /** * @internal * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE @@ -1160,6 +1201,29 @@ int bt_device_set_profile_restricted(const char *device_address, bt_restricted_p */ int bt_device_get_profile_restricted(const char *device_address, bt_restricted_profile_t profile, int *restricted); +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE + * @brief Registers a callback function to be invoked when Trusted Profiles are changed. + * @since_tizen 2.4 + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_NOT_INITIALIZED Not supported + * @retval #BT_ERROR_INVALID_PARAMETER Invalid Parameter + */ +int bt_device_set_trusted_profile_cb(bt_device_trusted_profiles_cb callback, void *user_data); + +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE + * @brief Unregisters the callback function registered with bt_device_set_trusted_profile_cb(). + * @since_tizen 2.4 + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_NOT_INITIALIZED Not supported + */ +int bt_device_unset_trusted_profile_cb(void); + /** * @ingroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE * @brief Request to change ATT MTU value @@ -1725,6 +1789,39 @@ int bt_call_list_reset(bt_call_list_h list); */ int bt_call_list_add(bt_call_list_h list, unsigned int call_id, bt_ag_call_state_e state, const char *phone_number); +/** + * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE + * @brief Registers a callback function that will be invoked when a XSATvendor AT command is transmitted from Hands-Free. + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif + * @param[in] callback The callback function to register + * @param[in] user_data The user data to be passed to the callback function + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_NOT_INITIALIZED Not initialized + * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #BT_ERROR_NOT_SUPPORTED Not supported + * @pre The Bluetooth audio service must be initialized with bt_audio_initialize(). + * @see bt_audio_initialize() + * @see bt_ag_vendor_cmd_cb() + * @see bt_ag_unset_vendor_cmd_cb() + */ +int bt_ag_set_vendor_cmd_cb(bt_ag_vendor_cmd_cb callback, void *user_data); + +/** + * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE + * @brief Unregisters a callback function that will be invoked when a XSATvendor AT command is transmitted from Hands-Free + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif + * @return 0 on success, otherwise a negative error value. + * @retval #BT_ERROR_NONE Successful + * @retval #BT_ERROR_NOT_INITIALIZED Not initialized + * @retval #BT_ERROR_NOT_SUPPORTED Not supported + * @pre The Bluetooth audio service must be initialized with bt_audio_initialize(). + * @see bt_audio_initialize() + * @see bt_ag_vendor_cmd_cb() + * @see bt_ag_set_vendor_cmd_cb() + */ +int bt_ag_unset_vendor_cmd_cb(void); + /** * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE * @brief Checks whether the remoted device is wbs (Wide Band Speech) mode or not. diff --git a/include/tv/bluetooth_type_internal.h b/include/tv/bluetooth_type_internal.h index 65fd371..d3cfe68 100644 --- a/include/tv/bluetooth_type_internal.h +++ b/include/tv/bluetooth_type_internal.h @@ -252,6 +252,60 @@ typedef struct { char **uuids; } bt_dpm_uuids_list_s; +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE + * @brief Enumaration for the address type field in manufactrer specific data + * @since_tizen 3.0 + */ +typedef enum { + ADDRESS_NONE_TYPE = 0x00, + WI_FI_P2P_ADDRESS = 0x01, + BLUETOOTH_ADDRESS = 0x02, + INDICATION_ADDRESS = 0x04, + IPV4_ADDRESS = 0x08, + IPV6_ADDRESS = 0x10, + UNKNOWN_ADDRESS = 0xff +} connectivity_address_t; + +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE + * @brief Enumaration for the proximity locality type field in manufactrer specific data + * @since_tizen 3.0 + */ +typedef enum { + NONE_TYPE = 0x00, + PROXIMITY = 0x01, + CO_PRESENCE = 0x02, + UNKNOWN_TYPE = 0xff +} bt_proximity_locality_t; + +/** + * @internal + * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_MODULE + * @brief Structure of samsung specific manufacturer data + * @since_tizen 3.0 + */ +typedef struct { + unsigned char version; + unsigned char service_id; + unsigned char discovery_version; + unsigned char associated_service_id; + bt_proximity_locality_t proximity_locality_type; + unsigned char proximity_locality_info; + unsigned char device_type; + unsigned char device_icon; + unsigned char auth_info[5]; + connectivity_address_t addr_type; + unsigned char addr1[6]; + unsigned char addr2[6]; + unsigned char channel_info; + unsigned char associated_service_data_len; + unsigned char *associated_service_data_val; + char *name; +} bt_manufacturer_data; + /** * @ingroup CAPI_NETWORK_BLUETOOTH_HID_DEVICE_MODULE * @brief Enumerations of the Bluetooth HID mouse's button.