111 lines
1.9 KiB
C++
111 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "devices.hpp"
|
|
#include "card_reader.hpp"
|
|
#include "oled_writer.hpp"
|
|
#include "state.hpp"
|
|
#include "loop.hpp"
|
|
#include "reader_timer.hpp"
|
|
#include "await_timer.hpp"
|
|
#include "mysql_conn.hpp"
|
|
#include "qr_encoder.hpp"
|
|
#include "request_delegate.hpp"
|
|
#include "access_controller.hpp"
|
|
#include "request_timer.hpp"
|
|
|
|
namespace acs
|
|
{
|
|
class factory
|
|
{
|
|
devices devices_;
|
|
|
|
loop loop_;
|
|
|
|
card_reader reader_;
|
|
|
|
oled_writer writer_;
|
|
|
|
state state_;
|
|
|
|
reader_timer reader_timer_;
|
|
|
|
await_timer await_timer_;
|
|
|
|
mysql_conn mysql_conn_;
|
|
|
|
qr_encoder qr_encoder_;
|
|
|
|
request_delegate request_delegate_;
|
|
|
|
access_controller access_controller_;
|
|
|
|
request_timer request_timer_;
|
|
|
|
static factory singleton_;
|
|
|
|
explicit factory() = default;
|
|
|
|
public:
|
|
|
|
static factory* get()
|
|
{
|
|
return &singleton_;
|
|
}
|
|
|
|
devices* get_devices()
|
|
{
|
|
return &devices_;
|
|
}
|
|
|
|
loop* get_loop()
|
|
{
|
|
return &loop_;
|
|
}
|
|
|
|
card_reader* get_reader()
|
|
{
|
|
return &reader_;
|
|
}
|
|
|
|
oled_writer* get_writer()
|
|
{
|
|
return &writer_;
|
|
}
|
|
|
|
state* get_state()
|
|
{
|
|
return &state_;
|
|
}
|
|
|
|
reader_timer* get_reader_timer()
|
|
{
|
|
return &reader_timer_;
|
|
}
|
|
|
|
await_timer* get_await_timer()
|
|
{
|
|
return &await_timer_;
|
|
}
|
|
|
|
mysql_conn* get_mysql()
|
|
{
|
|
return &mysql_conn_;
|
|
}
|
|
|
|
qr_encoder* get_qr_encoder()
|
|
{
|
|
return &qr_encoder_;
|
|
}
|
|
|
|
request_delegate* get_request_delegate()
|
|
{
|
|
return &request_delegate_;
|
|
}
|
|
|
|
access_controller* get_controller()
|
|
{
|
|
return &access_controller_;
|
|
}
|
|
};
|
|
}
|