An API for using MQTT over multiple transports

Dependencies:   FP MQTTPacket

Dependents:   IBMIoTClientEthernetExample_W5500 IBMIoTClientEthernetExample_W5200

Fork of MQTT by MQTT

MQTTSocket.h

Committer:
kaizen
Date:
2014-09-29
Revision:
44:f53a95f9c1d8
Parent:
36:2f1ada427e56

File content as of revision 44:f53a95f9c1d8:

#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