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:
Volodymyr Shymanskyy
Date:
Fri Jun 24 01:10:02 2016 +0300
Revision:
3:31e4b850b126
Child:
9:7369ec77a3ea
Update library version

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