ifocus smart light sample v0.9

Dependencies:   MbedJSONValue MQTT

Committer:
zixuanlim
Date:
Thu Dec 12 02:18:11 2019 +0000
Revision:
6:cd4d7e943f96
Parent:
0:324ca5eb468c
Commit for testing again in local....

Who changed what in which revision?

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