Provides Javascript wrappers for MQTT.

Dependencies:   mbed-http DEVI2C_JS MQTTPacket FP

Committer:
kajasu
Date:
Mon Feb 03 09:36:20 2020 +0000
Revision:
1:a8ffffd1beab
Parent:
0:f4dbe435e64c
TT

Who changed what in which revision?

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