,

Dependencies:   C12832 DHT MQTT

Fork of HelloMQTT by MQTT

Committer:
2814970
Date:
Fri Jan 05 12:20:31 2018 +0000
Revision:
23:e3422d0d3cc2
Parent:
21:a68bd76740f9
,

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jan Jongboom 20:49c9daf2b0ff 1 #ifndef _MQTTNETWORK_H_
Jan Jongboom 20:49c9daf2b0ff 2 #define _MQTTNETWORK_H_
Jan Jongboom 20:49c9daf2b0ff 3
Jan Jongboom 20:49c9daf2b0ff 4 #include "NetworkInterface.h"
Jan Jongboom 20:49c9daf2b0ff 5
Jan Jongboom 20:49c9daf2b0ff 6 class MQTTNetwork {
Jan Jongboom 20:49c9daf2b0ff 7 public:
Jan Jongboom 20:49c9daf2b0ff 8 MQTTNetwork(NetworkInterface* aNetwork) : network(aNetwork) {
Jan Jongboom 20:49c9daf2b0ff 9 socket = new TCPSocket();
2814970 23:e3422d0d3cc2 10 socket->set_blocking(false);
Jan Jongboom 20:49c9daf2b0ff 11 }
Jan Jongboom 20:49c9daf2b0ff 12
Jan Jongboom 20:49c9daf2b0ff 13 ~MQTTNetwork() {
Jan Jongboom 20:49c9daf2b0ff 14 delete socket;
Jan Jongboom 20:49c9daf2b0ff 15 }
Jan Jongboom 20:49c9daf2b0ff 16
Jan Jongboom 20:49c9daf2b0ff 17 int read(unsigned char* buffer, int len, int timeout) {
Jan Jongboom 20:49c9daf2b0ff 18 return socket->recv(buffer, len);
Jan Jongboom 20:49c9daf2b0ff 19 }
Jan Jongboom 20:49c9daf2b0ff 20
Jan Jongboom 20:49c9daf2b0ff 21 int write(unsigned char* buffer, int len, int timeout) {
Jan Jongboom 20:49c9daf2b0ff 22 return socket->send(buffer, len);
Jan Jongboom 20:49c9daf2b0ff 23 }
Jan Jongboom 20:49c9daf2b0ff 24
Jan Jongboom 20:49c9daf2b0ff 25 int connect(const char* hostname, int port) {
Jan Jongboom 20:49c9daf2b0ff 26 socket->open(network);
Jan Jongboom 20:49c9daf2b0ff 27 return socket->connect(hostname, port);
Jan Jongboom 20:49c9daf2b0ff 28 }
Jan Jongboom 20:49c9daf2b0ff 29
Jan Jongboom 21:a68bd76740f9 30 int disconnect() {
Jan Jongboom 21:a68bd76740f9 31 return socket->close();
Jan Jongboom 20:49c9daf2b0ff 32 }
Jan Jongboom 20:49c9daf2b0ff 33
Jan Jongboom 20:49c9daf2b0ff 34 private:
Jan Jongboom 20:49c9daf2b0ff 35 NetworkInterface* network;
Jan Jongboom 20:49c9daf2b0ff 36 TCPSocket* socket;
Jan Jongboom 20:49c9daf2b0ff 37 };
Jan Jongboom 20:49c9daf2b0ff 38
Jan Jongboom 20:49c9daf2b0ff 39 #endif // _MQTTNETWORK_H_