mqtt - potistiriProject

Dependencies:   MQTTPacket FP

Committer:
dinos95
Date:
Thu Mar 11 15:11:33 2021 +0000
Revision:
60:de9d500da15f
potistiri

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dinos95 60:de9d500da15f 1
dinos95 60:de9d500da15f 2 #ifndef _MQTTNETWORK_H_
dinos95 60:de9d500da15f 3 #define _MQTTNETWORK_H_
dinos95 60:de9d500da15f 4
dinos95 60:de9d500da15f 5
dinos95 60:de9d500da15f 6 #include "EthernetInterface.h"
dinos95 60:de9d500da15f 7
dinos95 60:de9d500da15f 8 class MQTTNetwork {
dinos95 60:de9d500da15f 9 public:
dinos95 60:de9d500da15f 10 MQTTNetwork(NetworkInterface* aNetwork) : network(aNetwork) {
dinos95 60:de9d500da15f 11 socket = new TCPSocket();
dinos95 60:de9d500da15f 12 }
dinos95 60:de9d500da15f 13
dinos95 60:de9d500da15f 14 ~MQTTNetwork() {
dinos95 60:de9d500da15f 15 delete socket;
dinos95 60:de9d500da15f 16 }
dinos95 60:de9d500da15f 17
dinos95 60:de9d500da15f 18 int read(unsigned char* buffer, int len, int timeout) {
dinos95 60:de9d500da15f 19 return socket->recv(buffer, len);
dinos95 60:de9d500da15f 20 }
dinos95 60:de9d500da15f 21
dinos95 60:de9d500da15f 22 int write(unsigned char* buffer, int len, int timeout) {
dinos95 60:de9d500da15f 23 return socket->send(buffer, len);
dinos95 60:de9d500da15f 24 }
dinos95 60:de9d500da15f 25
dinos95 60:de9d500da15f 26 int connect(const char* hostname, int port) {
dinos95 60:de9d500da15f 27 /*
dinos95 60:de9d500da15f 28 socket->open(network);
dinos95 60:de9d500da15f 29 return socket->connect(hostname, port);
dinos95 60:de9d500da15f 30 */
dinos95 60:de9d500da15f 31 socket->open(network);
dinos95 60:de9d500da15f 32 network->gethostbyname(hostname,&a);
dinos95 60:de9d500da15f 33 a.set_port(port);
dinos95 60:de9d500da15f 34 return socket->connect(a);
dinos95 60:de9d500da15f 35 }
dinos95 60:de9d500da15f 36
dinos95 60:de9d500da15f 37 int disconnect() {
dinos95 60:de9d500da15f 38 return socket->close();
dinos95 60:de9d500da15f 39 }
dinos95 60:de9d500da15f 40
dinos95 60:de9d500da15f 41 private:
dinos95 60:de9d500da15f 42 NetworkInterface* network;
dinos95 60:de9d500da15f 43 TCPSocket* socket;
dinos95 60:de9d500da15f 44 SocketAddress a;
dinos95 60:de9d500da15f 45 };
dinos95 60:de9d500da15f 46
dinos95 60:de9d500da15f 47
dinos95 60:de9d500da15f 48 #endif // _MQTTNETWORK_H_