ifw-fcf  4.1.0-pre2
lamp.hpp
Go to the documentation of this file.
1 
10 #ifndef FCF_DEVMGR_DEVICE_LAMP_HPP
11 #define FCF_DEVMGR_DEVICE_LAMP_HPP
12 
13 #include <fcf/common/dispatcher.hpp>
14 
20 
21 
22 namespace fcf::devmgr::lamp {
23 
42 
43  public:
50  Lamp(const std::string& filename,
51  const std::string& name,
53 
57  virtual ~Lamp() = default;
58 
70  void CreateObjects(std::shared_ptr<fcf::devmgr::common::IDeviceConfig> config = nullptr) override;
71 
79  virtual void Setup(const std::any& payload) override;
80 
93  virtual bool IsSetupActive(const std::any& payload) const override;
94 
95 
101  virtual void Status(const std::any& payload, std::string& buffer) override;
102 
113  virtual void Status(bool end_acq,
114  const core::dit::did::Did& dictionary,
115  std::shared_ptr<CCfits::FITS>& fits_handle) override;
116 
123  virtual void UpdateStatus() override;
124 
125  protected:
137  void GetStatusBuffer(const std::string& stat_prefix,
138  const LampControllerData* const data,
139  std::string& buffer);
140  protected:
143 
144  private:
145  log4cplus::Logger m_logger;
146  };
147 
148 } // fcf::devmgr::lamp
149 
150 
151 #endif //FCF_DEVMGR_DEVICE_LAMP_HPP
fcf::devmgr::lamp::Lamp::GetStatusBuffer
void GetStatusBuffer(const std::string &stat_prefix, const LampControllerData *const data, std::string &buffer)
Get status buffer.
Definition: lamp.cpp:222
dataContext.hpp
DataContext class header file.
fcf::devmgr::lamp
Definition: lamp.hpp:22
fcf::devmgr::lamp::Lamp::CreateObjects
void CreateObjects(std::shared_ptr< fcf::devmgr::common::IDeviceConfig > config=nullptr) override
Create object instances.
Definition: lamp.cpp:34
lampLcsIf.hpp
LampLcsIf class header file.
fcf::devmgr::lamp::LampControllerData
The LampControllerData struct.
Definition: lampLcsIf.hpp:36
lampConfig.hpp
LampConfig class header file.
fcf::devmgr::lamp::Lamp::IsSetupActive
virtual bool IsSetupActive(const std::any &payload) const override
Check if last setup message is still active.
Definition: lamp.cpp:93
fcf::devmgr::lamp::Lamp::Setup
virtual void Setup(const std::any &payload) override
Executes a setup of the lamp device.
Definition: lamp.cpp:54
fcf::devmgr::common::DataContext
Definition: dataContext.hpp:90
iDeviceConfig.hpp
IDeviceConfig class header file.
fcf::devmgr::lamp::Lamp::~Lamp
virtual ~Lamp()=default
Default destructor.
actuator.hpp
actuator class header file.
fcf::devmgr::lamp::Lamp::Lamp
Lamp(const std::string &filename, const std::string &name, fcf::devmgr::common::DataContext &data_ctx)
Lamp constructor.
Definition: lamp.cpp:25
fcf::devmgr::lamp::Lamp::m_controller_status
LampControllerData m_controller_status
< object containing the status of the controller
Definition: lamp.hpp:142
fcf::devmgr::lamp::Lamp::UpdateStatus
virtual void UpdateStatus() override
Update the status of the lamp device in the OLDB.
Definition: lamp.cpp:174
fcf::devmgr::actuator::Actuator
The actuator class.
Definition: actuator.hpp:41
fcf::devmgr::lamp::Lamp::Status
virtual void Status(const std::any &payload, std::string &buffer) override
Obtain the status of the device.
Definition: lamp.cpp:240
Lamp
Definition: Lamp.py:1