|
nmealib 0.0.4
NMEA 0183/NMEA 2000 parsing library
|
Registry for message type creators. More...
#include <messageRegistry.hpp>
Public Member Functions | |
| std::unique_ptr< Message0183 > | create (const std::string &sentenceType, std::unique_ptr< Message0183 > baseMessage) |
| Create a typed message from a generic Message0183. | |
Static Public Member Functions | |
| static MessageRegistry & | instance () |
| Get the singleton instance of the MessageRegistry. | |
Friends | |
| class | DBT |
| class | DPT |
| class | GGA |
| class | GLL |
| class | GSA |
| class | GSV |
| class | HDG |
| class | HDM |
| class | MTW |
| class | MWV |
| class | RMA |
| class | RMC |
| class | VHW |
| class | VLW |
| class | VTG |
| class | VWR |
| class | XDR |
| class | ZDA |
Registry for message type creators.
The MessageRegistry implements the factory pattern for NMEA 0183 message types. Instead of hard-coding a dispatch if-else chain in the factory, message types register themselves with the registry at library initialization time.
This design scales efficiently for 50+ message types without compilation overhead.
Definition at line 20 of file messageRegistry.hpp.
| std::unique_ptr< Message0183 > nmealib::nmea0183::MessageRegistry::create | ( | const std::string & | sentenceType, |
| std::unique_ptr< Message0183 > | baseMessage | ||
| ) |
Create a typed message from a generic Message0183.
Dispatches to the appropriate creator method for the sentence type. If the sentence type is not supported, returns the base Message0183 unchanged.
| sentenceType | The three-character sentence type code. |
| baseMessage | The generic Message0183 to convert. |
Definition at line 32 of file messageRegistry.cpp.
|
static |
Get the singleton instance of the MessageRegistry.
Definition at line 27 of file messageRegistry.cpp.
|
friend |
Definition at line 49 of file messageRegistry.hpp.
|
friend |
Definition at line 50 of file messageRegistry.hpp.
|
friend |
Definition at line 51 of file messageRegistry.hpp.
|
friend |
Definition at line 52 of file messageRegistry.hpp.
|
friend |
Definition at line 53 of file messageRegistry.hpp.
|
friend |
Definition at line 54 of file messageRegistry.hpp.
|
friend |
Definition at line 55 of file messageRegistry.hpp.
|
friend |
Definition at line 56 of file messageRegistry.hpp.
|
friend |
Definition at line 57 of file messageRegistry.hpp.
|
friend |
Definition at line 58 of file messageRegistry.hpp.
|
friend |
Definition at line 59 of file messageRegistry.hpp.
|
friend |
Definition at line 60 of file messageRegistry.hpp.
|
friend |
Definition at line 61 of file messageRegistry.hpp.
|
friend |
Definition at line 62 of file messageRegistry.hpp.
|
friend |
Definition at line 63 of file messageRegistry.hpp.
|
friend |
Definition at line 64 of file messageRegistry.hpp.
|
friend |
Definition at line 65 of file messageRegistry.hpp.
|
friend |
Definition at line 66 of file messageRegistry.hpp.