| /** @file |
| * @brief Handsfree Profile handling. |
| */ |
| |
| /* |
| * Copyright (c) 2015-2016 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| #ifndef __BT_HFP_H |
| #define __BT_HFP_H |
| |
| /** |
| * @brief Hands Free Profile (HFP) |
| * @defgroup bt_hfp Hands Free Profile (HFP) |
| * @ingroup bluetooth |
| * @{ |
| */ |
| |
| #include <bluetooth/bluetooth.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** @brief HFP profile application callback */ |
| struct bt_hfp_hf_cb { |
| /** HF connected callback to application |
| * |
| * If this callback is provided it will be called whenever the |
| * connection completes. |
| * |
| * @param conn Connection object. |
| */ |
| void (*connected)(struct bt_conn *conn); |
| /** HF disconnected callback to application |
| * |
| * If this callback is provided it will be called whenever the |
| * connection gets disconnected, including when a connection gets |
| * rejected or cancelled or any error in SLC establisment. |
| * |
| * @param conn Connection object. |
| */ |
| void (*disconnected)(struct bt_conn *conn); |
| /** HF indicator Callback |
| * |
| * This callback provides service indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value service indicator value received from the AG. |
| */ |
| void (*service)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback provides call indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value call indicator value received from the AG. |
| */ |
| void (*call)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback provides call setup indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value call setup indicator value received from the AG. |
| */ |
| void (*call_setup)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback provides call held indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value call held indicator value received from the AG. |
| */ |
| void (*call_held)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback provides signal indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value signal indicator value received from the AG. |
| */ |
| void (*signal)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback provides roaming indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value roaming indicator value received from the AG. |
| */ |
| void (*roam)(struct bt_conn *conn, uint32_t value); |
| /** HF indicator Callback |
| * |
| * This callback battery service indicator value to the application |
| * |
| * @param conn Connection object. |
| * @param value battery indicator value received from the AG. |
| */ |
| void (*battery)(struct bt_conn *conn, uint32_t value); |
| }; |
| |
| /** @brief Register HFP HF profile |
| * |
| * Register Handsfree profile callbacks to monitor the state and get the |
| * required HFP details to display. |
| * |
| * @param cb callback structure. |
| * |
| * @return 0 in case of success or negative value in case of error. |
| */ |
| int bt_hfp_hf_register(struct bt_hfp_hf_cb *cb); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** |
| * @} |
| */ |
| |
| #endif /* __BT_HFP_H */ |