Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc. http://www.blynk.cc/

Dependents:   Blynk_RBL_BLE_Nano Blynk_MicroBit Blynk_Serial Blynk_RBL_BLE_Nano

Committer:
vshymanskyy
Date:
Fri Jan 26 22:18:19 2018 +0000
Revision:
22:e1d3971fd902
Parent:
9:7369ec77a3ea
Fix BlynkSystemInit for MBED

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Volodymyr Shymanskyy 3:31e4b850b126 1 class BlynkStackOnly
Volodymyr Shymanskyy 3:31e4b850b126 2 {
Volodymyr Shymanskyy 3:31e4b850b126 3 protected:
Volodymyr Shymanskyy 3:31e4b850b126 4 BlynkStackOnly() {}
Volodymyr Shymanskyy 3:31e4b850b126 5 ~BlynkStackOnly() {}
Volodymyr Shymanskyy 9:7369ec77a3ea 6
Volodymyr Shymanskyy 3:31e4b850b126 7 private:
Volodymyr Shymanskyy 9:7369ec77a3ea 8 /// @brief Declared as private to prevent usage of dynamic memory
Volodymyr Shymanskyy 3:31e4b850b126 9 void* operator new(size_t size);
Volodymyr Shymanskyy 9:7369ec77a3ea 10 /// @brief Declared as private to prevent usage of dynamic memory
Volodymyr Shymanskyy 3:31e4b850b126 11 void operator delete(void *p);
Volodymyr Shymanskyy 3:31e4b850b126 12 };
Volodymyr Shymanskyy 3:31e4b850b126 13
Volodymyr Shymanskyy 3:31e4b850b126 14 class BlynkNonCopyable
Volodymyr Shymanskyy 3:31e4b850b126 15 {
Volodymyr Shymanskyy 3:31e4b850b126 16 protected:
Volodymyr Shymanskyy 3:31e4b850b126 17 BlynkNonCopyable(){}
Volodymyr Shymanskyy 3:31e4b850b126 18 ~BlynkNonCopyable(){}
Volodymyr Shymanskyy 3:31e4b850b126 19
Volodymyr Shymanskyy 3:31e4b850b126 20 private:
Volodymyr Shymanskyy 3:31e4b850b126 21 /// @brief Declared as private to prevent usage of copy constructor
Volodymyr Shymanskyy 3:31e4b850b126 22 BlynkNonCopyable(const BlynkNonCopyable&);
Volodymyr Shymanskyy 3:31e4b850b126 23 /// @brief Declared as private to prevent usage of assignment operator
Volodymyr Shymanskyy 3:31e4b850b126 24 BlynkNonCopyable& operator=(const BlynkNonCopyable&);
Volodymyr Shymanskyy 3:31e4b850b126 25 };
Volodymyr Shymanskyy 3:31e4b850b126 26
Volodymyr Shymanskyy 3:31e4b850b126 27 template<typename T>
Volodymyr Shymanskyy 9:7369ec77a3ea 28 class BlynkSingleton
Volodymyr Shymanskyy 9:7369ec77a3ea 29 : public BlynkNonCopyable
Volodymyr Shymanskyy 3:31e4b850b126 30 {
Volodymyr Shymanskyy 3:31e4b850b126 31 public:
Volodymyr Shymanskyy 3:31e4b850b126 32 /** @brief Returns the instance of the singleton type
Volodymyr Shymanskyy 3:31e4b850b126 33 When called for the first time, the singleton instance will be
Volodymyr Shymanskyy 3:31e4b850b126 34 created. All subsequent calls will return a reference to the
Volodymyr Shymanskyy 3:31e4b850b126 35 previously created instance.
Volodymyr Shymanskyy 3:31e4b850b126 36 @return The singleton instance
Volodymyr Shymanskyy 3:31e4b850b126 37 */
Volodymyr Shymanskyy 3:31e4b850b126 38 static T* instance()
Volodymyr Shymanskyy 3:31e4b850b126 39 {
Volodymyr Shymanskyy 3:31e4b850b126 40 static T instance;
Volodymyr Shymanskyy 3:31e4b850b126 41 return &instance;
Volodymyr Shymanskyy 3:31e4b850b126 42 }
Volodymyr Shymanskyy 3:31e4b850b126 43 protected:
Volodymyr Shymanskyy 3:31e4b850b126 44 BlynkSingleton() {}
Volodymyr Shymanskyy 3:31e4b850b126 45 ~BlynkSingleton() {}
Volodymyr Shymanskyy 3:31e4b850b126 46 };
Volodymyr Shymanskyy 3:31e4b850b126 47