Dependencies:   TextLCD MQTT

Committer:
mwgold
Date:
Wed Dec 11 21:13:57 2019 +0000
Revision:
4:ef8866873df5
test0;

Who changed what in which revision?

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