iot_water_monitor_v2

Dependencies:   easy-connect-v16 Watchdog FP MQTTPacket RecordType-v-16 watersenor_and_temp_code

Committer:
DuyLionTran
Date:
Tue Dec 26 14:34:56 2017 +0000
Revision:
19:fbc21a964938
Parent:
MQTTNetwork.h@11:3802c82a5ae9
version 1.7: relay states added.

Who changed what in which revision?

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