22 explicit NotGLLException(
const std::string& context,
const std::string& details =
"") :
23 NmeaException(context,
"The sentence is not a GLL sentence", details) {}
53 GLL(std::string talkerId,
55 char latitudeDirection,
57 char longitudeDirection,
66 GLL& operator=(
GLL&&) noexcept = default;
68 ~
GLL() override = default;
108 bool operator==(const
GLL& other) const noexcept;
112 char latitudeDirection_{};
114 char longitudeDirection_{};
117 char modeIndicator_{};
121 GLL(Message0183 baseMessage,
123 char latitudeDirection,
125 char longitudeDirection,
131 static std::unique_ptr<GLL> create(std::unique_ptr<Message0183> baseMessage);
132 static std::string composeRaw(
const std::string& talkerId,
134 char latitudeDirection,
136 char longitudeDirection,
Defines a base class for NMEA messages, encapsulating common properties and behaviors.
Base exception class for all NMEA library errors.
Represents a parsed NMEA 0183 GLL (Geographic Position - Latitude/Longitude) sentence.
GLL(GLL &&) noexcept=default
double getUtcTime() const noexcept
Get UTC time in hhmmss.ss numeric form.
double getLatitude() const noexcept
Get latitude in decimal degrees.
std::unique_ptr< nmealib::Message > clone() const override
Create a polymorphic copy of this GLL message.
char getLongitudeDirection() const noexcept
Get longitude hemisphere indicator ('E' or 'W').
std::string getStringContent(bool verbose) const noexcept override
Return a human-readable string representation of this message.
char getLatitudeDirection() const noexcept
Get latitude hemisphere indicator ('N' or 'S').
GLL(std::string talkerId, double latitude, char latitudeDirection, double longitude, char longitudeDirection, double timestamp, char status, char modeIndicator)
Construct a GLL message from individual field values.
double getLongitude() const noexcept
Get longitude in decimal degrees.
char getStatus() const noexcept
Get status indicator (typically 'A' or 'V').
GLL & operator=(const GLL &)=default
char getModeIndicator() const noexcept
Get mode indicator character.
Represents an NMEA 0183 sentence.
Registry for message type creators.
Factory for creating typed NMEA 0183 message objects from raw sentence strings.
Exception thrown when a sentence is not a valid GLL sentence.
NotGLLException(const std::string &context, const std::string &details="")
Construct a NotGLLException with context and optional details.