8 #ifndef DEVMGR_DEVICE_LCS_IF_H
9 #define DEVMGR_DEVICE_LCS_IF_H
12 #include <yaml-cpp/yaml.h>
15 #include <fcf/common/iComm.hpp>
16 #include <fcf/common/dispatcher.hpp>
17 #include <devmgr/common/deviceConfig.hpp>
30 struct DeviceControllerData {
78 explicit DeviceLcsIf(std::shared_ptr<IDeviceConfig> config);
92 virtual void RegisterComm(std::shared_ptr<fcf::common::IComm> commIf,
93 fcf::common::Dispatcher<>& failure,
94 fcf::common::Dispatcher<>& normal);
218 virtual void Reset();
242 virtual void Listener(fcf::common::VectorVariant& params) = 0;
274 std::string
GetMapValue(std::string category, std::string key);
276 fcf::common::Dispatcher<fcf::common::VectorVariant&>&
GetDispatcher();
320 std::shared_ptr<fcf::common::IComm>
m_comm;
325 std::shared_ptr<IDeviceConfig>
m_config;
330 fcf::common::Dispatcher<fcf::common::VectorVariant&>
m_dispatcher;
366 #include "deviceLcsIf.inline"
368 #endif //DEVMGR_DEVICE_LAMP_IF_H
short m_state
Definition: deviceLcsIf.hpp:47
void LoadConfig()
Load the YAML configuration.
Definition: deviceLcsIf.cpp:71
virtual bool IsOperational()=0
Check if controller is in Operational.
void SetSubstate(short subtate)
short m_substate
Definition: deviceLcsIf.hpp:48
void GetStates(short &state, short &substate)
Get states (state and substate) of the controller.
Definition: deviceLcsIf.cpp:380
virtual void Stop()
Executes the Stop RPC.
Definition: deviceLcsIf.cpp:307
virtual void Disconnect()
Disconnect from the controller of simulator.
Definition: deviceLcsIf.cpp:119
bool IsConfigLoaded() const
Check if configuration was loaded.
Definition: deviceLcsIf.cpp:436
fcf::common::Dispatcher m_failure
Dispatcher for managing failures in the communication.
Definition: deviceLcsIf.hpp:335
virtual void Connect()
Connect to the controller or simulator.
Definition: deviceLcsIf.cpp:91
virtual void Reset()
Executes the Reset RPC.
Definition: deviceLcsIf.cpp:268
virtual bool IsHwFailure()=0
Check if controller is in Hardware Failure.
short m_substate
Actual controller substate.
Definition: deviceLcsIf.hpp:350
fcf::common::Dispatcher< fcf::common::VectorVariant & > m_dispatcher
Dispatcher for managing subscription events.
Definition: deviceLcsIf.hpp:330
std::shared_ptr< IDeviceConfig > m_config
Shared pointer to the device config object.
Definition: deviceLcsIf.hpp:325
virtual void Init()
Check if controller is in Hardware Failure.
Definition: deviceLcsIf.cpp:136
void SetState(short state)
virtual void ReadConfig()=0
Read the configuration.
virtual ~DeviceControllerData()
Definition: deviceLcsIf.cpp:33
int m_error_code
Definition: deviceLcsIf.hpp:50
optional int32 substate
Definition: topics.proto:77
void SetData(const DeviceControllerData &data)
Definition: deviceLcsIf.cpp:36
fcf::common::Dispatcher m_normal
Dispatcher for managing recovery of communication failures.
Definition: deviceLcsIf.hpp:340
bool m_local
Definition: deviceLcsIf.hpp:49
bool GetLocalFlag() const
virtual std::string GetHwError(int &error_code, const bool update=false)=0
Get error message.
virtual void Listener(fcf::common::VectorVariant ¶ms)=0
Callback for listening controller events.
virtual void Enable()
Executes the Enable RPC.
Definition: deviceLcsIf.cpp:191
virtual std::string GetRpcError(const short error_code) const =0
Get associated message from the RPC error code.
bool m_connected
Flag indicating whether the LCS is connected.
Definition: deviceLcsIf.hpp:360
virtual bool IsDisabling()
Check if controller is in Disabling state.
Definition: deviceLcsIf.cpp:363
std::shared_ptr< fcf::common::IComm > m_comm
Shared pointer to the communication object.
Definition: deviceLcsIf.hpp:320
fcf::common::Dispatcher< fcf::common::VectorVariant & > & GetDispatcher()
Definition: deviceLcsIf.cpp:440
DeviceLcsIf(std::shared_ptr< IDeviceConfig > config)
DeviceLcsIf construm_data_ctx.GetConfig().GetServerId() + ".".
Definition: deviceLcsIf.cpp:42
virtual bool IsReady()=0
Check if controller is in Standby/Ready state.
void SetErrorCode(int error_code)
DeviceControllerData()
Definition: deviceLcsIf.cpp:27
YAML::Node m_config_node
YAML node for the device mapping file.
Definition: deviceLcsIf.hpp:315
short m_state
Actual controller state.
Definition: deviceLcsIf.hpp:345
virtual void RegisterComm(std::shared_ptr< fcf::common::IComm > commIf, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
Register a communication interface.
Definition: deviceLcsIf.cpp:59
bool m_config_loaded
Flag indicating whether the configuration was succesfully loaded.
Definition: deviceLcsIf.hpp:355
short GetSubstate() const
virtual bool IsNotReady()
Check if controller is in Standby/NotReady state.
Definition: deviceLcsIf.cpp:344
optional int32 error_code
Definition: topics.proto:14
virtual void StartMonitoring()=0
Start monitoring of controller attributes.
virtual void StopMonitoring()=0
Stop monitoring of controller attributes.
virtual void Disable()
Executes the Disable RPC.
Definition: deviceLcsIf.cpp:230
bool IsConnected() const
Check is the communication was established.
Definition: deviceLcsIf.cpp:444
void SetLocalFlag(bool local_flag)
std::string GetMapValue(std::string category, std::string key)
Get mapping valLampConfigue.
Definition: deviceLcsIf.cpp:422