An API for using MQTT over multiple transports

Dependencies:   FP MQTTPacket

Dependents:   Cellular_HelloMQTT IoTStarterKit GSwifiInterface_HelloMQTT IBMIoTClientEthernetExample ... more

This library is part of the EclipseTM Paho project; specifically the embedded client.

The goals of this API are:

  1. to be independent of any system library: hence templates parameters for networking, timer and threading classes
  2. not to rely on heap storage, only automatic (I think this is a good thing)
  3. to limit memory use, for instance by defining the size of the buffers and arrays used at object creation time
Revision:
50:c37c8236e84a
Parent:
48:187c6d4d7812
Child:
52:3f9919941b86
--- a/MQTTmbed.h	Thu Sep 07 09:55:54 2017 +0100
+++ b/MQTTmbed.h	Mon Sep 11 16:43:10 2017 +0200
@@ -8,46 +8,42 @@
 public:
     Countdown()
     {
-        t = new Timer();
+        t = Timer();   
     }
-
+    
     Countdown(int ms)
     {
-        t = new Timer();
-        countdown_ms(ms);
+        t = Timer();
+        countdown_ms(ms);   
     }
-
-    ~Countdown()
-    {
-        delete t;
-    }
-
+    
+    
     bool expired()
     {
-        return t->read_ms() >= interval_end_ms;
+        return t.read_ms() >= interval_end_ms;
     }
-
-    void countdown_ms(unsigned long ms)
+    
+    void countdown_ms(unsigned long ms)  
     {
-        t->stop();
+        t.stop();
         interval_end_ms = ms;
-        t->reset();
-        t->start();
+        t.reset();
+        t.start();
     }
-
+    
     void countdown(int seconds)
     {
         countdown_ms((unsigned long)seconds * 1000L);
     }
-
+    
     int left_ms()
     {
-        return interval_end_ms - t->read_ms();
+        return interval_end_ms - t.read_ms();
     }
-
+    
 private:
-    Timer *t;
-    unsigned long interval_end_ms;
+    Timer t;
+    unsigned long interval_end_ms; 
 };
 
 #endif
\ No newline at end of file