mqttclient.h
static void fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data);
=====
mqttclient.cpp
static const std::string sub_topic_list[] = {"topic1","topic2"};
void CMqttClient::fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data)
{
//...
else if (ev == MG_EV_MQTT_OPEN) (
//MOTT connect is successful
for (int i = 0,i < sizeof(sub_topic_list)/sizeof(std::string); i++) (
struct mg_str subt = mg_str(sub_topic_list[i].c_str());
sub_opts.topic = subt;
sub_opts.topic = subt;
sub_opts.qos = 1;
mg_mqtt_sub(c, &sub opts);
MG_INFO(("%lu SUBSCRIBED to %.*s",c->id, (int)subt.len, subt.ptr));
}
//...
}