18#ifndef GNSS_SDR_SERDES_NAV_MESSAGE_H
19#define GNSS_SDR_SERDES_NAV_MESSAGE_H
21#include "nav_message.pb.h"
38class Serdes_Nav_Message
45 GOOGLE_PROTOBUF_VERIFY_VERSION;
53 inline Serdes_Nav_Message(
const Serdes_Nav_Message& other) noexcept : navmsg_(other.navmsg_)
57 inline Serdes_Nav_Message&
operator=(
const Serdes_Nav_Message& rhs)
noexcept
61 this->navmsg_.CopyFrom(rhs.navmsg_);
69 other.navmsg_ = gnss_sdr::navMsg{};
72 inline Serdes_Nav_Message&
operator=(Serdes_Nav_Message&& other)
noexcept
76 navmsg_ = std::move(other.navmsg_);
77 other.navmsg_ = gnss_sdr::navMsg{};
82 inline std::string
createProtobuffer(
const std::shared_ptr<Nav_Message_Packet> nav_msg_packet)
87 navmsg_.set_system(nav_msg_packet->system);
88 navmsg_.set_signal(nav_msg_packet->signal);
89 navmsg_.set_prn(nav_msg_packet->prn);
90 navmsg_.set_tow_at_current_symbol_ms(nav_msg_packet->tow_at_current_symbol_ms);
91 navmsg_.set_nav_message(nav_msg_packet->nav_message);
93 navmsg_.SerializeToString(&data);
102 navmsg.
system = msg.system();
103 navmsg.
signal = msg.signal();
104 navmsg.
prn = msg.prn();
112 gnss_sdr::navMsg navmsg_{};
std::string signal
GNSS signal: "1C" for GPS L1 C/A, "1B" for Galileo E1b/c, "1G" for Glonass L1 C/A,...
std::string nav_message
Content of the navigation page.
std::string system
GNSS constellation: "G" for GPS, "R" for Glonass, "S" for SBAS, "E" for Galileo and "C" for Beidou.
int32_t tow_at_current_symbol_ms
Time of week of the current symbol, in ms.
This class implements serialization and deserialization of Nav_Message_Packet objects using Protocol ...
Nav_Message_Packet readProtobuffer(const gnss_sdr::navMsg &msg) const
< Deserialization
Serdes_Nav_Message & operator=(const Serdes_Nav_Message &rhs) noexcept
< Copy assignment operator
std::string createProtobuffer(const std::shared_ptr< Nav_Message_Packet > nav_msg_packet)
Serdes_Nav_Message & operator=(Serdes_Nav_Message &&other) noexcept
< Move assignment operator
Class for storage of decoded navigation messages.