diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2014-02-19 18:58:50 +0200 |
---|---|---|
committer | Szymon Janc <szymon.janc@gmail.com> | 2014-02-19 19:17:15 +0100 |
commit | d4b59ee629c0eaa339d5def4f3e0826720449813 (patch) | |
tree | ba1e3f452050ea844b57925741e3aa323a729499 /android/hal-avrcp.c | |
parent | 5aa5117647fc4bea877079bdbafb0044c8c3c74a (diff) | |
download | bluez-d4b59ee629c0eaa339d5def4f3e0826720449813.tar.gz |
android/hal-avrcp: Add .list_player_app_value_rsp implementation
Diffstat (limited to 'android/hal-avrcp.c')
-rw-r--r-- | android/hal-avrcp.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/android/hal-avrcp.c b/android/hal-avrcp.c index 9735c2278..42b1dad7e 100644 --- a/android/hal-avrcp.c +++ b/android/hal-avrcp.c @@ -102,6 +102,33 @@ static bt_status_t list_player_app_attr_rsp(int num_attr, len, cmd, 0, NULL, NULL); } +static bt_status_t list_player_app_value_rsp(int num_val, uint8_t *p_vals) +{ + char buf[BLUEZ_HAL_MTU]; + struct hal_cmd_avrcp_list_player_values *cmd = (void *) buf; + size_t len; + + DBG(""); + + if (!interface_ready()) + return BT_STATUS_NOT_READY; + + if (num_val < 0) + return BT_STATUS_PARM_INVALID; + + len = sizeof(*cmd) + num_val; + + if (len > BLUEZ_HAL_MTU) + return BT_STATUS_PARM_INVALID; + + cmd->number = num_val; + memcpy(cmd->values, p_vals, num_val); + + return hal_ipc_cmd(HAL_SERVICE_ID_AVRCP, + HAL_OP_AVRCP_LIST_PLAYER_VALUES, + len, cmd, 0, NULL, NULL); +} + static void cleanup() { struct hal_cmd_unregister_module cmd; @@ -126,6 +153,7 @@ static btrc_interface_t iface = { .init = init, .get_play_status_rsp = get_play_status_rsp, .list_player_app_attr_rsp = list_player_app_attr_rsp, + .list_player_app_value_rsp = list_player_app_value_rsp, .cleanup = cleanup }; |