swift
flightplan.h
Go to the documentation of this file.
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 
6 #ifndef SWIFT_CORE_FSD_FLIGHTPLAN_H
7 #define SWIFT_CORE_FSD_FLIGHTPLAN_H
8 
9 #include "core/fsd/enums.h"
10 #include "core/fsd/messagebase.h"
11 
12 namespace swift::core::fsd
13 {
16  {
17  public:
19  FlightPlan(const QString &sender, const QString &receiver, FlightType flightType,
20  const QString &aircraftIcaoType, int trueCruisingSpeed, const QString &depAirport,
21  int estimatedDepTime, int actualDepTime, const QString &cruiseAlt, const QString &destAirport,
22  int hoursEnroute, int minutesEnroute, int fuelAvailHours, int fuelAvailMinutes,
23  const QString &altAirport, const QString &remarks, const QString &route);
24 
26  QStringList toTokens() const;
27 
29  static FlightPlan fromTokens(const QStringList &tokens);
30 
32  static QString pdu() { return "$FP"; }
33 
36  FlightType m_flightType {};
37  QString
39  int m_trueCruisingSpeed = 0;
40  QString m_depAirport;
41  int m_estimatedDepTime = 0;
42  int m_actualDepTime = 0;
43  QString m_cruiseAlt;
44  QString m_destAirport;
45  int m_hoursEnroute = 0;
46  int m_minutesEnroute = 0;
47  int m_fuelAvailHours = 0;
48  int m_fuelAvailMinutes = 0;
49  QString m_altAirport;
50  QString m_remarks;
51  QString m_route;
53 
54  protected:
55  FlightPlan();
56  };
57 
59  inline bool operator==(const FlightPlan &lhs, const FlightPlan &rhs)
60  {
61  return lhs.sender() == rhs.sender() && lhs.receiver() == rhs.receiver() &&
65  lhs.m_cruiseAlt == rhs.m_cruiseAlt && lhs.m_destAirport == rhs.m_destAirport &&
68  lhs.m_altAirport == rhs.m_altAirport && lhs.m_remarks == rhs.m_remarks && lhs.m_route == rhs.m_route;
69  }
70 
72  inline bool operator!=(const FlightPlan &lhs, const FlightPlan &rhs) { return !(lhs == rhs); }
73 } // namespace swift::core::fsd
74 
75 #endif // SWIFT_CORE_FSD_FLIGHTPLAN_H
bool operator!=(const AddAtc &lhs, const AddAtc &rhs)
Not equal operator.
Definition: addatc.h:68
FSD Message: flightplan.
Definition: flightplan.h:16
QString m_aircraftIcaoType
Contains the full equipment string in FAA or ICAO format, depending on the server.
Definition: flightplan.h:38
int m_fuelAvailMinutes
Properties.
Definition: flightplan.h:48
static QString pdu()
PDU identifier.
Definition: flightplan.h:32
int m_actualDepTime
Properties.
Definition: flightplan.h:42
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
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
FSD message base class.
Definition: messagebase.h:58
QString sender() const
get message sender
Definition: messagebase.h:73
QString receiver() const
Get message receiver.
Definition: messagebase.h:79
FlightType
Flight types.
Definition: enums.h:90
#define SWIFT_CORE_EXPORT
Export a class or function from the library.