nmealib 0.0.4
NMEA 0183/NMEA 2000 parsing library
Loading...
Searching...
No Matches
messageRegistry.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <nmealib/nmea0183.h>
4#include <map>
5#include <memory>
6#include <string>
7
8namespace nmealib {
9namespace nmea0183 {
10
21public:
27 static MessageRegistry& instance();
28
39 std::unique_ptr<Message0183> create(const std::string& sentenceType,
40 std::unique_ptr<Message0183> baseMessage);
41
42private:
46 MessageRegistry() = default;
47
48 // Forward declarations for friend declarations in message classes
49 friend class DBT;
50 friend class DPT;
51 friend class GGA;
52 friend class GLL;
53 friend class GSA;
54 friend class GSV;
55 friend class HDG;
56 friend class HDM;
57 friend class MTW;
58 friend class MWV;
59 friend class RMA;
60 friend class RMC;
61 friend class VHW;
62 friend class VLW;
63 friend class VTG;
64 friend class VWR;
65 friend class XDR;
66 friend class ZDA;
67};
68
69} // namespace nmea0183
70} // namespace nmealib
Represents a parsed NMEA 0183 DBT (Depth Below Transducer) sentence.
Definition dbt.h:37
Represents a parsed NMEA 0183 DPT (Depth of Water) sentence.
Definition dpt.h:37
Represents a parsed NMEA 0183 GGA (Global Positioning System Fix Data) sentence.
Definition gga.h:36
Represents a parsed NMEA 0183 GLL (Geographic Position - Latitude/Longitude) sentence.
Definition gll.h:36
Represents a parsed NMEA 0183 GSA (GNSS DOP and Active Satellites) sentence.
Definition gsa.h:40
Represents a parsed NMEA 0183 HDG (Heading, Deviation & Variation) sentence.
Definition hdg.h:37
Represents a parsed NMEA 0183 HDM (Heading – Magnetic) sentence.
Definition hdm.h:47
Represents a parsed NMEA 0183 MTW (Mean Temperature of Water) sentence.
Definition mtw.h:46
Represents a parsed NMEA 0183 MWV (Wind Speed and Angle) sentence.
Definition mwv.h:37
Registry for message type creators.
static MessageRegistry & instance()
Get the singleton instance of the MessageRegistry.
std::unique_ptr< Message0183 > create(const std::string &sentenceType, std::unique_ptr< Message0183 > baseMessage)
Create a typed message from a generic Message0183.
Represents a parsed NMEA 0183 RMA (Recommended Minimum Navigation Information) sentence.
Definition rma.h:22
Represents a parsed NMEA 0183 RMC (Recommended Minimum Navigation Information) sentence.
Definition rmc.h:37
Represents a parsed NMEA 0183 VHW (Water Speed and Heading) sentence.
Definition vhw.h:36
Represents a parsed NMEA 0183 VTG (Course Over Ground and Ground Speed) sentence.
Definition vtg.h:44
Represents a parsed NMEA 0183 VWR sentence (Relative Wind Speed and Angle).
Definition vwr.h:37
Represents a parsed NMEA 0183 XDR (Transducer Measurement) sentence.
Definition xdr.h:43
Represents a parsed NMEA 0183 ZDA (Time and Date) sentence.
Definition zda.h:36