Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::comms::api::ApiCommunicationDriver Class Referencefinal

#include <ApiCommunicationDriver.hpp>

Inheritance diagram for iv::comms::api::ApiCommunicationDriver:
[legend]
Collaboration diagram for iv::comms::api::ApiCommunicationDriver:
[legend]

Public Member Functions

 ApiCommunicationDriver ()=default
 
void setApiRoute (const std::string_view apiRoute)
 
std::string getApiRoute () const
 
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
 
bool get (JSON &responseBody, const std::unordered_map< std::string_view, std::string > &queryParams={}, const std::optional< std::string_view > &route=std::nullopt) const
 
bool DELETE (JSON &responseBody, const std::unordered_map< std::string_view, std::string > &queryParams={}, const std::optional< std::string_view > &route=std::nullopt) const
 
bool containsNetworkConfig (iv::types::ipAddress ip, iv::types::ipPort port) const
 
void configure (const iv::model::comms::NetworkData &commConfig) override
 
iv::comms::eResponse init () override
 
iv::comms::eResponse end () override
 
iv::comms::eResponse reconnect () override
 
iv::comms::eResponse start () override
 
iv::comms::eResponse stop () override
 
bool isOnline () override
 

Protected Attributes

iv::eState m_state {iv::eState::Uninitialized}
 
bool m_isOnline {false}
 
iv::types::timestamp m_lastTimeReconnected {0}
 

Private Attributes

std::vector< iv::types::httpUrlm_apiBaseUrls
 
std::string m_apiRoute
 
std::mutex m_commDriverMutex
 

Constructor & Destructor Documentation

◆ ApiCommunicationDriver()

iv::comms::api::ApiCommunicationDriver::ApiCommunicationDriver ( )
default

Member Function Documentation

◆ configure()

void iv::comms::api::ApiCommunicationDriver::configure ( const iv::model::comms::NetworkData & commConfig)
overridevirtual

◆ containsNetworkConfig()

bool iv::comms::api::ApiCommunicationDriver::containsNetworkConfig ( iv::types::ipAddress ip,
iv::types::ipPort port ) const
nodiscard

◆ DELETE()

bool iv::comms::api::ApiCommunicationDriver::DELETE ( JSON & responseBody,
const std::unordered_map< std::string_view, std::string > & queryParams = {},
const std::optional< std::string_view > & route = std::nullopt ) const

◆ end()

iv::comms::eResponse iv::comms::api::ApiCommunicationDriver::end ( )
overridevirtual

◆ get()

bool iv::comms::api::ApiCommunicationDriver::get ( JSON & responseBody,
const std::unordered_map< std::string_view, std::string > & queryParams = {},
const std::optional< std::string_view > & route = std::nullopt ) const

◆ getApiRoute()

std::string iv::comms::api::ApiCommunicationDriver::getApiRoute ( ) const
inlinenodiscard

◆ init()

iv::comms::eResponse iv::comms::api::ApiCommunicationDriver::init ( )
overridevirtual

◆ isOnline()

bool iv::comms::api::ApiCommunicationDriver::isOnline ( )
overridevirtual

◆ post()

bool iv::comms::api::ApiCommunicationDriver::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

◆ reconnect()

iv::comms::eResponse iv::comms::api::ApiCommunicationDriver::reconnect ( )
overridevirtual

◆ setApiRoute()

void iv::comms::api::ApiCommunicationDriver::setApiRoute ( const std::string_view apiRoute)
inline

◆ start()

iv::comms::eResponse iv::comms::api::ApiCommunicationDriver::start ( )
overridevirtual

◆ stop()

iv::comms::eResponse iv::comms::api::ApiCommunicationDriver::stop ( )
overridevirtual

Member Data Documentation

◆ m_apiBaseUrls

std::vector<iv::types::httpUrl> iv::comms::api::ApiCommunicationDriver::m_apiBaseUrls
private

◆ m_apiRoute

std::string iv::comms::api::ApiCommunicationDriver::m_apiRoute
private

◆ m_commDriverMutex

std::mutex iv::comms::api::ApiCommunicationDriver::m_commDriverMutex
mutableprivate

◆ m_isOnline

bool iv::comms::ICommunicationDriver::m_isOnline {false}
protectedinherited

◆ m_lastTimeReconnected

iv::types::timestamp iv::comms::ICommunicationDriver::m_lastTimeReconnected {0}
protectedinherited

◆ m_state

iv::eState iv::comms::ICommunicationDriver::m_state {iv::eState::Uninitialized}
protectedinherited

The documentation for this class was generated from the following files: