1#ifndef APICOMMUNICATIONDRIVER_HPP
2#define APICOMMUNICATIONDRIVER_HPP
28 bool post(
const JSON &body,
const std::optional<HeaderFields> &headers = std::nullopt,
29 const std::optional<std::reference_wrapper<JSON>> &responseBody = std::nullopt,
30 const std::optional<std::string_view> &route = std::nullopt)
const;
31 bool get(
JSON &responseBody,
const std::unordered_map<std::string_view, std::string> &queryParams = {},
32 const std::optional<std::string_view> &route = std::nullopt)
const;
33 bool DELETE(
JSON &responseBody,
const std::unordered_map<std::string_view, std::string> &queryParams = {},
34 const std::optional<std::string_view> &route = std::nullopt)
const;
nlohmann::json JSON
Definition structs.hpp:7
Definition ICommunicationDriver.hpp:13
Definition ApiCommunicationDriver.hpp:14
std::vector< iv::types::httpUrl > m_apiBaseUrls
Definition ApiCommunicationDriver.hpp:47
iv::comms::eResponse stop() override
Definition ApiCommunicationDriver.cpp:165
bool DELETE(JSON &responseBody, const std::unordered_map< std::string_view, std::string > &queryParams={}, const std::optional< std::string_view > &route=std::nullopt) const
Definition ApiCommunicationDriver.cpp:48
ApiCommunicationDriver()=default
void setApiRoute(const std::string_view apiRoute)
Definition ApiCommunicationDriver.hpp:18
bool isOnline() override
Definition ApiCommunicationDriver.cpp:178
void configure(const iv::model::comms::NetworkData &commConfig) override
Definition ApiCommunicationDriver.cpp:79
std::mutex m_commDriverMutex
Definition ApiCommunicationDriver.hpp:50
iv::comms::eResponse start() override
Definition ApiCommunicationDriver.cpp:150
bool containsNetworkConfig(iv::types::ipAddress ip, iv::types::ipPort port) const
Definition ApiCommunicationDriver.cpp:66
iv::comms::eResponse end() override
Definition ApiCommunicationDriver.cpp:108
std::string m_apiRoute
Definition ApiCommunicationDriver.hpp:48
std::string getApiRoute() const
Definition ApiCommunicationDriver.hpp:23
iv::comms::eResponse reconnect() override
Definition ApiCommunicationDriver.cpp:115
iv::comms::eResponse init() override
Definition ApiCommunicationDriver.cpp:101
bool post(const JSON &body, const std::optional< HeaderFields > &headers=std::nullopt, const std::optional< std::reference_wrapper< JSON > > &responseBody=std::nullopt, const std::optional< std::string_view > &route=std::nullopt) const
Definition ApiCommunicationDriver.cpp:13
bool get(JSON &responseBody, const std::unordered_map< std::string_view, std::string > &queryParams={}, const std::optional< std::string_view > &route=std::nullopt) const
Definition ApiCommunicationDriver.cpp:30
Definition ApiCommunicationController.cpp:12
eResponse
Definition enums.hpp:285
uint16_t ipPort
Definition types.hpp:41
std::string ipAddress
Definition types.hpp:40
Definition NetworkData.hpp:18