Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: BLE_HeartRate_IDB04A1
Fork of BLE_API by
Diff: source/BLE.cpp
- Revision:
- 906:8ddab3271c2f
- Parent:
- 890:f3144091ae19
- Child:
- 907:f9a79127973a
--- a/source/BLE.cpp Thu Nov 26 12:52:02 2015 +0000
+++ b/source/BLE.cpp Thu Nov 26 12:52:02 2015 +0000
@@ -15,15 +15,16 @@
*/
#include "ble/BLE.h"
+#include "ble/BLEInstanceBase.h"
#if defined(TARGET_OTA_ENABLED)
#include "ble/services/DFUService.h"
#endif
ble_error_t
-BLE::init()
+BLE::initImplementation(FunctionPointerWithContext<InitializationCompleteCallbackContext *> callback)
{
- ble_error_t err = transport->init();
+ ble_error_t err = transport->init(instanceID, callback);
if (err != BLE_ERROR_NONE) {
return err;
}
@@ -105,7 +106,7 @@
return badSingleton;
}
-BLE::BLE(InstanceID_t instanceID) : transport()
+BLE::BLE(InstanceID_t instanceIDIn) : instanceID(instanceIDIn), transport()
{
static BLEInstanceBase *transportInstances[NUM_INSTANCES];
@@ -117,4 +118,113 @@
} else {
transport = NULL;
}
+}
+
+bool BLE::hasInitialized(void) const
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->hasInitialized();
+}
+
+ble_error_t BLE::shutdown(void)
+{
+ clearAdvertisingPayload();
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->shutdown();
+}
+
+const char *BLE::getVersion(void)
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getVersion();
+}
+
+const Gap &BLE::gap() const
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGap();
+}
+
+Gap &BLE::gap()
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGap();
+}
+
+const GattServer& BLE::gattServer() const
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGattServer();
+}
+
+GattServer& BLE::gattServer()
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGattServer();
+}
+
+const GattClient& BLE::gattClient() const
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGattClient();
+}
+
+GattClient& BLE::gattClient()
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getGattClient();
+}
+
+const SecurityManager& BLE::securityManager() const
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getSecurityManager();
+}
+
+SecurityManager& BLE::securityManager()
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ return transport->getSecurityManager();
+}
+
+void BLE::waitForEvent(void)
+{
+ if (!transport) {
+ error("bad handle to underlying transport");
+ }
+
+ transport->waitForEvent();
}
\ No newline at end of file
