swift
addpilot.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_ADDPILOT_H
7 #define SWIFT_CORE_FSD_ADDPILOT_H
8 
9 #include <QString>
10 #include <QStringList>
11 
12 #include "core/fsd/enums.h"
13 #include "core/fsd/messagebase.h"
14 
15 namespace swift::core::fsd
16 {
19  {
20  public:
22  AddPilot(const QString &callsign, const QString &cid, const QString &password, PilotRating rating,
23  int protocolRevision, SimType simType, const QString &realName);
24 
26  const QString &cid() const { return m_cid; }
27 
29  const QString &password() const { return m_password; }
30 
32  PilotRating rating() const { return m_rating; }
33 
35  int protocolVersion() const { return m_protocolRevision; }
36 
38  SimType simType() const { return m_simType; }
39 
41  const QString &realName() const { return m_realName; }
42 
44  QStringList toTokens() const;
45 
47  static AddPilot fromTokens(const QStringList &tokens);
48 
50  static QString pdu() { return "#AP"; }
51 
52  private:
53  AddPilot() : MessageBase() {}
54 
55  QString m_cid;
56  QString m_password;
57  PilotRating m_rating = PilotRating::Unknown;
58  int m_protocolRevision = 0;
59  SimType m_simType = SimType::Unknown;
60  QString m_realName;
61  };
62 
64  inline bool operator==(const AddPilot &lhs, const AddPilot &rhs)
65  {
66  return lhs.sender() == rhs.sender() && lhs.receiver() == rhs.receiver() && lhs.cid() == rhs.cid() &&
67  lhs.password() == rhs.password() && lhs.rating() == rhs.rating() &&
68  lhs.protocolVersion() == rhs.protocolVersion() && lhs.simType() == rhs.simType() &&
69  lhs.realName() == rhs.realName();
70  }
71 
73  inline bool operator!=(const AddPilot &lhs, const AddPilot &rhs) { return !(lhs == rhs); }
74 } // namespace swift::core::fsd
75 
76 #endif // SWIFT_CORE_FSD_ADDPILOT_H
bool operator!=(const AddAtc &lhs, const AddAtc &rhs)
Not equal operator.
Definition: addatc.h:68
FSD Message: Add Pilot.
Definition: addpilot.h:19
int protocolVersion() const
Get protocol version.
Definition: addpilot.h:35
const QString & password() const
Get user password.
Definition: addpilot.h:29
const QString & realName() const
Get real name.
Definition: addpilot.h:41
const QString & cid() const
Get user cid.
Definition: addpilot.h:26
SimType simType() const
Get simulator type.
Definition: addpilot.h:38
static QString pdu()
PDU identifier.
Definition: addpilot.h:50
PilotRating rating() const
Get pilot rating.
Definition: addpilot.h:32
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
SimType
Flight simulator type.
Definition: enums.h:44
PilotRating
Pilot ratings.
Definition: enums.h:33
#define SWIFT_CORE_EXPORT
Export a class or function from the library.