11#include <boost/shared_ptr.hpp>
17 namespace LNMBackend {
18 class AccessorPluginBase;
46 [[nodiscard]] std::set<std::string>
getTags()
const override {
return tags; }
111 std::vector<boost::shared_ptr<LNMBackend::AccessorPluginBase>>
plugins;
117 [[nodiscard]] std::unique_ptr<BackendRegisterInfoBase>
clone()
const override {
118 return std::make_unique<LNMBackendRegisterInfo>(*
this);
Set of AccessMode flags with additional functionality for an easier handling.
DeviceBackend-independent register description.
Class describing the actual payload data format of a register in an abstract manner.
A class to describe which of the supported data types is used.
RegisterInfo structure for the LogicalNameMappingBackend.
DataType valueType
Data type of CONSTANT or VARIABLE type.
RegisterPath getRegisterName() const override
Return full path name of the register (including modules)
unsigned int firstIndex
The first index in the range.
DataDescriptor _dataDescriptor
std::string registerName
The target register name.
AccessModeFlags supportedFlags
Supported AccessMode flags.
std::set< std::string > tags
bool readable
Flag if the register is readable.
unsigned int nChannels
The number of channels of the logical register.
const DataDescriptor & getDataDescriptor() const override
Return description of the actual payload data for this register.
unsigned int getNumberOfElements() const override
Return number of elements per channel.
bool writeable
Flag if the register is writeable.
AccessModeFlags getSupportedAccessModes() const override
Return all supported AccessModes for this register.
unsigned int getNumberOfChannels() const override
Return number of channels in register.
std::set< std::string > getTags() const override
Get the list of tags associated with this register.
LNMBackendRegisterInfo & operator=(const LNMBackendRegisterInfo &other)=default
LNMBackendRegisterInfo(const LNMBackendRegisterInfo &)=default
unsigned int length
The length of the range (i.e.
std::unique_ptr< BackendRegisterInfoBase > clone() const override
Create copy of the object.
bool isReadable() const override
Return whether the register is readable.
std::string deviceName
The target device alias.
TargetType targetType
Type of the target.
bool isWriteable() const override
Return whether the register is writeable.
TargetType
Potential target types.
RegisterPath name
Name of the register.
unsigned int bit
The bit of the target register (if TargetType::BIT)
std::vector< boost::shared_ptr< LNMBackend::AccessorPluginBase > > plugins
List of accessor plugins enabled for this register.
LNMBackendRegisterInfo()=default
constructor: initialise values
unsigned int channel
The channel of the target 2D register (if TargetType::CHANNEL)
Class to store a register path name.