2016-08-26 17:17:27 +08:00
|
|
|
/** @file
|
|
|
|
* @brief Handsfree Profile handling.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Copyright (c) 2015-2016 Intel Corporation
|
|
|
|
*
|
2017-01-19 09:01:01 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2016-08-26 17:17:27 +08:00
|
|
|
*/
|
|
|
|
#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
|
|
|
|
|
2016-11-14 21:31:18 +08:00
|
|
|
/** @brief HFP profile application callback */
|
2016-08-26 17:17:27 +08:00
|
|
|
struct bt_hfp_hf_cb {
|
2016-11-14 21:31:18 +08:00
|
|
|
/** HF connected callback to application
|
|
|
|
*
|
|
|
|
* If this callback is provided it will be called whenever the
|
|
|
|
* connection completes.
|
|
|
|
*
|
|
|
|
* @param conn Connection object.
|
|
|
|
*/
|
2016-08-26 17:17:27 +08:00
|
|
|
void (*connected)(struct bt_conn *conn);
|
2016-11-14 21:31:18 +08:00
|
|
|
/** 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.
|
|
|
|
*/
|
2016-08-26 17:17:27 +08:00
|
|
|
void (*disconnected)(struct bt_conn *conn);
|
2016-11-14 21:31:18 +08:00
|
|
|
/** 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);
|
2016-08-26 17:17:27 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @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 */
|