Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
ApiCommunicationController.hpp
Go to the documentation of this file.
1#ifndef APICOMMUNICATIONCONTROLLER_HPP
2#define APICOMMUNICATIONCONTROLLER_HPP
3
7
8namespace iv::comms::api
9{
10
12 public std::enable_shared_from_this<ApiCommunicationController>
13{
15
16public:
18 ApiCommunicationController(const std::shared_ptr<iv::comms::ICommunicationDriver> &driver,
19 const std::shared_ptr<iv::model::comms::NetworkData> &networkData);
22 ~ApiCommunicationController() override = default;
23
26
27 void registerDataLog(const std::shared_ptr<iv::comms::api::ILoggerMessage> &message) const;
28 void registerEventLog(const std::shared_ptr<iv::comms::api::ILoggerMessage> &message) const;
29 void registerHistoryLog(const std::shared_ptr<iv::comms::api::ILoggerMessage> &message) const;
30
34
38
40 bool wipe() const;
41
42private:
43 void addChannel(const std::shared_ptr<iv::channels::AbstractChannel> &channel) override;
44 bool frame() override;
45 void initialize() override;
46
47 static bool shouldSendToCloud(const std::shared_ptr<iv::model::comms::NetworkData> &networkData);
48
49 std::shared_ptr<iv::comms::ICommunicationProtocol> m_dataLoggerProtocol;
50 std::shared_ptr<iv::comms::ICommunicationProtocol> m_eventLoggerProtocol;
51 std::shared_ptr<iv::comms::ICommunicationProtocol> m_historyLoggerProtocol;
52
53 mutable std::mutex m_commControllerMutex;
54};
55
56}// namespace iv::comms::api
57
58#endif//APICOMMUNICATIONCONTROLLER_HPP
Definition ICommunicationController.hpp:23
Definition ApiCommunicationController.cpp:15
Definition ApiCommunicationController.hpp:13
ApiCommunicationController & operator=(const ApiCommunicationController &other)=delete
void registerHistoryLog(const std::shared_ptr< iv::comms::api::ILoggerMessage > &message) const
Definition ApiCommunicationController.cpp:95
iv::comms::api::ApiResponse requestDataLog(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:105
iv::comms::api::ApiDeleteResponse deleteEventLogs(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:156
ApiCommunicationController(ApiCommunicationController &&other)=delete
static bool shouldSendToCloud(const std::shared_ptr< iv::model::comms::NetworkData > &networkData)
Definition ApiCommunicationController.cpp:302
void addChannel(const std::shared_ptr< iv::channels::AbstractChannel > &channel) override
Definition ApiCommunicationController.cpp:209
iv::comms::api::ApiDeleteResponse deleteDataLogs(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:143
bool frame() override
Definition ApiCommunicationController.cpp:213
void registerEventLog(const std::shared_ptr< iv::comms::api::ILoggerMessage > &message) const
Definition ApiCommunicationController.cpp:86
std::mutex m_commControllerMutex
Definition ApiCommunicationController.hpp:53
ApiCommunicationController & operator=(ApiCommunicationController &&other)=delete
std::shared_ptr< iv::comms::ICommunicationProtocol > m_dataLoggerProtocol
Definition ApiCommunicationController.hpp:49
void registerDataLog(const std::shared_ptr< iv::comms::api::ILoggerMessage > &message) const
Definition ApiCommunicationController.cpp:77
iv::comms::api::ApiResponse requestHistoryLog(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:130
std::shared_ptr< iv::comms::ICommunicationProtocol > m_historyLoggerProtocol
Definition ApiCommunicationController.hpp:51
iv::comms::api::ApiDeleteResponse deleteHistoryLogs(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:169
std::shared_ptr< iv::comms::ICommunicationProtocol > m_eventLoggerProtocol
Definition ApiCommunicationController.hpp:50
bool wipe() const
Definition ApiCommunicationController.cpp:195
ApiCommunicationController(const ApiCommunicationController &other)=delete
iv::comms::api::ApiResponse requestEventLog(const IApiQueryParamsBuilder &queryParams) const
Definition ApiCommunicationController.cpp:117
void initialize() override
Definition ApiCommunicationController.cpp:259
iv::comms::api::ApiPingResponse ping() const
Definition ApiCommunicationController.cpp:181
Definition IApiQueryParamsBuilder.hpp:13
Definition ApiCommunicationController.cpp:12
Definition structs.hpp:69
Definition structs.hpp:82
Definition structs.hpp:63