1/******************************************************************************
2 *
3 *  Copyright (C) 2004-2012 Broadcom Corporation
4 *
5 *  Licensed under the Apache License, Version 2.0 (the "License");
6 *  you may not use this file except in compliance with the License.
7 *  You may obtain a copy of the License at:
8 *
9 *  http://www.apache.org/licenses/LICENSE-2.0
10 *
11 *  Unless required by applicable law or agreed to in writing, software
12 *  distributed under the License is distributed on an "AS IS" BASIS,
13 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 *  See the License for the specific language governing permissions and
15 *  limitations under the License.
16 *
17 ******************************************************************************/
18
19/******************************************************************************
20 *
21 *  This is the public interface file for the simulatenous advanced
22 *  audio/video streaming (AV) source and sink of BTA, Broadcom's Bluetooth
23 *  application layer for mobile phones.
24 *
25 ******************************************************************************/
26#ifndef BTA_AR_API_H
27#define BTA_AR_API_H
28
29#include "avdt_api.h"
30#include "avct_api.h"
31#include "avrc_api.h"
32#include "sdp_api.h"
33#include "bta_av_api.h"
34#include "bta_sys.h"
35
36/*****************************************************************************
37**  Constants and data types
38*****************************************************************************/
39/* This event signal to AR user that other profile is connected */
40#define BTA_AR_AVDT_CONN_EVT    (AVDT_MAX_EVT + 1)
41
42/*******************************************************************************
43**
44** Function         bta_ar_init
45**
46** Description      This function is called from bta_sys_init().
47**                  to initialize the control block
48**
49** Returns          void
50**
51*******************************************************************************/
52extern void bta_ar_init(void);
53
54/*******************************************************************************
55**
56** Function         bta_ar_reg_avdt
57**
58** Description      This function is called to register to AVDTP.
59**
60** Returns          void
61**
62*******************************************************************************/
63extern void bta_ar_reg_avdt(tAVDT_REG *p_reg, tAVDT_CTRL_CBACK *p_cback, tBTA_SYS_ID sys_id);
64
65/*******************************************************************************
66**
67** Function         bta_ar_dereg_avdt
68**
69** Description      This function is called to de-register from AVDTP.
70**
71** Returns          void
72**
73*******************************************************************************/
74extern void bta_ar_dereg_avdt(tBTA_SYS_ID sys_id);
75
76/*******************************************************************************
77**
78** Function         bta_ar_avdt_conn
79**
80** Description      This function is called to let ar know that some AVDTP profile
81**                  is connected for this sys_id.
82**                  If the other sys modules started a timer for PENDING_EVT,
83**                  the timer can be stopped now.
84**
85** Returns          void
86**
87*******************************************************************************/
88extern void bta_ar_avdt_conn(tBTA_SYS_ID sys_id, BD_ADDR bd_addr);
89
90/*******************************************************************************
91**
92** Function         bta_ar_reg_avct
93**
94** Description      This function is called to register to AVCTP.
95**
96** Returns          void
97**
98*******************************************************************************/
99extern void bta_ar_reg_avct(UINT16 mtu, UINT16 mtu_br, UINT8 sec_mask, tBTA_SYS_ID sys_id);
100
101/*******************************************************************************
102**
103** Function         bta_ar_dereg_avct
104**
105** Description      This function is called to deregister from AVCTP.
106**
107** Returns          void
108**
109*******************************************************************************/
110extern void bta_ar_dereg_avct(tBTA_SYS_ID sys_id);
111
112/******************************************************************************
113**
114** Function         bta_ar_reg_avrc
115**
116** Description      This function is called to register an SDP record for AVRCP.
117**
118** Returns          void
119**
120******************************************************************************/
121extern void bta_ar_reg_avrc(UINT16 service_uuid, char *p_service_name,
122							 char *p_provider_name, UINT16 categories, tBTA_SYS_ID sys_id);
123
124/******************************************************************************
125**
126** Function         bta_ar_dereg_avrc
127**
128** Description      This function is called to de-register/delete an SDP record for AVRCP.
129**
130** Returns          void
131**
132******************************************************************************/
133extern void bta_ar_dereg_avrc(UINT16 service_uuid, tBTA_SYS_ID sys_id);
134
135
136#ifdef __cplusplus
137}
138#endif
139
140#endif /* BTA_AR_API_H */
141