Leosac  0.8.0
Open Source Access Control
Leosac::Module::WSNotifier::WebServiceNotifier Class Reference

#include <WebServiceNotifier.hpp>

+ Inheritance diagram for Leosac::Module::WSNotifier::WebServiceNotifier:
+ Collaboration diagram for Leosac::Module::WSNotifier::WebServiceNotifier:

Classes

struct  TargetInfo
 Some information for each webservice target. More...
 

Public Member Functions

 WebServiceNotifier (zmqpp::context &ctx, zmqpp::socket *pipe, const boost::property_tree::ptree &cfg, CoreUtilsPtr utils)
 
 ~WebServiceNotifier ()
 
- 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
 
virtual void run ()
 This is the main loop of the module. More...
 

Private Member Functions

void handle_msg_bus ()
 Process a message that was read on the bus. More...
 
void process_config ()
 Process the configuration file. More...
 
void send_card_info_to_remote (const std::string &auth_source, const std::string &card, int nb_bits)
 Send an HTTP request to the remote webservice to let it know a card was read. More...
 
void send_to_target (void *curl, const std::string &auth_source, const Cred::RFIDCard &card, const TargetInfo &target) noexcept
 

Private Attributes

zmqpp::socket bus_sub_
 Read internal message bus. More...
 
std::vector< TargetInfotargets_
 

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_
 

Detailed Description

Definition at line 32 of file WebServiceNotifier.hpp.

Constructor & Destructor Documentation

◆ WebServiceNotifier()

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

Definition at line 29 of file WebServiceNotifier.cpp.

◆ ~WebServiceNotifier()

WebServiceNotifier::~WebServiceNotifier ( )

Definition at line 50 of file WebServiceNotifier.cpp.

Member Function Documentation

◆ handle_msg_bus()

void WebServiceNotifier::handle_msg_bus ( )
private

Process a message that was read on the bus.

Definition at line 55 of file WebServiceNotifier.cpp.

◆ process_config()

void WebServiceNotifier::process_config ( )
private

Process the configuration file.

Definition at line 79 of file WebServiceNotifier.cpp.

◆ send_card_info_to_remote()

void WebServiceNotifier::send_card_info_to_remote ( const std::string &  auth_source,
const std::string &  card,
int  nb_bits 
)
private

Send an HTTP request to the remote webservice to let it know a card was read.

Definition at line 108 of file WebServiceNotifier.cpp.

◆ send_to_target()

void WebServiceNotifier::send_to_target ( void *  curl,
const std::string &  auth_source,
const Cred::RFIDCard card,
const TargetInfo target 
)
privatenoexcept

Definition at line 148 of file WebServiceNotifier.cpp.

Member Data Documentation

◆ bus_sub_

zmqpp::socket Leosac::Module::WSNotifier::WebServiceNotifier::bus_sub_
private

Read internal message bus.

Definition at line 62 of file WebServiceNotifier.hpp.

◆ targets_

std::vector<TargetInfo> Leosac::Module::WSNotifier::WebServiceNotifier::targets_
private

Definition at line 86 of file WebServiceNotifier.hpp.


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