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.
Diff: MQTTClient.h
- Revision:
- 5:361a6987739b
- Parent:
- 4:8620de6d1696
diff -r 8620de6d1696 -r 361a6987739b MQTTClient.h
--- a/MQTTClient.h Thu Sep 12 20:26:40 2019 +0000
+++ b/MQTTClient.h Thu Sep 12 22:01:23 2019 +0000
@@ -13,7 +13,7 @@
#define MQTT_MAX_PACKET_SIZE 256 // MQTT_MAX_PACKET_SIZE : Maximum packet size
#define MQTT_KEEPALIVE 15 // MQTT_KEEPALIVE : keepAlive interval in Seconds
-#define MQTTPROTOCOLVERSION 3
+#define MQTTPROTOCOLVERSION 3
#define MQTTCONNECT 1 << 4 // Client request to connect to Server
#define MQTTCONNACK 2 << 4 // Connect Acknowledgment
#define MQTTPUBLISH 3 << 4 // Publish message
@@ -29,9 +29,9 @@
#define MQTTPINGRESP 13 << 4 // PING Response
#define MQTTDISCONNECT 14 << 4 // Client is Disconnecting
#define MQTTReserved 15 << 4 // Reserved
-#define MQTTQOS0 (0<< 1)
-#define MQTTQOS1 (1<< 1)
-#define MQTTQOS2 (2<< 1)
+#define MQTTQOS0 0 << 1
+#define MQTTQOS1 1 << 1
+#define MQTTQOS2 2 << 1
class MQTTClient
{
@@ -46,30 +46,33 @@
uint16_t _port;
Stream* _stream;
- uint16_t _readPacket(uint8_t* );
+ uint16_t _readPacket(uint8_t*);
uint8_t _readByte();
bool _write(uint8_t header, uint8_t* buf, uint16_t length);
uint16_t _writeString(const char* string, uint8_t* buf, uint16_t length);
- Callback<void (char *, uint8_t *, uint16_t)> _onMessage;
+ Callback<void (char*, uint8_t*, uint16_t)> _onMessage;
public:
MQTTClient();
- MQTTClient(IpAddress& , uint16_t, Callback<void (char*, uint8_t*, uint16_t)> );
- MQTTClient(IpAddress& , uint16_t, Callback<void (char*, uint8_t*, uint16_t)> , Stream& );
- MQTTClient(const char* , uint16_t, Callback<void (char*, uint8_t*, uint16_t)> );
- MQTTClient(const char* , uint16_t, Callback<void (char*, uint8_t*, uint16_t)> , Stream& );
- bool connect(const char* );
- bool connect(const char* , const char* , const char* );
- bool connect(const char* , const char* , uint8_t, uint8_t, const char* );
- bool connect(const char* , const char* , const char* , const char* , uint8_t, uint8_t, const char* );
+ MQTTClient(IpAddress& ip, uint16_t port);
+ MQTTClient(IpAddress& ip, uint16_t port , Stream& stream);
+ MQTTClient(const char* domain, uint16_t port);
+ MQTTClient(const char* domain, uint16_t port, Stream& stream);
+ bool connect(const char*);
+ bool connect(const char* , const char* , const char*);
+ bool connect(const char* , const char* , uint8_t, uint8_t, const char*);
+ bool connect(const char* , const char* , const char* , const char* , uint8_t, uint8_t, const char*);
void disconnect();
- bool publish(const char* , const char* );
+ bool publish(const char* , const char*);
bool publish(const char* , uint8_t* , uint16_t);
bool publish(const char* , uint8_t* , uint16_t, bool);
- bool subscribe(const char* );
+ bool subscribe(const char*);
bool subscribe(const char* , uint8_t qos);
- bool unsubscribe(const char* );
- bool process();
+ bool unsubscribe(const char*);
+ bool poll();
bool connected();
+ void attach(Callback<void (char*, uint8_t*, uint16_t)>);
+ template<typename T, typename M>
+ void attach(T *obj, M method ) { attach(callback(obj, method)); }
};
#endif