Home | History | Annotate | Download | only in include
      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