*/
int bt_hf_notify_voice_recognition_state(bool state);
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
+ * @brief Registers a callback function that will be invoked when a vendor command event happened from Hands-Free.
+ * @since_tizen @if MOBILE @elseif WEARABLE 2.3.2 @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_hf_unset_vendor_dep_cmd_event_cb()
+ */
+int bt_hf_set_vendor_dep_cmd_event_cb(bt_hf_vendor_dep_cmd_event_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
+ * @brief Unregisters a callback function that will be invoked when a vendor command event happened from Hands-Free.
+ * @since_tizen @if MOBILE @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_hf_set_vendor_dep_cmd_event_cb()
+ */
+int bt_hf_unset_vendor_dep_cmd_event_cb(void);
+
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
* @brief Registers a callback function that will be invoked when a call status event happened from Hands-Free.
*/
int bt_hf_unset_call_status_updated_event_cb(void);
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
+ * @brief Notifies the vendor commands.
+ * @since_tizen @if MOBILE @elseif WEARABLE 2.3.1 @endif
+ * @privlevel platform
+ * @privilege http://tizen.org/privilege/bluetooth.admin
+ * @param[in] appid The application id of the sender application
+ * @param[in] msg The message returned after given command
+ * @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
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED Remote device is not connected
+ * @retval #BT_ERROR_OPERATION_FAILED Operation failed
+ * @retval #BT_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED Not supported
+ * @pre The Bluetooth audio device must be connected with bt_audio_connect().
+ * @see bt_audio_connect()
+ */
+int bt_hf_notify_vendor_cmd(int appid, char *msg);
+
/**
* @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
* @brief Closes an opened SCO(Synchronous Connection Oriented link), synchronously.
return error;
}
+int bt_hf_set_vendor_dep_cmd_event_cb(bt_hf_vendor_dep_cmd_event_cb callback, void *user_data)
+{
+ BT_CHECK_INIT_STATUS();
+ BT_CHECK_HF_INIT_STATUS();
+ BT_CHECK_INPUT_PARAMETER(callback);
+
+ _bt_set_cb(BT_EVENT_HF_VENDOR_DEP_CMD_EVENT, callback, user_data);
+ return BT_ERROR_NONE;
+}
+
+int bt_hf_unset_vendor_dep_cmd_event_cb(void)
+{
+ BT_CHECK_INIT_STATUS();
+ BT_CHECK_HF_INIT_STATUS();
+
+ if (_bt_check_cb(BT_EVENT_HF_VENDOR_DEP_CMD_EVENT) == true)
+ _bt_unset_cb(BT_EVENT_HF_VENDOR_DEP_CMD_EVENT);
+ return BT_ERROR_NONE;
+}
+
+int bt_hf_notify_vendor_cmd(int appid, char *msg)
+{
+ int error;
+
+ BT_CHECK_INIT_STATUS();
+ BT_CHECK_HF_INIT_STATUS();
+
+ error = bluetooth_hf_send_xsat_cmd(appid, msg);
+ error = _bt_get_error_code(error);
+ if (error != BT_ERROR_NONE)
+ BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(error), error);
+
+ return error;
+}
+
int bt_hf_set_call_status_updated_event_cb(bt_hf_call_status_updated_event_cb callback, void *user_data)
{
BT_CHECK_INIT_STATUS();