#include <MqttMapper.h>
Classes | |
| struct | ScheduledPublish |
Public Types | |
| using | MappedPublishes = std::pair<std::vector<iot::mqtt::packets::Publish>, std::vector<ScheduledPublish>> |
Public Member Functions | |
| MqttMapper () | |
| MqttMapper (const MqttMapper &)=delete | |
| MqttMapper & | operator= (const MqttMapper &)=delete |
| virtual | ~MqttMapper () |
| bool | setMapping (nlohmann::json mappingJson) |
| const nlohmann::json & | getMapping () const |
| std::string | dump () |
| const nlohmann::json & | getConnection () const |
| std::list< iot::mqtt::Topic > | extractSubscriptions () const |
| MappedPublishes | getMappings (const iot::mqtt::packets::Publish &publish) |
Static Public Member Functions | |
| static const std::string & | getSchema () |
| static const nlohmann::json | validate (const nlohmann::json &json) |
| static const nlohmann::json | validate (const nlohmann::json &json, nlohmann::json_schema::basic_error_handler &err) |
Private Member Functions | |
| nlohmann::json | findMatchingTopicLevel (const nlohmann::json &topicLevel, const std::string &topic) |
| void | publishMappedTemplate (const nlohmann::json &templateMapping, nlohmann::json &json, MappedPublishes &mappedPublishes) |
| void | getTemplateMappings (const nlohmann::json &templateMapping, nlohmann::json &json, const iot::mqtt::packets::Publish &publish, MappedPublishes &mappedPublishes) |
Static Private Member Functions | |
| static void | extractSubscription (const nlohmann::json &topicLevelJson, const std::string &topic, std::list< iot::mqtt::Topic > &topicList) |
| static void | extractSubscriptions (const nlohmann::json &mappingJson, const std::string &topic, std::list< iot::mqtt::Topic > &topicList) |
| static void | publishMappedMessage (const std::string &topic, const std::string &message, uint8_t qoS, bool retain, double delay, MappedPublishes &mappedPublishes) |
| static void | publishMappedMessage (const nlohmann::json &staticMapping, const iot::mqtt::packets::Publish &publish, MappedPublishes &mappedPublishes) |
| static void | getStaticMappings (const nlohmann::json &staticMapping, const iot::mqtt::packets::Publish &publish, MappedPublishes &mappedPublishes) |
Private Attributes | |
| nlohmann::json | mappingJson |
| std::list< void * > | pluginHandles |
| inja::Environment * | injaEnvironment |
Static Private Attributes | |
| static const nlohmann::json_schema::json_validator | validator |
| static const std::string | mappingJsonSchemaString |
Definition at line 76 of file MqttMapper.h.
| using mqtt::lib::MqttMapper::MappedPublishes = std::pair<std::vector<iot::mqtt::packets::Publish>, std::vector<ScheduledPublish>> |
Definition at line 83 of file MqttMapper.h.
| mqtt::lib::MqttMapper::MqttMapper | ( | ) |
Definition at line 99 of file MqttMapper.cpp.
References injaEnvironment.
|
delete |
|
virtual |
Definition at line 103 of file MqttMapper.cpp.
References injaEnvironment.
| std::string mqtt::lib::MqttMapper::dump | ( | ) |
|
staticprivate |
Definition at line 290 of file MqttMapper.cpp.
Referenced by extractSubscriptions().
| std::list< iot::mqtt::Topic > mqtt::lib::MqttMapper::extractSubscriptions | ( | ) | const |
Definition at line 215 of file MqttMapper.cpp.
Referenced by mqtt::mqttintegrator::lib::Mqtt::Mqtt(), and mqtt::mqttintegrator::lib::Mqtt::resubscribe().
|
staticprivate |
Definition at line 307 of file MqttMapper.cpp.
References extractSubscription().
|
private |
Definition at line 321 of file MqttMapper.cpp.
References findMatchingTopicLevel().
Referenced by findMatchingTopicLevel(), and getMappings().
| const nlohmann::json & mqtt::lib::MqttMapper::getConnection | ( | ) | const |
Definition at line 211 of file MqttMapper.cpp.
Referenced by mqtt::mqttintegrator::lib::Mqtt::Mqtt(), and mqtt::mqttintegrator::lib::Mqtt::onConnected().
| const nlohmann::json & mqtt::lib::MqttMapper::getMapping | ( | ) | const |
Definition at line 203 of file MqttMapper.cpp.
References mappingJson.
Referenced by mqtt::lib::admin::makeMappingAdminRouter().
| MqttMapper::MappedPublishes mqtt::lib::MqttMapper::getMappings | ( | const iot::mqtt::packets::Publish & | publish | ) |
Definition at line 231 of file MqttMapper.cpp.
References findMatchingTopicLevel(), getStaticMappings(), and getTemplateMappings().
Referenced by mqtt::mqttbroker::lib::Mqtt::onPublish(), and mqtt::mqttintegrator::lib::Mqtt::onPublish().
|
static |
Definition at line 111 of file MqttMapper.cpp.
References mappingJsonSchemaString.
Referenced by mqtt::lib::admin::makeMappingAdminRouter().
|
staticprivate |
Definition at line 484 of file MqttMapper.cpp.
References publishMappedMessage().
Referenced by getMappings().
|
private |
Definition at line 403 of file MqttMapper.cpp.
References publishMappedTemplate().
Referenced by getMappings().
|
delete |
|
staticprivate |
Definition at line 447 of file MqttMapper.cpp.
Referenced by getStaticMappings().
|
staticprivate |
Definition at line 427 of file MqttMapper.cpp.
Referenced by publishMappedTemplate().
|
private |
Definition at line 348 of file MqttMapper.cpp.
References inja::SourceLocation::column, injaEnvironment, inja::SourceLocation::line, inja::InjaError::location, inja::InjaError::message, publishMappedMessage(), inja::Environment::render(), and inja::InjaError::type.
Referenced by getTemplateMappings().
| bool mqtt::lib::MqttMapper::setMapping | ( | nlohmann::json | mappingJson | ) |
Definition at line 115 of file MqttMapper.cpp.
References injaEnvironment, mappingJson, pluginHandles, nlohmann::json_schema::json_validator::validate(), and validator.
Referenced by mqtt::lib::ConfigApplication::ConfigApplication(), and mqtt::lib::ConfigApplication::setMapping().
|
static |
Definition at line 223 of file MqttMapper.cpp.
References nlohmann::json_schema::json_validator::validate(), and validator.
Referenced by mqtt::lib::JsonMappingReader::rollbackTo().
|
static |
Definition at line 227 of file MqttMapper.cpp.
References nlohmann::json_schema::json_validator::validate(), and validator.
Referenced by mqtt::lib::admin::makeMappingAdminRouter().
|
private |
Definition at line 133 of file MqttMapper.h.
Referenced by MqttMapper(), publishMappedTemplate(), setMapping(), and ~MqttMapper().
|
private |
Definition at line 129 of file MqttMapper.h.
Referenced by dump(), getMapping(), and setMapping().
|
staticprivate |
Definition at line 137 of file MqttMapper.h.
Referenced by getSchema().
|
private |
Definition at line 131 of file MqttMapper.h.
Referenced by setMapping().
|
staticprivate |
Definition at line 135 of file MqttMapper.h.
Referenced by setMapping(), validate(), and validate().