diff --git a/lib/cpp/mosquittopp.cpp b/lib/cpp/mosquittopp.cpp index d3b0c31f..0812b1e7 100644 --- a/lib/cpp/mosquittopp.cpp +++ b/lib/cpp/mosquittopp.cpp @@ -26,6 +26,12 @@ static void on_connect_wrapper(struct mosquitto *mosq, void *userdata, int rc) m->on_connect(rc); } +static void on_connect_with_flags_wrapper(struct mosquitto *mosq, void *userdata, int rc, int flags) +{ + class mosquittopp *m = (class mosquittopp *)userdata; + m->on_connect_with_flags(rc, flags); +} + static void on_disconnect_wrapper(struct mosquitto *mosq, void *userdata, int rc) { class mosquittopp *m = (class mosquittopp *)userdata; @@ -163,6 +169,7 @@ mosquittopp::mosquittopp(const char *id, bool clean_session) { m_mosq = mosquitto_new(id, clean_session, this); mosquitto_connect_callback_set(m_mosq, on_connect_wrapper); + mosquitto_connect_with_flags_callback_set(m_mosq, on_connect_with_flags_wrapper); mosquitto_disconnect_callback_set(m_mosq, on_disconnect_wrapper); mosquitto_publish_callback_set(m_mosq, on_publish_wrapper); mosquitto_message_callback_set(m_mosq, on_message_wrapper); @@ -182,6 +189,7 @@ int mosquittopp::reinitialise(const char *id, bool clean_session) rc = mosquitto_reinitialise(m_mosq, id, clean_session, this); if(rc == MOSQ_ERR_SUCCESS){ mosquitto_connect_callback_set(m_mosq, on_connect_wrapper); + mosquitto_connect_with_flags_callback_set(m_mosq, on_connect_with_flags_wrapper); mosquitto_disconnect_callback_set(m_mosq, on_disconnect_wrapper); mosquitto_publish_callback_set(m_mosq, on_publish_wrapper); mosquitto_message_callback_set(m_mosq, on_message_wrapper); diff --git a/lib/cpp/mosquittopp.h b/lib/cpp/mosquittopp.h index 0d0413ae..4ce10c21 100644 --- a/lib/cpp/mosquittopp.h +++ b/lib/cpp/mosquittopp.h @@ -125,6 +125,7 @@ class mosqpp_EXPORT mosquittopp { // names in the functions commented to prevent unused parameter warning virtual void on_connect(int /*rc*/) {return;} + virtual void on_connect_with_flags(int /*rc*/, int /*flags*/) {return;} virtual void on_disconnect(int /*rc*/) {return;} virtual void on_publish(int /*mid*/) {return;} virtual void on_message(const struct mosquitto_message * /*message*/) {return;}