Yalgaar mBed SDK for real-time messaging
Fork of MQTT by
Diff: PubSubClient.h
- Revision:
- 1:c233cee7c15b
- Parent:
- 0:ca855d29545b
--- a/PubSubClient.h Sun May 26 16:52:01 2013 +0000 +++ b/PubSubClient.h Fri Mar 10 13:11:49 2017 +0000 @@ -10,13 +10,24 @@ #ifndef PubSubClient_h #define PubSubClient_h - +#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*,char*, unsigned int) // MQTT_MAX_PACKET_SIZE : Maximum packet size -#define MQTT_MAX_PACKET_SIZE 128 +#define MQTT_MAX_PACKET_SIZE 2048 // MQTT_KEEPALIVE : keepAlive interval in Seconds -#define MQTT_KEEPALIVE 15 +#define MQTT_KEEPALIVE 60 + +#define MQTT_CONNECTION_TIMEOUT -4 +#define MQTT_CONNECTION_LOST -3 +#define MQTT_CONNECT_FAILED -2 +#define MQTT_DISCONNECTED -1 +#define MQTT_CONNECTED 0 +#define MQTT_CONNECT_BAD_PROTOCOL 1 +#define MQTT_CONNECT_BAD_CLIENT_ID 2 +#define MQTT_CONNECT_UNAVAILABLE 3 +#define MQTT_CONNECT_BAD_CREDENTIALS 4 +#define MQTT_CONNECT_UNAUTHORIZED 5 #define MQTTPROTOCOLVERSION 3 #define MQTTCONNECT 1 << 4 // Client request to connect to Server @@ -39,6 +50,8 @@ #define MQTTQOS1 (1 << 1) #define MQTTQOS2 (2 << 1) + + class PubSubClient { private: TCPSocketConnection _client; @@ -47,16 +60,21 @@ unsigned long lastOutActivity; unsigned long lastInActivity; bool pingOutstanding; - void (*callback)(char*,char*,unsigned int); + MQTT_CALLBACK_SIGNATURE; int readPacket(int); char readByte(); bool write(short header, char* buf, int length); int writeString(char* string, char* buf, int pos); char* ip; int port; + Timer t; + int _state; public: PubSubClient(); - PubSubClient(char*, int, void(*)(char*,char*,unsigned int)); + PubSubClient(char*, int); + + PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE); + bool connect(char *); bool connect(char *, char *, char *); bool connect(char *, char *, short, short, char *); @@ -70,6 +88,8 @@ bool unsubscribe(char *); bool loop(); bool connected(); + int mqtt_state(); + int millis(); };