Leosac  0.8.0
Open Source Access Control
Leosac::Module::Auth::AuthDBModule Class Reference

This implements a authentication module that uses Leosac database to validate access. More...

#include <AuthDBModule.hpp>

+ Inheritance diagram for Leosac::Module::Auth::AuthDBModule:
+ Collaboration diagram for Leosac::Module::Auth::AuthDBModule:

Public Member Functions

 AuthDBModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils)
 
 AuthDBModule (const AuthDBModule &)=delete
 
 ~AuthDBModule ()
 
- Public Member Functions inherited from Leosac::Module::AsioModule
 AsioModule (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils)
 
 ~AsioModule ()
 
virtual void run () override final
 This is the main loop of the module. More...
 
template<typename Callable >
void post (Callable &&callable)
 Post some work onto the work queue 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
 

Protected Member Functions

void on_service_event (const service_event::Event &event) override
 Function invoked when a service event is triggered. More...
 
- 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...
 

Private Member Functions

void process_config ()
 
void setup_database ()
 

Additional Inherited Members

- Protected Attributes inherited from Leosac::Module::AsioModule
boost::asio::io_service io_service_
 
- 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_
 

Detailed Description

This implements a authentication module that uses Leosac database to validate access.

Definition at line 39 of file AuthDBModule.hpp.

Constructor & Destructor Documentation

◆ AuthDBModule() [1/2]

AuthDBModule::AuthDBModule ( zmqpp::context &  ctx,
zmqpp::socket *  pipe,
const boost::property_tree::ptree &  cfg,
CoreUtilsPtr  utils 
)

Definition at line 28 of file AuthDBModule.cpp.

◆ AuthDBModule() [2/2]

Leosac::Module::Auth::AuthDBModule::AuthDBModule ( const AuthDBModule )
delete

◆ ~AuthDBModule()

AuthDBModule::~AuthDBModule ( )

Definition at line 42 of file AuthDBModule.cpp.

Member Function Documentation

◆ on_service_event()

void AuthDBModule::on_service_event ( const service_event::Event )
overrideprotectedvirtual

Function invoked when a service event is triggered.

Note
This function MUST be thread safe because it will be invoked from whichever thread triggered the event.

Implements Leosac::Module::AsioModule.

Definition at line 51 of file AuthDBModule.cpp.

◆ process_config()

void AuthDBModule::process_config ( )
private

Definition at line 46 of file AuthDBModule.cpp.

◆ setup_database()

void AuthDBModule::setup_database ( )
private

Definition at line 55 of file AuthDBModule.cpp.


The documentation for this class was generated from the following files: