CIS441 Proj MS 2b

Dependencies:   TextLCD MQTT

Committer:
kchen7
Date:
Fri Dec 13 22:14:27 2019 +0000
Revision:
16:cb7cbf2cc23b
Parent:
4:ef8866873df5
final version;

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_