Add "TARGET_RZ_A1H"as target of using Ethernet IF.
Fork of Milkcocoa_EthernetIF by
Diff: MClient.h
- Revision:
- 1:4a634c06c5dc
- Child:
- 2:a174c8a8d53e
diff -r 23e533c4b1ec -r 4a634c06c5dc MClient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MClient.h Fri Dec 18 04:30:59 2015 +0000 @@ -0,0 +1,85 @@ +#ifndef _MCLIENT_H_ +#define _MCLIENT_H_ + +#define USE_ESP8266 +//#define USE_ETHERNET + +#include "mbed.h" +#ifdef USE_ESP8266 +#include "MQTTESP8266.h" +#else +#include "MQTTEthernet.h" +#endif +#include "MQTTClient.h" + +class MClient +{ + public: + typedef void (*messageHandler)(MQTT::MessageData&); +#ifdef USE_ESP8266 + MClient(MQTTESP8266 *ipstack) : client(MQTT::Client<MQTTESP8266, Countdown>(*ipstack)) +#else + MClient(MQTTEthernet *ipstack) : client(MQTT::Client<MQTTEthernet, Countdown>(*ipstack)) +#endif + { + _ipstack = ipstack; + } + void setDefaultMessageHandler(messageHandler mh) + { + client.setDefaultMessageHandler(mh); + } + int connect(char* host,int port) + { + return _ipstack->connect(host, port); + } + int connect() + { + return client.connect(); + } + int connect(MQTTPacket_connectData& options) + { + return client.connect(options); + } + int publish(const char* topicName, MQTT::Message& message) + { + return client.publish(topicName,message); + } + int publish(const char* topicName, void* payload, size_t payloadlen, enum MQTT::QoS qos = MQTT::QOS0, bool retained = false) + { + return client.publish(topicName,payload,payloadlen,qos,retained); + } + int publish(const char* topicName, void* payload, size_t payloadlen, unsigned short& id, enum MQTT::QoS qos = MQTT::QOS1, bool retained = false) + { + return client.publish(topicName,payload,payloadlen,id,qos,retained); + } + int subscribe(const char* topicFilter, enum MQTT::QoS qos, messageHandler mh) + { + return client.subscribe(topicFilter,qos,mh); + } + int unsubscribe(const char* topicFilter) + { + return client.unsubscribe(topicFilter); + } + int disconnect() + { + return client.disconnect(); + } + int yield(unsigned long timeout_ms = 1000L) + { + return client.yield(timeout_ms); + } + bool isConnected() + { + return client.isConnected(); + } +private: +#ifdef USE_ESP8266 + MQTT::Client<MQTTESP8266, Countdown> client; + MQTTESP8266 *_ipstack; +#else + MQTT::Client<MQTTEthernet, Countdown> client; + MQTTEthernet *_ipstack; +#endif +}; + +#endif \ No newline at end of file