swift
addpilot.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 
4 #include "core/fsd/addpilot.h"
5 
6 #include "core/fsd/serializer.h"
7 #include "misc/logmessage.h"
8 
9 using namespace swift::misc;
10 
11 namespace swift::core::fsd
12 {
13  AddPilot::AddPilot(const QString &callsign, const QString &cid, const QString &password, PilotRating rating,
14  int protocolRevision, SimType simType, const QString &realName)
15  : MessageBase(callsign, "SERVER"), m_cid(cid), m_password(password), m_rating(rating),
16  m_protocolRevision(protocolRevision), m_simType(simType), m_realName(realName)
17  {}
18 
19  QStringList AddPilot::toTokens() const
20  {
21  QStringList tokens;
22  tokens.push_back(m_sender);
23  tokens.push_back(m_receiver);
24  tokens.push_back(m_cid);
25  tokens.push_back(m_password);
26  tokens.push_back(toQString(m_rating));
27  tokens.push_back(QString::number(m_protocolRevision));
28  tokens.push_back(toQString(m_simType));
29  tokens.push_back(m_realName);
30  return tokens;
31  }
32 
33  AddPilot AddPilot::fromTokens(const QStringList &tokens)
34  {
35  if (tokens.size() < 6)
36  {
37  CLogMessage(static_cast<AddPilot *>(nullptr)).warning(u"Wrong number of arguments.");
38  return {};
39  }
40 
41  const PilotRating rating = fromQString<PilotRating>(tokens[4]);
42  const int protocolRevision = tokens[5].toInt();
43  const SimType simType = fromQString<SimType>(tokens[6]);
44  const AddPilot packet(tokens[0], tokens[2], tokens[3], rating, protocolRevision, simType, tokens[7]);
45  return packet;
46  }
47 } // namespace swift::core::fsd
FSD Message: Add Pilot.
Definition: addpilot.h:19
SimType simType() const
Get simulator type.
Definition: addpilot.h:38
PilotRating rating() const
Get pilot rating.
Definition: addpilot.h:32
QStringList toTokens() const
Message converted to tokens.
Definition: addpilot.cpp:19
static AddPilot fromTokens(const QStringList &tokens)
Construct from tokens.
Definition: addpilot.cpp:33
FSD message base class.
Definition: messagebase.h:58
QString m_receiver
message receiver
Definition: messagebase.h:89
QString m_sender
message sender
Definition: messagebase.h:88
Class for emitting a log message.
Definition: logmessage.h:27
Derived & warning(const char16_t(&format)[N])
Set the severity to warning, providing a format string.
SimType
Flight simulator type.
Definition: enums.h:44
PilotRating
Pilot ratings.
Definition: enums.h:33
Free functions in swift::misc.