90 lines
3.3 KiB
C
90 lines
3.3 KiB
C
|
|
#ifndef _BLE_AUDIO_GROUP_H_
|
||
|
|
#define _BLE_AUDIO_GROUP_H_
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif /* __cplusplus */
|
||
|
|
|
||
|
|
#include "gap.h"
|
||
|
|
#include "gap_msg.h"
|
||
|
|
|
||
|
|
typedef void *T_BLE_AUDIO_GROUP_HANDLE;
|
||
|
|
typedef void *T_BLE_AUDIO_DEV_HANDLE;
|
||
|
|
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
AUDIO_GROUP_MSG_BAP_STATE = 0x01,
|
||
|
|
AUDIO_GROUP_MSG_BAP_SESSION_REMOVE = 0x02,
|
||
|
|
AUDIO_GROUP_MSG_BAP_START_QOS_CFG = 0x04,
|
||
|
|
AUDIO_GROUP_MSG_BAP_CREATE_CIS = 0x05,
|
||
|
|
AUDIO_GROUP_MSG_BAP_START_METADATA_CFG = 0x06,
|
||
|
|
AUDIO_GROUP_MSG_BAP_SETUP_DATA_PATH = 0x07,
|
||
|
|
AUDIO_GROUP_MSG_BAP_REMOVE_DATA_PATH = 0x08,
|
||
|
|
AUDIO_GROUP_MSG_BAP_METADATA_UPDATE = 0x09,
|
||
|
|
AUDIO_GROUP_MSG_BAP_CIS_DISCONN = 0x0A,
|
||
|
|
|
||
|
|
AUDIO_GROUP_MSG_DEV_CONN = 0x20,
|
||
|
|
AUDIO_GROUP_MSG_DEV_DISCONN = 0x21,
|
||
|
|
} T_AUDIO_GROUP_MSG;
|
||
|
|
|
||
|
|
//AUDIO_GROUP_MSG_DEV_CONN
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE dev_handle;
|
||
|
|
} T_AUDIO_GROUP_MSG_DEV_CONN;
|
||
|
|
|
||
|
|
//AUDIO_GROUP_MSG_DEV_DISCONN
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE dev_handle;
|
||
|
|
uint16_t cause;
|
||
|
|
} T_AUDIO_GROUP_MSG_DEV_DISCONN;
|
||
|
|
|
||
|
|
#if 0
|
||
|
|
typedef enum
|
||
|
|
{
|
||
|
|
AUDIO_GROUP_RESULT_SUCCESS,
|
||
|
|
AUDIO_GROUP_RESULT_FAILED,
|
||
|
|
AUDIO_GROUP_RESULT_TIMEOUT_FAILED,
|
||
|
|
AUDIO_GROUP_RESULT_TIMEOUT_PARTIAL_SUCCESS,
|
||
|
|
} T_AUDIO_GROUP_RESULT;
|
||
|
|
#endif
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
bool is_used;
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE dev_handle;
|
||
|
|
T_GAP_CONN_STATE conn_state;
|
||
|
|
T_GAP_REMOTE_ADDR_TYPE addr_type;
|
||
|
|
uint8_t bd_addr[6];
|
||
|
|
} T_AUDIO_DEV_INFO;
|
||
|
|
|
||
|
|
typedef T_APP_RESULT(*P_FUN_AUDIO_GROUP_CB)(T_AUDIO_GROUP_MSG msg, T_BLE_AUDIO_GROUP_HANDLE handle,
|
||
|
|
void *buf);
|
||
|
|
|
||
|
|
T_BLE_AUDIO_GROUP_HANDLE ble_audio_group_allocate(void);
|
||
|
|
bool ble_audio_group_reg_cb(T_BLE_AUDIO_GROUP_HANDLE group_handle, P_FUN_AUDIO_GROUP_CB p_fun_cb);
|
||
|
|
bool ble_audio_group_release(T_BLE_AUDIO_GROUP_HANDLE group_handle);
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE ble_audio_group_add_dev(T_BLE_AUDIO_GROUP_HANDLE group_handle,
|
||
|
|
uint8_t *p_bd_addr, uint8_t addr_type);
|
||
|
|
bool ble_audio_group_remove_dev(T_BLE_AUDIO_GROUP_HANDLE group_handle,
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE dev_handle);
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE ble_audio_group_find_dev(T_BLE_AUDIO_GROUP_HANDLE group_handle,
|
||
|
|
uint8_t *bd_addr, uint8_t addr_type);
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE ble_audio_group_find_dev_by_conn_handle(T_BLE_AUDIO_GROUP_HANDLE
|
||
|
|
group_handle,
|
||
|
|
uint16_t conn_handle);
|
||
|
|
bool ble_audio_group_get_dev_info(T_BLE_AUDIO_GROUP_HANDLE group_handle,
|
||
|
|
T_BLE_AUDIO_DEV_HANDLE dev_handle,
|
||
|
|
T_AUDIO_DEV_INFO *p_info);
|
||
|
|
uint8_t ble_audio_group_get_used_dev_num(T_BLE_AUDIO_GROUP_HANDLE group_handle);
|
||
|
|
uint8_t ble_audio_group_get_dev_num(T_BLE_AUDIO_GROUP_HANDLE group_handle);
|
||
|
|
bool ble_audio_group_get_info(T_BLE_AUDIO_GROUP_HANDLE group_handle, uint8_t *p_dev_num,
|
||
|
|
T_AUDIO_DEV_INFO *p_dev_tbl);
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif /* __cplusplus */
|
||
|
|
|
||
|
|
#endif
|