Bluetooth: Host: Callback registering functions to return status
Returning a status code will allow the application developer to detect logic issues. We consider this as not breaking the API. If `-Werror -Wunused-result` is enabled, the application developer needs to validate the return code. Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
This commit is contained in:
parent
3eb975deb2
commit
5098bf3539
@ -1822,8 +1822,11 @@ int bt_le_per_adv_sync_delete(struct bt_le_per_adv_sync *per_adv_sync);
|
||||
* such as synced, terminated and when data is received.
|
||||
*
|
||||
* @param cb Callback struct. Must point to memory that remains valid.
|
||||
*
|
||||
* @retval 0 Success.
|
||||
* @retval -EEXIST if @p cb was already registered.
|
||||
*/
|
||||
void bt_le_per_adv_sync_cb_register(struct bt_le_per_adv_sync_cb *cb);
|
||||
int bt_le_per_adv_sync_cb_register(struct bt_le_per_adv_sync_cb *cb);
|
||||
|
||||
/**
|
||||
* @brief Enables receiving periodic advertising reports for a sync.
|
||||
@ -2309,8 +2312,11 @@ int bt_le_scan_stop(void);
|
||||
* API was used to start the scanner.
|
||||
*
|
||||
* @param cb Callback struct. Must point to memory that remains valid.
|
||||
*
|
||||
* @retval 0 Success.
|
||||
* @retval -EEXIST if @p cb was already registered.
|
||||
*/
|
||||
void bt_le_scan_cb_register(struct bt_le_scan_cb *cb);
|
||||
int bt_le_scan_cb_register(struct bt_le_scan_cb *cb);
|
||||
|
||||
/**
|
||||
* @brief Unregister scanner packet callbacks.
|
||||
|
||||
@ -1256,8 +1256,11 @@ struct bt_conn_cb {
|
||||
* Register callbacks to monitor the state of connections.
|
||||
*
|
||||
* @param cb Callback struct. Must point to memory that remains valid.
|
||||
*
|
||||
* @retval 0 Success.
|
||||
* @retval -EEXIST if @p cb was already registered.
|
||||
*/
|
||||
void bt_conn_cb_register(struct bt_conn_cb *cb);
|
||||
int bt_conn_cb_register(struct bt_conn_cb *cb);
|
||||
|
||||
/**
|
||||
* @brief Unregister connection callbacks.
|
||||
|
||||
@ -53,8 +53,11 @@ struct bt_test_cb {
|
||||
/** Register callbacks for Bluetooth testing purposes
|
||||
*
|
||||
* @param cb bt_test_cb callback structure
|
||||
*
|
||||
* @retval 0 Success.
|
||||
* @retval -EEXIST if @p cb was already registered.
|
||||
*/
|
||||
void bt_test_cb_register(struct bt_test_cb *cb);
|
||||
int bt_test_cb_register(struct bt_test_cb *cb);
|
||||
|
||||
/** Unregister callbacks for Bluetooth testing purposes
|
||||
*
|
||||
|
||||
@ -2508,11 +2508,15 @@ bt_security_t bt_conn_get_security(const struct bt_conn *conn)
|
||||
}
|
||||
#endif /* CONFIG_BT_SMP */
|
||||
|
||||
void bt_conn_cb_register(struct bt_conn_cb *cb)
|
||||
int bt_conn_cb_register(struct bt_conn_cb *cb)
|
||||
{
|
||||
if (!sys_slist_find(&conn_cbs, &cb->_node, NULL)) {
|
||||
sys_slist_append(&conn_cbs, &cb->_node);
|
||||
if (sys_slist_find(&conn_cbs, &cb->_node, NULL)) {
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
sys_slist_append(&conn_cbs, &cb->_node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int bt_conn_cb_unregister(struct bt_conn_cb *cb)
|
||||
|
||||
@ -1586,11 +1586,15 @@ int bt_le_scan_stop(void)
|
||||
return bt_le_scan_update(false);
|
||||
}
|
||||
|
||||
void bt_le_scan_cb_register(struct bt_le_scan_cb *cb)
|
||||
int bt_le_scan_cb_register(struct bt_le_scan_cb *cb)
|
||||
{
|
||||
if (!sys_slist_find(&scan_cbs, &cb->node, NULL)) {
|
||||
sys_slist_append(&scan_cbs, &cb->node);
|
||||
if (sys_slist_find(&scan_cbs, &cb->node, NULL)) {
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
sys_slist_append(&scan_cbs, &cb->node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void bt_le_scan_cb_unregister(struct bt_le_scan_cb *cb)
|
||||
@ -1833,11 +1837,15 @@ int bt_le_per_adv_sync_delete(struct bt_le_per_adv_sync *per_adv_sync)
|
||||
return err;
|
||||
}
|
||||
|
||||
void bt_le_per_adv_sync_cb_register(struct bt_le_per_adv_sync_cb *cb)
|
||||
int bt_le_per_adv_sync_cb_register(struct bt_le_per_adv_sync_cb *cb)
|
||||
{
|
||||
if (!sys_slist_find(&pa_sync_cbs, &cb->node, NULL)) {
|
||||
sys_slist_append(&pa_sync_cbs, &cb->node);
|
||||
if (sys_slist_find(&pa_sync_cbs, &cb->node, NULL)) {
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
sys_slist_append(&pa_sync_cbs, &cb->node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int bt_le_set_per_adv_recv_enable(
|
||||
|
||||
@ -20,11 +20,15 @@
|
||||
|
||||
static sys_slist_t cb_slist;
|
||||
|
||||
void bt_test_cb_register(struct bt_test_cb *cb)
|
||||
int bt_test_cb_register(struct bt_test_cb *cb)
|
||||
{
|
||||
if (!sys_slist_find(&cb_slist, &cb->node, NULL)) {
|
||||
sys_slist_append(&cb_slist, &cb->node);
|
||||
if (sys_slist_find(&cb_slist, &cb->node, NULL)) {
|
||||
return -EEXIST;
|
||||
}
|
||||
|
||||
sys_slist_append(&cb_slist, &cb->node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void bt_test_cb_unregister(struct bt_test_cb *cb)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user