15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 2004-2012 Broadcom Corporation
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  This is the public interface file for the simulatenous advanced
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  audio/video streaming (AV) source and sink of BTA, Broadcom's Bluetooth
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  application layer for mobile phones.
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef BTA_AR_API_H
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define BTA_AR_API_H
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avct_api.h"
30cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson#include "avdt_api.h"
315738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "avrc_api.h"
325738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_av_api.h"
335738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#include "bta_sys.h"
34cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson#include "sdp_api.h"
355738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*****************************************************************************
378af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *  Constants and data types
388af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ****************************************************************************/
395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* This event signal to AR user that other profile is connected */
40cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson#define BTA_AR_AVDT_CONN_EVT (AVDT_MAX_EVT + 1)
415738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
425738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
438af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
448af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_init
458af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
468af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called from bta_sys_init().
478af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *                  to initialize the control block
488af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
498af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
508af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
518af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_ar_init(void);
535738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
545738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
558af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
568af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_reg_avdt
578af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
588af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called to register to AVDTP.
598af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
608af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
618af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
628af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
63cd1fd07f1306e08fe048682dd5918987e579f937Myles Watsonextern void bta_ar_reg_avdt(tAVDT_REG* p_reg, tAVDT_CTRL_CBACK* p_cback,
64cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson                            tBTA_SYS_ID sys_id);
655738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
665738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
678af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
688af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_dereg_avdt
698af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
708af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called to de-register from AVDTP.
718af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
728af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
738af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
748af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
755738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_ar_dereg_avdt(tBTA_SYS_ID sys_id);
765738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
775738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
788af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
798af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_avdt_conn
808af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
81cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson * Description      This function is called to let ar know that some AVDTP
821baaae3f34a667058e7f0c5f778357d98320cf38Myles Watson *                  profile is connected for this sys_id.
838af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *                  If the other sys modules started a timer for PENDING_EVT,
848af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *                  the timer can be stopped now.
858af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
868af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
878af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
888af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
899e030fde05352ec4385d7baf6cc2af89e95e039cJakub Pawlowskiextern void bta_ar_avdt_conn(tBTA_SYS_ID sys_id, const RawAddress& bd_addr);
905738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
928af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
938af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_reg_avct
948af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
958af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called to register to AVCTP.
968af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
978af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
988af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
998af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
100cd1fd07f1306e08fe048682dd5918987e579f937Myles Watsonextern void bta_ar_reg_avct(uint16_t mtu, uint16_t mtu_br, uint8_t sec_mask,
101cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson                            tBTA_SYS_ID sys_id);
1025738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1035738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/*******************************************************************************
1048af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1058af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_dereg_avct
1068af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1078af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called to deregister from AVCTP.
1088af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1098af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
1108af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1118af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson ******************************************************************************/
1125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Projectextern void bta_ar_dereg_avct(tBTA_SYS_ID sys_id);
1135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1158af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1168af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_reg_avrc
1178af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1188af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Description      This function is called to register an SDP record for AVRCP.
1198af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1208af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
1218af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1228af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *****************************************************************************/
123cd1fd07f1306e08fe048682dd5918987e579f937Myles Watsonextern void bta_ar_reg_avrc(uint16_t service_uuid, const char* p_service_name,
124cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson                            const char* p_provider_name, uint16_t categories,
125cc26bfcba0d5cc2473b34dc1b51913995e2db67ePavlin Radoslavov                            tBTA_SYS_ID sys_id, bool browse_supported,
126cc26bfcba0d5cc2473b34dc1b51913995e2db67ePavlin Radoslavov                            uint16_t profile_version);
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
1298af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1308af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Function         bta_ar_dereg_avrc
1318af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
132cd1fd07f1306e08fe048682dd5918987e579f937Myles Watson * Description      This function is called to de-register/delete an SDP record
1331baaae3f34a667058e7f0c5f778357d98320cf38Myles Watson *                  for AVRCP.
1348af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1358af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson * Returns          void
1368af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *
1378af480e24549ba51a3f6858d9d9af504715e0beaMyles Watson *****************************************************************************/
138e9e58ced195ec2c983c7723c9cbdabd45eb0f2fdMarie Janssenextern void bta_ar_dereg_avrc(uint16_t service_uuid, tBTA_SYS_ID sys_id);
1395738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1405738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif /* BTA_AR_API_H */
141