MRPT  2.0.0
List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions
mrpt::obs::gnss::gnss_message Struct Referenceabstract

Detailed Description

Pure virtual base for all message types.

See also
mrpt::obs::CObservationGPS

Definition at line 26 of file gnss_messages_common.h.

#include <mrpt/obs/gnss_messages_common.h>

Inheritance diagram for mrpt::obs::gnss::gnss_message:

Public Member Functions

 gnss_message (gnss_message_type_t msg_type_id)
 
void writeToStream (mrpt::serialization::CArchive &out) const
 Save to binary stream. More...
 
void readFromStream (mrpt::serialization::CArchive &in)
 Load from binary stream into this existing object. More...
 
bool isOfType (const gnss_message_type_t type_id) const
 
template<class MSG_CLASS >
bool isOfClass () const
 
virtual void dumpToStream (std::ostream &out) const =0
 Dumps the contents of the observation in a human-readable form to a given output stream. More...
 
virtual void fixEndianness ()
 If we are in a big endian system, reverse all fields >1 byte to fix its representation. More...
 
virtual void dumpToConsole (std::ostream &o) const
 Dumps the contents of the observation in a human-readable form to an std::ostream (set to std::cout to print to console) More...
 
virtual bool getAllFieldDescriptions ([[maybe_unused]] std::ostream &o) const
 Dumps a header for getAllFieldValues() More...
 
virtual bool getAllFieldValues ([[maybe_unused]] std::ostream &o) const
 Dumps a line with the sequence of all field values (without a line feed at the end). More...
 
const std::string & getMessageTypeAsString () const
 Returns "NMEA_GGA", etc. More...
 
virtual ~gnss_message ()=default
 

Static Public Member Functions

static gnss_messagereadAndBuildFromStream (mrpt::serialization::CArchive &in)
 Load from binary stream and creates object detecting its type (class factory). More...
 
static gnss_messageFactory (const gnss_message_type_t msg_id)
 Creates message. More...
 
static bool FactoryKnowsMsgType (const gnss_message_type_t msg_id)
 Returns true if Factory() has a registered constructor for this msg type. More...
 

Public Attributes

gnss_message_type_t message_type
 Type of GNSS message. More...
 

Protected Member Functions

virtual void internal_writeToStream (mrpt::serialization::CArchive &out) const =0
 Save to binary stream. More...
 
virtual void internal_readFromStream (mrpt::serialization::CArchive &in)=0
 Save to binary stream. More...
 

Constructor & Destructor Documentation

◆ gnss_message()

mrpt::obs::gnss::gnss_message::gnss_message ( gnss_message_type_t  msg_type_id)
inline

Definition at line 31 of file gnss_messages_common.h.

◆ ~gnss_message()

virtual mrpt::obs::gnss::gnss_message::~gnss_message ( )
virtualdefault

Member Function Documentation

◆ dumpToConsole()

void gnss_message::dumpToConsole ( std::ostream &  o) const
virtual

Dumps the contents of the observation in a human-readable form to an std::ostream (set to std::cout to print to console)

Definition at line 107 of file gnss_messages_common.cpp.

References mrpt::obs::gnss::getAllFieldDescriptions(), and mrpt::obs::gnss::getAllFieldValues().

Here is the call graph for this function:

◆ dumpToStream()

virtual void mrpt::obs::gnss::gnss_message::dumpToStream ( std::ostream &  out) const
pure virtual

◆ Factory()

gnss_message * gnss_message::Factory ( const gnss_message_type_t  msg_id)
static

Creates message.

Returns
nullptr on unknown msg type

Definition at line 49 of file gnss_messages_common.cpp.

References LIST_ALL_MSGS.

◆ FactoryKnowsMsgType()

bool gnss_message::FactoryKnowsMsgType ( const gnss_message_type_t  msg_id)
static

Returns true if Factory() has a registered constructor for this msg type.

Definition at line 62 of file gnss_messages_common.cpp.

References LIST_ALL_MSGS.

◆ fixEndianness()

virtual void mrpt::obs::gnss::gnss_message::fixEndianness ( )
inlinevirtual

If we are in a big endian system, reverse all fields >1 byte to fix its representation.

Only in binary frames, text-based derived classes obviously do not need to reimplement this one.

Reimplemented in mrpt::obs::gnss::Message_NV_OEM6_VERSION, mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME, and mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME.

Definition at line 62 of file gnss_messages_common.h.

◆ getAllFieldDescriptions()

virtual bool mrpt::obs::gnss::gnss_message::getAllFieldDescriptions ( [[maybe_unused] ] std::ostream &  o) const
inlinevirtual

Dumps a header for getAllFieldValues()

Returns
false if not implemented for this message type

Definition at line 70 of file gnss_messages_common.h.

◆ getAllFieldValues()

virtual bool mrpt::obs::gnss::gnss_message::getAllFieldValues ( [[maybe_unused] ] std::ostream &  o) const
inlinevirtual

Dumps a line with the sequence of all field values (without a line feed at the end).

See also
getAllFieldDescriptions()
Returns
false if not implemented for this message type

Definition at line 77 of file gnss_messages_common.h.

◆ getMessageTypeAsString()

const std::string & gnss_message::getMessageTypeAsString ( ) const

Returns "NMEA_GGA", etc.

Definition at line 76 of file gnss_messages_common.cpp.

References LIST_ALL_MSGS.

Referenced by mrpt::hwdrivers::CGPSInterface::implement_parser_NOVATEL_OEM6().

Here is the caller graph for this function:

◆ internal_readFromStream()

virtual void mrpt::obs::gnss::gnss_message::internal_readFromStream ( mrpt::serialization::CArchive in)
protectedpure virtual

Save to binary stream.

Launches an exception upon error

Implemented in mrpt::obs::gnss::Message_NV_OEM6_VERSION, mrpt::obs::gnss::Message_NV_OEM6_RANGECMP, mrpt::obs::gnss::Message_NV_OEM6_GENERIC_SHORT_FRAME, mrpt::obs::gnss::Message_NV_OEM6_GENERIC_FRAME, mrpt::obs::gnss::Message_TOPCON_SATS, and mrpt::obs::gnss::Message_TOPCON_PZS.

Referenced by readAndBuildFromStream().

Here is the caller graph for this function:

◆ internal_writeToStream()

virtual void mrpt::obs::gnss::gnss_message::internal_writeToStream ( mrpt::serialization::CArchive out) const
protectedpure virtual

◆ isOfClass()

template<class MSG_CLASS >
bool mrpt::obs::gnss::gnss_message::isOfClass ( ) const
inline

Definition at line 40 of file gnss_messages_common.h.

References isOfType().

Here is the call graph for this function:

◆ isOfType()

bool mrpt::obs::gnss::gnss_message::isOfType ( const gnss_message_type_t  type_id) const

Referenced by isOfClass().

Here is the caller graph for this function:

◆ readAndBuildFromStream()

gnss_message * gnss_message::readAndBuildFromStream ( mrpt::serialization::CArchive in)
static

Load from binary stream and creates object detecting its type (class factory).

Launches an exception upon error

Definition at line 117 of file gnss_messages_common.cpp.

References internal_readFromStream(), and THROW_EXCEPTION_FMT.

Referenced by mrpt::obs::gnss::gnss_message_ptr::operator=().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ readFromStream()

void gnss_message::readFromStream ( mrpt::serialization::CArchive in)

Load from binary stream into this existing object.

Launches an exception upon error.

Definition at line 99 of file gnss_messages_common.cpp.

References ASSERT_EQUAL_.

◆ writeToStream()

void gnss_message::writeToStream ( mrpt::serialization::CArchive out) const

Save to binary stream.

Launches an exception upon error

Definition at line 92 of file gnss_messages_common.cpp.

References out.

Referenced by mrpt::obs::gnss::gnss_message_ptr::gnss_message_ptr(), and mrpt::obs::gnss::gnss_message_ptr::operator=().

Here is the caller graph for this function:

Member Data Documentation

◆ message_type

gnss_message_type_t mrpt::obs::gnss::gnss_message::message_type



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020