contur2
Loading...
Searching...
No Matches
contur::IDevice Class Referenceabstract

Abstract interface for a simulated I/O device. More...

#include <i_device.h>

Inheritance diagram for contur::IDevice:

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< RegisterValueread ()=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
IDeviceoperator= (const IDevice &)=default
 IDevice (IDevice &&)=default
IDeviceoperator= (IDevice &&)=default

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~IDevice()

virtual contur::IDevice::~IDevice ( )
virtualdefault

◆ IDevice() [1/3]

contur::IDevice::IDevice ( )
protecteddefault

◆ IDevice() [2/3]

contur::IDevice::IDevice ( const IDevice & )
protecteddefault

◆ IDevice() [3/3]

contur::IDevice::IDevice ( IDevice && )
protecteddefault

Member Function Documentation

◆ id()

virtual DeviceId contur::IDevice::id ( ) const
nodiscardpure virtualnoexcept

Returns the unique device identifier.

Implemented in contur::ConsoleDevice, and contur::NetworkDevice.

◆ isReady()

virtual bool contur::IDevice::isReady ( ) const
nodiscardpure virtualnoexcept

Returns true if the device is ready for I/O operations.

Implemented in contur::ConsoleDevice, and contur::NetworkDevice.

◆ name()

virtual std::string_view contur::IDevice::name ( ) const
nodiscardpure virtualnoexcept

Returns the human-readable device name.

Implemented in contur::ConsoleDevice, and contur::NetworkDevice.

◆ operator=() [1/2]

IDevice & contur::IDevice::operator= ( const IDevice & )
protecteddefault

◆ operator=() [2/2]

IDevice & contur::IDevice::operator= ( IDevice && )
protecteddefault

◆ read()

virtual Result< RegisterValue > contur::IDevice::read ( )
nodiscardpure virtual

Reads a value from the device.

Returns
The read value, or an error if the device is not ready or read is unsupported.

Implemented in contur::ConsoleDevice, and contur::NetworkDevice.

◆ write()

virtual Result< void > contur::IDevice::write ( RegisterValue value)
nodiscardpure virtual

Writes a value to the device.

Parameters
valueThe value to write.
Returns
Success or an error if the device is not ready or write is unsupported.

Implemented in contur::ConsoleDevice, and contur::NetworkDevice.


The documentation for this class was generated from the following file: