Merge pull request #120 from tomkcook/master

Use std::function on ESP8266 platform.
This commit is contained in:
Nick O'Leary 2016-01-31 20:47:32 +00:00
commit 83b69a766e
2 changed files with 7 additions and 2 deletions

View File

@ -570,7 +570,7 @@ PubSubClient& PubSubClient::setServer(const char * domain, uint16_t port) {
return *this; return *this;
} }
PubSubClient& PubSubClient::setCallback(void(*callback)(char*,uint8_t*,unsigned int)){ PubSubClient& PubSubClient::setCallback(MQTT_CALLBACK_SIGNATURE) {
this->callback = callback; this->callback = callback;
return *this; return *this;
} }

View File

@ -73,7 +73,12 @@
#define MQTTQOS1 (1 << 1) #define MQTTQOS1 (1 << 1)
#define MQTTQOS2 (2 << 1) #define MQTTQOS2 (2 << 1)
#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*,uint8_t*,unsigned int) #ifdef ESP8266
#include <functional>
#define MQTT_CALLBACK_SIGNATURE std::function<void(char*, uint8_t*, uint32_t)> callback
#else
#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, uint32_t)
#endif
class PubSubClient { class PubSubClient {
private: private: