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.
Dependencies: nrf51-sdk-bluetooth-mdw
Fork of nRF51822 by
Diff: source/nRF5xn.h
- Revision:
- 566:e425ad9e5d6e
- Parent:
- 565:cf03471a4ec4
- Child:
- 570:f162898cb6c4
--- a/source/nRF5xn.h Mon Jan 11 10:19:18 2016 +0000
+++ b/source/nRF5xn.h Mon Jan 11 10:19:18 2016 +0000
@@ -41,153 +41,32 @@
virtual ble_error_t shutdown(void);
virtual const char *getVersion(void);
- /**
- * Accessors to GAP. This function checks whether gapInstance points to an
- * object. If if does not, then the gapInstance is updated to
- * &_getInstance before returning.
- *
- * @return A reference to GattServer.
- *
- * @note Unlike the GattClient, GattServer and SecurityManager, Gap is
- * always needed in a BLE application. Therefore it is allocated
- * statically.
- */
virtual Gap &getGap() {
- if (gapInstance == NULL) {
- gapInstance = &_gapInstance;
- }
- return *gapInstance;
+ return nRF5xGap::getInstance();
};
-
- /**
- * Accessors to GATT Server. This function checks whether a GattServer
- * object was previously instantiated. If such object does not exist, then
- * it is created before returning.
- *
- * @return A reference to GattServer.
- */
+ virtual const Gap &getGap() const {
+ return nRF5xGap::getInstance();
+ };
virtual GattServer &getGattServer() {
- if (gattServerInstance == NULL) {
- gattServerInstance = new nRF5xGattServer();
- }
- return *gattServerInstance;
+ return nRF5xGattServer::getInstance();
};
-
- /**
- * Accessors to GATT Client. This function checks whether a GattClient
- * object was previously instantiated. If such object does not exist, then
- * it is created before returning.
- *
- * @return A reference to GattClient.
- */
+ virtual const GattServer &getGattServer() const {
+ return nRF5xGattServer::getInstance();
+ };
virtual GattClient &getGattClient() {
- if (gattClientInstance == NULL) {
- gattClientInstance = new nRF5xGattClient();
- }
- return *gattClientInstance;
- }
-
- /**
- * Accessors to Security Manager. This function checks whether a SecurityManager
- * object was previously instantiated. If such object does not exist, then
- * it is created before returning.
- *
- * @return A reference to GattServer.
- */
- virtual SecurityManager &getSecurityManager() {
- if (securityManagerInstance == NULL) {
- securityManagerInstance = new nRF5xSecurityManager();
- }
- return *securityManagerInstance;
+ return nRF5xGattClient::getInstance();
}
-
- /**
- * Accessors to GAP. This function checks whether gapInstance points to an
- * object. If if does not, then the gapInstance is updated to
- * &_getInstance before returning.
- *
- * @return A const reference to GattServer.
- *
- * @note Unlike the GattClient, GattServer and SecurityManager, Gap is
- * always needed in a BLE application. Therefore it is allocated
- * statically.
- *
- * @note The accessor is able to modify the object's state because the
- * internal pointer has been declared mutable.
- */
- virtual const Gap &getGap() const {
- if (gapInstance == NULL) {
- gapInstance = &_gapInstance;
- }
- return *gapInstance;
- };
-
- /**
- * Accessors to GATT Server. This function checks whether a GattServer
- * object was previously instantiated. If such object does not exist, then
- * it is created before returning.
- *
- * @return A const reference to GattServer.
- *
- * @note The accessor is able to modify the object's state because the
- * internal pointer has been declared mutable.
- */
- virtual const GattServer &getGattServer() const {
- if (gattServerInstance == NULL) {
- gattServerInstance = new nRF5xGattServer();
- }
- return *gattServerInstance;
- };
-
- /**
- * Accessors to Security Manager. This function checks whether a SecurityManager
- * object was previously instantiated. If such object does not exist, then
- * it is created before returning.
- *
- * @return A const reference to GattServer.
- *
- * @note The accessor is able to modify the object's state because the
- * internal pointer has been declared mutable.
- */
virtual const SecurityManager &getSecurityManager() const {
- if (securityManagerInstance == NULL) {
- securityManagerInstance = new nRF5xSecurityManager();
- }
- return *securityManagerInstance;
+ return nRF5xSecurityManager::getInstance();
}
-
+ virtual SecurityManager &getSecurityManager() {
+ return nRF5xSecurityManager::getInstance();
+ }
virtual void waitForEvent(void);
-public:
- static nRF5xn& Instance(BLE::InstanceID_t instanceId);
-
private:
bool initialized;
BLE::InstanceID_t instanceID;
-
-private:
- static nRF5xGap _gapInstance; /**< Gap instance whose reference is returned from a call to
- * getGap(). Unlike the GattClient, GattServer and
- * SecurityManager, Gap is always needed in a BLE application.
- * Therefore it is allocated statically. */
-
-private:
- mutable nRF5xGap *gapInstance; /**< Pointer to the Gap object instance.
- * If NULL, then Gap has not been initialized.
- * The pointer has been declared as 'mutable' so that
- * it can be assigned inside a 'const' function. */
- mutable nRF5xGattServer *gattServerInstance; /**< Pointer to the GattServer object instance.
- * If NULL, then GattServer has not been initialized.
- * The pointer has been declared as 'mutable' so that
- * it can be assigned inside a 'const' function. */
- mutable nRF5xGattClient *gattClientInstance; /**< Pointer to the GattClient object instance.
- * If NULL, then GattClient has not been initialized.
- * The pointer has been declared as 'mutable' so that
- * it can be assigned inside a 'const' function. */
- mutable nRF5xSecurityManager *securityManagerInstance; /**< Pointer to the SecurityManager object instance.
- * If NULL, then SecurityManager has not been initialized.
- * The pointer has been declared as 'mutable' so that
- * it can be assigned inside a 'const' function. */
};
#endif
\ No newline at end of file
