50 lines
1.0 KiB
C++
50 lines
1.0 KiB
C++
#if !defined(MQTTSOCKET_H)
|
|
#define MQTTSOCKET_H
|
|
|
|
#include "MQTT_mbed.h"
|
|
#include "TCPSocketConnection.h"
|
|
|
|
class MQTTSocket
|
|
{
|
|
public:
|
|
~MQTTSocket()
|
|
{
|
|
if(mysock)
|
|
delete mysock;
|
|
}
|
|
|
|
int connect(char* hostname, int port, int timeout=1000)
|
|
{
|
|
mysock->set_blocking(false, timeout); // 1 second Timeout
|
|
return mysock->connect(hostname, port);
|
|
}
|
|
|
|
int read(unsigned char* buffer, int len, int timeout)
|
|
{
|
|
mysock->set_blocking(false, timeout);
|
|
return mysock->receive((char*)buffer, len);
|
|
}
|
|
|
|
int write(unsigned char* buffer, int len, int timeout)
|
|
{
|
|
mysock->set_blocking(false, timeout);
|
|
return mysock->send((char*)buffer, len);
|
|
}
|
|
|
|
int disconnect()
|
|
{
|
|
return mysock->close();
|
|
}
|
|
|
|
protected:
|
|
void createSocket() { mysock = new TCPSocketConnection(); }
|
|
|
|
private:
|
|
|
|
TCPSocketConnection *mysock;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif |