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

#include <Nmea0183CommunicationProtocol.hpp>

Inheritance diagram for iv::comms::nmea0183::Nmea0183CommunicationProtocol:
[legend]
Collaboration diagram for iv::comms::nmea0183::Nmea0183CommunicationProtocol:
[legend]

Public Member Functions

 Nmea0183CommunicationProtocol ()=delete
 
 Nmea0183CommunicationProtocol (const std::shared_ptr< iv::comms::ICommunicationDriver > &driver, const iv::model::comms::nmea0183::Settings &settings, const std::weak_ptr< iv::diamar::AppFailuresLoggerManager > &appFailuresLoggerManager, iv::types::networkId &networkId)
 
 Nmea0183CommunicationProtocol (const Nmea0183CommunicationProtocol &other)=delete
 
 Nmea0183CommunicationProtocol (Nmea0183CommunicationProtocol &&other)=delete
 
 ~Nmea0183CommunicationProtocol () override=default
 
Nmea0183CommunicationProtocoloperator= (const Nmea0183CommunicationProtocol &other)=delete
 
Nmea0183CommunicationProtocoloperator= (Nmea0183CommunicationProtocol &&other)=delete
 
bool isOnline () override
 
bool read ()
 Reads the nmea messages from the serial port and stores them.
 
std::vector< NmeaMessage > & getNmeaMessagesQueue ()
 
std::optional< std::vector< std::string > > getNmeaDataFromHeader (const iv::types::comms::nmea0183::nmeaHeader &header)
 Get the stored nmea messages that begin with a given header.
 
bool hasNmeaDataFromHeader (const iv::types::comms::nmea0183::nmeaHeader &header)
 
void emptyStoredNmeaData ()
 Empties all the stored nmea messages independently of the header.
 

Protected Attributes

std::shared_ptr< iv::comms::ICommunicationDriverm_driver
 

Private Member Functions

void storeNmeaMessage (iv::comms::nmea0183::NmeaMessage message)
 Stores a nmea message.
 

Private Attributes

std::map< iv::types::comms::nmea0183::nmeaHeader, std::optional< std::vector< std::string > > > m_storedNmeaData
 
std::vector< NmeaMessagem_nmeaMessagesQueue
 
iv::model::comms::nmea0183::Settings m_nmeaSettings
 
iv::types::networkId m_networkId
 
std::weak_ptr< iv::diamar::AppFailuresLoggerManagerm_appFailuresLoggerManager
 

Constructor & Destructor Documentation

◆ Nmea0183CommunicationProtocol() [1/4]

iv::comms::nmea0183::Nmea0183CommunicationProtocol::Nmea0183CommunicationProtocol ( )
delete

◆ Nmea0183CommunicationProtocol() [2/4]

iv::comms::nmea0183::Nmea0183CommunicationProtocol::Nmea0183CommunicationProtocol ( const std::shared_ptr< iv::comms::ICommunicationDriver > & driver,
const iv::model::comms::nmea0183::Settings & settings,
const std::weak_ptr< iv::diamar::AppFailuresLoggerManager > & appFailuresLoggerManager,
iv::types::networkId & networkId )
explicit

◆ Nmea0183CommunicationProtocol() [3/4]

iv::comms::nmea0183::Nmea0183CommunicationProtocol::Nmea0183CommunicationProtocol ( const Nmea0183CommunicationProtocol & other)
delete

◆ Nmea0183CommunicationProtocol() [4/4]

iv::comms::nmea0183::Nmea0183CommunicationProtocol::Nmea0183CommunicationProtocol ( Nmea0183CommunicationProtocol && other)
delete

◆ ~Nmea0183CommunicationProtocol()

iv::comms::nmea0183::Nmea0183CommunicationProtocol::~Nmea0183CommunicationProtocol ( )
overridedefault

Member Function Documentation

◆ emptyStoredNmeaData()

void iv::comms::nmea0183::Nmea0183CommunicationProtocol::emptyStoredNmeaData ( )

Empties all the stored nmea messages independently of the header.

◆ getNmeaDataFromHeader()

std::optional< std::vector< std::string > > iv::comms::nmea0183::Nmea0183CommunicationProtocol::getNmeaDataFromHeader ( const iv::types::comms::nmea0183::nmeaHeader & header)

Get the stored nmea messages that begin with a given header.

Parameters
header
Returns
a vector with the stored nmea messages, std::nullopt if there aren't any messages

◆ getNmeaMessagesQueue()

std::vector< NmeaMessage > & iv::comms::nmea0183::Nmea0183CommunicationProtocol::getNmeaMessagesQueue ( )
inline

◆ hasNmeaDataFromHeader()

bool iv::comms::nmea0183::Nmea0183CommunicationProtocol::hasNmeaDataFromHeader ( const iv::types::comms::nmea0183::nmeaHeader & header)

Checks if there are messages stored with the given header

Parameters
header
Returns

◆ isOnline()

bool iv::comms::nmea0183::Nmea0183CommunicationProtocol::isOnline ( )
inlinenodiscardoverridevirtual

◆ operator=() [1/2]

Nmea0183CommunicationProtocol & iv::comms::nmea0183::Nmea0183CommunicationProtocol::operator= ( const Nmea0183CommunicationProtocol & other)
delete

◆ operator=() [2/2]

Nmea0183CommunicationProtocol & iv::comms::nmea0183::Nmea0183CommunicationProtocol::operator= ( Nmea0183CommunicationProtocol && other)
delete

◆ read()

bool iv::comms::nmea0183::Nmea0183CommunicationProtocol::read ( )

Reads the nmea messages from the serial port and stores them.

Returns
true if it could read from the driver, false otherwise

◆ storeNmeaMessage()

void iv::comms::nmea0183::Nmea0183CommunicationProtocol::storeNmeaMessage ( iv::comms::nmea0183::NmeaMessage message)
private

Stores a nmea message.

Parameters
message

Member Data Documentation

◆ m_appFailuresLoggerManager

std::weak_ptr<iv::diamar::AppFailuresLoggerManager> iv::comms::nmea0183::Nmea0183CommunicationProtocol::m_appFailuresLoggerManager
private

◆ m_driver

std::shared_ptr<iv::comms::ICommunicationDriver> iv::comms::ICommunicationProtocol::m_driver
protectedinherited

◆ m_networkId

iv::types::networkId iv::comms::nmea0183::Nmea0183CommunicationProtocol::m_networkId
private

◆ m_nmeaMessagesQueue

std::vector<NmeaMessage> iv::comms::nmea0183::Nmea0183CommunicationProtocol::m_nmeaMessagesQueue
private

◆ m_nmeaSettings

iv::model::comms::nmea0183::Settings iv::comms::nmea0183::Nmea0183CommunicationProtocol::m_nmeaSettings
private

◆ m_storedNmeaData

std::map<iv::types::comms::nmea0183::nmeaHeader, std::optional<std::vector<std::string> > > iv::comms::nmea0183::Nmea0183CommunicationProtocol::m_storedNmeaData
private

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