nordic
Fork of nRF51822 by
Diff: btle/btle_security.cpp
- Revision:
- 139:750eca573e18
- Parent:
- 138:aafab7b0a8bd
- Child:
- 141:3a5282e3f30c
diff -r aafab7b0a8bd -r 750eca573e18 btle/btle_security.cpp --- a/btle/btle_security.cpp Fri May 08 15:33:56 2015 +0100 +++ b/btle/btle_security.cpp Fri May 08 15:33:56 2015 +0100 @@ -88,6 +88,33 @@ } } +ble_error_t +btle_getLinkSecurity(Gap::Handle_t connectionHandle, Gap::LinkSecurityStatus_t *securityStatusP) +{ + dm_handle_t dmHandle; + ret_code_t rc; + if ((rc = dm_handle_get(connectionHandle, &dmHandle)) != NRF_SUCCESS) { + if (rc == NRF_ERROR_NOT_FOUND) { + return BLE_ERROR_INVALID_PARAM; + } else { + return BLE_ERROR_UNSPECIFIED; + } + } + + if ((rc = dm_security_status_req(&dmHandle, reinterpret_cast<dm_security_status_t *>(securityStatusP))) != NRF_SUCCESS) { + switch (rc) { + case NRF_ERROR_INVALID_STATE: + return BLE_ERROR_INVALID_STATE; + case NRF_ERROR_NO_MEM: + return BLE_ERROR_NO_MEM; + default: + return BLE_ERROR_UNSPECIFIED; + } + } + + return BLE_ERROR_NONE; +} + ret_code_t dm_handler(dm_handle_t const *p_handle, dm_event_t const *p_event, ret_code_t event_result) {