9 #ifndef DEVMGR_COMMON_DEVICE_FACADE_HPP_
10 #define DEVMGR_COMMON_DEVICE_FACADE_HPP_
16 #include <rad/SMAdapter.hpp>
17 #include <rad/TopicPub.hpp>
18 #include <rad/AnyEvent.hpp>
19 #include <rad/Activity.hpp>
21 #include <fcf/common/dispatcher.hpp>
22 #include <devmgr/common/device.hpp>
24 #include <devmgr/common/events.rad.hpp>
51 fcf::common::Dispatcher<>& failure,
52 fcf::common::Dispatcher<>& normal);
123 virtual bool Reset();
224 void AddDevice(std::shared_ptr<IDevice> device);
263 std::chrono::system_clock::time_point start_time,
276 std::chrono::system_clock::time_point start_time,
285 void DeviceFailureCB();
293 void DeviceNormalCB();
295 std::list<std::shared_ptr<IDevice> > m_devices;
296 boost::asio::io_service m_ios;
299 std::shared_ptr<rad::TopicPub> m_publisher;
300 std::string m_dp_filename;
305 fcf::common::Dispatcher<> m_failure;
310 fcf::common::Dispatcher<> m_normal;
315 #endif // DEVMGR_COMMON_DEVICE_FACADE_HPP_
virtual bool Init(rad::SMAdapter &sm, rad::Activity *activity)
Init all devices managed by the devmgr.
Definition: deviceFacade.cpp:69
Definition: Activity.hpp:30
virtual bool HwInit(modif::ReqHwInit &hwInitMsg)
Init hardware.
Definition: deviceFacade.cpp:528
void TriggerInternalEvent(rad::SMAdapter &sm, rad::UniqueEvent &&e)
Trigger an internal event.
Definition: deviceFacade.cpp:621
Definition: requests.pb.h:784
virtual bool Stop()
Abort all devices managed by the devmgr.
Definition: deviceFacade.cpp:410
virtual bool BeginAcq(modif::ReqBeginAcq &beginAcqMsg)
Begin Acquisition.
Definition: deviceFacade.cpp:562
Definition: topics.pb.h:80
Definition: requests.pb.h:6543
Config
Definition: Test{{cookiecutter.device_name}}Config.cpp:44
virtual void Simulate(modif::ReqSimulate &msg)
Simulate devices managed by the server.
Definition: deviceFacade.cpp:476
virtual bool Recover(rad::SMAdapter &sm, rad::Activity *activity)
Recover all devices managed by the devmgr.
Definition: deviceFacade.cpp:218
virtual bool EndAcq(modif::ReqEndAcq &endAcqMsg)
End Acquisition.
Definition: deviceFacade.cpp:596
virtual bool Enable(rad::SMAdapter &sm, rad::Activity *activity)
Enable all devices managed by the devmgr.
Definition: deviceFacade.cpp:110
Definition: requests.pb.h:5446
virtual bool HwReset(modif::ReqHwReset &hwResetMsg)
Reset hardware.
Definition: deviceFacade.cpp:517
Definition: requests.pb.h:2480
optional string msg
Definition: topics.proto:7
Definition: requests.pb.h:2263
virtual ~DeviceFacade()
~DeviceFacade
Definition: deviceFacade.cpp:65
virtual void StopIgn(modif::ReqStopIgn &msg)
Stop ignoring devices managed by the server.
Definition: deviceFacade.cpp:506
Definition: requests.pb.h:1829
optional bool timeout
Definition: requests.proto:13
virtual bool Status(modif::ReqStatus &statusMsg, std::string &buffer)
Get status from devices.
Definition: deviceFacade.cpp:454
Definition: requests.pb.h:6760
virtual bool Setup(modif::ReqSetup setupMsg, modif::TaskId &taskId, rad::Activity *activity)
Executes a setup message.
Definition: deviceFacade.cpp:338
Definition: SMAdapter.hpp:43
Definition: requests.pb.h:6326
std::unique_ptr< AnyEvent > UniqueEvent
Definition: AnyEvent.hpp:48
virtual bool HwEnable(modif::ReqHwEnable &hwEnableMsg)
Enable hardware.
Definition: deviceFacade.cpp:540
virtual bool Disable()
Disable all devices managed by the devmgr.
Definition: deviceFacade.cpp:310
DeviceFacade(rad::SMAdapter &sm, IConfig &config, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Definition: deviceFacade.cpp:39
Definition: requests.pb.h:548
fcf::common::Dispatcher & GetNormalCB()
Get reference to normal CB.
Definition: deviceFacade.cpp:643
void ClearDevices()
Empty internal device map.
Definition: deviceFacade.cpp:632
void AddDevice(std::shared_ptr< IDevice > device)
Add a device instance to be managed by the facade.
Definition: deviceFacade.cpp:627
virtual void Ignore(modif::ReqIgnore &msg)
Ignore devices managed by the server.
Definition: deviceFacade.cpp:496
virtual void StopSim(modif::ReqStopSim &msg)
Stop simulating devices managed by the server.
Definition: deviceFacade.cpp:486
virtual bool Reset()
Reset devices.
Definition: deviceFacade.cpp:431
virtual bool HwDisable(modif::ReqHwDisable &hwDisableMsg)
Disable hardware.
Definition: deviceFacade.cpp:551
const int GetNumDevices()
Get the number of devices.
Definition: deviceFacade.cpp:670
fcf::common::Dispatcher & GetFailureCB()
Get reference to failure CB.
Definition: deviceFacade.cpp:638
Definition: requests.pb.h:1584
Definition: requests.pb.h:6977
Definition: requests.pb.h:2046