跳转至

pbap

PBAP (Phone Book Access Profile) 提供蓝牙电话薄访问功能,支持连接远端设备的电话薄服务、下载电话薄数据和通话记录数据。

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

接口清单

接口名称 功能简述
bs_br_phone_book_connect 连接电话薄
bs_br_phone_book_disconnect 断连电话薄
bs_br_pull_phone_book 下载电话薄
bs_br_pull_call_log 下载通话记录
bs_br_phone_book_register_callbacks 注册电话薄回调
bs_br_phone_book_unregister_callbacks 去注册电话薄回调

Functions

bs_br_phone_book_connect

errcode_t bs_br_phone_book_connect(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 连接远端设备的电话薄服务
  • 建立本端与远端设备之间的PBAP连接
  • 连接结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 远端设备ID 0 ~ 65535

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 连接请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_phone_book_disconnect

errcode_t bs_br_phone_book_disconnect(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 断开与远端设备的电话薄连接
  • 释放本端与远端设备之间的PBAP连接资源
  • 断连结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 远端设备ID 0 ~ 65535

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 断连请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_pull_phone_book

errcode_t bs_br_pull_phone_book(uint16_t dev_id, bs_br_phone_book_vcard_version_t version)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 从远端设备下载电话薄数据
  • 支持指定vCard版本进行数据拉取
  • 下载的数据和结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 远端设备ID 0 ~ 65535
version bs_br_phone_book_vcard_version_t vCard版本 BR_PHONE_BOOK_VCARD21(0) / BR_PHONE_BOOK_VCARD30(1)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 下载请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_pull_call_log

errcode_t bs_br_pull_call_log(uint16_t dev_id, bs_br_call_log_type_t type, bs_br_phone_book_vcard_version_t version)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 从远端设备下载通话记录数据
  • 支持指定通话记录类型和vCard版本进行数据拉取
  • 下载的数据和结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 远端设备ID 0 ~ 65535
type bs_br_call_log_type_t 通话记录类型 BR_CALL_LOG_ICH(1) / BR_CALL_LOG_OCH(2) / BR_CALL_LOG_MCH(3) / BR_CALL_LOG_CCH(4)
version bs_br_phone_book_vcard_version_t vCard版本 BR_PHONE_BOOK_VCARD21(0) / BR_PHONE_BOOK_VCARD30(1)

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 下载请求成功发起
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_phone_book_register_callbacks

errcode_t bs_br_phone_book_register_callbacks(uint8_t app_id, const bs_br_phone_book_callbacks_t *funs)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 注册电话薄服务的回调函数集合
  • 注册后可通过回调接收连接状态变化、电话薄数据和通话记录数据的上报
  • 支持多个应用分别注册各自的回调函数

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 0 ~ 255
funs const bs_br_phone_book_callbacks_t * 回调函数结构体指针 非NULL

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_br_phone_book_unregister_callbacks

errcode_t bs_br_phone_book_unregister_callbacks(uint8_t app_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_br_phone_book.h"

功能说明

  • 去注册电话薄服务的回调函数集合
  • 去注册后不再接收该应用的电话薄相关事件上报
  • 通过指定的应用ID取消对应的回调注册

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 0 ~ 255

返回值

  • 返回类型:errcode_t
返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 去注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

Type definitions

bs_br_phone_book_conn_state_changed_cbk

typedef void (*bs_br_phone_book_conn_state_changed_cbk)(uint16_t dev_id, uint8_t conn_state);

使用说明

bs_br_phone_book_recevice_cbk

typedef void (*bs_br_phone_book_recevice_cbk)(uint16_t dev_id, const uint8_t *data, uint16_t len);

使用说明

bs_br_phone_book_result_cbk

typedef void (*bs_br_phone_book_result_cbk)(uint16_t dev_id, errcode_t ret);

使用说明

bs_br_call_log_recevice_cbk

typedef void (*bs_br_call_log_recevice_cbk)(uint16_t dev_id, const uint8_t *data, uint16_t len);

使用说明

bs_br_call_log_result_cbk

typedef void (*bs_br_call_log_result_cbk)(uint16_t dev_id, errcode_t ret);

使用说明

Enumerations

bs_br_phone_book_vcard_version_t

typedef enum {
    BR_PHONE_BOOK_VCARD21 = 0,
    BR_PHONE_BOOK_VCARD30,
} bs_br_phone_book_vcard_version_t;
枚举成员 取值 描述
BR_PHONE_BOOK_VCARD21 0 vCard 2.1 版本
BR_PHONE_BOOK_VCARD30 1 vCard 3.0 版本

bs_br_call_log_type_t

typedef enum {
    BR_CALL_LOG_ICH = 0x1,
    BR_CALL_LOG_OCH,
    BR_CALL_LOG_MCH,
    BR_CALL_LOG_CCH,
} bs_br_call_log_type_t;
枚举成员 取值 描述
BR_CALL_LOG_ICH 1 来电通话记录
BR_CALL_LOG_OCH 2 去电通话记录
BR_CALL_LOG_MCH 3 未接来电通话记录
BR_CALL_LOG_CCH 4 所有的通话记录

errcode_bt_t

errcode_bt_t [SDK公共基础类型]

typedef enum {
    ERRCODE_BT_SUCCESS = 0x00,
    ERRCODE_BT_FAIL = ERRCODE_BT_COMMON_BASE,
    ERRCODE_BT_NOT_READY,
    ERRCODE_BT_MALLOC_FAIL,
    ERRCODE_BT_MEMCPY_FAIL,
    ERRCODE_BT_BUSY,
    ERRCODE_BT_DONE,
    ERRCODE_BT_UNSUPPORTED,
    ERRCODE_BT_PARAM_ERR,
    ERRCODE_BT_STATE_ERR,
    ERRCODE_BT_UNHANDLED,
    ERRCODE_BT_AUTH_FAIL,
    ERRCODE_BT_RMT_DEV_DOWN,
    ERRCODE_BT_AUTH_REJECTED,
    ERRCODE_BT_KEY_MISSING,
    ERRCODE_BT_OUT_OF_RANGE,
    ERRCODE_BT_MAX = ERRCODE_BT_COMMON_END
} errcode_bt_t;
枚举成员 取值 描述
ERRCODE_BT_SUCCESS 0x00 执行成功错误码
ERRCODE_BT_FAIL 0x80006000 执行失败错误码
ERRCODE_BT_NOT_READY 0x80006001 执行状态未就绪错误码
ERRCODE_BT_MALLOC_FAIL 0x80006002 内存不足错误码
ERRCODE_BT_MEMCPY_FAIL 0x80006003 内存拷贝错误错误码
ERRCODE_BT_BUSY 0x80006004 繁忙无法响应错误码
ERRCODE_BT_DONE 0x80006005 执行完成错误码
ERRCODE_BT_UNSUPPORTED 0x80006006 不支持错误码
ERRCODE_BT_PARAM_ERR 0x80006007 无效参数错误码
ERRCODE_BT_STATE_ERR 0x80006008 状态错误
ERRCODE_BT_UNHANDLED 0x80006009 未处理错误码
ERRCODE_BT_AUTH_FAIL 0x8000600A 鉴权失败错误码
ERRCODE_BT_RMT_DEV_DOWN 0x8000600B 远端设备关闭错误码
ERRCODE_BT_AUTH_REJECTED 0x8000600C 鉴权被拒错误码
ERRCODE_BT_KEY_MISSING 0x8000600D 密钥丢失错误码
ERRCODE_BT_OUT_OF_RANGE 0x8000600E 参数超出范围错误码
ERRCODE_BT_MAX 0x800067FF 蓝牙错误码最大值

Structures

bs_br_phone_book_callbacks_t

typedef struct {
    bs_br_phone_book_conn_state_changed_cbk connect_state_cbk;
    bs_br_phone_book_recevice_cbk           recevice_phone_book_cbk;
    bs_br_phone_book_result_cbk             phone_book_result_cbk;
    bs_br_call_log_recevice_cbk             recevice_call_log_cbk;
    bs_br_call_log_result_cbk               call_log_result_cbk;
} bs_br_phone_book_callbacks_t;

成员说明

成员名称 数据类型 描述
connect_state_cbk bs_br_phone_book_conn_state_changed_cbk 连接状态上报回调函数
recevice_phone_book_cbk bs_br_phone_book_recevice_cbk 拉取电话薄数据的回调函数
phone_book_result_cbk bs_br_phone_book_result_cbk 拉取电话薄结果的回调函数
recevice_call_log_cbk bs_br_call_log_recevice_cbk 拉取通话记录数据的回调函数
call_log_result_cbk bs_br_call_log_result_cbk 拉取通话记录结果的回调函数