123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #ifndef MQTT_ASYNC_CLIENT_H_
- #define MQTT_ASYNC_CLIENT_H_
- #include <MQTTAsync.h>
- #include <iostream>
- typedef int (*MessageArrived)(void* context, char* topicName, int topicLen, MQTTAsync_message* message);
- typedef void (*ConnectionLost)(void *context, char *cause);
- typedef void (*OnSuccess)(void* context, MQTTAsync_successData* response);
- typedef void (*OnFailure)(void* context, MQTTAsync_failureData* response);
- class MqttAsyncClient
- {
- public:
- MqttAsyncClient();
- ~MqttAsyncClient();
- bool onConnect(std::string address, std::string client_id, int port);
- bool onDisconnect();
- bool onSubscribe(std::string topic, int qos = 1);
- bool onSendMessage(std::string topic, unsigned char* message, int length, int qos = 1);
- void setCallback(MessageArrived callback);
-
- private:
- static int onMessageArrived(void* context, char* topicName, int topicLen, MQTTAsync_message* message);
- static void onMessageLost(void *context, char *cause);
- static void onConnectSuccess(void* context, MQTTAsync_successData* response);
- static void onConnectFailure(void* context, MQTTAsync_failureData* response);
- static void onDisconnectSuccess(void* context, MQTTAsync_successData* response);
- static void onDisconnectFailure(void* context, MQTTAsync_failureData* response);
- static void onSubscribeSuccess(void* context, MQTTAsync_successData* response);
- static void onSubscribeFailure(void* context, MQTTAsync_failureData* response);
- static void onSendMessageSuccess(void* context, MQTTAsync_successData* response);
- static void onSendMessageFailure(void* context, MQTTAsync_failureData* response);
- public:
- private:
- MQTTAsync m_client_;
- MQTTAsync_createOptions m_create_opts_;
- MQTTAsync_connectOptions m_conn_opts_;
- MessageArrived m_message_arrived_callback_;
- ConnectionLost m_connect_lost_callback_;
- OnSuccess m_connect_success_;
- OnSuccess m_disconnect_success_;
- OnSuccess m_subscribe_success_;
- OnSuccess m_send_success_;
- OnFailure m_connect_failure_;
- OnFailure m_disconnect_failure_;
- OnFailure m_subscribe_failure_;
- OnFailure m_send_failure_;
- };
- #endif
|