swift
Loading...
Searching...
No Matches
flightplan.cpp
1// SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
5
7#include "misc/logmessage.h"
8
9namespace swift::core::fsd
10{
11 FlightPlan::FlightPlan(const QString &sender, const QString &receiver, FlightType flightType,
12 const QString &aircraftIcaoType, int trueCruisingSpeed, const QString &depAirport,
13 int estimatedDepTime, int actualDepTime, const QString &cruiseAlt,
14 const QString &destAirport, int hoursEnroute, int minutesEnroute, int fuelAvailHours,
15 int fuelAvailMinutes, const QString &altAirport, const QString &remarks,
16 const QString &route)
17 : MessageBase(sender, receiver), m_flightType(flightType), m_aircraftIcaoType(aircraftIcaoType),
18 m_trueCruisingSpeed(trueCruisingSpeed), m_depAirport(depAirport), m_estimatedDepTime(estimatedDepTime),
19 m_actualDepTime(actualDepTime), m_cruiseAlt(cruiseAlt), m_destAirport(destAirport),
20 m_hoursEnroute(hoursEnroute), m_minutesEnroute(minutesEnroute), m_fuelAvailHours(fuelAvailHours),
21 m_fuelAvailMinutes(fuelAvailMinutes), m_altAirport(altAirport), m_remarks(remarks), m_route(route)
22 {}
23
25 {
26 auto tokens = QStringList {};
27 tokens.push_back(m_sender);
28 tokens.push_back(m_receiver);
29 tokens.push_back(toQString(m_flightType));
30 tokens.push_back(m_aircraftIcaoType);
31 tokens.push_back(QString::number(m_trueCruisingSpeed));
32 tokens.push_back(m_depAirport);
33 tokens.push_back(QString::number(m_estimatedDepTime));
34 tokens.push_back(QString::number(m_actualDepTime));
35 tokens.push_back(m_cruiseAlt);
36 tokens.push_back(m_destAirport);
37 tokens.push_back(QString::number(m_hoursEnroute));
38 tokens.push_back(QString::number(m_minutesEnroute));
39 tokens.push_back(QString::number(m_fuelAvailHours));
40 tokens.push_back(QString::number(m_fuelAvailMinutes));
41 tokens.push_back(m_altAirport);
42 tokens.push_back(m_remarks);
43 tokens.push_back(m_route);
44
45 Q_ASSERT(tokens.size() == 17);
46 return tokens;
47 }
48
50 {
51 if (tokens.size() < 17)
52 {
53 swift::misc::CLogMessage(static_cast<FlightPlan *>(nullptr)).debug(u"Wrong number of arguments.");
54 return {};
55 };
56 return { tokens[0], tokens[1], fromQString<FlightType>(tokens[2]),
57 tokens[3], tokens[4].toInt(), tokens[5],
58 tokens[6].toInt(), tokens[7].toInt(), tokens[8],
59 tokens[9], tokens[10].toInt(), tokens[11].toInt(),
60 tokens[12].toInt(), tokens[13].toInt(), tokens[14],
61 tokens[15], tokens[16] };
62 }
63} // namespace swift::core::fsd
QString m_aircraftIcaoType
Contains the full equipment string in FAA or ICAO format, depending on the server.
Definition flightplan.h:38
QStringList toTokens() const
Message converted to tokens.
int m_fuelAvailMinutes
Properties.
Definition flightplan.h:48
int m_actualDepTime
Properties.
Definition flightplan.h:42
static FlightPlan fromTokens(const QStringList &tokens)
Construct from tokens.
QString m_remarks
Properties.
Definition flightplan.h:50
int m_trueCruisingSpeed
Properties.
Definition flightplan.h:39
QString m_depAirport
Properties.
Definition flightplan.h:40
FlightType m_flightType
Properties.
Definition flightplan.h:36
QString m_route
Properties.
Definition flightplan.h:51
QString m_cruiseAlt
Properties.
Definition flightplan.h:43
FlightPlan(const QString &sender, const QString &receiver, FlightType flightType, const QString &aircraftIcaoType, int trueCruisingSpeed, const QString &depAirport, int estimatedDepTime, int actualDepTime, const QString &cruiseAlt, const QString &destAirport, int hoursEnroute, int minutesEnroute, int fuelAvailHours, int fuelAvailMinutes, const QString &altAirport, const QString &remarks, const QString &route)
Constructor.
int m_minutesEnroute
Properties.
Definition flightplan.h:46
int m_hoursEnroute
Properties.
Definition flightplan.h:45
QString m_destAirport
Properties.
Definition flightplan.h:44
int m_estimatedDepTime
Properties.
Definition flightplan.h:41
QString m_altAirport
Properties.
Definition flightplan.h:49
int m_fuelAvailHours
Properties.
Definition flightplan.h:47
QString m_receiver
message receiver
Definition messagebase.h:86
MessageBase()=default
Default Constructor.
QString m_sender
message sender
Definition messagebase.h:85
Class for emitting a log message.
Definition logmessage.h:27
Derived & debug()
Set the severity to debug.
FlightType
Flight types.
Definition enums.h:90
void push_back(QList< T >::parameter_type value)
qsizetype size() const const
QString number(double n, char format, int precision)