ifw-fcf  4.1.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 
13 #include <fcf/common/dispatcher.hpp>
14 
19 
20 namespace fcf::devmgr::iodev {
21 
41 
42  public:
49  IODev(const std::string& filename,
50  const std::string& name,
52 
56  virtual ~IODev() = default;
57 
69  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
70 
71 
79  virtual void Setup(const std::any& payload) override ;
80 
93  virtual bool IsSetupActive(const std::any& payload) const override;
94 
100  virtual void Status(const std::any& payload, std::string& buffer) override;
101 
112  virtual void Status(bool end_acq,
113  const core::dit::did::Did& dictionary,
114  std::shared_ptr<CCfits::FITS>& fits_handle) override;
121  virtual void UpdateStatus() override;
122 
131  void GetStatusList(utils::bat::DbVector& cfg_status,
132  const IODevControllerData& status_data);
133 
134 
135  protected:
147  void GetStatusBuffer(const std::string& stat_prefix,
148  const IODevControllerData* const data,
149  std::string& buffer);
150 
158  void GetStatusHeader(const std::string& prefix,
159  const IODevControllerData* const data,
160  bool end_acq,
161  const core::dit::did::Did& dictionary,
162  std::shared_ptr<CCfits::FITS>& fits_handle);
163  protected:
166  fcf::common::VectorVariant m_sensor_list;
167 
168  private:
169  log4cplus::Logger m_logger;
170  };
171 }
172 
173 
174 #endif //FCF_DEVMGR_DEVICE_IODEV_HPP
fcf::devmgr::iodev::IODev::GetStatusBuffer
void GetStatusBuffer(const std::string &stat_prefix, const IODevControllerData *const data, std::string &buffer)
Get status buffer.
Definition: iodev.cpp:230
dataContext.hpp
DataContext class header file.
iodevLcsIf.hpp
sensorLcsIf class header file.
fcf::devmgr::iodev::IODev::IODev
IODev(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
IODev constructor.
Definition: iodev.cpp:26
device.hpp
Device class header file.
fcf::devmgr::iodev::IODev::m_sensor_list
fcf::common::VectorVariant m_sensor_list
Definition: iodev.hpp:166
fcf::devmgr::iodev::IODev
The IODev class.
Definition: iodev.hpp:40
fcf::devmgr::iodev::IODevControllerData
The IODevControllerData struct.
Definition: iodevLcsIf.hpp:65
fcf::devmgr::iodev::IODev::IsSetupActive
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: iodev.cpp:148
fcf::devmgr::iodev
Definition: iodev.hpp:20
fcf::devmgr::iodev::IODev::m_controller_status
IODevControllerData m_controller_status
< object containing the status of the controller
Definition: iodev.hpp:165
iodevConfig.hpp
IODevConfig class header file.
fcf::devmgr::iodev::IODev::Setup
virtual void Setup(const std::any &payload) override
Executes a setup of the motor device.
Definition: iodev.cpp:55
fcf::devmgr::iodev::IODev::CreateObjects
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: iodev.cpp:34
fcf::devmgr::common::DataContext
Definition: dataContext.hpp:90
fcf::devmgr::iodev::IODev::~IODev
virtual ~IODev()=default
Default destructor.
fcf::devmgr::iodev::IODev::GetStatusList
void GetStatusList(utils::bat::DbVector &cfg_status, const IODevControllerData &status_data)
Get a vector with device status data.
Definition: iodev.cpp:158
fcf::devmgr::common::Device
Definition: device.hpp:33
fcf::devmgr::iodev::IODev::GetStatusHeader
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
fcf::devmgr::iodev::IODev::Status
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: iodev.cpp:327
fcf::devmgr::iodev::IODev::UpdateStatus
virtual void UpdateStatus() override
Update the status of the IODev device in the OLDB.
Definition: iodev.cpp:199