mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #13462 from paul-szczepanek-arm/cancel-connect-no-address
BLE remove address from API to cancel connectpull/13501/head
commit
d6e93b182c
|
@ -1002,30 +1002,11 @@ public:
|
|||
/** Cancel the connection attempt. This is not guaranteed to succeed. As a result
|
||||
* onConnectionComplete in the event handler will be called. Check the success parameter
|
||||
* to see if the connection was created.
|
||||
* @depreacted This version has a defective API. You must provide the address of the peer.
|
||||
* Please use the cancelConnect that takes peer address as parameters.
|
||||
* This call will attempt to cancel the most recently requested connection.
|
||||
*
|
||||
* @return BLE_ERROR_NONE if the connection attempt has been requested to be cancelled.
|
||||
* Returns BLE_ERROR_OPERATION_NOT_PERMITTED if no ongoing connection for last used address found.
|
||||
*/
|
||||
MBED_DEPRECATED_SINCE("mbed-os-6.3.0", "Defective API. Please use the cancelConnect that takes peer address as parameters.")
|
||||
ble_error_t cancelConnect();
|
||||
|
||||
/** Cancel the connection attempt. This is not guaranteed to succeed. As a result
|
||||
* onConnectionComplete in the event handler will be called. Check the success parameter
|
||||
* to see if the connection was created.
|
||||
*
|
||||
* @param peerAddressType Address type you want to cancel connection process for.
|
||||
* @param peerAddress Address you want to cancel connection process for.
|
||||
*
|
||||
* @return BLE_ERROR_NONE if the connection attempt has been requested to be cancelled.
|
||||
* Returns BLE_ERROR_OPERATION_NOT_PERMITTED if no ongoing connection for address found.
|
||||
*/
|
||||
ble_error_t cancelConnect(
|
||||
peer_address_type_t peerAddressType,
|
||||
const address_t &peerAddress
|
||||
);
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
|
||||
#if BLE_FEATURE_CONNECTABLE
|
||||
|
|
|
@ -1298,22 +1298,13 @@ public:
|
|||
/**
|
||||
* Cancel the ongoing connection creation process.
|
||||
*
|
||||
* @param peer_address_type Type of address used by the advertiser. Not used
|
||||
* if initiator_policy use the whitelist.
|
||||
*
|
||||
* @param Address used by the advertiser in its advertising packets. Not
|
||||
* used if initiator_policy use the whitelist.
|
||||
*
|
||||
* @return BLE_ERROR_NONE if the request has been successfully sent or the
|
||||
* appropriate error otherwise.
|
||||
*
|
||||
* @note: See Bluetooth 5 Vol 2 PartE: 7.8.13 LE create connection cancel
|
||||
* command.
|
||||
*/
|
||||
virtual ble_error_t cancel_connection_creation(
|
||||
peer_address_type_t peerAddressType,
|
||||
const ble::address_t &peerAddress
|
||||
) = 0;
|
||||
virtual ble_error_t cancel_connection_creation() = 0;
|
||||
|
||||
/**
|
||||
* Return the number of total whitelist entries that can be stored in the
|
||||
|
|
|
@ -97,10 +97,7 @@ public:
|
|||
uint16_t maximum_connection_event_length
|
||||
);
|
||||
|
||||
ble_error_t cancel_connection_creation(
|
||||
peer_address_type_t peerAddressType,
|
||||
const ble::address_t &peerAddress
|
||||
);
|
||||
ble_error_t cancel_connection_creation();
|
||||
|
||||
uint8_t read_white_list_capacity();
|
||||
|
||||
|
|
|
@ -322,25 +322,23 @@ ble_error_t PalGap::create_connection(
|
|||
}
|
||||
|
||||
|
||||
ble_error_t PalGap::cancel_connection_creation(
|
||||
peer_address_type_t peerAddressType,
|
||||
const ble::address_t &peerAddress
|
||||
)
|
||||
ble_error_t PalGap::cancel_connection_creation()
|
||||
{
|
||||
ble_error_t error = BLE_ERROR_OPERATION_NOT_PERMITTED;
|
||||
|
||||
for (uint8_t connection_id = 0; connection_id < DM_CONN_MAX; connection_id++) {
|
||||
if (dmConnCb.ccb[connection_id].inUse &&
|
||||
dmConnCb.ccb[connection_id].state == DM_CONN_SM_ST_CONNECTING &&
|
||||
BdaCmp(dmConnCb.ccb[connection_id].peerAddr, peerAddress.data())) {
|
||||
dmConnCb.ccb[connection_id].state == DM_CONN_SM_ST_CONNECTING) {
|
||||
DmConnClose(
|
||||
DM_CLIENT_ID_APP,
|
||||
/* connection handle */ connection_id + 1 /* connection IDs start at 1 */,
|
||||
/* reason - invalid (use success) */ 0x00
|
||||
);
|
||||
return BLE_ERROR_NONE;
|
||||
}
|
||||
error = BLE_ERROR_NONE;
|
||||
}
|
||||
|
||||
return BLE_ERROR_OPERATION_NOT_PERMITTED;
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -209,11 +209,6 @@ public:
|
|||
const ConnectionParameters &connectionParams
|
||||
);
|
||||
|
||||
ble_error_t cancelConnect(
|
||||
peer_address_type_t peerAddressType,
|
||||
const address_t &peerAddress
|
||||
);
|
||||
|
||||
ble_error_t cancelConnect();
|
||||
#endif // BLE_ROLE_CENTRAL
|
||||
|
||||
|
@ -601,10 +596,6 @@ private:
|
|||
BitArray<BLE_GAP_MAX_ADVERTISING_SETS> _set_is_connectable;
|
||||
|
||||
bool _user_manage_connection_parameter_requests : 1;
|
||||
|
||||
/* these need be removed when the deprecated cancelConnect() is removed */
|
||||
peer_address_type_t _last_used_peer_address_type = peer_address_type_t::ANONYMOUS;
|
||||
ble::address_t _last_used_peer_address;
|
||||
};
|
||||
|
||||
} // namespace ble
|
||||
|
|
|
@ -507,9 +507,6 @@ ble_error_t Gap::connect(
|
|||
return BLE_ERROR_INVALID_PARAM;
|
||||
}
|
||||
|
||||
_last_used_peer_address_type = peerAddressType;
|
||||
_last_used_peer_address = peerAddress;
|
||||
|
||||
// ensure scan is stopped.
|
||||
_pal_gap.scan_enable(false, false);
|
||||
|
||||
|
@ -541,9 +538,6 @@ ble_error_t Gap::connect(
|
|||
adjusted_address_type = peer_address_type_t::RANDOM;
|
||||
}
|
||||
|
||||
_last_used_peer_address_type = adjusted_address_type;
|
||||
_last_used_peer_address = peerAddress;
|
||||
|
||||
return _pal_gap.extended_create_connection(
|
||||
connectionParams.getFilter(),
|
||||
connectionParams.getOwnAddressType(),
|
||||
|
@ -631,20 +625,10 @@ ble_error_t Gap::rejectConnectionParametersUpdate(
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
ble_error_t Gap::cancelConnect()
|
||||
{
|
||||
if (_last_used_peer_address_type != peer_address_type_t::ANONYMOUS) {
|
||||
return cancelConnect(_last_used_peer_address_type, _last_used_peer_address);
|
||||
}
|
||||
return BLE_ERROR_OPERATION_NOT_PERMITTED;
|
||||
}
|
||||
|
||||
ble_error_t Gap::cancelConnect(
|
||||
peer_address_type_t peerAddressType,
|
||||
const ble::address_t &peerAddress
|
||||
)
|
||||
{
|
||||
return _pal_gap.cancel_connection_creation(peerAddressType, peerAddress);
|
||||
return _pal_gap.cancel_connection_creation();
|
||||
}
|
||||
|
||||
ble_error_t Gap::readPhy(ble::connection_handle_t connection)
|
||||
|
|
Loading…
Reference in New Issue