1 /****************************************************************************** 2 * 3 * Copyright 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 "avct_api.h" 30 #include "avdt_api.h" 31 #include "avrc_api.h" 32 #include "bta_av_api.h" 33 #include "bta_sys.h" 34 #include "sdp_api.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 ******************************************************************************/ 52 extern 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 ******************************************************************************/ 63 extern void bta_ar_reg_avdt(AvdtpRcb* p_reg, tAVDT_CTRL_CBACK* p_cback, 64 tBTA_SYS_ID sys_id); 65 66 /******************************************************************************* 67 * 68 * Function bta_ar_dereg_avdt 69 * 70 * Description This function is called to de-register from AVDTP. 71 * 72 * Returns void 73 * 74 ******************************************************************************/ 75 extern void bta_ar_dereg_avdt(tBTA_SYS_ID sys_id); 76 77 /******************************************************************************* 78 * 79 * Function bta_ar_avdt_conn 80 * 81 * Description This function is called to let ar know that some AVDTP 82 * profile is connected for this sys_id. 83 * If the other sys modules started a timer for PENDING_EVT, 84 * the timer can be stopped now. 85 * 86 * Returns void 87 * 88 ******************************************************************************/ 89 extern void bta_ar_avdt_conn(tBTA_SYS_ID sys_id, const RawAddress& bd_addr, 90 uint8_t scb_index); 91 92 /******************************************************************************* 93 * 94 * Function bta_ar_reg_avct 95 * 96 * Description This function is called to register to AVCTP. 97 * 98 * Returns void 99 * 100 ******************************************************************************/ 101 extern void bta_ar_reg_avct(uint16_t mtu, uint16_t mtu_br, uint8_t sec_mask, 102 tBTA_SYS_ID sys_id); 103 104 /******************************************************************************* 105 * 106 * Function bta_ar_dereg_avct 107 * 108 * Description This function is called to deregister from AVCTP. 109 * 110 * Returns void 111 * 112 ******************************************************************************/ 113 extern void bta_ar_dereg_avct(tBTA_SYS_ID sys_id); 114 115 /****************************************************************************** 116 * 117 * Function bta_ar_reg_avrc 118 * 119 * Description This function is called to register an SDP record for AVRCP. 120 * 121 * Returns void 122 * 123 *****************************************************************************/ 124 extern void bta_ar_reg_avrc(uint16_t service_uuid, const char* p_service_name, 125 const char* p_provider_name, uint16_t categories, 126 tBTA_SYS_ID sys_id, bool browse_supported, 127 uint16_t profile_version); 128 129 /****************************************************************************** 130 * 131 * Function bta_ar_dereg_avrc 132 * 133 * Description This function is called to de-register/delete an SDP record 134 * for AVRCP. 135 * 136 * Returns void 137 * 138 *****************************************************************************/ 139 extern void bta_ar_dereg_avrc(uint16_t service_uuid, tBTA_SYS_ID sys_id); 140 141 #endif /* BTA_AR_API_H */ 142