ChimeraTK-DeviceAccess-DoocsBackend 01.11.02
Loading...
Searching...
No Matches
DoocsBackendImageRegisterAccessor.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
4#pragma once
5
7
8#include <ChimeraTK/MappedImage.h>
9
10#include <doocs/EqCall.h>
11
12namespace ChimeraTK {
13
14 /**********************************************************************************************************************/
15
17 public:
19
20 protected:
24 DoocsBackendImageRegisterAccessor(boost::shared_ptr<DoocsBackend> backend, const std::string& path,
25 const std::string& registerPathName, size_t numberOfBytes, size_t wordOffsetInRegister, AccessModeFlags flags);
26
27 bool isReadOnly() const override { return true; }
28
29 bool isReadable() const override { return true; }
30
31 bool isWriteable() const override { return false; }
32
33 bool doWriteTransfer(VersionNumber /*versionNumber = {}*/) override {
34 // do not throw again, already done in doPreWrite...
35 return false;
36 }
37
38 void doPostRead(TransferType type, bool hasNewData) override;
39
40 friend class DoocsBackend;
41 };
42
43 /**********************************************************************************************************************/
44
46 struct MappedDoocsImgIn : public MappedImage {
47 using MappedImage::MappedImage;
48
49 ImgFormat getImgFormat(const IMH* h);
50
51 void set(const IMH* h, const std::uint8_t* body);
52 };
53
54 /**********************************************************************************************************************/
55
56} // namespace ChimeraTK
Backend to access DOOCS control system servers.
void doPostRead(TransferType type, bool hasNewData) override
implements conversion from DOOCS image -> MappedImage
void set(const IMH *h, const std::uint8_t *body)