9 #ifndef DEVMGR_COMMON_DEVICE_HPP
10 #define DEVMGR_COMMON_DEVICE_HPP
12 #include <fcf/common/dispatcher.hpp>
14 #include <devmgr/common/deviceConfig.hpp>
15 #include <devmgr/common/deviceLcsIf.hpp>
16 #include <devmgr/common/iDevice.hpp>
17 #include <devmgr/common/dataContext.hpp>
32 class Device :
public IDevice {
41 Device(
const std::string filename,
42 const std::string
name,
43 DataContext& data_ctx);
65 virtual void RegisterComm(std::shared_ptr<fcf::common::IComm> comm_if,
66 fcf::common::Dispatcher<>& failure,
67 fcf::common::Dispatcher<>& normal) = 0;
137 virtual void Reset();
217 virtual void Status(
bool end_acq,
219 CCfits::FITS* fits_handle =
nullptr) = 0;
262 virtual std::shared_ptr<DeviceLcsIf>
GetLcsIf()
const = 0;
269 virtual std::shared_ptr<IDeviceConfig>
GetConfig()
const = 0;
285 virtual std::string
GetName()
const;
303 void UpdateDb(std::vector<std::string> attr_vector);
322 void GetPrefix(
const std::vector<std::string> prefix_list, std::string& prefix);
335 std::shared_ptr<DeviceConfig>
m_config;
338 std::shared_ptr<DeviceLcsIf>
m_lcs_if;
345 #endif //DEVMGR_COMMON_DEVICE_HPP
virtual void HwInit(modif::ReqHwInit &hwInitMsg)
Executes a hardware init command.
Definition: device.cpp:153
virtual void Enable()
Executes a Enable command.
Definition: device.cpp:55
virtual bool IsDisabling() const
Check if device is disablig.
Definition: device.cpp:533
DataContext & m_data_ctx
reference to the data context object.
Definition: device.hpp:327
virtual void HwDisable(modif::ReqHwDisable &hwDisableMsg)
Executes a hardware disable command.
Definition: device.cpp:193
virtual bool IsNotReady() const
Check if device is Standby/NotReady.
Definition: device.cpp:455
virtual void HwEnable(modif::ReqHwEnable &hwEnableMsg)
Executes a hardware enable command.
Definition: device.cpp:173
virtual void Setup(const modif::ReqSetup &setupMsg)=0
Executes a setup.
Definition: requests.pb.h:6543
fcf::common::Dispatcher m_failure
Definition: device.hpp:330
virtual void Disable()
Executes a Disable command.
Definition: device.cpp:71
virtual void RegisterComm(std::shared_ptr< fcf::common::IComm > comm_if, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)=0
Register a communication interface object.
std::shared_ptr< DeviceLcsIf > m_lcs_if
Definition: device.hpp:338
Definition: requests.pb.h:5446
virtual ~Device()
Default destructor.
Definition: device.cpp:29
virtual bool IsSetupActive(const modif::ReqSetup &setupMsg) const =0
Check if setup is still active.
Definition: requests.pb.h:2480
virtual void StartMonitoring()
Start device monitoring via OPCUA subscriptions.
Definition: device.cpp:631
optional string msg
Definition: topics.proto:7
virtual void Reset()
Executes a Reset command.
Definition: device.cpp:102
std::string m_filename
device configuration filename.
Definition: device.hpp:325
virtual bool IsReady() const
Check if device is Standby/Ready.
Definition: device.cpp:474
Definition: requests.pb.h:2263
virtual void StopMonitoring()
Stop device monitoring.
Definition: device.cpp:644
virtual void Status(const modif::ReqStatus &statusMsg, std::string &buffer)=0
Obtain the status of the device.
virtual void CheckHwFailure() const
Check if device is in failure state.
Definition: device.cpp:511
Definition: requests.pb.h:1829
virtual std::shared_ptr< DeviceLcsIf > GetLcsIf() const =0
Get a pointer of device LCS interface.
virtual void Stop()
Executes a Stop command.
Definition: device.cpp:87
void SetSimulation(bool flag)
SetSimulation.
Definition: device.cpp:593
Definition: requests.pb.h:6760
std::shared_ptr< DeviceConfig > m_config
Definition: device.hpp:335
Definition: requests.pb.h:6326
Device(const std::string filename, const std::string name, DataContext &data_ctx)
Device abstract class constructor.
Definition: device.cpp:21
virtual void StopSim(const modif::ReqStopSim &msg)
Executes a StopSim.
Definition: device.cpp:269
virtual void StopIgn(const modif::ReqStopIgn &msg)
Executes a StopIgn.
Definition: device.cpp:408
void SetIgnore(bool flag)
SetIgnore.
Definition: device.cpp:573
void GetPrefix(const std::vector< std::string > prefix_list, std::string &prefix)
Get prefix for writing attributes to the DB.
Definition: device.cpp:613
virtual void HwReset(modif::ReqHwReset &hwResetMsg)
Executes a hardware reset command.
Definition: device.cpp:133
void UpdateDb(std::vector< std::string > attr_vector)
Update device database.
Definition: device.cpp:563
std::string m_name
device ID.
Definition: device.hpp:326
virtual std::string GetName() const
Get device id.
Definition: device.cpp:626
virtual void Simulate(const modif::ReqSimulate &msg)
Executes a Simulat.
Definition: device.cpp:213
bool IsMsgForMe(const std::string &id) const
Check if received message id is addressed to me.
Definition: device.cpp:551
Data Interface Dictionary class.
Definition: Did.hpp:25
virtual void Init()
Executes a Init command.
Definition: device.cpp:34
virtual void UpdateStatus()=0
UpdateStatus.
Definition: requests.pb.h:1584
virtual void Ignore(const modif::ReqIgnore &msg)
Executes a Ignore.
Definition: device.cpp:370
virtual std::shared_ptr< IDeviceConfig > GetConfig() const =0
Get a pointer of device configuration.
optional string name
Definition: topics.proto:50
virtual bool IsOperational() const
Check if device is Operational.
Definition: device.cpp:493
Definition: requests.pb.h:6977
fcf::common::Dispatcher m_normal
Definition: device.hpp:332
Definition: requests.pb.h:2046