1#ifndef IV_SRC_COMMS_NMEA_NMEA0183COMMUNICATIONPROTOCOL_HPP_
2#define IV_SRC_COMMS_NMEA_NMEA0183COMMUNICATIONPROTOCOL_HPP_
17 const std::shared_ptr<iv::comms::ICommunicationDriver> &driver,
19 const std::weak_ptr<iv::diamar::AppFailuresLoggerManager> &appFailuresLoggerManager,
47 std::map<iv::types::comms::nmea0183::nmeaHeader, std::optional<std::vector<std::string>>>
m_storedNmeaData;
Definition ICommunicationProtocol.hpp:12
std::shared_ptr< iv::comms::ICommunicationDriver > m_driver
Definition ICommunicationProtocol.hpp:29
Definition Nmea0183CommunicationProtocol.hpp:13
void storeNmeaMessage(iv::comms::nmea0183::NmeaMessage message)
Stores a nmea message.
Definition Nmea0183CommunicationProtocol.cpp:130
bool isOnline() override
Definition Nmea0183CommunicationProtocol.hpp:28
Nmea0183CommunicationProtocol & operator=(const Nmea0183CommunicationProtocol &other)=delete
~Nmea0183CommunicationProtocol() override=default
std::map< iv::types::comms::nmea0183::nmeaHeader, std::optional< std::vector< std::string > > > m_storedNmeaData
Definition Nmea0183CommunicationProtocol.hpp:47
bool read()
Reads the nmea messages from the serial port and stores them.
Definition Nmea0183CommunicationProtocol.cpp:23
Nmea0183CommunicationProtocol & operator=(Nmea0183CommunicationProtocol &&other)=delete
std::weak_ptr< iv::diamar::AppFailuresLoggerManager > m_appFailuresLoggerManager
Definition Nmea0183CommunicationProtocol.hpp:53
Nmea0183CommunicationProtocol()=delete
std::vector< NmeaMessage > & getNmeaMessagesQueue()
Definition Nmea0183CommunicationProtocol.hpp:35
iv::model::comms::nmea0183::Settings m_nmeaSettings
Definition Nmea0183CommunicationProtocol.hpp:50
Nmea0183CommunicationProtocol(Nmea0183CommunicationProtocol &&other)=delete
iv::types::networkId m_networkId
Definition Nmea0183CommunicationProtocol.hpp:51
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.
Definition Nmea0183CommunicationProtocol.cpp:90
void emptyStoredNmeaData()
Empties all the stored nmea messages independently of the header.
Definition Nmea0183CommunicationProtocol.cpp:120
Nmea0183CommunicationProtocol(const Nmea0183CommunicationProtocol &other)=delete
bool hasNmeaDataFromHeader(const iv::types::comms::nmea0183::nmeaHeader &header)
Definition Nmea0183CommunicationProtocol.cpp:106
std::vector< NmeaMessage > m_nmeaMessagesQueue
Definition Nmea0183CommunicationProtocol.hpp:48
std::string nmeaHeader
Definition defines.hpp:47
std::string networkId
Definition types.hpp:43
NMEA message class.
Definition NmeaMessage.hpp:16
Definition Nmea0183Settings.hpp:11