Leosac
0.8.0
Open Source Access Control
|
Provides facade classes to hardware device implementation. More...
Classes | |
class | Buzzer |
Abstraction of Buzzer device attributes. More... | |
struct | BuzzerSerializer |
class | Device |
Base class for hardware devices. More... | |
struct | DeviceSerializer |
class | ExternalMessage |
Abstraction of an External Messaging device. More... | |
struct | ExternalMessageSerializer |
class | ExternalServer |
Abstraction of an External Server device. More... | |
struct | ExternalServerSerializer |
class | FExternalServer |
Facade object for a Wiegand Reader device. More... | |
class | FGPIO |
A Facade to a GPIO object. More... | |
class | FLED |
A Facade to a LED object. More... | |
class | FWiegandReader |
Facade object for a Wiegand Reader device. More... | |
class | GPIO |
Abstraction of a GPIO device attributes. More... | |
struct | GPIOSerializer |
class | HardwareService |
Database aware Hardware Service. More... | |
class | LED |
Abstraction of LED device attributes. More... | |
struct | LEDSerializer |
Serializer code is copy-pasted from buzzer's serializer. More... | |
class | RFIDReader |
Abstraction of a RFID Reader device. More... | |
struct | RFIDReaderSerializer |
Typedefs | |
using | FBuzzer = FLED |
A Facade to a Buzzer object that you can turn on or off. More... | |
using | DeviceId = UUID |
using | DevicePtr = std::shared_ptr< Device > |
using | GPIOPtr = std::shared_ptr< GPIO > |
using | LEDPtr = std::shared_ptr< LED > |
using | BuzzerPtr = std::shared_ptr< Buzzer > |
using | ExternalMessagePtr = std::shared_ptr< ExternalMessage > |
using | ExternalServerPtr = std::shared_ptr< ExternalServer > |
Enumerations | |
enum | DeviceClass { DeviceClass::UNKNOWN = 0, DeviceClass::GPIO = 1, DeviceClass::RFID_READER = 2, DeviceClass::LED = 3, DeviceClass::BUZZER = 4, DeviceClass::EXTERNAL_MESSAGE = 5, DeviceClass::EXTERNAL_SERVER = 6 } |
An enumeration describing the class of the device. More... | |
Provides facade classes to hardware device implementation.
Classes in this namespace are classes that hide message-passing details to their caller.
Since devices support is implemented through module, we need to send message to communicate with the device. Those classes provide a nice abstraction to do so with traditional method call instead of manually sending message.
using Leosac::Hardware::BuzzerPtr = typedef std::shared_ptr<Buzzer> |
Definition at line 64 of file HardwareFwd.hpp.
using Leosac::Hardware::DeviceId = typedef UUID |
Definition at line 54 of file HardwareFwd.hpp.
using Leosac::Hardware::DevicePtr = typedef std::shared_ptr<Device> |
Definition at line 55 of file HardwareFwd.hpp.
using Leosac::Hardware::ExternalMessagePtr = typedef std::shared_ptr<ExternalMessage> |
Definition at line 67 of file HardwareFwd.hpp.
using Leosac::Hardware::ExternalServerPtr = typedef std::shared_ptr<ExternalServer> |
Definition at line 70 of file HardwareFwd.hpp.
using Leosac::Hardware::FBuzzer = typedef FLED |
A Facade to a Buzzer object that you can turn on or off.
The interface is exactly the same as a LED, so this class is simply an alias.
Definition at line 34 of file FBuzzer.hpp.
using Leosac::Hardware::GPIOPtr = typedef std::shared_ptr<GPIO> |
Definition at line 58 of file HardwareFwd.hpp.
using Leosac::Hardware::LEDPtr = typedef std::shared_ptr<LED> |
Definition at line 61 of file HardwareFwd.hpp.
|
strong |
An enumeration describing the class of the device.
Devices are grouped together based on what they are.
The DeviceClass represents the type of device that leosac is aware of and can deal with. Modules provides implementation for supporting existing DeviceClass.
If new type of hardware would become supported (biometric reader), a new entry in the DeviceClass enumeration should be added before a module can provide proper support for the device.
Enumerator | |
---|---|
UNKNOWN | |
GPIO | |
RFID_READER | |
LED | |
BUZZER | |
EXTERNAL_MESSAGE | |
EXTERNAL_SERVER |
Definition at line 42 of file HardwareFwd.hpp.