Add missed implementation. 20/118220/1
authorDeokhyun Kim <dukan.kim@samsung.com>
Thu, 9 Mar 2017 08:07:45 +0000 (17:07 +0900)
committerDeokhyun Kim <dukan.kim@samsung.com>
Thu, 9 Mar 2017 08:09:12 +0000 (17:09 +0900)
  bt_hf_notify_vendor_cmd
  bt_hf_set_vendor_dep_cmd_event_cb
  bt_hf_unset_vendor_dep_cmd_event_cb

Change-Id: Ic094baee83603eda5dbe1c40b0d6aacbe6e5c161
Signed-off-by: Deokhyun Kim <dukan.kim@samsung.com>
include/wearable/bluetooth_internal.h
src/bluetooth-audio.c

index af664b3a6e9d20b32ded0c37fb0e0402f632cdae..61980d2cf0c87d73af05b39f675c886f1f0adc80 100644 (file)
@@ -2352,6 +2352,37 @@ int bt_hf_unset_speaker_gain_changed_cb(void);
  */
 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.
@@ -2383,6 +2414,28 @@ int bt_hf_set_call_status_updated_event_cb(bt_hf_call_status_updated_event_cb ca
  */
 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.
index d7d29557d22333a8b096c2dc61623e7b7f442bc4..c7036aab9cfb1258a2d4ba44a2f0f6b2c62ef38f 100644 (file)
@@ -1008,6 +1008,41 @@ int bt_hf_notify_voice_recognition_state(bool state)
        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();