swift
addatc.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_ADDATC_H
7 #define SWIFT_CORE_FSD_ADDATC_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  AddAtc(const QString &callsign, const QString &realName, const QString &cid, const QString &password,
23  AtcRating rating, int protocolRevision);
24 
26  QStringList toTokens() const;
27 
29  static AddAtc fromTokens(const QStringList &tokens);
30 
32  static QString pdu() { return QStringLiteral("#AA"); }
33 
35  QString cid() const { return m_cid; }
36 
38  QString password() const { return m_password; }
39 
41  AtcRating rating() const { return m_rating; }
42 
44  int protocolRevision() const { return m_protocolRevision; }
45 
47  QString realName() const { return m_realName; }
48 
49  private:
50  AddAtc();
51 
52  QString m_cid;
53  QString m_password;
54  AtcRating m_rating = AtcRating::Unknown;
55  int m_protocolRevision = 0;
56  QString m_realName;
57  };
58 
60  inline bool operator==(const AddAtc &lhs, const AddAtc &rhs)
61  {
62  return lhs.sender() == rhs.sender() && lhs.receiver() == rhs.receiver() && lhs.cid() == rhs.cid() &&
63  lhs.password() == rhs.password() && lhs.rating() == rhs.rating() &&
64  lhs.protocolRevision() == rhs.protocolRevision() && lhs.realName() == rhs.realName();
65  }
66 
68  inline bool operator!=(const AddAtc &lhs, const AddAtc &rhs) { return !(lhs == rhs); }
69 } // namespace swift::core::fsd
70 
71 #endif // SWIFT_CORE_FSD_ADDATC_H
bool operator!=(const AddAtc &lhs, const AddAtc &rhs)
Not equal operator.
Definition: addatc.h:68
Add ATC message.
Definition: addatc.h:19
AtcRating rating() const
Get ATC rating.
Definition: addatc.h:41
QString cid() const
Get user cid.
Definition: addatc.h:35
QString password() const
Get user password.
Definition: addatc.h:38
QString realName() const
Get real name.
Definition: addatc.h:47
static QString pdu()
PDU identifier.
Definition: addatc.h:32
int protocolRevision() const
Get protocol version.
Definition: addatc.h:44
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
AtcRating
ATC ratings.
Definition: enums.h:15
#define SWIFT_CORE_EXPORT
Export a class or function from the library.