#ifndef __A2DP_SOURCE_CTRL__
|
#define __A2DP_SOURCE_CTRL__
|
|
#include "../gdbus/gdbus.h"
|
#include "RkBtBase.h"
|
#include "RkBle.h"
|
#include "RkBtSource.h"
|
|
#ifdef __cplusplus
|
extern "C" {
|
#endif
|
|
#define DEV_PLATFORM_UNKNOWN 0 /* unknown platform */
|
#define DEV_PLATFORM_IOS 1 /* Apple iOS */
|
#define IOS_VENDOR_SOURCE_BT 76 /* Bluetooth SIG, apple id = 0x4c */
|
#define IOS_VENDOR_SOURCE_USB 1452 /* USB Implementer's Forum, apple id = 0x05ac */
|
|
typedef enum _bt_devices_type {
|
BT_DEVICES_A2DP_SINK,
|
BT_DEVICES_A2DP_SOURCE,
|
BT_DEVICES_BLE,
|
BT_DEVICES_HFP,
|
BT_DEVICES_SPP,
|
} BtDeviceType;
|
|
void bt_register_state_callback(RK_BT_STATE_CALLBACK cb);
|
void bt_deregister_state_callback();
|
void bt_register_bond_callback(RK_BT_BOND_CALLBACK cb);
|
void bt_deregister_bond_callback();
|
void bt_register_discovery_callback(RK_BT_DISCOVERY_CALLBACK cb);
|
void bt_deregister_discovery_callback();
|
void bt_register_dev_found_callback(RK_BT_DEV_FOUND_CALLBACK cb);
|
void bt_deregister_dev_found_callback();
|
void ble_register_state_callback(RK_BLE_STATE_CALLBACK cb);
|
void ble_deregister_state_callback();
|
void a2dp_master_register_cb(void *userdata, RK_BT_SOURCE_CALLBACK cb);
|
void a2dp_master_deregister_cb();
|
void bt_register_name_change_callback(RK_BT_NAME_CHANGE_CALLBACK cb);
|
void bt_deregister_name_change_callback();
|
void ble_register_mtu_callback(RK_BT_MTU_CALLBACK cb);
|
void ble_deregister_mtu_callback();
|
|
void bt_state_send(RK_BT_STATE state);
|
void ble_state_send(RK_BLE_STATE status);
|
void ble_get_state(RK_BLE_STATE *p_state);
|
int bt_open(RkBtContent *bt_content);
|
void bt_close();
|
int a2dp_master_scan(void *data, int len, RK_BT_SCAN_TYPE scan_type);
|
int a2dp_master_connect(char *address);
|
int a2dp_master_status(char *addr_buf, int addr_len, char *name_buf, int name_len);
|
int remove_by_address(char *address);
|
void a2dp_master_event_send(RK_BT_SOURCE_EVENT event, char *dev_addr, char *dev_name);
|
int reconn_last_devices(BtDeviceType type);
|
int disconnect_current_devices();
|
int get_dev_platform(char *address);
|
int get_current_dev_platform();
|
int connect_by_address(char *addr);
|
int disconnect_by_address(char *addr);
|
int pair_by_addr(char *addr);
|
int unpair_by_addr(char *addr);
|
int bt_set_device_name(char *name);
|
int bt_get_device_name(char *name_buf, int name_len);
|
int bt_get_device_addr(char *addr_buf, int addr_len);
|
int bt_get_default_dev_addr(char *addr_buf, int addr_len);
|
void bt_display_devices();
|
void bt_display_paired_devices();
|
int bt_start_discovery(unsigned int mseconds, RK_BT_SCAN_TYPE scan_type);
|
int bt_cancel_discovery(RK_BT_DISCOVERY_STATE state);
|
int bt_get_scaned_devices(RkBtScanedDevice **dev_list, int *count, bool paired);
|
int bt_free_scaned_devices(RkBtScanedDevice *dev_list);
|
bool bt_is_discovering();
|
bool bt_is_scaning();
|
bool bt_is_connected();
|
int ble_disconnect(void);
|
void ble_clean(void);
|
int remove_ble_device();
|
RK_BT_PLAYROLE_TYPE bt_get_playrole_by_addr(char *addr);
|
void dev_found_send(GDBusProxy *proxy, RK_BT_DEV_FOUND_CALLBACK cb);
|
struct GDBusProxy *find_device_by_address(char *address);
|
void set_default_attribute(GDBusProxy *proxy);
|
void source_set_reconnect_tag(bool reconnect);
|
void source_stop_connecting();
|
bool get_device_connected_properties(char *addr);
|
int a2dp_master_save_status(char *address);
|
int bt_get_device_name_by_proxy(GDBusProxy *proxy, char *name_buf, int name_len);
|
int bt_get_device_addr_by_proxy(GDBusProxy *proxy, char *addr_buf, int addr_len);
|
int bt_get_eir_data(char *address, char *eir_data, int eir_len);
|
|
#ifdef __cplusplus
|
}
|
#endif
|
|
#endif /* __A2DP_SOURCE_CTRL__ */
|