for WIZwiki-W7500 board

Dependencies:   FP MQTTPacket

Dependents:   IBMIoTClientEthernetExample_WIZnet

Fork of MQTT by MQTT

Committer:
hkjung
Date:
Thu Sep 17 04:42:08 2015 +0000
Revision:
49:66f37eda441b
Parent:
45:d8c12dce71b9
Modified the netinfo allocation method

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"
hkjung 45:d8c12dce71b9 6 /*
icraggs 31:a51dd239b78e 7 class MQTTSocket
icraggs 31:a51dd239b78e 8 {
icraggs 31:a51dd239b78e 9 public:
icraggs 31:a51dd239b78e 10 int connect(char* hostname, int port, int timeout=1000)
icraggs 31:a51dd239b78e 11 {
icraggs 31:a51dd239b78e 12 mysock.set_blocking(false, timeout); // 1 second Timeout
icraggs 31:a51dd239b78e 13 return mysock.connect(hostname, port);
icraggs 31:a51dd239b78e 14 }
icraggs 31:a51dd239b78e 15
icraggs 36:2f1ada427e56 16 int read(unsigned char* buffer, int len, int timeout)
icraggs 31:a51dd239b78e 17 {
icraggs 31:a51dd239b78e 18 mysock.set_blocking(false, timeout);
icraggs 36:2f1ada427e56 19 return mysock.receive((char*)buffer, len);
icraggs 31:a51dd239b78e 20 }
icraggs 31:a51dd239b78e 21
icraggs 36:2f1ada427e56 22 int write(unsigned char* buffer, int len, int timeout)
icraggs 31:a51dd239b78e 23 {
icraggs 31:a51dd239b78e 24 mysock.set_blocking(false, timeout);
icraggs 36:2f1ada427e56 25 return mysock.send((char*)buffer, len);
icraggs 31:a51dd239b78e 26 }
icraggs 31:a51dd239b78e 27
icraggs 31:a51dd239b78e 28 int disconnect()
icraggs 31:a51dd239b78e 29 {
icraggs 31:a51dd239b78e 30 return mysock.close();
icraggs 31:a51dd239b78e 31 }
icraggs 31:a51dd239b78e 32
icraggs 31:a51dd239b78e 33 private:
icraggs 31:a51dd239b78e 34
icraggs 31:a51dd239b78e 35 TCPSocketConnection mysock;
icraggs 31:a51dd239b78e 36
icraggs 31:a51dd239b78e 37 };
hkjung 45:d8c12dce71b9 38 */
icraggs 31:a51dd239b78e 39
hkjung 45:d8c12dce71b9 40 class MQTTSocket
hkjung 45:d8c12dce71b9 41 {
hkjung 45:d8c12dce71b9 42 public:
hkjung 45:d8c12dce71b9 43 ~MQTTSocket()
hkjung 45:d8c12dce71b9 44 {
hkjung 45:d8c12dce71b9 45 if(mysock)
hkjung 45:d8c12dce71b9 46 delete mysock;
hkjung 45:d8c12dce71b9 47 }
hkjung 45:d8c12dce71b9 48
hkjung 45:d8c12dce71b9 49 int connect(char* hostname, int port, int timeout=1000)
hkjung 45:d8c12dce71b9 50 {
hkjung 45:d8c12dce71b9 51 mysock->set_blocking(false, timeout); // 1 second Timeout
hkjung 45:d8c12dce71b9 52 return mysock->connect(hostname, port);
hkjung 45:d8c12dce71b9 53 }
hkjung 45:d8c12dce71b9 54
hkjung 45:d8c12dce71b9 55 int read(unsigned char* buffer, int len, int timeout)
hkjung 45:d8c12dce71b9 56 {
hkjung 45:d8c12dce71b9 57 mysock->set_blocking(false, timeout);
hkjung 45:d8c12dce71b9 58 return mysock->receive((char*)buffer, len);
hkjung 45:d8c12dce71b9 59 }
hkjung 45:d8c12dce71b9 60
hkjung 45:d8c12dce71b9 61 int write(unsigned char* buffer, int len, int timeout)
hkjung 45:d8c12dce71b9 62 {
hkjung 45:d8c12dce71b9 63 mysock->set_blocking(false, timeout);
hkjung 45:d8c12dce71b9 64 return mysock->send((char*)buffer, len);
hkjung 45:d8c12dce71b9 65 }
hkjung 45:d8c12dce71b9 66
hkjung 45:d8c12dce71b9 67 int disconnect()
hkjung 45:d8c12dce71b9 68 {
hkjung 45:d8c12dce71b9 69 return mysock->close();
hkjung 45:d8c12dce71b9 70 }
hkjung 45:d8c12dce71b9 71
hkjung 45:d8c12dce71b9 72 protected:
hkjung 45:d8c12dce71b9 73 void createSocket() { mysock = new TCPSocketConnection(); }
hkjung 45:d8c12dce71b9 74 private:
hkjung 45:d8c12dce71b9 75
hkjung 45:d8c12dce71b9 76 TCPSocketConnection *mysock;
hkjung 45:d8c12dce71b9 77
hkjung 45:d8c12dce71b9 78 };
icraggs 31:a51dd239b78e 79
icraggs 31:a51dd239b78e 80
icraggs 31:a51dd239b78e 81 #endif