|
ChimeraTK-DeviceAccess
03.18.00
|
Go to the documentation of this file.
15 template<
typename UserType>
24 template<
typename UserType,
typename TargetType>
26 boost::shared_ptr<LogicalNameMappingBackend>& backend,
34 std::map<std::string, std::string> _parameters;
35 std::string _targetDeviceName;
37 ReaderCount _readerCount;
40 template<
typename UserType>
56 [[nodiscard]]
bool isWriteable()
const override {
return false; }
74 [[nodiscard]]
bool mayReplaceOther(
const boost::shared_ptr<TransferElement const>& other)
const override;
80 boost::shared_ptr<ChimeraTK::NDRegisterAccessor<UserType>> _secondBufferReg;
82 boost::shared_ptr<ChimeraTK::NDRegisterAccessor<uint32_t>> _enableDoubleBufferReg;
83 boost::shared_ptr<ChimeraTK::NDRegisterAccessor<uint32_t>> _currentBufferNumberReg;
84 uint32_t _currentBuffer{0};
86 uint32_t _testUSleep{0};
void doPostWrite(TransferType, VersionNumber) override
Base class for plugins that modify the behaviour of accessors in the logical name mapping backend.
bool isWriteable() const override
boost::shared_ptr< NDRegisterAccessor< UserType > > decorateAccessor(boost::shared_ptr< LogicalNameMappingBackend > &backend, boost::shared_ptr< NDRegisterAccessor< TargetType >> &target, const UndecoratedParams &accessorParams)
std::vector< boost::shared_ptr< TransferElement > > getHardwareAccessingElements() override
void doPreWrite(TransferType, VersionNumber) override
DoubleBufferPlugin(const LNMBackendRegisterInfo &info, size_t pluginIndex, std::map< std::string, std::string > parameters)
Helper struct to hold extra parameters needed by some plugins, used in decorateAccessor()
std::list< boost::shared_ptr< TransferElement > > getInternalElements() override
DoubleBufferAccessorDecorator(boost::shared_ptr< LogicalNameMappingBackend > &backend, boost::shared_ptr< NDRegisterAccessor< UserType >> &target, DoubleBufferPlugin &plugin, const UndecoratedParams &accessorParams)
RegisterInfo structure for the LogicalNameMappingBackend.
TransferType
Used to indicate the applicable operation on a Transferelement.
void doRegisterInfoUpdate() override
Implementation of the plugin specific register information update.
void doPreRead(TransferType type) override
Base class for decorators of the NDRegisterAccessor.
Class for generating and holding version numbers without exposing a numeric representation.
void doPostRead(TransferType type, bool hasNewData) override
void replaceTransferElement(boost::shared_ptr< ChimeraTK::TransferElement >) override
void doReadTransferSynchronously() override
bool mayReplaceOther(const boost::shared_ptr< TransferElement const > &other) const override
N-dimensional register accessor.
Exception thrown when a logic error has occured.