GNSS-SDR 0.0.21
An Open Source GNSS Software Defined Receiver
Loading...
Searching...
No Matches
nav_message_packet.h
Go to the documentation of this file.
1/*!
2 * \file nav_message_packet.h
3 * \brief Class for storage of decoded navigation messages
4 * \author Carles Fernandez-Prades, 2021. cfernandez(at)cttc.es
5 *
6 * -----------------------------------------------------------------------------
7 *
8 * GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
9 * This file is part of GNSS-SDR.
10 *
11 * Copyright (C) 2010-2021 (see AUTHORS file for a list of contributors)
12 * SPDX-License-Identifier: GPL-3.0-or-later
13 *
14 * -----------------------------------------------------------------------------
15 */
16
17#ifndef GNSS_SDR_NAV_MESSAGE_PACKET_H
18#define GNSS_SDR_NAV_MESSAGE_PACKET_H
19
20#include <cstdint>
21#include <string>
22#include <utility>
23
24/** \addtogroup Core
25 * \{ */
26/** \addtogroup Core_Receiver_Library
27 * \{ */
28
30{
31public:
32 Nav_Message_Packet() = default; //!< Default constructor
33
34 ~Nav_Message_Packet() = default; //!< Default destructor
35
36 std::string system; //!< GNSS constellation: "G" for GPS, "R" for Glonass, "S" for SBAS, "E" for Galileo and "C" for Beidou.
37 std::string signal; //!< GNSS signal: "1C" for GPS L1 C/A, "1B" for Galileo E1b/c, "1G" for Glonass L1 C/A, "2S" for GPS L2 L2C(M), "2G" for Glonass L2 C/A, "L5" for GPS L5 and "5X" for Galileo E5a
38 int32_t prn; //!< SV ID
39 int32_t tow_at_current_symbol_ms; //!< Time of week of the current symbol, in ms
40 std::string nav_message; //!< Content of the navigation page
41
42 /// Copy constructor
44 {
45 *this = other;
46 };
47
48 /// Copy assignment operator
50 {
51 // Only do assignment if RHS is a different object from this.
52 if (this != &rhs)
53 {
54 this->system = rhs.system;
55 this->signal = rhs.signal;
56 this->prn = rhs.prn;
57 this->tow_at_current_symbol_ms = rhs.tow_at_current_symbol_ms;
58 this->nav_message = rhs.nav_message;
59 }
60 return *this;
61 };
62
63 /// Move constructor
65 {
66 *this = std::move(other);
67 };
68
69 /// Move assignment operator
71 {
72 if (this != &other)
73 {
74 this->system = other.system;
75 this->signal = other.signal;
76 this->prn = other.prn;
77 this->tow_at_current_symbol_ms = other.tow_at_current_symbol_ms;
78 this->nav_message = other.nav_message;
79 }
80 return *this;
81 };
82};
83
84/** \} */
85/** \} */
86#endif // GNSS_SDR_NAV_MESSAGE_PACKET_H
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.
Nav_Message_Packet & operator=(Nav_Message_Packet &&other) noexcept
Move assignment operator.
~Nav_Message_Packet()=default
Default destructor.
Nav_Message_Packet()=default
Default constructor.
Nav_Message_Packet & operator=(const Nav_Message_Packet &rhs) noexcept
Copy assignment operator.
int32_t tow_at_current_symbol_ms
Time of week of the current symbol, in ms.
Nav_Message_Packet(Nav_Message_Packet &&other) noexcept
Move constructor.
Nav_Message_Packet(const Nav_Message_Packet &other) noexcept
Copy constructor.