Leosac
0.8.0
Open Source Access Control
|
This simply is the main class for the Wiegand module. More...
#include <MqttModule.hpp>
Public Member Functions | |
MqttModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils) | |
~MqttModule () override | |
virtual void | run () override |
This is the main loop of the module. More... | |
Public Member Functions inherited from Leosac::Module::BaseModule | |
BaseModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils) | |
Constructor of BaseModule. More... | |
virtual | ~BaseModule ()=default |
Private Member Functions | |
void | process_config () |
Create Mqtt server instances based on configuration. More... | |
void | load_db_config () |
Load the module configuration from the database. More... | |
void | load_xml_config (const boost::property_tree::ptree &module_config) |
Load the module configuration from the XML configuration object. More... | |
Private Attributes | |
std::vector< MqttExternalServer > | servers_ |
Vector of mqtt connections managed by this module. More... | |
std::unique_ptr< MqttConfig > | mqtt_config_ |
Configuration object for the module. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Leosac::Module::BaseModule | |
virtual void | handle_pipe () |
The base class register the pipe_ socket to its reactor_ so that this function is called when the pipe_ is available from reading. More... | |
virtual void | handle_control () |
Handle called when a message on the module's control socket arrives. More... | |
virtual void | dump_additional_config (zmqpp::message *out) const |
Dump additional configuration (for example module specific config file). More... | |
void | dump_config (ConfigManager::ConfigFormat fmt, zmqpp::message *out_msg) const |
Fills a message with the module's configuration information. More... | |
void | config_check (const std::string &obj_name, Leosac::Hardware::DeviceClass type) |
An helper that checks configuration the existence of some objects. More... | |
void | config_check (const std::string &obj_name) |
An helper that checks configuration the existence of some objects. More... | |
Protected Attributes inherited from Leosac::Module::BaseModule | |
zmqpp::context & | ctx_ |
A reference to the ZeroMQ context in case you need it to create additional socket. More... | |
zmqpp::socket & | pipe_ |
A reference to the pair socket that link back to the module manager. More... | |
boost::property_tree::ptree | config_ |
The configuration tree passed to the start_module function. More... | |
CoreUtilsPtr | utils_ |
Pointer to the core utils, which gives access to scheduler and others. More... | |
bool | is_running_ |
Boolean indicating whether the main loop should run or not. More... | |
zmqpp::socket | control_ |
Control REP socket. More... | |
zmqpp::reactor | reactor_ |
The reactor object we poll() on in the main loop. More... | |
std::string | name_ |
This simply is the main class for the Wiegand module.
Definition at line 45 of file MqttModule.hpp.
MqttModule::MqttModule | ( | zmqpp::context & | ctx, |
zmqpp::socket * | pipe, | ||
const boost::property_tree::ptree & | cfg, | ||
CoreUtilsPtr | utils | ||
) |
Definition at line 36 of file MqttModule.cpp.
|
override |
Definition at line 49 of file MqttModule.cpp.
|
private |
Load the module configuration from the database.
Definition at line 97 of file MqttModule.cpp.
|
private |
Load the module configuration from the XML configuration object.
Definition at line 155 of file MqttModule.cpp.
|
private |
Create Mqtt server instances based on configuration.
Definition at line 53 of file MqttModule.cpp.
|
overridevirtual |
This is the main loop of the module.
It should only exit when receiving signal::stop
on its pipe_
socket. This is completely handled by this base class. In case you override this, make sure you watch the pipe_
socket.
Reimplemented from Leosac::Module::BaseModule.
Definition at line 84 of file MqttModule.cpp.
|
private |
Configuration object for the module.
Definition at line 80 of file MqttModule.hpp.
|
private |
Vector of mqtt connections managed by this module.
Definition at line 75 of file MqttModule.hpp.