37 template <
unsigned int NbBits>
50 std::chrono::milliseconds pin_timeout,
char pin_end_key);
53 virtual void timeout()
override;
57 virtual void signal(zmqpp::socket &sock)
override;
59 virtual const std::string &
get_pin()
const override;
61 virtual void reset()
override;
80 using TimePoint = std::chrono::system_clock::time_point;
virtual void timeout() override
This is called when the module detect a timeout.
virtual void signal(zmqpp::socket &sock) override
Tells the strategy implementation to send a message to the application containing the received creden...
An implementation class that represents a Wiegand Reader.
Interface for a strategy that read a PIN code.
This is the header file for a generated source file, GitSHA1.cpp.
std::chrono::system_clock::time_point TimePoint
virtual bool completed() const override
Did the strategy gather needed data? If this function returns true, that means that the strategy impl...
Strategy for ready PIN only.
WiegandPinNBitsOnly(WiegandReaderImpl *reader, std::chrono::milliseconds pin_timeout, char pin_end_key)
Create a strategy that read N bits-per-key PIN code.
virtual const std::string & get_pin() const override
Retrieve the pin code that was read from the reader.
bool ready_
Are we ready to submit the PIN code ?
char extract_from_raw(uint8_t input) const
Extract the character that was pressed from raw data.
virtual void reset() override
Reset the strategy, meaning that the next time timeout() is called the behavior should be the same th...
std::chrono::milliseconds pin_timeout_
void end_of_input()
Timeout or pin_end_key read.