Files
mongoose-touch/unittest/mgos_mqtt.c

36 lines
933 B
C

#include "mgos.h"
#include "mgos_mqtt.h"
uint32_t mqtt_pub_count=0;
uint32_t mqtt_sub_count=0;
static sub_handler_t s_handler;
static void *s_handler_ud;
static mg_event_handler_t s_global_handler;
static void *s_global_handler_ud;
void mgos_mqtt_pub(char *t, char *m, int m_len, int flags, bool persist) {
LOG(LL_INFO, ("Sending topic='%s' msg='%s' persist=%s", t, m, persist?"ON":"OFF"));
mqtt_pub_count++;
}
void mgos_mqtt_sub(char *t, sub_handler_t cb, void *ud) {
LOG(LL_INFO, ("Subscribing to topic='%s'", t));
s_handler = cb;
s_handler_ud = ud;
}
void mgos_mqtt_inject(char *topic, char *msg) {
LOG(LL_INFO, ("Injecting topic='%s' msg='%s'", topic, msg));
mqtt_sub_count++;
if (s_handler)
s_handler(NULL, topic, strlen(topic), msg, strlen(msg), s_handler_ud);
}
void mgos_mqtt_add_global_handler(mqtt_event_handler_t handler, void *ud) {
s_global_handler = handler;
s_global_handler_ud = ud;
}