ifw-fcf  5.0.0-pre2
iodev.hpp
Go to the documentation of this file.
1 
10 #ifndef FCF_DEVMGR_DEVICE_IODEV_HPP
11 #define FCF_DEVMGR_DEVICE_IODEV_HPP
12 
17 
18 namespace fcf::devmgr::iodev {
19 
39 
40  public:
47  IODev(const std::string& filename,
48  const std::string& name,
50 
54  virtual ~IODev() = default;
55 
67  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
68 
69 
77  virtual void Setup(const std::any& payload) override ;
78 
91  virtual bool IsSetupActive(const std::any& payload) const override;
92 
98  virtual void Status(const std::any& payload, std::string& buffer) override;
99 
110  virtual void Status(bool end_acq,
111  const core::dit::did::Did& dictionary,
112  std::shared_ptr<CCfits::FITS>& fits_handle) override;
119  virtual void UpdateStatus() override;
120 
129  void GetStatusList(utils::bat::DbVector& cfg_status,
130  const IODevControllerData& status_data);
131 
132 
133  protected:
145  void GetStatusBuffer(const std::string& stat_prefix,
146  const IODevControllerData* const data,
147  std::string& buffer);
148 
156  void GetStatusHeader(const std::string& prefix,
157  const IODevControllerData* const data,
158  bool end_acq,
159  const core::dit::did::Did& dictionary,
160  std::shared_ptr<CCfits::FITS>& fits_handle);
161  protected:
164  protocol::base::VectorVariant m_sensor_list;
165 
166  private:
167  log4cplus::Logger m_logger;
168  };
169 }
170 
171 
172 #endif //FCF_DEVMGR_DEVICE_IODEV_HPP
Definition: dataContext.hpp:90
Definition: device.hpp:33
The IODev class.
Definition: iodev.hpp:38
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: iodev.cpp:327
void GetStatusList(utils::bat::DbVector &cfg_status, const IODevControllerData &status_data)
Get a vector with device status data.
Definition: iodev.cpp:158
IODev(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
IODev constructor.
Definition: iodev.cpp:26
IODevControllerData m_controller_status
< object containing the status of the controller
Definition: iodev.hpp:163
virtual ~IODev()=default
Default destructor.
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: iodev.cpp:148
void GetStatusBuffer(const std::string &stat_prefix, const IODevControllerData *const data, std::string &buffer)
Get status buffer.
Definition: iodev.cpp:230
protocol::base::VectorVariant m_sensor_list
Definition: iodev.hpp:164
void GetStatusHeader(const std::string &prefix, const IODevControllerData *const data, bool end_acq, const core::dit::did::Did &dictionary, std::shared_ptr< CCfits::FITS > &fits_handle)
Get device status for the data acquisition.
Definition: iodev.cpp:278
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: iodev.cpp:34
virtual void UpdateStatus() override
Update the status of the IODev device in the OLDB.
Definition: iodev.cpp:199
virtual void Setup(const std::any &payload) override
Executes a setup of the motor device.
Definition: iodev.cpp:55
DataContext class header file.
Device class header file.
IODevConfig class header file.
sensorLcsIf class header file.
Definition: iodev.hpp:18
The IODevControllerData struct.
Definition: iodevLcsIf.hpp:65