ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
shutter.hpp
Go to the documentation of this file.
1 
10 #ifndef DEVMGR_DEVICE_SHUTTER_HPP
11 #define DEVMGR_DEVICE_SHUTTER_HPP
12 
13 #include <fcf/common/dispatcher.hpp>
14 
15 #include <devmgr/common/device.hpp>
16 #include <devmgr/devices/shutterConfig.hpp>
17 #include <devmgr/devices/shutterLcsIf.hpp>
18 #include <devmgr/common/dataContext.hpp>
19 
20 
21 namespace devmgr {
22  namespace shutter {
23 
24 
41  class Shutter : public devmgr::common::Device
42  {
43 
44  public:
45 
52  Shutter(const std::string filename,
53  const std::string name,
54  devmgr::common::DataContext& data_ctx);
55 
67  void CreateObjects(std::shared_ptr<devmgr::common::IDeviceConfig> config = nullptr);
68 
84  void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
85  fcf::common::Dispatcher<>& failure,
86  fcf::common::Dispatcher<>& normal);
87 
94  virtual void UpdateStatus();
95 
103  virtual void Setup(const modif::ReqSetup& setupMsg);
104 
117  virtual bool IsSetupActive(const modif::ReqSetup& setupMsg) const;
118 
124  virtual void Status(const modif::ReqStatus& statusMsg, std::string& buffer);
125 
136  virtual void Status(bool end_acq,
137  const dit::did::Did& dictionary,
138  CCfits::FITS* fits_handle = nullptr);
139 
144  virtual std::shared_ptr<devmgr::common::DeviceLcsIf> GetLcsIf() const;
145 
151  virtual std::shared_ptr<devmgr::common::IDeviceConfig> GetConfig() const;
152 
153 
154  protected:
156  ShutterControllerData m_controller_status;
158  std::shared_ptr<ShutterConfig> m_config;
160  std::shared_ptr<ShutterLcsIf> m_lcs_if;
161  };
162  }
163 }
164 
165 
166 #endif //DEVMGR_DEVICE_SHUTTER_HPP
void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Register a communication interface object.
Definition: shutter.cpp:95
virtual void Status(const modif::ReqStatus &statusMsg, std::string &buffer)
Obtain the status of the device.
Definition: shutter.cpp:249
ShutterControllerData m_controller_status
&lt; object containing the status of the controller
Definition: shutter.hpp:156
Definition: device.hpp:32
Definition: requests.pb.h:5446
virtual bool IsSetupActive(const modif::ReqSetup &setupMsg) const
Check if last setup message is still active.
Definition: shutter.cpp:140
virtual void UpdateStatus()
Update the status of the shutter device in the OLDB.
Definition: shutter.cpp:195
std::shared_ptr< ShutterConfig > m_config
Local Control System Interface.
Definition: shutter.hpp:158
virtual void Setup(const modif::ReqSetup &setupMsg)
Executes a setup of the shutter device.
Definition: shutter.cpp:105
virtual std::shared_ptr< devmgr::common::IDeviceConfig > GetConfig() const
Get a pointer of device configuration.
Definition: shutter.cpp:89
Definition: dataContext.hpp:73
virtual std::shared_ptr< devmgr::common::DeviceLcsIf > GetLcsIf() const
Definition: shutter.cpp:82
Shutter(const std::string filename, const std::string name, devmgr::common::DataContext &data_ctx)
Shutter constructor.
Definition: shutter.cpp:24
Data Interface Dictionary class.
Definition: Did.hpp:25
std::shared_ptr< ShutterLcsIf > m_lcs_if
Definition: shutter.hpp:160
Definition: requests.pb.h:1584
void CreateObjects(std::shared_ptr< devmgr::common::IDeviceConfig > config=nullptr)
Create object instances.
optional string name
Definition: topics.proto:50