1#ifndef IV_SRC_COMMS_ICOMMUNICATIONCONTROLLER_HPP_
2#define IV_SRC_COMMS_ICOMMUNICATIONCONTROLLER_HPP_
27 std::unique_ptr<iv::comms::ICommunicationDriver> driver, std::shared_ptr<bool>
isEnabled);
43 virtual void addChannel(
const std::shared_ptr<iv::channels::AbstractChannel> &channel) = 0;
78 [[nodiscard]] std::shared_ptr<iv::model::comms::NetworkData>
getCommConfig()
const
83 [[nodiscard]] std::shared_ptr<iv::comms::ICommunicationDriver>
getDriver()
const
103 std::shared_ptr<iv::comms::ICommunicationProtocol>
m_protocol;
104 std::shared_ptr<iv::comms::ICommunicationDriver>
m_driver;
105 std::map<iv::types::channelId, std::shared_ptr<iv::channels::AbstractChannel>>
m_channels;
Definition ICommunicationController.hpp:23
virtual ~ICommunicationController()
Definition ICommunicationController.hpp:31
std::weak_ptr< iv::channels::AbstractChannel > m_errorChannel
Definition ICommunicationController.hpp:106
ICommunicationController(ICommunicationController &&other)=delete
std::shared_ptr< iv::comms::ICommunicationDriver > getDriver() const
Definition ICommunicationController.hpp:83
ICommunicationController(const ICommunicationController &other)=delete
std::shared_ptr< iv::model::comms::NetworkData > getCommConfig() const
Definition ICommunicationController.hpp:78
std::shared_ptr< bool > m_isEnabled
Definition ICommunicationController.hpp:100
std::shared_ptr< iv::comms::ICommunicationProtocol > m_protocol
Definition ICommunicationController.hpp:103
ICommunicationController()=default
virtual void initialize()=0
std::weak_ptr< iv::channels::AbstractChannel > m_heartbeatChannel
Definition ICommunicationController.hpp:107
ICommunicationController & operator=(ICommunicationController &&other)=delete
void pause() const
Definition ICommunicationController.hpp:47
std::map< iv::types::channelId, std::shared_ptr< iv::channels::AbstractChannel > > m_channels
Definition ICommunicationController.hpp:105
virtual void addChannel(const std::shared_ptr< iv::channels::AbstractChannel > &channel)=0
ICommunicationController & operator=(const ICommunicationController &other)=delete
std::shared_ptr< iv::model::comms::NetworkData > m_commConfig
Definition ICommunicationController.hpp:102
std::weak_ptr< iv::comms::ICommunicationController > m_fallbackComm
Definition ICommunicationController.hpp:108
bool hasChannel(const iv::types::channelId &channelId) const
Definition ICommunicationController.hpp:88
std::shared_ptr< iv::comms::ICommunicationDriver > m_driver
Definition ICommunicationController.hpp:104
iv::types::networkId m_networkId
Definition ICommunicationController.hpp:99
void resume() const
Definition ICommunicationController.hpp:62
iv::types::networkId getNetworkId() const
Definition ICommunicationController.hpp:73
std::weak_ptr< iv::diamar::AppFailuresLoggerManager > m_appFailuresLoggerManager
Definition ICommunicationController.hpp:110
bool isEnabled()
Definition ICommunicationController.hpp:93
static void resumeThread(const iv::types::threadName &name)
Definition WatchDog.cpp:347
static void pauseThread(const iv::types::threadName &name)
Definition WatchDog.cpp:324
Definition AlarmsManager.hpp:17
Definition ApiCommunicationController.cpp:12
std::string networkId
Definition types.hpp:43
std::string channelId
Definition types.hpp:66