iot_water_monitor_v2

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

Simple-MQTT/MQTTNetwork.h

Committer:
DuyLionTran
Date:
2017-12-26
Revision:
19:fbc21a964938
Parent:
MQTTNetwork.h@ 11:3802c82a5ae9

File content as of revision 19:fbc21a964938:

#ifndef _MQTTNETWORK_H_
#define _MQTTNETWORK_H_
 
#include "NetworkInterface.h"
 
class MQTTNetwork {
public:
    MQTTNetwork(NetworkInterface* aNetwork) : network(aNetwork) {
        socket = new TCPSocket();
    }
 
    ~MQTTNetwork() {
        delete socket;
    }
 
    int read(unsigned char* buffer, int len, int timeout) {
			  socket->set_timeout(timeout);
        return socket->recv(buffer, len);
    }
 
    int write(unsigned char* buffer, int len, int timeout) {
			  socket->set_timeout(timeout);			
        return socket->send(buffer, len);
    }
 
    int connect(const char* hostname, int port) {
        socket->open(network);
        return socket->connect(hostname, port);
    }
 
    int disconnect() {
        return socket->close();
    }
		 
private:
    NetworkInterface* network;
    TCPSocket* socket;
};
 
#endif // _MQTTNETWORK_H_