10 #ifndef DEVMGR_DEVICE_LAMP_IF_HPP
11 #define DEVMGR_DEVICE_LAMP_IF_HPP
14 #include <unordered_map>
17 #include <yaml-cpp/yaml.h>
20 #include <devmgr/common/deviceLcsIf.hpp>
21 #include <devmgr/devices/lampConfig.hpp>
22 #include <devmgr/common/dataContext.hpp>
85 LampLcsIf(std::shared_ptr<devmgr::common::IDeviceConfig> config,
163 virtual void ReadStatus(LampControllerData& status);
196 void Listener(fcf::common::VectorVariant& params);
224 void StoreAttribute(
const std::string key,
225 const fcf::common::Variant&
value,
236 void PublishState(
const fcf::common::Variant&
value);
245 void PublishSubstate(
const fcf::common::Variant&
value);
260 static std::timed_mutex m_mutex;
267 #include "lampLcsIf.inline"
269 #endif //DEVMGR_DEVICE_LAMP_IF_HPP
double value
Definition: easylogging++.h:814
void SetIntensity(double intensity)
Device Local Control System (LCS) Interface (IF) class.
Definition: deviceLcsIf.hpp:69
void SwitchOff()
Executes the SwitchOff RPC.
Definition: lampLcsIf.cpp:211
void Listener(fcf::common::VectorVariant ¶ms)
Callback to manageUpdateStatus(); changes on the monitored items.
Definition: lampLcsIf.cpp:471
The DeviceControllerData struct.
Definition: deviceLcsIf.hpp:30
bool IsHwFailure()
Check if lamp is in hardware error.
Definition: lampLcsIf.cpp:364
void SwitchOn(double intensity, unsigned int time)
Executes the SwitchOn RPC.
Definition: lampLcsIf.cpp:155
void SetData(const LampControllerData &data)
Definition: lampLcsIf.cpp:42
virtual bool IsOperational()
Check if controller is in Operational.
Definition: lampLcsIf.cpp:268
double GetIntensity() const
bool IsOn()
Check if lamp is on.
Definition: lampLcsIf.cpp:328
std::string GetErrorText() const
virtual std::string GetRpcError(const short error_code) const
Definition: lampLcsIf.cpp:540
virtual ~LampControllerData()
Definition: lampLcsIf.cpp:39
bool IsTurningOff()
Check if controller is switching the lamp off.
Definition: lampLcsIf.cpp:308
void StartMonitoring()
Start monitoring of controller attributes.
Definition: lampLcsIf.cpp:450
std::unordered_map< std::string, short > m_status_map
Definition: lampLcsIf.hpp:252
void ReadConfig()
Read the configuration.
Definition: lampLcsIf.cpp:106
LampLcsIf(std::shared_ptr< devmgr::common::IDeviceConfig > config, devmgr::common::DataContext &data_ctx)
LampLcsIf constructor.
Definition: lampLcsIf.cpp:50
bool IsTurningOn()
Check if controller is switching the lamp on.
Definition: lampLcsIf.cpp:288
LampControllerData()
Definition: lampLcsIf.cpp:34
Definition: dataContext.hpp:73
virtual std::string GetHwError(int &error_code, const bool update=false)
Get error message.
Definition: lampLcsIf.cpp:570
bool IsOff()
Check if lamp is off.
Definition: lampLcsIf.cpp:346
virtual bool IsReady()
Check if controller is in Standby/Ready state.
Definition: lampLcsIf.cpp:246
double m_intensity
Definition: lampLcsIf.hpp:47
optional int32 error_code
Definition: topics.proto:14
virtual void ReadStatus(LampControllerData &status)
Read status from the controller.
Definition: lampLcsIf.cpp:382
std::vector< std::string > m_monitor_vector
Definition: lampLcsIf.hpp:256
void StopMonitoring()
Stop monitoring of controller attributes.
Definition: lampLcsIf.cpp:460
optional float intensity
Definition: topics.proto:12