Implement set / get volume logic from transport
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / bluez_hal / src / bt-hal-avrcp-tg.c
index ce19459..ce46fb4 100644 (file)
@@ -32,6 +32,7 @@
 
 #include "bt-hal-event-receiver.h"
 #include "bt-hal-avrcp-tg-dbus-handler.h"
+#include "bt-hal-avrcp-transport-dbus-handler.h"
 
 static const btrc_callbacks_t *bt_hal_avrcp_tg_cbacks;
 
@@ -133,9 +134,22 @@ bt_status_t register_notification_rsp(btrc_event_id_t event_id,
        return BT_STATUS_SUCCESS;
 }
 
-bt_status_t set_volume(uint8_t volume)
+bt_status_t set_volume(bt_bdaddr_t *bd_addr, uint32_t volume)
 {
-       return BT_STATUS_UNSUPPORTED;
+       int ret = BT_STATUS_SUCCESS;
+
+       ret = _bt_hal_dbus_handler_avrcp_transport_set_property(bd_addr, BTRC_TRANSPORT_ATTR_VOLUME, volume);
+
+       return ret;
+}
+
+bt_status_t get_volume(bt_bdaddr_t *bd_addr, uint32_t *volume)
+{
+       int ret = BT_STATUS_SUCCESS;
+
+       ret = _bt_hal_dbus_handler_avrcp_transport_get_property(bd_addr, BTRC_TRANSPORT_ATTR_VOLUME, volume);
+
+       return ret;
 }
 
 bt_status_t set_addressed_player_rsp(bt_bdaddr_t *bd_addr, btrc_status_t rsp_status)
@@ -368,6 +382,7 @@ static btrc_interface_t avrcp_tg_if = {
        .set_player_app_value_rsp = set_player_app_value_rsp,
        .register_notification_rsp = register_notification_rsp,
        .set_volume = set_volume,
+       .get_volume = get_volume,
        .set_addressed_player_rsp = set_addressed_player_rsp,
        .set_browsed_player_rsp = set_browsed_player_rsp,
        .get_folder_items_list_rsp = get_folder_items_list_rsp,