PGO6

Dependencies:   MQTT

Committer:
s0130594
Date:
Thu Nov 14 15:07:12 2019 +0100
Revision:
6:754d3e8f9ae9
Parent:
0:fd29cd85e75e
Added MQTT functionality

Who changed what in which revision?

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