1#ifndef IAPICOMMUNICATIONPROTOCOL_HPP
2#define IAPICOMMUNICATIONPROTOCOL_HPP
24 virtual void registerValue(
const std::shared_ptr<iv::comms::api::ILoggerMessage> &message) = 0;
48 [[nodiscard]]
bool wipe()
const;
61 std::weak_ptr<iv::comms::api::ApiCommunicationDriver>
m_apiDriver;
67 static constexpr std::string_view
pingRoute {
"/ping"};
68 static constexpr std::string_view
wipeRoute {
"/wipe"};
72 static constexpr std::string_view
status {
"status"};
73 static constexpr std::string_view
version {
"version"};
74 static constexpr std::string_view
name {
"name"};
75 static constexpr std::string_view
description {
"description"};
Definition IApiCommunicationProtocol.hpp:16
bool m_isEnabled
Definition IApiCommunicationProtocol.hpp:57
iv::comms::api::ApiPingResponse ping() const
Definition IApiCommunicationProtocol.cpp:7
virtual void registerValue(const std::shared_ptr< iv::comms::api::ILoggerMessage > &message)=0
Registers an API message without blocking the thread.
bool wipe() const
Definition IApiCommunicationProtocol.cpp:30
std::weak_ptr< iv::channels::AbstractChannel > m_heartbeatChannel
Definition IApiCommunicationProtocol.hpp:62
std::weak_ptr< iv::diamar::AppFailuresLoggerManager > m_appFailuresLoggerManager
Definition IApiCommunicationProtocol.hpp:63
bool m_sendToCloud
Definition IApiCommunicationProtocol.hpp:56
virtual ~IApiCommunicationProtocol()=default
std::weak_ptr< iv::comms::api::ApiCommunicationDriver > m_apiDriver
Definition IApiCommunicationProtocol.hpp:61
virtual iv::comms::api::ApiResponse getValues(const IApiQueryParamsBuilder &queryParams) const =0
Get values from the API.
bool isEnabled() const
Definition IApiCommunicationProtocol.cpp:50
virtual bool sendValues()=0
Send all registered messages to the API.
virtual iv::comms::api::ApiDeleteResponse deleteValues(const IApiQueryParamsBuilder &queryParams) const =0
Delete values from the API.
std::shared_ptr< iv::model::comms::NetworkData > m_networkData
Definition IApiCommunicationProtocol.hpp:59
Definition IApiQueryParamsBuilder.hpp:13
Definition ApiCommunicationController.cpp:12
Definition structs.hpp:69
Definition structs.hpp:82
Definition structs.hpp:63
Definition IApiCommunicationProtocol.hpp:71
static constexpr std::string_view status
Definition IApiCommunicationProtocol.hpp:72
static constexpr std::string_view name
Definition IApiCommunicationProtocol.hpp:74
static constexpr std::string_view description
Definition IApiCommunicationProtocol.hpp:75
static constexpr std::string_view version
Definition IApiCommunicationProtocol.hpp:73
Definition IApiCommunicationProtocol.hpp:66
static constexpr std::string_view pingRoute
Definition IApiCommunicationProtocol.hpp:67
static constexpr std::string_view wipeRoute
Definition IApiCommunicationProtocol.hpp:68