|
contur2
|
Abstract interface for a simulated I/O device. More...
#include <i_device.h>

Public Member Functions | |
| virtual | ~IDevice ()=default |
| virtual DeviceId | id () const noexcept=0 |
| Returns the unique device identifier. | |
| virtual std::string_view | name () const noexcept=0 |
| Returns the human-readable device name. | |
| virtual Result< RegisterValue > | read ()=0 |
| Reads a value from the device. | |
| virtual Result< void > | write (RegisterValue value)=0 |
| Writes a value to the device. | |
| virtual bool | isReady () const noexcept=0 |
| Returns true if the device is ready for I/O operations. | |
Protected Member Functions | |
| IDevice ()=default | |
| IDevice (const IDevice &)=default | |
| IDevice & | operator= (const IDevice &)=default |
| IDevice (IDevice &&)=default | |
| IDevice & | operator= (IDevice &&)=default |
Abstract interface for a simulated I/O device.
Devices are identified by a unique DeviceId and provide read/write operations on RegisterValue-sized data units.
Definition at line 21 of file i_device.h.
|
virtualdefault |
|
protecteddefault |
|
protecteddefault |
|
protecteddefault |
|
nodiscardpure virtualnoexcept |
Returns the unique device identifier.
Implemented in contur::ConsoleDevice, and contur::NetworkDevice.
|
nodiscardpure virtualnoexcept |
Returns true if the device is ready for I/O operations.
Implemented in contur::ConsoleDevice, and contur::NetworkDevice.
|
nodiscardpure virtualnoexcept |
Returns the human-readable device name.
Implemented in contur::ConsoleDevice, and contur::NetworkDevice.
|
nodiscardpure virtual |
Reads a value from the device.
Implemented in contur::ConsoleDevice, and contur::NetworkDevice.
|
nodiscardpure virtual |
Writes a value to the device.
| value | The value to write. |
Implemented in contur::ConsoleDevice, and contur::NetworkDevice.