Move A2DP/AVRCP sink role APIs header to bluetooth.h 14/67214/17
authorHyuk Lee <hyuk0512.lee@samsung.com>
Tue, 26 Apr 2016 01:47:49 +0000 (10:47 +0900)
committerPyun DoHyun <dh79.pyun@samsung.com>
Fri, 27 May 2016 06:55:13 +0000 (23:55 -0700)
- modify the header file
- modify the doc
- add the avrcp control feature
- modify the missspelling
- modify the wrong param type
- modify the privilege
- modify the doc description

Change-Id: I2cfb71ac9e3e151685201e4b3a9e3278272885b9
Signed-off-by: Hyuk Lee <hyuk0512.lee@samsung.com>
16 files changed:
doc/bluetooth_doc.h
include/mobile/bluetooth.h
include/mobile/bluetooth_internal.h
include/mobile/bluetooth_type.h
include/mobile/bluetooth_type_internal.h
include/tv/bluetooth.h
include/tv/bluetooth_internal.h
include/tv/bluetooth_type.h
include/tv/bluetooth_type_internal.h
include/wearable/bluetooth.h
include/wearable/bluetooth_internal.h
include/wearable/bluetooth_type.h
include/wearable/bluetooth_type_internal.h
src/bluetooth-avrcp.c
src/bluetooth-common.c
test/bt_unit_test.c

index a2229b43ebc0650a84f393681ec8a2f7b5e68357..c77a0ab85a6e7a60eeecb3919bfbf1f853ed76d7 100644 (file)
@@ -34,6 +34,8 @@
  * In addition, #bt_deinitialize() should be called when Bluetooth Service is no longer needed.
  * Please refer Bluetooth Tutorial if you want to get more detailed usages and information of this api.
  *
+ * Note on callbacks: All callbacks in this module are called in the main loop context.
+ *
  * @section CAPI_NETWORK_BLUETOOTH_MODULE_FEATURE Related Features
  * This API is related with the following features:\n
  *  - http://tizen.org/feature/network.bluetooth\n
 /**
  * @internal
  * @defgroup CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE Bluetooth AG
- * @brief Bluetooth AG(Audio Gateway) API provides functions for controling the remote audio device.
+ * @brief Bluetooth AG(Audio Gateway) API provides functions for controlling the remote audio device.
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE
  *
  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_HEADER Required Header
  *
  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_OVERVIEW Overview
  * This API supports the @a Audio @a Gateway role in HSP and HFP.
- * Audio Gateway is the devie that is the gateway of the audio, both for input and output, typically a mobile phone or PC.
+ * Audio Gateway is the device that is the gateway of the audio, both for input and output, typically a mobile phone or PC.
  *
  * @section CAPI_NETWORK_BLUETOOTH_AUDIO_AG_MODULE_FEATURE Related Features
  * This API is related with the following features:\n
 
 /**
  * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE Bluetooth AVRCP
- * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) API provides functions for notifying the change of target device to the control device.
+ * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) API provides functions for notifying the change of target device to the control device(@a Target role) and functions for controlling the remote device(@a Controller role).
  * @ingroup CAPI_NETWORK_BLUETOOTH_MODULE
  *
  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE_HEADER Required Header
  *  \#include <bluetooth.h>
  *
  * @section CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE_OVERVIEW Overview
+ * AVRCP profile let users send AV control signals and information between two devices.
+ *
+ */
+
+/**
+ * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE Bluetooth AVRCP Target
+ * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) Target API provides functions for notifying the change of target device to the control device.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ *
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_HEADER Required Header
+ *  \#include <bluetooth.h>
+ *
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_OVERVIEW Overview
  * This API supports the @a Target role in AVRCP spec.
  * The @a Target is the device whose characteristics are being altered.
  * In a "walkman" type media player scenario, the @a Control device may be a headset that allows tracks to be skipped and the @a Target device would be the actual medial player.
  *
- * @section CAPI_NETWORK_BLUETOOTH_AVRCP__MODULE_FEATURE Related Features
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE_FEATURE Related Features
  * This API is related with the following features:\n
  *  - http://tizen.org/feature/network.bluetooth.audio.media\n
  *
  *
  */
 
+ /**
+ * @defgroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE Bluetooth AVRCP Controller
+ * @brief Bluetooth AVRCP(Audio/Video Remote Control Profile) Control API provides functions for controlling the remote device.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ *
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_HEADER Required Header
+ *  \#include <bluetooth.h>
+ *
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_OVERVIEW Overview
+ * This API supports the @a Controller role in the AVRCP spec.
+ * In a "walkman" type media player scenario, the @a Control device may be a headset that allows tracks to be skipped and the @a Target device would be the actual medial player.
+ *
+ * @section CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE_FEATURE Related Features
+ * This API is related with the following features:\n
+ *  - http://tizen.org/feature/network.bluetooth.audio.controller\n
+ *
+ * It is recommended to create application with regard to features, to increase reliability.\n
+ *
+ * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.\n
+ *
+ * To ensure your application is only running on a device with specific features, please define the features in your manifest file using the manifest editor in the SDK.\n
+ *
+ * More details on featuring your application can be found from <a href="https://developer.tizen.org/development/tools/native-tools/manifest-text-editor#feature"><b>Feature Element</b>.</a>
+ *
+ */
+
 /**
  * @defgroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE Bluetooth HDP
  * @brief Bluetooth HDP(Health Device Profile) API provides functions for managing connections to health devices and exchanging data.
index 18857d6ca2e29071ce9c04e5801bfab2680496ba..0143324ed74bde80f6e76695df6acb707fd81291 100644 (file)
@@ -594,8 +594,8 @@ int bt_adapter_unset_device_discovery_state_changed_cb(void);
  * @brief Get the Hash and Randmoizer value, synchronously.
  * @since_tizen 2.3
  *
- * @param[out] hash The hash value recieved from the controller
- * @param[out] randomizer The hash value recieved from the controller
+ * @param[out] hash The hash value received from the controller
+ * @param[out] randomizer The hash value received from the controller
  * @param[out] hash_len The length of the hash value
  * @param[out] randomizer_len The length of the randomizer value
  * @return 0 on success, otherwise a negative error value.
@@ -621,8 +621,8 @@ int bt_adapter_get_local_oob_data(unsigned char **hash, unsigned char **randomiz
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @param[in] remote_address Remote device address
- * @param[in] hash The hash value recieved from the controller
- * @param[in] randomizer The hash value recieved from the controller
+ * @param[in] hash The hash value received from the controller
+ * @param[in] randomizer The hash value received from the controller
  * @param[in] hash_len The length of the hash value. Allowed value is 16
  * @param[in] randomizer_len The length of the randomizer value. Allowed value is 16
  * @return 0 on success, otherwise a negative error value.
@@ -928,7 +928,7 @@ int bt_adapter_le_get_scan_result_tx_power_level(const bt_adapter_le_device_scan
  *
  * @remarks The @a uuids must be iterated as count and each pointed data must be released with free().
  * Then uuids must be released with free(). \n
- * 16-bit service solicitation UUID or 128-bit service solicitaion UUID is supported.
+ * 16-bit service solicitation UUID or 128-bit service solicitation UUID is supported.
  * (e.g. 180F, 0000180F-0000-1000-8000-00805F9B34FB)
  *
  * @param[in] info The scan result information
@@ -1045,7 +1045,7 @@ int bt_adapter_le_get_scan_result_manufacturer_data(const bt_adapter_le_device_s
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
- * @brief Create advertiser to advertise device's existence or respond to LE scanning reqeust.
+ * @brief Create advertiser to advertise device's existence or respond to LE scanning request.
  * @since_tizen 2.3
  *
  * @param[out] advertiser The handle of advertiser
@@ -1364,7 +1364,7 @@ int bt_adapter_le_clear_advertising_data(bt_advertiser_h advertiser, bt_adapter_
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @details Once Bluetooth advertising is started, nearby Bluetooth LE(Low Energy) supported
- * devices can know this device's existence. And one of them can make a connection reqeust,
+ * devices can know this device's existence. And one of them can make a connection request,
  * if it is allowed.
  *
  * @param[in] advertiser The handle of advertiser
@@ -1427,7 +1427,7 @@ int bt_adapter_le_stop_advertising(bt_advertiser_h advertiser);
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @details Once Bluetooth advertising is started, nearby Bluetooth LE(Low Energy) supported
- * devices can know this device's existence. And one of them can make a connection reqeust,
+ * devices can know this device's existence. And one of them can make a connection request,
  * if it is allowed.
  *
  * @param[in] advertiser The handle of advertiser
@@ -2241,7 +2241,7 @@ int bt_opp_server_deinitialize(void);
  * @privilege %http://tizen.org/privilege/bluetooth
  * @remarks If you initialize OPP server by bt_opp_server_initialize_by_connection_request(), then name is ignored.
  * You can cancel the pushes by bt_opp_server_cancel_transfer() with transfer_id.
- * @param[in] progress_cb  The callback called when a file is being transfered
+ * @param[in] progress_cb  The callback called when a file is being transferred
  * @param[in] finished_cb  The callback called when a transfer is finished
  * @param[in] name  The name to store. This can be NULL if you initialize OPP server by bt_opp_server_initialize_by_connection_request().
  * @param[in] user_data The user data to be passed to the callback function
@@ -2392,12 +2392,12 @@ int bt_opp_client_clear_files(void);
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
  * @details At first, bt_opp_client_push_responded_cb() will be called when OPP server responds to the push request.
- * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is tranfered completely.
- * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is tranfered completely.
+ * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is transferred completely.
+ * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is transferred completely.
  * bt_opp_client_push_finished_cb() will be called when the push request is finished.
  * @param[in] remote_address The remote address
  * @param[in] responded_cb  The callback called when OPP server responds to the push request
- * @param[in] progress_cb  The callback called when each file is being transfered
+ * @param[in] progress_cb  The callback called when each file is being transferred
  * @param[in] finished_cb  The callback called when the push request is finished
  * @param[in] user_data The user data to be passed to the callback function
  * @return 0 on success, otherwise a negative error value.
@@ -2645,10 +2645,10 @@ int bt_audio_set_connection_state_changed_cb(bt_audio_connection_state_changed_c
 int bt_audio_unset_connection_state_changed_cb(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 2.4
- * @remarks This function must be called before Bluetooth AVRCP service. \n
+ * @remarks This function must be called before any other AVRCP target functions are called. \n
  * You must free all resources of the this service by calling bt_avrcp_target_deinitialize()
  * if Bluetooth AVRCP service is no longer needed.
  * @param[in] callback The callback function called when the connection state is changed
@@ -2667,8 +2667,8 @@ int bt_audio_unset_connection_state_changed_cb(void);
 int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callback, void *user_data);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 2.4
  * @return 0 on success, otherwise a negative error value.
  * @retval #BT_ERROR_NONE  Successful
@@ -2681,8 +2681,8 @@ int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callb
 int bt_avrcp_target_deinitialize(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Notifies the equalize state to the remote device.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief  Notifies the equalizer state to the remote device.
  * @since_tizen 2.4
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -2704,7 +2704,7 @@ int bt_avrcp_target_deinitialize(void);
 int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the repeat mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2727,7 +2727,7 @@ int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the shuffle mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2750,7 +2750,7 @@ int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the scan mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2773,7 +2773,7 @@ int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the player state to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2796,7 +2796,7 @@ int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the current position of song to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2819,7 +2819,7 @@ int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 int bt_avrcp_target_notify_position(unsigned int position);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the track to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2849,7 +2849,7 @@ int bt_avrcp_target_notify_track(const char *title, const char *artist, const ch
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the equalizer state is changed by the remote control device.
+ * @brief  Registers a callback function that will be invoked when the equalizer state is changed.
  * @since_tizen 2.4
  * @param[in] callback The callback function to register
  * @param[in] user_data The user data to be passed to the callback function
@@ -2859,30 +2859,32 @@ int bt_avrcp_target_notify_track(const char *title, const char *artist, const ch
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_equalizer_state_changed_cb()
  */
 int bt_avrcp_set_equalizer_state_changed_cb(bt_avrcp_equalizer_state_changed_cb callback, void *user_data);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the equalizer state is changed by the remote control device.
+ * @brief  Unregisters a callback function that will be invoked when the equalizer state is 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 initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_equalizer_state_changed_cb()
  */
 int bt_avrcp_unset_equalizer_state_changed_cb(void);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the repeat mode is changed by the remote control device.
+ * @brief  Registers a callback function that will be invoked when the repeat mode is changed.
  * @since_tizen 2.4
  * @param[in] callback The callback function to register
  * @param[in] user_data The user data to be passed to the callback function
@@ -2892,30 +2894,32 @@ int bt_avrcp_unset_equalizer_state_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_repeat_mode_changed_cb()
  */
 int bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_changed_cb callback, void *user_data);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the repeat mode is changed by the remote control device.
+ * @brief  Unregisters a callback function that will be invoked when the repeat mode is 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 initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_repeat_mode_changed_cb()
  */
 int bt_avrcp_unset_repeat_mode_changed_cb(void);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the shuffle mode is changed by the remote control device.
+ * @brief  Registers a callback function that will be invoked when the shuffle mode is changed.
  * @since_tizen 2.4
  * @param[in] callback The callback function to register
  * @param[in] user_data The user data to be passed to the callback function
@@ -2925,30 +2929,32 @@ int bt_avrcp_unset_repeat_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_shuffle_mode_changed_cb()
  */
 int bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_changed_cb callback, void *user_data);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the shuffle mode is changed by the remote control device.
+ * @brief  Unregisters a callback function that will be invoked when the shuffle mode is 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 initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_shuffle_mode_changed_cb()
  */
 int bt_avrcp_unset_shuffle_mode_changed_cb(void);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the scan mode is changed by the remote control device.
+ * @brief  Registers a callback function that will be invoked when the scan mode is changed.
  * @since_tizen 2.4
  * @param[in] callback The callback function to register
  * @param[in] user_data The user data to be passed to the callback function
@@ -2958,27 +2964,470 @@ int bt_avrcp_unset_shuffle_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_scan_mode_changed_cb()
  */
 int bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_changed_cb callback, void *user_data);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the scan mode is changed by the remote control device.
+ * @brief  Unregisters a callback function that will be invoked when the scan mode is 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 initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_scan_mode_changed_cb()
  */
 int bt_avrcp_unset_scan_mode_changed_cb(void);
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the song position is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_position_changed_cb()
+ */
+int bt_avrcp_set_position_changed_cb(bt_avrcp_position_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the song position is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_position_changed_cb()
+ */
+int bt_avrcp_unset_position_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the Play status is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the Play status is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_unset_play_status_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the track metadata is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the track metadata is changed.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_track_info_changed_cb()
+ */
+int bt_avrcp_unset_track_info_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @remarks This function must be called before any other AVRCP controller functions are called. \n
+ * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
+ * if Bluetooth AVRCP service is no longer needed.
+ * @param[in] callback The callback function called when the connection state is changed
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth service must be initialized with bt_initialize().
+ * @see bt_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_deinitialize(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Connects the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_connect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Disconnects from the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_disconnect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Sends a command to the target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] cmd The commands, one of: Play, Pause, Next, Rewind.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the equalizer state change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] state The new equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the the equalizer state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] state The equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the repeat change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the repeat state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the shuffle mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the shuffle mode of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the scan mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the scan mode of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the position of the song played by the remote device.
+ * @since_tizen 3.0
+ * @param[out] position The position, in milliseconds
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_position(unsigned int *position);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the play status of the remote device.
+ * @since_tizen 3.0
+ * @param[out] status The play status, one of: PLAYING, STOPPED...
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the metadata of the track played by the remote device.
+ * @since_tizen 3.0
+ * @remarks The @a track must be released using bt_avrcp_control_free_track_info()
+ * @param[out] track The track metadata.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Frees the track metadata.
+ * @since_tizen 3.0
+ * @param[in] track The track metadata.
+ * @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 track should point to valid metadata address.
+ * @see bt_avrcp_control_get_track_info()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief Registers an application that acts as the @a Sink role of HDP(Health Device Profile).
@@ -3795,7 +4244,7 @@ int bt_gatt_characteristic_get_write_type(bt_gatt_h characteristic,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief  Updates the write type of the specified charateristic
+ * @brief  Updates the write type of the specified characteristic
  * @since_tizen 2.3.1
  *
  * @param[in] characteristic The characteristic's GATT handle
@@ -4055,7 +4504,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Connect to a specific LE based service on a remote bluetooth dievice address, asynchronously.
+ * @brief Connect to a specific LE based service on a remote bluetooth device address, asynchronously.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -4069,7 +4518,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -4088,7 +4537,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Disconnect to LE connection with the given remote Bluetooth dievice address, asynchronously.
+ * @brief Disconnect to LE connection with the given remote Bluetooth device address, asynchronously.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -4099,7 +4548,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -4125,7 +4574,7 @@ int bt_gatt_disconnect(const char *address);
  *
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
  * @see bt_gatt_connect()
index afd6e235043bf511f59ce976568e4e1376871f9a..cdca4ea64b1a6a49753f6d93e52ab083c68cb0aa 100644 (file)
@@ -2298,111 +2298,6 @@ int bt_gatt_server_get_service(bt_gatt_server_h server, const char *uuid,
 int bt_gatt_server_foreach_services(bt_gatt_server_h server,
                bt_gatt_foreach_cb callback, void *user_data);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-int bt_avrcp_set_song_position_changed_cb(bt_avrcp_song_position_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_song_position_changed_cb()
- */
-int bt_avrcp_unset_song_position_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_unset_play_status_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_track_info_changed_cb()
- */
-int bt_avrcp_unset_track_info_changed_cb(void);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE
  * @brief  Registers a callback function that will be invoked when the A2DP Source connection state is changed.
@@ -2437,385 +2332,6 @@ int bt_a2dp_source_audio_set_connection_state_changed_cb(bt_audio_connection_sta
  */
 int bt_a2dp_source_audio_unset_connection_state_changed_cb(void);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @remarks This function must be called before Bluetooth AVRCP service. \n
- * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
- * if Bluetooth AVRCP service is no longer needed.
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] callback The callback function called when the connection state is changed
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth service must be initialized with bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_deinitialize(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Connects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_connect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Disconnects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_disconnect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Handle the Bluetooth AVRCP(Audio/Video Remote Control Profile) commands.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] AVRCP Commands Play, Pause, Next, Rewind.
- * @return 0 on success, otherwise a negative error value.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the equalizer change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] state To set the equalizer state ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the the equalize state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] equalizer To get the equalizer value ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the repeat change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the repeat state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the shuffle change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the shuffle state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the scan mode change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the scan mode of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the song position vale of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the position value in milliseconds
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_position(unsigned int *position);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the play status of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the play status PLAYING, STOPPED...
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the metadata of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To get the metadata of track played in remote device.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  to free the metadata  staructure.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To free the memory of metadata structure.
- * @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
- * @pre track should point to valid metadata address.
- * @see bt_avrcp_control_get_track_info()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
-
 /**
  * @internal
  * @ingroup CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE
index e99d352ffeae558769f3f087d51eac3ce7c3990f..42626434aa400510f4074c2e75b2175d7cea6145 100644 (file)
@@ -143,10 +143,10 @@ typedef enum {
        BT_ADAPTER_LE_ADVERTISING_FILTER_DEFAULT = 0x00, /**< White list is not in use */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_WL = 0x01, /**< Allow the scan
                                        request that in the White list */
-       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connectoin
+       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connection
                                        request that in the White list */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_CONN_WL = 0x03, /**< Allow the
-                                       scan and connectoin request that in the White list */
+                                       scan and connection request that in the White list */
 } bt_adapter_le_advertising_filter_policy_e;
 
 /**
@@ -170,7 +170,7 @@ typedef enum {
  */
 typedef enum {
        BT_ADAPTER_LE_PACKET_ADVERTISING, /**< Advertising packet */
-       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Sacn response packet */
+       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Scan response packet */
 } bt_adapter_le_packet_type_e;
 
 /**
@@ -205,7 +205,7 @@ typedef enum {
 typedef enum {
        BT_DEVICE_CONNECTION_LINK_BREDR, /**< BR/EDR link */
        BT_DEVICE_CONNECTION_LINK_LE, /**< LE link */
-       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type defualt */
+       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type default */
 } bt_device_connection_link_type_e;
 
 /**
@@ -527,7 +527,7 @@ typedef enum {
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
  * @brief  Enumerations for the player state
- * @since_tizen 2.4
+ * @since_tizen 3.0
  */
 typedef enum {
        BT_AVRCP_PLAYER_STATE_STOPPED = 0x00,  /**< Stopped */
@@ -537,6 +537,83 @@ typedef enum {
        BT_AVRCP_PLAYER_STATE_REWIND_SEEK,  /**< Seek Rewind */
 } bt_avrcp_player_state_e;
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Enumeration for the player control commands
+ * @since_tizen 3.0
+ */
+typedef enum {
+       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
+       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
+       BT_AVRCP_CONTROL_STOP,   /**< Stop */
+       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
+       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
+       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
+       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
+} bt_avrcp_player_command_e;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Structure of Track metadata information.
+ * @since_tizen 3.0
+ *
+ * @see #bt_class_s
+ */
+typedef struct {
+       const char *title;   /**< Title */
+       const char *artist;   /**< Artist */
+       const char *album;   /**< Album name */
+       const char *genre;   /**< Album Genre */
+       unsigned int total_tracks;   /**< The total number of tracks */
+       unsigned int number;   /**< Track number */
+       unsigned int duration;   /**< Duration */
+} bt_avrcp_metadata_attributes_info_s;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the connection state is changed.
+ * @since_tizen 3.0
+ * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
+ * @param[in] remote_address  The remote address
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song position mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] position Playback position in milliseconds. When position is 0 it means the track is starting and when it's greater than or equal to track's duration the track has ended.
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_position_changed_cb()
+ * @see bt_avrcp_unset_position_changed_cb()
+ */
+typedef void (*bt_avrcp_position_changed_cb) (unsigned int position, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song metadata information is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] track The song metadata information
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_track_info_changed_cb()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song Play status mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] play_state The song play status
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_play_status_changed_cb()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief  Enumerations for the data channel type
@@ -1144,7 +1221,7 @@ typedef void (*bt_socket_data_received_cb)(bt_socket_received_data_s *data, void
  * @param[in] connection The connection information which is established or disconnected
  * @param[in] user_data The user data passed from the callback registration function
  * @pre Either bt_socket_connect_rfcomm() will invoke this function.
- * In addtion, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
+ * In addition, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
  * @see bt_socket_listen_and_accept_rfcomm()
  * @see bt_socket_connect_rfcomm()
  * @see bt_socket_set_connection_state_changed_cb()
@@ -1182,7 +1259,7 @@ typedef void (*bt_opp_server_connection_requested_cb)(const char *remote_address
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE
- * @brief  Called when a file is being transfered.
+ * @brief  Called when a file is being transferred.
  * @since_tizen 2.3
  *
  * @param[in] file  The path of file to be pushed
@@ -1223,12 +1300,12 @@ typedef void (*bt_opp_client_push_responded_cb)(int result, const char *remote_a
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE
- * @brief  Called when each file is being transfered.
+ * @brief  Called when each file is being transferred.
  * @since_tizen 2.3
  *
  * @param[in] file  The path of file to be pushed
  * @param[in] size The file size (bytes)
- * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transfered completely.
+ * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transferred completely.
  * @param[in] user_data The user data passed from the callback registration function
  * @pre bt_opp_client_push_files() will invoke this function.
  * @see bt_opp_client_push_files()
@@ -1697,7 +1774,7 @@ typedef enum {
        BT_HID_HANDSHAKE_ERR_INVALID_REPORT_ID, /**< Handshake error code send invalid report id */
        BT_HID_HANDSHAKE_ERR_UNSUPPORTED_REQUEST, /**< Handshake error code request unsupported request */
        BT_HID_HANDSHAKE_ERR_INVALID_PARAMETER, /**< Handshake error code received invalid parameter */
-       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unkown error */
+       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unknown error */
        BT_HID_HANDSHAKE_ERR_FATAL /**< Fatal error */
 } bluetooth_hid_handshake_type_t;
 
index 17c180518da9741dd2bce576148ee806dda6345e..84582eeacd98ceb26a9461399a17181a51358659 100644 (file)
@@ -310,86 +310,6 @@ typedef void (*bt_gatt_server_notification_sent_cb) (int result,
                char *remote_address, bt_gatt_server_h server,
                bt_gatt_h characteristic, bool completed, void *user_data);
 
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Enumerations for the player control command
- * @since_tizen 2.3
- */
-typedef enum {
-       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
-       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
-       BT_AVRCP_CONTROL_STOP,   /**< Stop */
-       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
-       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
-       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
-       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
-} bt_avrcp_player_command_e;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Structure of Track metadata information.
- * @since_tizen 2.3
- *
- * @see #bt_class_s
- */
-typedef struct {
-       const char *title;
-       const char *artist;
-       const char *album;
-       const char *genre;
-       unsigned int total_tracks;
-       unsigned int number;
-       unsigned int duration;
-} bt_avrcp_metadata_attributes_info_s;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the connection state is changed.
- * @since_tizen 2.3
- * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
- * @param[in] remote_address  The remote address
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song position mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song position
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_song_position_changed_cb()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-typedef void (*bt_avrcp_song_position_changed_cb) (unsigned int position, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song metadata information is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song metadata information
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_track_info_changed_cb()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song Play status mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] play_state The song play status
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_play_status_changed_cb()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE
  * @brief Device LE connection update structure.
index 14e6349d7affe7020d12c127fd714a3dfcc7d319..f38f5e23e481721721bec117bd47cdc9d634e29b 100644 (file)
@@ -594,8 +594,8 @@ int bt_adapter_unset_device_discovery_state_changed_cb(void);
  * @brief Get the Hash and Randmoizer value, synchronously.
  * @since_tizen 2.3
  *
- * @param[out] hash The hash value recieved from the controller
- * @param[out] randomizer The hash value recieved from the controller
+ * @param[out] hash The hash value received from the controller
+ * @param[out] randomizer The hash value received from the controller
  * @param[out] hash_len The length of the hash value
  * @param[out] randomizer_len The length of the randomizer value
  * @return 0 on success, otherwise a negative error value.
@@ -621,8 +621,8 @@ int bt_adapter_get_local_oob_data(unsigned char **hash, unsigned char **randomiz
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @param[in] remote_address Remote device address
- * @param[in] hash The hash value recieved from the controller
- * @param[in] randomizer The hash value recieved from the controller
+ * @param[in] hash The hash value received from the controller
+ * @param[in] randomizer The hash value received from the controller
  * @param[in] hash_len The length of the hash value. Allowed value is 16
  * @param[in] randomizer_len The length of the randomizer value. Allowed value is 16
  * @return 0 on success, otherwise a negative error value.
@@ -928,7 +928,7 @@ int bt_adapter_le_get_scan_result_tx_power_level(const bt_adapter_le_device_scan
  *
  * @remarks The @a uuids must be iterated as count and each pointed data must be released with free().
  * Then uuids must be released with free(). \n
- * 16-bit service solicitation UUID or 128-bit service solicitaion UUID is supported.
+ * 16-bit service solicitation UUID or 128-bit service solicitation UUID is supported.
  * (e.g. 180F, 0000180F-0000-1000-8000-00805F9B34FB)
  *
  * @param[in] info The scan result information
@@ -1045,7 +1045,7 @@ int bt_adapter_le_get_scan_result_manufacturer_data(const bt_adapter_le_device_s
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
- * @brief Create advertiser to advertise device's existence or respond to LE scanning reqeust.
+ * @brief Create advertiser to advertise device's existence or respond to LE scanning request.
  * @since_tizen 2.3
  *
  * @param[out] advertiser The handle of advertiser
@@ -1364,7 +1364,7 @@ int bt_adapter_le_clear_advertising_data(bt_advertiser_h advertiser, bt_adapter_
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @details Once Bluetooth advertising is started, nearby Bluetooth LE(Low Energy) supported
- * devices can know this device's existence. And one of them can make a connection reqeust,
+ * devices can know this device's existence. And one of them can make a connection request,
  * if it is allowed.
  *
  * @param[in] advertiser The handle of advertiser
@@ -1427,7 +1427,7 @@ int bt_adapter_le_stop_advertising(bt_advertiser_h advertiser);
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @details Once Bluetooth advertising is started, nearby Bluetooth LE(Low Energy) supported
- * devices can know this device's existence. And one of them can make a connection reqeust,
+ * devices can know this device's existence. And one of them can make a connection request,
  * if it is allowed.
  *
  * @param[in] advertiser The handle of advertiser
@@ -2241,7 +2241,7 @@ int bt_opp_server_deinitialize(void);
  * @privilege %http://tizen.org/privilege/bluetooth
  * @remarks If you initialize OPP server by bt_opp_server_initialize_by_connection_request(), then name is ignored.
  * You can cancel the pushes by bt_opp_server_cancel_transfer() with transfer_id.
- * @param[in] progress_cb  The callback called when a file is being transfered
+ * @param[in] progress_cb  The callback called when a file is being transferred
  * @param[in] finished_cb  The callback called when a transfer is finished
  * @param[in] name  The name to store. This can be NULL if you initialize OPP server by bt_opp_server_initialize_by_connection_request().
  * @param[in] user_data The user data to be passed to the callback function
@@ -2392,12 +2392,12 @@ int bt_opp_client_clear_files(void);
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
  * @details At first, bt_opp_client_push_responded_cb() will be called when OPP server responds to the push request.
- * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is tranfered completely.
- * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is tranfered completely.
+ * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is transferred completely.
+ * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is transferred completely.
  * bt_opp_client_push_finished_cb() will be called when the push request is finished.
  * @param[in] remote_address The remote address
  * @param[in] responded_cb  The callback called when OPP server responds to the push request
- * @param[in] progress_cb  The callback called when each file is being transfered
+ * @param[in] progress_cb  The callback called when each file is being transferred
  * @param[in] finished_cb  The callback called when the push request is finished
  * @param[in] user_data The user data to be passed to the callback function
  * @return 0 on success, otherwise a negative error value.
@@ -2648,10 +2648,10 @@ int bt_audio_set_connection_state_changed_cb(bt_audio_connection_state_changed_c
 int bt_audio_unset_connection_state_changed_cb(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 2.4
- * @remarks This function must be called before Bluetooth AVRCP service. \n
+ * @remarks This function must be called before any other AVRCP target functions are called. \n
  * You must free all resources of the this service by calling bt_avrcp_target_deinitialize()
  * if Bluetooth AVRCP service is no longer needed.
  * @param[in] callback The callback function called when the connection state is changed
@@ -2670,8 +2670,8 @@ int bt_audio_unset_connection_state_changed_cb(void);
 int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callback, void *user_data);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 2.4
  * @return 0 on success, otherwise a negative error value.
  * @retval #BT_ERROR_NONE  Successful
@@ -2684,8 +2684,8 @@ int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callb
 int bt_avrcp_target_deinitialize(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Notifies the equalize state to the remote device.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief  Notifies the equalizer state to the remote device.
  * @since_tizen 2.4
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -2707,7 +2707,7 @@ int bt_avrcp_target_deinitialize(void);
 int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the repeat mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2730,7 +2730,7 @@ int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the shuffle mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2753,7 +2753,7 @@ int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the scan mode to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2776,7 +2776,7 @@ int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the player state to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2799,7 +2799,7 @@ int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the current position of song to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2822,7 +2822,7 @@ int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 int bt_avrcp_target_notify_position(unsigned int position);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the track to the remote device.
  * @since_tizen 2.4
  * @privlevel public
@@ -2862,8 +2862,9 @@ int bt_avrcp_target_notify_track(const char *title, const char *artist, const ch
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_equalizer_state_changed_cb()
  */
 int bt_avrcp_set_equalizer_state_changed_cb(bt_avrcp_equalizer_state_changed_cb callback, void *user_data);
@@ -2877,8 +2878,9 @@ int bt_avrcp_set_equalizer_state_changed_cb(bt_avrcp_equalizer_state_changed_cb
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_equalizer_state_changed_cb()
  */
 int bt_avrcp_unset_equalizer_state_changed_cb(void);
@@ -2895,8 +2897,9 @@ int bt_avrcp_unset_equalizer_state_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_repeat_mode_changed_cb()
  */
 int bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_changed_cb callback, void *user_data);
@@ -2910,8 +2913,9 @@ int bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_changed_cb callback
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_repeat_mode_changed_cb()
  */
 int bt_avrcp_unset_repeat_mode_changed_cb(void);
@@ -2928,8 +2932,9 @@ int bt_avrcp_unset_repeat_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_shuffle_mode_changed_cb()
  */
 int bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_changed_cb callback, void *user_data);
@@ -2943,8 +2948,9 @@ int bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_changed_cb callba
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_shuffle_mode_changed_cb()
  */
 int bt_avrcp_unset_shuffle_mode_changed_cb(void);
@@ -2961,8 +2967,9 @@ int bt_avrcp_unset_shuffle_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_scan_mode_changed_cb()
  */
 int bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_changed_cb callback, void *user_data);
@@ -2976,12 +2983,453 @@ int bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_changed_cb callback, vo
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_scan_mode_changed_cb()
  */
 int bt_avrcp_unset_scan_mode_changed_cb(void);
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the song position is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_position_changed_cb()
+ */
+int bt_avrcp_set_position_changed_cb(bt_avrcp_position_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the song position is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_position_changed_cb()
+ */
+int bt_avrcp_unset_position_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the Play status is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the Play status is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 service must be initialized by bt_initialize().
+ * @see bt_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_unset_play_status_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the track metadata is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the track metadata is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_track_info_changed_cb()
+ */
+int bt_avrcp_unset_track_info_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @remarks This function must be called before any other AVRCP controller functions are called. \n
+ * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
+ * if Bluetooth AVRCP service is no longer needed.
+ * @param[in] callback The callback function called when the connection state is changed
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth service must be initialized with bt_initialize().
+ * @see bt_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_deinitialize(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Connects the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_connect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Disconnects from the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_disconnect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Sends a command to the target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] cmd The commands, one of: Play, Pause, Next, Rewind.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the equalizer state change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] state The new equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the the equalizer state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] state The equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the repeat change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the repeat state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the shuffle mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the shuffle modee of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the scan mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the scan mode of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the position of the song played by the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The position, in milliseconds
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_position(unsigned int *position);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the play status of the remote device.
+ * @since_tizen 3.0
+ * @param[out] status The play status, one of: PLAYING, STOPPED...
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the metadata of the track played by the remote device.
+ * @since_tizen 3.0
+ * @remarks The @a track must be released using bt_avrcp_control_free_track_info()
+ * @param[out] track The track metadata.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Frees the track metadata.
+ * @since_tizen 3.0
+ * @param[in] track The track metadata.
+ * @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 track should point to valid metadata address.
+ * @see bt_avrcp_control_get_track_info()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief Registers an application that acts as the @a Sink role of HDP(Health Device Profile).
@@ -3799,7 +4247,7 @@ int bt_gatt_characteristic_get_write_type(bt_gatt_h characteristic,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief  Updates the write type of the specified charateristic
+ * @brief  Updates the write type of the specified characteristic
  * @since_tizen 2.3.1
  *
  * @param[in] characteristic The characteristic's GATT handle
@@ -4059,7 +4507,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Connect to a specific LE based service on a remote bluetooth dievice address, asynchronously.
+ * @brief Connect to a specific LE based service on a remote bluetooth device address, asynchronously.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -4073,7 +4521,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -4092,7 +4540,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Disconnect to LE connection with the given remote Bluetooth dievice address, asynchronously.
+ * @brief Disconnect to LE connection with the given remote Bluetooth device address, asynchronously.
  * @since_tizen 2.3
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -4103,7 +4551,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -4129,7 +4577,7 @@ int bt_gatt_disconnect(const char *address);
  *
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
  * @see bt_gatt_connect()
index 1dcdbbf776e70b6f5ff95ab5fcbc06e1f21b2feb..05ec4f30c1681a21494c372110839e886e12f539 100644 (file)
@@ -2298,111 +2298,6 @@ int bt_gatt_server_get_service(bt_gatt_server_h server, const char *uuid,
 int bt_gatt_server_foreach_services(bt_gatt_server_h server,
                bt_gatt_foreach_cb callback, void *user_data);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-int bt_avrcp_set_song_position_changed_cb(bt_avrcp_song_position_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_song_position_changed_cb()
- */
-int bt_avrcp_unset_song_position_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_unset_play_status_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_track_info_changed_cb()
- */
-int bt_avrcp_unset_track_info_changed_cb(void);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE
  * @brief  Registers a callback function that will be invoked when the A2DP Source connection state is changed.
@@ -2437,385 +2332,6 @@ int bt_a2dp_source_audio_set_connection_state_changed_cb(bt_audio_connection_sta
  */
 int bt_a2dp_source_audio_unset_connection_state_changed_cb(void);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @remarks This function must be called before Bluetooth AVRCP service. \n
- * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
- * if Bluetooth AVRCP service is no longer needed.
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] callback The callback function called when the connection state is changed
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth service must be initialized with bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_deinitialize(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Connects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_connect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Disconnects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_disconnect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Handle the Bluetooth AVRCP(Audio/Video Remote Control Profile) commands.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] AVRCP Commands Play, Pause, Next, Rewind.
- * @return 0 on success, otherwise a negative error value.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the equalizer change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] state To set the equalizer state ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the the equalize state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] equalizer To get the equalizer value ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the repeat change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the repeat state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the shuffle change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the shuffle state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the scan mode change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the scan mode of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the song position vale of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the position value in milliseconds
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_position(unsigned int *position);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the play status of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the play status PLAYING, STOPPED...
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the metadata of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To get the metadata of track played in remote device.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  to free the metadata  staructure.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To free the memory of metadata structure.
- * @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
- * @pre track should point to valid metadata address.
- * @see bt_avrcp_control_get_track_info()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
-
 /**
  * @internal
  * @ingroup CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE
index db0d69f9117300b9aaed15842baa2d4138f8343d..4157744a7a232f5c0f20ec8320a5d4af19a70a4a 100644 (file)
@@ -143,10 +143,10 @@ typedef enum {
        BT_ADAPTER_LE_ADVERTISING_FILTER_DEFAULT = 0x00, /**< White list is not in use */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_WL = 0x01, /**< Allow the scan
                                        request that in the White list */
-       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connectoin
+       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connection
                                        request that in the White list */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_CONN_WL = 0x03, /**< Allow the
-                                       scan and connectoin request that in the White list */
+                                       scan and connection request that in the White list */
 } bt_adapter_le_advertising_filter_policy_e;
 
 /**
@@ -170,7 +170,7 @@ typedef enum {
  */
 typedef enum {
        BT_ADAPTER_LE_PACKET_ADVERTISING, /**< Advertising packet */
-       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Sacn response packet */
+       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Scan response packet */
 } bt_adapter_le_packet_type_e;
 
 /**
@@ -205,7 +205,7 @@ typedef enum {
 typedef enum {
        BT_DEVICE_CONNECTION_LINK_BREDR, /**< BR/EDR link */
        BT_DEVICE_CONNECTION_LINK_LE, /**< LE link */
-       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type defualt */
+       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type default */
 } bt_device_connection_link_type_e;
 
 /**
@@ -527,7 +527,7 @@ typedef enum {
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
  * @brief  Enumerations for the player state
- * @since_tizen 2.4
+ * @since_tizen 3.0
  */
 typedef enum {
        BT_AVRCP_PLAYER_STATE_STOPPED = 0x00,  /**< Stopped */
@@ -537,6 +537,83 @@ typedef enum {
        BT_AVRCP_PLAYER_STATE_REWIND_SEEK,  /**< Seek Rewind */
 } bt_avrcp_player_state_e;
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Enumeration for the player control commands
+ * @since_tizen 3.0
+ */
+typedef enum {
+       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
+       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
+       BT_AVRCP_CONTROL_STOP,   /**< Stop */
+       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
+       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
+       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
+       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
+} bt_avrcp_player_command_e;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Structure of Track metadata information.
+ * @since_tizen 3.0
+ *
+ * @see #bt_class_s
+ */
+typedef struct {
+       const char *title;   /**< Title */
+       const char *artist;   /**< Artist */
+       const char *album;   /**< Album name */
+       const char *genre;   /**< Album Genre */
+       unsigned int total_tracks;   /**< The total number of tracks */
+       unsigned int number;   /**< Track number */
+       unsigned int duration;   /**< Duration */
+} bt_avrcp_metadata_attributes_info_s;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the connection state is changed.
+ * @since_tizen 3.0
+ * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
+ * @param[in] remote_address  The remote address
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song position mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] position Playback position in milliseconds. When position is 0 it means the track is starting and when it's greater than or equal to track's duration the track has ended.
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_position_changed_cb()
+ * @see bt_avrcp_unset_position_changed_cb()
+ */
+typedef void (*bt_avrcp_position_changed_cb) (unsigned int position, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song metadata information is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] track The song metadata information
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_track_info_changed_cb()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song Play status mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] play_state The song play status
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_play_status_changed_cb()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief  Enumerations for the data channel type
@@ -1144,7 +1221,7 @@ typedef void (*bt_socket_data_received_cb)(bt_socket_received_data_s *data, void
  * @param[in] connection The connection information which is established or disconnected
  * @param[in] user_data The user data passed from the callback registration function
  * @pre Either bt_socket_connect_rfcomm() will invoke this function.
- * In addtion, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
+ * In addition, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
  * @see bt_socket_listen_and_accept_rfcomm()
  * @see bt_socket_connect_rfcomm()
  * @see bt_socket_set_connection_state_changed_cb()
@@ -1182,7 +1259,7 @@ typedef void (*bt_opp_server_connection_requested_cb)(const char *remote_address
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE
- * @brief  Called when a file is being transfered.
+ * @brief  Called when a file is being transferred.
  * @since_tizen 2.3
  *
  * @param[in] file  The path of file to be pushed
@@ -1223,12 +1300,12 @@ typedef void (*bt_opp_client_push_responded_cb)(int result, const char *remote_a
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE
- * @brief  Called when each file is being transfered.
+ * @brief  Called when each file is being transferred.
  * @since_tizen 2.3
  *
  * @param[in] file  The path of file to be pushed
  * @param[in] size The file size (bytes)
- * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transfered completely.
+ * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transferred completely.
  * @param[in] user_data The user data passed from the callback registration function
  * @pre bt_opp_client_push_files() will invoke this function.
  * @see bt_opp_client_push_files()
@@ -1699,7 +1776,7 @@ typedef enum {
        BT_HID_HANDSHAKE_ERR_INVALID_REPORT_ID, /**< Handshake error code send invalid report id */
        BT_HID_HANDSHAKE_ERR_UNSUPPORTED_REQUEST, /**< Handshake error code request unsupported request */
        BT_HID_HANDSHAKE_ERR_INVALID_PARAMETER, /**< Handshake error code received invalid parameter */
-       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unkown error */
+       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unknown error */
        BT_HID_HANDSHAKE_ERR_FATAL /**< Fatal error */
 } bluetooth_hid_handshake_type_t;
 
index 17c180518da9741dd2bce576148ee806dda6345e..84582eeacd98ceb26a9461399a17181a51358659 100644 (file)
@@ -310,86 +310,6 @@ typedef void (*bt_gatt_server_notification_sent_cb) (int result,
                char *remote_address, bt_gatt_server_h server,
                bt_gatt_h characteristic, bool completed, void *user_data);
 
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Enumerations for the player control command
- * @since_tizen 2.3
- */
-typedef enum {
-       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
-       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
-       BT_AVRCP_CONTROL_STOP,   /**< Stop */
-       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
-       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
-       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
-       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
-} bt_avrcp_player_command_e;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Structure of Track metadata information.
- * @since_tizen 2.3
- *
- * @see #bt_class_s
- */
-typedef struct {
-       const char *title;
-       const char *artist;
-       const char *album;
-       const char *genre;
-       unsigned int total_tracks;
-       unsigned int number;
-       unsigned int duration;
-} bt_avrcp_metadata_attributes_info_s;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the connection state is changed.
- * @since_tizen 2.3
- * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
- * @param[in] remote_address  The remote address
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song position mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song position
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_song_position_changed_cb()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-typedef void (*bt_avrcp_song_position_changed_cb) (unsigned int position, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song metadata information is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song metadata information
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_track_info_changed_cb()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song Play status mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] play_state The song play status
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_play_status_changed_cb()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_DEVICE_MODULE
  * @brief Device LE connection update structure.
index 0482251d64be5c1c2492a70083163346397574e4..cc0615eeaffb4f565207c4ee1c606d9043d4a016 100644 (file)
@@ -594,8 +594,8 @@ int bt_adapter_unset_device_discovery_state_changed_cb(void);
  * @brief Get the Hash and Randmoizer value, synchronously.
  * @since_tizen 2.3.1
  *
- * @param[out] hash The hash value recieved from the controller
- * @param[out] randomizer The hash value recieved from the controller
+ * @param[out] hash The hash value received from the controller
+ * @param[out] randomizer The hash value received from the controller
  * @param[out] hash_len The length of the hash value
  * @param[out] randomizer_len The length of the randomizer value
  * @return 0 on success, otherwise a negative error value.
@@ -621,8 +621,8 @@ int bt_adapter_get_local_oob_data(unsigned char **hash, unsigned char **randomiz
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @param[in] remote_address Remote device address
- * @param[in] hash The hash value recieved from the controller
- * @param[in] randomizer The hash value recieved from the controller
+ * @param[in] hash The hash value received from the controller
+ * @param[in] randomizer The hash value received from the controller
  * @param[in] hash_len The length of the hash value. Allowed value is 16
  * @param[in] randomizer_len The length of the randomizer value. Allowed value is 16
  * @return 0 on success, otherwise a negative error value.
@@ -797,7 +797,7 @@ int bt_adapter_le_get_scan_result_tx_power_level(const bt_adapter_le_device_scan
  *
  * @remarks The @a uuids must be iterated as count and each pointed data must be released with free().
  * Then uuids must be released with free(). \n
- * 16-bit service solicitation UUID or 128-bit service solicitaion UUID is supported.
+ * 16-bit service solicitation UUID or 128-bit service solicitation UUID is supported.
  * (e.g. 180F, 0000180F-0000-1000-8000-00805F9B34FB)
  *
  * @param[in] info The scan result information
@@ -914,7 +914,7 @@ int bt_adapter_le_get_scan_result_manufacturer_data(const bt_adapter_le_device_s
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_ADAPTER_LE_MODULE
- * @brief Create advertiser to advertise device's existence or respond to LE scanning reqeust.
+ * @brief Create advertiser to advertise device's existence or respond to LE scanning request.
  * @since_tizen 2.3.1
  *
  * @param[out] advertiser The handle of advertiser
@@ -1200,7 +1200,7 @@ int bt_adapter_le_stop_advertising(bt_advertiser_h advertiser);
  * @privilege %http://tizen.org/privilege/bluetooth
  *
  * @details Once Bluetooth advertising is started, nearby Bluetooth LE(Low Energy) supported
- * devices can know this device's existence. And one of them can make a connection reqeust,
+ * devices can know this device's existence. And one of them can make a connection request,
  * if it is allowed.
  *
  * @param[in] advertiser The handle of advertiser
@@ -2014,7 +2014,7 @@ int bt_opp_server_deinitialize(void);
  * @privilege %http://tizen.org/privilege/bluetooth
  * @remarks If you initialize OPP server by bt_opp_server_initialize_by_connection_request(), then name is ignored.
  * You can cancel the pushes by bt_opp_server_cancel_transfer() with transfer_id.
- * @param[in] progress_cb  The callback called when a file is being transfered
+ * @param[in] progress_cb  The callback called when a file is being transferred
  * @param[in] finished_cb  The callback called when a transfer is finished
  * @param[in] name  The name to store. This can be NULL if you initialize OPP server by bt_opp_server_initialize_by_connection_request().
  * @param[in] user_data The user data to be passed to the callback function
@@ -2164,12 +2164,12 @@ int bt_opp_client_clear_files(void);
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
  * @details At first, bt_opp_client_push_responded_cb() will be called when OPP server responds to the push request.
- * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is tranfered completely.
- * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is tranfered completely.
+ * After connection is established, bt_opp_client_push_progress_cb() will be called repeatedly until a file is transferred completely.
+ * If you send several files, then bt_opp_client_push_progress_cb() with another file will be called repeatedly until the file is transferred completely.
  * bt_opp_client_push_finished_cb() will be called when the push request is finished.
  * @param[in] remote_address The remote address
  * @param[in] responded_cb  The callback called when OPP server responds to the push request
- * @param[in] progress_cb  The callback called when each file is being transfered
+ * @param[in] progress_cb  The callback called when each file is being transferred
  * @param[in] finished_cb  The callback called when the push request is finished
  * @param[in] user_data The user data to be passed to the callback function
  * @return 0 on success, otherwise a negative error value.
@@ -2417,10 +2417,10 @@ int bt_audio_set_connection_state_changed_cb(bt_audio_connection_state_changed_c
 int bt_audio_unset_connection_state_changed_cb(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 3.0
- * @remarks This function must be called before Bluetooth AVRCP service. \n
+ * @remarks This function must be called before any other AVRCP target functions are called. \n
  * You must free all resources of the this service by calling bt_avrcp_target_deinitialize()
  * if Bluetooth AVRCP service is no longer needed.
  * @param[in] callback The callback function called when the connection state is changed
@@ -2439,8 +2439,8 @@ int bt_audio_unset_connection_state_changed_cb(void);
 int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callback, void *user_data);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) target service.
  * @since_tizen 3.0
  * @return 0 on success, otherwise a negative error value.
  * @retval #BT_ERROR_NONE  Successful
@@ -2453,8 +2453,8 @@ int bt_avrcp_target_initialize(bt_avrcp_target_connection_state_changed_cb callb
 int bt_avrcp_target_deinitialize(void);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Notifies the equalize state to the remote device.
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
+ * @brief  Notifies the equalizer state to the remote device.
  * @since_tizen 3.0
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -2476,7 +2476,7 @@ int bt_avrcp_target_deinitialize(void);
 int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the repeat mode to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2499,7 +2499,7 @@ int bt_avrcp_target_notify_equalizer_state(bt_avrcp_equalizer_state_e state);
 int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the shuffle mode to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2522,7 +2522,7 @@ int bt_avrcp_target_notify_repeat_mode(bt_avrcp_repeat_mode_e mode);
 int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the scan mode to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2545,7 +2545,7 @@ int bt_avrcp_target_notify_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
 int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the player state to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2568,7 +2568,7 @@ int bt_avrcp_target_notify_scan_mode(bt_avrcp_scan_mode_e mode);
 int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the current position of song to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2591,7 +2591,7 @@ int bt_avrcp_target_notify_player_state(bt_avrcp_player_state_e state);
 int bt_avrcp_target_notify_position(unsigned int position);
 
 /**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_TARGET_MODULE
  * @brief  Notifies the track to the remote device.
  * @since_tizen 3.0
  * @privlevel public
@@ -2631,8 +2631,9 @@ int bt_avrcp_target_notify_track(const char *title, const char *artist, const ch
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_equalizer_state_changed_cb()
  */
 int bt_avrcp_set_equalizer_state_changed_cb(bt_avrcp_equalizer_state_changed_cb callback, void *user_data);
@@ -2646,8 +2647,9 @@ int bt_avrcp_set_equalizer_state_changed_cb(bt_avrcp_equalizer_state_changed_cb
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_equalizer_state_changed_cb()
  */
 int bt_avrcp_unset_equalizer_state_changed_cb(void);
@@ -2664,8 +2666,9 @@ int bt_avrcp_unset_equalizer_state_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_repeat_mode_changed_cb()
  */
 int bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_changed_cb callback, void *user_data);
@@ -2679,8 +2682,9 @@ int bt_avrcp_set_repeat_mode_changed_cb(bt_avrcp_repeat_mode_changed_cb callback
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_repeat_mode_changed_cb()
  */
 int bt_avrcp_unset_repeat_mode_changed_cb(void);
@@ -2697,8 +2701,9 @@ int bt_avrcp_unset_repeat_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_shuffle_mode_changed_cb()
  */
 int bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_changed_cb callback, void *user_data);
@@ -2712,8 +2717,9 @@ int bt_avrcp_set_shuffle_mode_changed_cb(bt_avrcp_shuffle_mode_changed_cb callba
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_shuffle_mode_changed_cb()
  */
 int bt_avrcp_unset_shuffle_mode_changed_cb(void);
@@ -2730,8 +2736,9 @@ int bt_avrcp_unset_shuffle_mode_changed_cb(void);
  * @retval #BT_ERROR_INVALID_PARAMETER  Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_unset_scan_mode_changed_cb()
  */
 int bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_changed_cb callback, void *user_data);
@@ -2745,12 +2752,454 @@ int bt_avrcp_set_scan_mode_changed_cb(bt_avrcp_scan_mode_changed_cb callback, vo
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
- * @pre The Bluetooth service must be initialized by bt_initialize().
- * @see bt_initialize()
+ * @pre The AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
  * @see bt_avrcp_set_scan_mode_changed_cb()
  */
 int bt_avrcp_unset_scan_mode_changed_cb(void);
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the song position is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_position_changed_cb()
+ */
+int bt_avrcp_set_position_changed_cb(bt_avrcp_position_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the song position is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_position_changed_cb()
+ */
+int bt_avrcp_unset_position_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the Play status is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the Play status is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+int bt_avrcp_unset_play_status_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Registers a callback function that will be invoked when the track metadata is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Unregisters a callback function that will be invoked when the track metadata is changed by the remote target device.
+ * @since_tizen 3.0
+ * @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 AVRCP service must be initialized with bt_avrcp_target_initialize() or bt_avrcp_control_initialize().
+ * @see bt_avrcp_target_initialize()
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_set_track_info_changed_cb()
+ */
+int bt_avrcp_unset_track_info_changed_cb(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Initializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @remarks This function must be called before any other AVRCP controller functions are called. \n
+ * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
+ * if Bluetooth AVRCP service is no longer needed.
+ * @param[in] callback The callback function called when the connection state is changed
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth service must be initialized with bt_initialize().
+ * @see bt_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Deinitializes the Bluetooth AVRCP (Audio/Video Remote Control Profile) controller service.
+ * @since_tizen 3.0
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_deinitialize(void);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Connects the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ */
+int bt_avrcp_control_connect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Disconnects from the AVRCP (Audio/Video Remote Control Profile) target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @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_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_disconnect(const char *remote_address);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief Sends a command to the target device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] cmd The commands, one of: Play, Pause, Next, Rewind.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_connect()
+ */
+int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the equalizer state change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] state The new equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the the equalizer state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] state The equalizer state, one of: ON, OFF
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the repeat change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] Mode The new repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the repeat state of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The repeat mode, one of: OFF, SINGLE, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the shuffle mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the shuffle mode of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The shuffle mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Sends the scan mode change request to the remote device.
+ * @since_tizen 3.0
+ * @privlevel public
+ * @privilege %http://tizen.org/privilege/bluetooth
+ * @param[in] mode The new scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the scan mode of the remote device.
+ * @since_tizen 3.0
+ * @param[out] mode The scan mode, one of: OFF, GROUP, ALL
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the position of the song played by the remote device.
+ * @since_tizen 3.0
+ * @param[out] position The position, in milliseconds
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_position(unsigned int *position);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the play status of the remote device.
+ * @since_tizen 3.0
+ * @param[out] status The play status, one of: PLAYING, STOPPED...
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Gets the metadata of the track played by the remote device.
+ * @since_tizen 3.0
+ * @remarks The @a track must be released using bt_avrcp_control_free_track_info()
+ * @param[out] track The track metadata.
+ * @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_OPERATION_FAILED  Operation failed
+ * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
+ * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
+ *
+ * @pre The remote device must be connected.
+ * @see bt_avrcp_target_connection_state_changed_cb()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_CONTROL_MODULE
+ * @brief  Frees the track metadata.
+ * @since_tizen 3.0
+ * @param[in] track The track metadata.
+ * @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 track should point to valid metadata address.
+ * @see bt_avrcp_control_get_track_info()
+ * @see bt_avrcp_target_initialize()
+ */
+int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief Registers an application that acts as the @a Sink role of HDP(Health Device Profile).
@@ -3241,7 +3690,7 @@ int bt_gatt_characteristic_get_write_type(bt_gatt_h characteristic,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief  Updates the write type of the specified charateristic
+ * @brief  Updates the write type of the specified characteristic
  * @since_tizen 2.3.1
  *
  * @param[in] characteristic The characteristic's GATT handle
@@ -3501,7 +3950,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Connect to a specific LE based service on a remote bluetooth dievice address, asynchronously.
+ * @brief Connect to a specific LE based service on a remote bluetooth device address, asynchronously.
  * @since_tizen 2.3.1
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -3515,7 +3964,7 @@ int bt_gatt_client_foreach_services(bt_gatt_client_h client,
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -3534,7 +3983,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_GATT_MODULE
- * @brief Disconnect to LE connection with the given remote Bluetooth dievice address, asynchronously.
+ * @brief Disconnect to LE connection with the given remote Bluetooth device address, asynchronously.
  * @since_tizen 2.3.1
  * @privlevel public
  * @privilege %http://tizen.org/privilege/bluetooth
@@ -3545,7 +3994,7 @@ int bt_gatt_connect(const char *address, bool auto_connect);
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
  * @retval #BT_ERROR_NOT_ENABLED Not enabled
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_OPERATION_FAILED Operation failed
  * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
@@ -3571,7 +4020,7 @@ int bt_gatt_disconnect(const char *address);
  *
  * @retval #BT_ERROR_NONE  Successful
  * @retval #BT_ERROR_NOT_INITIALIZED  Not initialized
- * @retval #BT_ERROR_INVALID_PARAMETER Invalid paramater
+ * @retval #BT_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
  *
  * @see bt_gatt_connect()
index 9d115b7fa04fb90cedaa3e0da8e7de209429a9f5..f0068a3499a686ae1ba18f062b375a694d7e0771 100644 (file)
@@ -2944,111 +2944,6 @@ int bt_gatt_server_get_service(bt_gatt_server_h server, const char *uuid,
 int bt_gatt_server_foreach_services(bt_gatt_server_h server,
                bt_gatt_foreach_cb callback, void *user_data);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-int bt_avrcp_set_song_position_changed_cb(bt_avrcp_song_position_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the song position is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_song_position_changed_cb()
- */
-int bt_avrcp_unset_song_position_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_set_play_status_changed_cb(bt_avrcp_play_status_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the Play status is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-int bt_avrcp_unset_play_status_changed_cb(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Registers a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-int bt_avrcp_set_track_info_changed_cb(bt_avrcp_track_info_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Unregisters a callback function that will be invoked when the track metadata is changed by the remote target device.
- * @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 service must be initialized by bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_set_track_info_changed_cb()
- */
-int bt_avrcp_unset_track_info_changed_cb(void);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_MODULE
  * @brief  Registers a callback function that will be invoked when the A2DP Source connection state is changed.
@@ -3083,385 +2978,6 @@ int bt_a2dp_source_audio_set_connection_state_changed_cb(bt_audio_connection_sta
  */
 int bt_a2dp_source_audio_unset_connection_state_changed_cb(void);
 
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Initializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @remarks This function must be called before Bluetooth AVRCP service. \n
- * You must free all resources of the this service by calling bt_avrcp_control_deinitialize()
- * if Bluetooth AVRCP service is no longer needed.
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] callback The callback function called when the connection state is changed
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth service must be initialized with bt_initialize().
- * @see bt_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-int bt_avrcp_control_initialize(bt_avrcp_control_connection_state_changed_cb callback, void *user_data);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Deinitializes the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_deinitialize(void);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Connects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- */
-int bt_avrcp_control_connect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Disconnects the Bluetooth AVRCP(Audio/Video Remote Control Profile) service.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @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_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_disconnect(const char *remote_address);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Handle the Bluetooth AVRCP(Audio/Video Remote Control Profile) commands.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] AVRCP Commands Play, Pause, Next, Rewind.
- * @return 0 on success, otherwise a negative error value.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- * @pre The Bluetooth audio service must be initialized with bt_avrcp_control_initialize().
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_connect()
- */
-int bt_avrcp_control_send_player_command(bt_avrcp_player_command_e cmd);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the equalizer change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] state To set the equalizer state ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_equalizer_state(bt_avrcp_equalizer_state_e state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the the equalize state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] equalizer To get the equalizer value ON/OFF
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_equalizer_state(bt_avrcp_equalizer_state_e *state);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the repeat change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_repeat_mode(bt_avrcp_repeat_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the repeat state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the repeat mode OFF, SINGLE, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_repeat_mode(bt_avrcp_repeat_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the shuffle change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_shuffle_mode(bt_avrcp_shuffle_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the shuffle state of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the shuffle mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_shuffle_mode(bt_avrcp_shuffle_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  send the scan mode change to the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To set the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_set_scan_mode(bt_avrcp_scan_mode_e mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the scan mode of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the scan mode OFF, GROUP, ALL
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_scan_mode(bt_avrcp_scan_mode_e *mode);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the song position vale of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the position value in milliseconds
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_position(unsigned int *position);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the play status of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] Mode To get the play status PLAYING, STOPPED...
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_play_status(bt_avrcp_player_state_e *status);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  get the metadata of the remote device.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To get the metadata of track played in remote device.
- * @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_OPERATION_FAILED  Operation failed
- * @retval #BT_ERROR_REMOTE_DEVICE_NOT_CONNECTED  Remote device is not connected
- * @retval #BT_ERROR_PERMISSION_DENIED  Permission denied
- * @retval #BT_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre The remote device must be connected.
- * @see bt_avrcp_target_connection_state_changed_cb()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_get_track_info(bt_avrcp_metadata_attributes_info_s **track);
-
-/**
- * @internal
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  to free the metadata  staructure.
- * @since_tizen 2.4
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/bluetooth.admin
- * @param[in] track To free the memory of metadata structure.
- * @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
- * @pre track should point to valid metadata address.
- * @see bt_avrcp_control_get_track_info()
- * @see bt_avrcp_target_initialize()
- */
-int bt_avrcp_control_free_track_info(bt_avrcp_metadata_attributes_info_s *track);
-
 /**
  * @internal
  * @ingroup CAPI_NETWORK_BLUETOOTH_PAN_NAP_MODULE
index 06baf78f68cc8b744c14ff7cff975fe6bc52e339..4338ad185fc75cf0257d2ca8b69c707eaa5c2632 100644 (file)
@@ -130,10 +130,10 @@ typedef enum {
        BT_ADAPTER_LE_ADVERTISING_FILTER_DEFAULT = 0x00, /**< White list is not in use */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_WL = 0x01, /**< Allow the scan
                                        request that in the White list */
-       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connectoin
+       BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_CONN_WL = 0x02, /**< Allow the connection
                                        request that in the White list */
        BT_ADAPTER_LE_ADVERTISING_FILTER_ALLOW_SCAN_CONN_WL = 0x03, /**< Allow the
-                                       scan and connectoin request that in the White list */
+                                       scan and connection request that in the White list */
 } bt_adapter_le_advertising_filter_policy_e;
 
 /**
@@ -143,7 +143,7 @@ typedef enum {
  */
 typedef enum {
        BT_ADAPTER_LE_PACKET_ADVERTISING, /**< Advertising packet */
-       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Sacn response packet */
+       BT_ADAPTER_LE_PACKET_SCAN_RESPONSE, /**< Scan response packet */
 } bt_adapter_le_packet_type_e;
 
 /**
@@ -166,7 +166,7 @@ typedef enum {
 typedef enum {
        BT_DEVICE_CONNECTION_LINK_BREDR, /**< BR/EDR link */
        BT_DEVICE_CONNECTION_LINK_LE, /**< LE link */
-       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type defualt */
+       BT_DEVICE_CONNECTION_LINK_DEFAULT = 0xFF, /**< The connection type default */
 } bt_device_connection_link_type_e;
 
 /**
@@ -498,6 +498,83 @@ typedef enum {
        BT_AVRCP_PLAYER_STATE_REWIND_SEEK,  /**< Seek Rewind */
 } bt_avrcp_player_state_e;
 
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Enumeration for the player control commands
+ * @since_tizen 3.0
+ */
+typedef enum {
+       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
+       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
+       BT_AVRCP_CONTROL_STOP,   /**< Stop */
+       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
+       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
+       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
+       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
+} bt_avrcp_player_command_e;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief Structure of Track metadata information.
+ * @since_tizen 3.0
+ *
+ * @see #bt_class_s
+ */
+typedef struct {
+       const char *title;   /**< Title */
+       const char *artist;   /**< Artist */
+       const char *album;   /**< Album name */
+       const char *genre;   /**< Album Genre */
+       unsigned int total_tracks;   /**< The total number of tracks */
+       unsigned int number;   /**< Track number */
+       unsigned int duration;   /**< Duration */
+} bt_avrcp_metadata_attributes_info_s;
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the connection state is changed.
+ * @since_tizen 3.0
+ * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
+ * @param[in] remote_address  The remote address
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_control_initialize()
+ * @see bt_avrcp_control_deinitialize()
+ */
+typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song position mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] position Playback position in milliseconds. When position is 0 it means the track is starting and when it's greater than or equal to track's duration the track has ended.
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_position_changed_cb()
+ * @see bt_avrcp_unset_position_changed_cb()
+ */
+typedef void (*bt_avrcp_position_changed_cb) (unsigned int position, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song metadata information is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] track The song metadata information
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_track_info_changed_cb()
+ * @see bt_avrcp_unset_track_info_changed_cb()
+ */
+typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
+
+/**
+ * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
+ * @brief  Called when the Song Play status mode is changed by the remote target device.
+ * @since_tizen 3.0
+ * @param[in] play_state The song play status
+ * @param[in] user_data The user data passed from the callback registration function
+ * @see bt_avrcp_set_play_status_changed_cb()
+ * @see bt_avrcp_unset_play_status_changed_cb()
+ */
+typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
+
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_HDP_MODULE
  * @brief  Enumerations for the data channel type
@@ -1033,7 +1110,7 @@ typedef void (*bt_socket_data_received_cb)(bt_socket_received_data_s *data, void
  * @param[in] connection The connection information which is established or disconnected
  * @param[in] user_data The user data passed from the callback registration function
  * @pre Either bt_socket_connect_rfcomm() will invoke this function.
- * In addtion, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
+ * In addition, bt_socket_connection_state_changed_cb() will be invoked when the socket connection state is changed.
  * @see bt_socket_listen_and_accept_rfcomm()
  * @see bt_socket_connect_rfcomm()
  * @see bt_socket_set_connection_state_changed_cb()
@@ -1071,7 +1148,7 @@ typedef void (*bt_opp_server_connection_requested_cb)(const char *remote_address
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_SERVER_MODULE
- * @brief  Called when a file is being transfered.
+ * @brief  Called when a file is being transferred.
  * @since_tizen 2.3.1
  *
  * @param[in] file  The path of file to be pushed
@@ -1112,12 +1189,12 @@ typedef void (*bt_opp_client_push_responded_cb)(int result, const char *remote_a
 
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_OPP_CLIENT_MODULE
- * @brief  Called when each file is being transfered.
+ * @brief  Called when each file is being transferred.
  * @since_tizen 2.3.1
  *
  * @param[in] file  The path of file to be pushed
  * @param[in] size The file size (bytes)
- * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transfered completely.
+ * @param[in] percent The progress in percentage (1 ~ 100). 100 means that a file is transferred completely.
  * @param[in] user_data The user data passed from the callback registration function
  * @pre bt_opp_client_push_files() will invoke this function.
  * @see bt_opp_client_push_files()
@@ -1479,7 +1556,7 @@ typedef enum {
        BT_HID_HANDSHAKE_ERR_INVALID_REPORT_ID, /**< Handshake error code send invalid report id */
        BT_HID_HANDSHAKE_ERR_UNSUPPORTED_REQUEST, /**< Handshake error code request unsupported request */
        BT_HID_HANDSHAKE_ERR_INVALID_PARAMETER, /**< Handshake error code received invalid parameter */
-       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unkown error */
+       BT_HID_HANDSHAKE_ERR_UNKNOWN = 0x0e, /**< unknown error */
        BT_HID_HANDSHAKE_ERR_FATAL /**< Fatal error */
 } bluetooth_hid_handshake_type_t;
 
index c4b19500278fcc4405a289b1baa1fe8afd2370e0..d6232df636135d56bf25815cb2fe53f6a14037d2 100644 (file)
@@ -286,86 +286,6 @@ typedef enum {
        BT_PBAP_APP_PARAM_ORDER_PHONETIC, /**< Filter Order Phonetic*/
 } bt_pbap_filter_sort_order_e;
 
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Enumerations for the player control command
- * @since_tizen 2.3
- */
-typedef enum {
-       BT_AVRCP_CONTROL_PLAY = 0x01,   /**< Play */
-       BT_AVRCP_CONTROL_PAUSE,   /**< Pause */
-       BT_AVRCP_CONTROL_STOP,   /**< Stop */
-       BT_AVRCP_CONTROL_NEXT,   /**< Next Track*/
-       BT_AVRCP_CONTROL_PREVIOUS,   /**< Previous track */
-       BT_AVRCP_CONTROL_FAST_FORWARD,   /**< Fast Forward */
-       BT_AVRCP_CONTROL_REWIND   /**< Rewind */
-} bt_avrcp_player_command_e;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief Structure of Track metadata information.
- * @since_tizen 2.3
- *
- * @see #bt_class_s
- */
-typedef struct {
-       const char *title;
-       const char *artist;
-       const char *album;
-       const char *genre;
-       unsigned int total_tracks;
-       unsigned int number;
-       unsigned int duration;
-} bt_avrcp_metadata_attributes_info_s;
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the connection state is changed.
- * @since_tizen 2.3
- * @param[in] connected  The state to be changed. @a true means connected state, Otherwise, @a false.
- * @param[in] remote_address  The remote address
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_control_initialize()
- * @see bt_avrcp_control_deinitialize()
- */
-typedef void (*bt_avrcp_control_connection_state_changed_cb) (bool connected, const char *remote_address, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song position mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song position
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_song_position_changed_cb()
- * @see bt_avrcp_unset_song_position_changed_cb()
- */
-typedef void (*bt_avrcp_song_position_changed_cb) (unsigned int position, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song metadata information is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] position The song metadata information
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_track_info_changed_cb()
- * @see bt_avrcp_unset_track_info_changed_cb()
- */
-typedef void (*bt_avrcp_track_info_changed_cb) (bt_avrcp_metadata_attributes_info_s *track, void *user_data);
-
-/**
- * @ingroup CAPI_NETWORK_BLUETOOTH_AVRCP_MODULE
- * @brief  Called when the Song Play status mode is changed by the remote target device.
- * @since_tizen 2.3
- *
- * @param[in] play_state The song play status
- * @param[in] user_data The user data passed from the callback registration function
- * @see bt_avrcp_set_play_status_changed_cb()
- * @see bt_avrcp_unset_play_status_changed_cb()
- */
-typedef void (*bt_avrcp_play_status_changed_cb) (bt_avrcp_player_state_e play_state, void *user_data);
-
 /**
  * @ingroup CAPI_NETWORK_BLUETOOTH_AUDIO_HF_MODULE
  * @brief  HF Call status information.
index dc022ffb0acbae9469e933c97b1516b9126a858c..3ede038d7a75e5aeaea29daa8398cce15e968a89 100644 (file)
@@ -628,7 +628,7 @@ int bt_avrcp_unset_scan_mode_changed_cb(void)
 }
 
 /* LCOV_EXCL_START */
-int bt_avrcp_set_song_position_changed_cb(bt_avrcp_song_position_changed_cb callback, void *user_data)
+int bt_avrcp_set_position_changed_cb(bt_avrcp_position_changed_cb callback, void *user_data)
 {
        BT_CHECK_AVRCP_SUPPORT();
        BT_CHECK_INIT_STATUS();
@@ -637,7 +637,7 @@ int bt_avrcp_set_song_position_changed_cb(bt_avrcp_song_position_changed_cb call
        return BT_ERROR_NONE;
 }
 
-int bt_avrcp_unset_song_position_changed_cb(void)
+int bt_avrcp_unset_position_changed_cb(void)
 {
        BT_CHECK_AVRCP_SUPPORT();
        BT_CHECK_INIT_STATUS();
index 968e0429bc301e4cdefbcda86ab2020d7badddb6..12ff3253c3b9d8b1847485f6bdc15621d4d01fa0 100644 (file)
@@ -1209,7 +1209,7 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
                        free(device_addr);
                break;
        case BLUETOOTH_EVENT_HDP_DATA_RECEIVED:
-               BT_INFO("HDP data recieved callback will be ");
+               BT_INFO("HDP data received callback will be ");
                hdp_data_ind = (bt_hdp_data_ind_t *)(param->param_data);
                if (param->result != BLUETOOTH_ERROR_NONE)
                        BT_ERR("Fail to receive HDP data");
@@ -1442,7 +1442,7 @@ static void __bt_event_proxy(int event, bluetooth_event_param_t *param, void *us
        case BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS:
                BT_INFO("BLUETOOTH_EVENT_AVRCP_SONG_POSITION_STATUS ");
                unsigned int *postion = (unsigned int *)(param->param_data);
-               ((bt_avrcp_song_position_changed_cb)bt_event_slot_container[event_index].callback)
+               ((bt_avrcp_position_changed_cb)bt_event_slot_container[event_index].callback)
                (*postion, bt_event_slot_container[event_index].user_data);
                break;
        case BLUETOOTH_EVENT_AVRCP_TRACK_CHANGED:
index 891fcfb2ba0f0dc627b9eba15fa4208bfc449636..70a63fc44af439e00311fdb64b931646953bee1b 100644 (file)
@@ -722,13 +722,13 @@ tc_table_t tc_avrcp[] = {
                , BT_UNIT_TEST_FUNCTION_AVRCP_CONTROL_GET_PLAY_STATUS},
        {"bt_avrcp_control_player_GET_TRACK_INFO"
                , BT_UNIT_TEST_FUNCTION_AVRCP_CONTROL_GET_TRACK_INFO},
-       {"bt_avrcp_set_song_position_changed_cb"
+       {"bt_avrcp_set_position_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AVRCP_SET_SONG_POSITION_CHANGED_CB},
        {"bt_avrcp_set_play_status_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AVRCP_SET_PLAY_STATE_CHANGED_CB},
        {"bt_avrcp_set_track_info_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AVRCP_SET_TRACK_INFO_CHANGED_CB},
-       {"bt_avrcp_unset_song_position_changed_cb"
+       {"bt_avrcp_unset_position_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AVRCP_UNSET_SONG_POSITION_CHANGED_CB},
        {"bt_avrcp_unset_play_status_changed_cb"
                , BT_UNIT_TEST_FUNCTION_AVRCP_UNSET_PLAY_STATE_CHANGED_CB},
@@ -1626,7 +1626,7 @@ static void __bt_socket_data_received_cb(bt_socket_received_data_s *data,
        TC_PRT("+");
 
        if (data == NULL) {
-               TC_PRT("No recieved data!");
+               TC_PRT("No received data!");
                return;
        }
 
@@ -7147,7 +7147,7 @@ int test_input_callback(void *data)
                        }
 
                case BT_UNIT_TEST_FUNCTION_AVRCP_SET_SONG_POSITION_CHANGED_CB:
-                       ret = bt_avrcp_set_song_position_changed_cb(
+                       ret = bt_avrcp_set_position_changed_cb(
                                        __bt_avrcp_song_position_changed_cb,
                                        NULL);
                        TC_PRT("returns %s\n", __bt_get_error_message(ret));
@@ -7168,7 +7168,7 @@ int test_input_callback(void *data)
                        break;
 
                case BT_UNIT_TEST_FUNCTION_AVRCP_UNSET_SONG_POSITION_CHANGED_CB:
-                       ret = bt_avrcp_unset_song_position_changed_cb();
+                       ret = bt_avrcp_unset_position_changed_cb();
                        TC_PRT("returns %s\n", __bt_get_error_message(ret));
                        break;