45 lines
652 B
C++
45 lines
652 B
C++
#pragma once
|
|
|
|
#include <acs-driver/gpio.hpp>
|
|
|
|
namespace boost {
|
|
namespace system {
|
|
class error_code;
|
|
}
|
|
}
|
|
|
|
namespace acs
|
|
{
|
|
class state;
|
|
class card_reader;
|
|
class oled_writer;
|
|
class await_timer;
|
|
|
|
class access_controller
|
|
{
|
|
state* state_;
|
|
|
|
gpio* extra_gpio_;
|
|
|
|
card_reader* reader_;
|
|
|
|
oled_writer* writer_;
|
|
|
|
await_timer* timer_;
|
|
|
|
void wait(unsigned duration);
|
|
|
|
void reset(const boost::system::error_code& ec);
|
|
|
|
public:
|
|
|
|
explicit access_controller();
|
|
|
|
void authorized();
|
|
|
|
void forbidden();
|
|
|
|
void force_reset_if_idle();
|
|
};
|
|
}
|