#include "mqtt/mqtt_app.hh" #include "jsoncpp/json/json.h" #include "jsoncpp/json/value.h" #include "jsoncpp/json/writer.h" #include using namespace af::mqtt::v1; void MqttApp::app_publish_state(State state) { std::string payload; uint8_t mask = static_cast(state); encode_state_json(mask, payload); mqtt_client_->publish(Topics::state(topic_contex_), payload, 1, false); } void MqttApp::encode_state_json(uint8_t mask, std::string& str_json) { Json::Value root; root["version"] = "v1"; root["state"] = mask; root["left"] = 0; Json::FastWriter write; str_json = write.write(root); } void MqttApp::init_topic_feed_callback() { mqtt_client_->subscribe(Topics::cmd_ack(topic_contex_, "feed"), 0, nullptr); }