MQTT For Wiz750sr

Dependencies:   FP MQTTPacket

Fork of MQTT by Albin Sebastian

Committer:
dodo_1234
Date:
Sun Jul 29 00:28:10 2018 +0000
Revision:
50:0e47e6957bfc
Parent:
45:b7cebc104c6c
Aquarium_AssistantV1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
icraggs 31:a51dd239b78e 1 #if !defined(MQTTSOCKET_H)
icraggs 31:a51dd239b78e 2 #define MQTTSOCKET_H
icraggs 31:a51dd239b78e 3
icraggs 43:21da1f744243 4 #include "MQTTmbed.h"
icraggs 31:a51dd239b78e 5 #include "TCPSocketConnection.h"
icraggs 31:a51dd239b78e 6
icraggs 31:a51dd239b78e 7 class MQTTSocket
icraggs 31:a51dd239b78e 8 {
bangbh 45:b7cebc104c6c 9 public:
bangbh 45:b7cebc104c6c 10 ~MQTTSocket()
bangbh 45:b7cebc104c6c 11 {
bangbh 45:b7cebc104c6c 12 if(mysock)
bangbh 45:b7cebc104c6c 13 delete mysock;
bangbh 45:b7cebc104c6c 14 }
bangbh 45:b7cebc104c6c 15
icraggs 31:a51dd239b78e 16 int connect(char* hostname, int port, int timeout=1000)
icraggs 31:a51dd239b78e 17 {
dodo_1234 50:0e47e6957bfc 18 mysock->set_timeout(timeout);
bangbh 45:b7cebc104c6c 19 mysock->set_blocking(false, timeout); // 1 second Timeout
bangbh 45:b7cebc104c6c 20 return mysock->connect(hostname, port);
icraggs 31:a51dd239b78e 21 }
icraggs 31:a51dd239b78e 22
icraggs 36:2f1ada427e56 23 int read(unsigned char* buffer, int len, int timeout)
icraggs 31:a51dd239b78e 24 {
bangbh 45:b7cebc104c6c 25 mysock->set_blocking(false, timeout);
bangbh 45:b7cebc104c6c 26 return mysock->receive((char*)buffer, len);
icraggs 31:a51dd239b78e 27 }
icraggs 31:a51dd239b78e 28
icraggs 36:2f1ada427e56 29 int write(unsigned char* buffer, int len, int timeout)
icraggs 31:a51dd239b78e 30 {
bangbh 45:b7cebc104c6c 31 mysock->set_blocking(false, timeout);
bangbh 45:b7cebc104c6c 32 return mysock->send((char*)buffer, len);
icraggs 31:a51dd239b78e 33 }
icraggs 31:a51dd239b78e 34
icraggs 31:a51dd239b78e 35 int disconnect()
icraggs 31:a51dd239b78e 36 {
bangbh 45:b7cebc104c6c 37 return mysock->close();
icraggs 31:a51dd239b78e 38 }
bangbh 45:b7cebc104c6c 39
bangbh 45:b7cebc104c6c 40 protected:
bangbh 45:b7cebc104c6c 41 void createSocket() { mysock = new TCPSocketConnection(); }
icraggs 31:a51dd239b78e 42 private:
icraggs 31:a51dd239b78e 43
bangbh 45:b7cebc104c6c 44 TCPSocketConnection *mysock;
icraggs 31:a51dd239b78e 45
icraggs 31:a51dd239b78e 46 };
icraggs 31:a51dd239b78e 47
icraggs 31:a51dd239b78e 48
icraggs 31:a51dd239b78e 49
icraggs 31:a51dd239b78e 50 #endif