ifw-fcf 7.1.4
Loading...
Searching...
No Matches
iodev.hpp
Go to the documentation of this file.
1
8#ifndef FCF_DEVMGR_DEVICE_IODEV_HPP
9#define FCF_DEVMGR_DEVICE_IODEV_HPP
10
15
16
18
38
39 public:
46 IODev(const std::string& filename,
47 const std::string& name,
49
53 virtual ~IODev() = default;
54
66 void CreateObjects(std::shared_ptr<ifw::fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
67
68
76 virtual void Setup(const std::any& payload) override ;
77
90 virtual bool IsSetupActive(const std::any& payload) const override;
91
97 virtual void Status(const std::any& payload, std::string& buffer) override;
98
109 virtual void Status(bool end_acq,
110 const ifw::core::dit::did::Did& dictionary,
111 std::shared_ptr<CCfits::FITS>& fits_handle) override;
118 virtual void UpdateStatus() override;
119
128 void GetStatusList(ifw::core::utils::bat::DbVector& cfg_status,
129 const IODevControllerData& status_data);
130
131
132 protected:
144 void GetStatusBuffer(const std::string& stat_prefix,
145 const IODevControllerData* const data,
146 std::string& buffer);
147
155 void GetStatusHeader(const std::string& prefix,
156 const IODevControllerData* const data,
157 bool end_acq,
158 const ifw::core::dit::did::Did& dictionary,
159 std::shared_ptr<CCfits::FITS>& fits_handle);
160 private:
162 IODevControllerData m_controller_status;
163 ifw::core::protocol::base::VectorVariant m_sensor_list;
164
165 private:
166 log4cplus::Logger m_logger;
167 };
168}
169
170
171#endif //FCF_DEVMGR_DEVICE_IODEV_HPP
Definition dataContext.hpp:86
Definition device.hpp:32
The IODev class.
Definition iodev.hpp:37
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition iodev.cpp:330
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition iodev.cpp:145
virtual void Setup(const std::any &payload) override
Executes a setup of the motor device.
Definition iodev.cpp:54
virtual void UpdateStatus() override
Update the status of the IODev device in the OLDB.
Definition iodev.cpp:196
void GetStatusHeader(const std::string &prefix, const IODevControllerData *const data, bool end_acq, const ifw::core::dit::did::Did &dictionary, std::shared_ptr< CCfits::FITS > &fits_handle)
Get device status for the data acquisition.
Definition iodev.cpp:274
void GetStatusBuffer(const std::string &stat_prefix, const IODevControllerData *const data, std::string &buffer)
Get status buffer.
Definition iodev.cpp:226
virtual ~IODev()=default
Default destructor.
void CreateObjects(std::shared_ptr< ifw::fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition iodev.cpp:31
IODev(const std::string &filename, const std::string &name, ifw::fcf::devmgr::common::DataContext &data_ctx)
IODev constructor.
Definition iodev.cpp:23
void GetStatusList(ifw::core::utils::bat::DbVector &cfg_status, const IODevControllerData &status_data)
Get a vector with device status data.
Definition iodev.cpp:155
IODev class header file.
Definition iodev.hpp:17
The IODevControllerData struct.
Definition iodevLcsIf.hpp:61