ChimeraTK-DeviceAccess 03.25.00
Loading...
Searching...
No Matches
DataConsistencyDecorator.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2// SPDX-License-Identifier: LGPL-3.0-or-later
3#pragma once
4
7
8namespace ChimeraTK {
9
10 /********************************************************************************************************************/
11
19 template<typename UserType>
20 class DataConsistencyDecorator : public NDRegisterAccessorDecorator<UserType, UserType> {
21 public:
22 DataConsistencyDecorator(const boost::shared_ptr<NDRegisterAccessor<UserType>>& target,
24
25 void doPreRead(TransferType type) override;
26
27 void doPostRead(TransferType type, bool updateDataBuffer) override;
28 // continuation / callback for future_queue
29 void readCallback();
30
31 protected:
33
34 using NDRegisterAccessorDecorator<UserType>::_target;
36 };
37
38 /********************************************************************************************************************/
39
41
42 /********************************************************************************************************************/
43
44} /* namespace ChimeraTK */
#define DECLARE_TEMPLATE_FOR_CHIMERATK_USER_TYPES(TemplateClass)
A quasi-decorator to be used to decorate targets which should provide data updates only when data is ...
void doPostRead(TransferType type, bool updateDataBuffer) override
Backend specific implementation of postRead().
void doPreRead(TransferType type) override
Backend specific implementation of preRead().
DataConsistencyGroupDetail::HistorizedMatcher * _hGroup
Data consistency matching via history of available data.
Base class for decorators of the NDRegisterAccessor.
N-dimensional register accessor.
std::vector< std::vector< UserType > > buffer_2D
Buffer of converted data elements.
TransferType
Used to indicate the applicable operation on a Transferelement.