fdsf

Dependencies:   nrf51-sdk

Fork of nRF51822 by Lancaster University

Committer:
LancasterUniversity
Date:
Wed Apr 06 22:38:43 2016 +0100
Revision:
615:65ea2acfc6a2
Parent:
613:cbc548e9df98
Child:
616:a8f9b022d8fd
Synchronized with git rev 60a7c0c0
Author: Rohit Grover
bring in the latest changes for BLE::init() where we allow <object, member> tuples for init callback.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
LancasterUniversity 615:65ea2acfc6a2 1 /* mbed Microcontroller Library
LancasterUniversity 615:65ea2acfc6a2 2 * Copyright (c) 2006-2013 ARM Limited
LancasterUniversity 615:65ea2acfc6a2 3 *
LancasterUniversity 615:65ea2acfc6a2 4 * Licensed under the Apache License, Version 2.0 (the "License");
LancasterUniversity 615:65ea2acfc6a2 5 * you may not use this file except in compliance with the License.
LancasterUniversity 615:65ea2acfc6a2 6 * You may obtain a copy of the License at
LancasterUniversity 615:65ea2acfc6a2 7 *
LancasterUniversity 615:65ea2acfc6a2 8 * http://www.apache.org/licenses/LICENSE-2.0
LancasterUniversity 615:65ea2acfc6a2 9 *
LancasterUniversity 615:65ea2acfc6a2 10 * Unless required by applicable law or agreed to in writing, software
LancasterUniversity 615:65ea2acfc6a2 11 * distributed under the License is distributed on an "AS IS" BASIS,
LancasterUniversity 615:65ea2acfc6a2 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
LancasterUniversity 615:65ea2acfc6a2 13 * See the License for the specific language governing permissions and
LancasterUniversity 615:65ea2acfc6a2 14 * limitations under the License.
LancasterUniversity 615:65ea2acfc6a2 15 */
LancasterUniversity 615:65ea2acfc6a2 16
LancasterUniversity 615:65ea2acfc6a2 17 #ifndef __NRF51822_SECURITY_MANAGER_H__
LancasterUniversity 615:65ea2acfc6a2 18 #define __NRF51822_SECURITY_MANAGER_H__
LancasterUniversity 615:65ea2acfc6a2 19
LancasterUniversity 615:65ea2acfc6a2 20 #include <stddef.h>
LancasterUniversity 615:65ea2acfc6a2 21
LancasterUniversity 615:65ea2acfc6a2 22 #include "ble/SecurityManager.h"
LancasterUniversity 615:65ea2acfc6a2 23 #include "btle_security.h"
LancasterUniversity 615:65ea2acfc6a2 24
LancasterUniversity 615:65ea2acfc6a2 25 class nRF5xSecurityManager : public SecurityManager
LancasterUniversity 615:65ea2acfc6a2 26 {
LancasterUniversity 615:65ea2acfc6a2 27 public:
LancasterUniversity 615:65ea2acfc6a2 28 static nRF5xSecurityManager &getInstance();
LancasterUniversity 615:65ea2acfc6a2 29
LancasterUniversity 615:65ea2acfc6a2 30 /* Functions that must be implemented from SecurityManager */
LancasterUniversity 615:65ea2acfc6a2 31 virtual ble_error_t init(bool enableBonding,
LancasterUniversity 615:65ea2acfc6a2 32 bool requireMITM,
LancasterUniversity 615:65ea2acfc6a2 33 SecurityIOCapabilities_t iocaps,
LancasterUniversity 615:65ea2acfc6a2 34 const Passkey_t passkey) {
LancasterUniversity 615:65ea2acfc6a2 35 return btle_initializeSecurity(enableBonding, requireMITM, iocaps, passkey);
LancasterUniversity 615:65ea2acfc6a2 36 }
LancasterUniversity 615:65ea2acfc6a2 37
LancasterUniversity 615:65ea2acfc6a2 38 virtual ble_error_t getLinkSecurity(Gap::Handle_t connectionHandle, LinkSecurityStatus_t *securityStatusP) {
LancasterUniversity 615:65ea2acfc6a2 39 return btle_getLinkSecurity(connectionHandle, securityStatusP);
LancasterUniversity 615:65ea2acfc6a2 40 }
LancasterUniversity 615:65ea2acfc6a2 41
LancasterUniversity 615:65ea2acfc6a2 42 virtual ble_error_t purgeAllBondingState(void) {
LancasterUniversity 615:65ea2acfc6a2 43 return btle_purgeAllBondingState();
LancasterUniversity 615:65ea2acfc6a2 44 }
LancasterUniversity 615:65ea2acfc6a2 45
LancasterUniversity 615:65ea2acfc6a2 46 public:
LancasterUniversity 615:65ea2acfc6a2 47 nRF5xSecurityManager() {
LancasterUniversity 615:65ea2acfc6a2 48 /* empty */
LancasterUniversity 615:65ea2acfc6a2 49 }
LancasterUniversity 615:65ea2acfc6a2 50
LancasterUniversity 615:65ea2acfc6a2 51 private:
LancasterUniversity 615:65ea2acfc6a2 52 nRF5xSecurityManager(const nRF5xSecurityManager &);
LancasterUniversity 615:65ea2acfc6a2 53 const nRF5xSecurityManager& operator=(const nRF5xSecurityManager &);
LancasterUniversity 615:65ea2acfc6a2 54 };
LancasterUniversity 615:65ea2acfc6a2 55
rgrover1 388:db85a09c27ef 56 #endif // ifndef __NRF51822_SECURITY_MANAGER_H__