swift
Loading...
Searching...
No Matches
samples
fsd
main.cpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3
6
7
#include <QCoreApplication>
8
#include <QThread>
9
10
#include "
core/fsd/fsdclient.h
"
11
#include "
misc/network/clientprovider.h
"
12
#include "
misc/simulation/ownaircraftproviderdummy.h
"
13
#include "
misc/simulation/remoteaircraftproviderdummy.h
"
14
15
using namespace
swift::misc::network;
16
using namespace
swift::misc::simulation;
17
using namespace
swift::core::fsd;
18
20
int
main
(
int
argc,
char
*argv[])
21
{
22
QCoreApplication
qa(argc, argv);
23
COwnAircraftProviderDummy::instance
()->
updateOwnCallsign
(
"BER368"
);
24
25
CFSDClient
client(
CClientProviderDummy::instance
(),
COwnAircraftProviderDummy::instance
(),
26
CRemoteAircraftProviderDummy::instance
(), &qa);
27
client.
setClientName
(
"Test Client"
);
28
client.
setHostApplication
(
"None"
);
29
client.
setVersion
(0, 8);
30
#ifdef SWIFT_VATSIM_SUPPORT
31
QString
key(
"727d1efd5cb9f8d2c28372469d922bb4"
);
32
client.setClientIdAndKey(0xb9ba, key.
toLocal8Bit
());
33
#endif
34
client.
setClientCapabilities
(
Capabilities::AtcInfo
|
Capabilities::AircraftInfo
|
Capabilities::AircraftConfig
);
35
36
const
CUser
user(
"1234567"
,
"Test user - EDDM"
,
""
,
"123456"
);
37
CServer
server(
"fsd.swift-project.org"
, 6809, user);
38
server.
setEcosystem
(
CEcosystem::vatsim
());
39
client.
setServer
(server);
40
client.
setSimType
(
CSimulatorInfo::xplane
());
41
client.
setPilotRating
(
PilotRating::Student
);
42
client.
printToConsole
(
true
);
43
44
/*client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:V:voice.vacc.ch/loww_f_app\r\n");
45
client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:T:Wien Director, Servus\r\n");
46
client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:T:CALLSIGN ONLY\r\n");
47
client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:T:For charts visit www.vacc-austria.org\r\n");
48
client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:Z:z\r\n");
49
client.sendFsdMessage("$CRLOWW_F_APP:LHA449:ATIS:E:6\r\n");
50
client.sendFsdMessage("$CRN1234:BAW345:CAPS:INTERIMPOS=1:MODELDESC=1:ATCINFO=1:STEALTH=1:ACCONFIG=1\r\n");
51
client.sendFsdMessage("#SBBAW106:LHA449:PI:GEN:EQUIPMENT=B744:AIRLINE=BAW:LIVERY=UNION\r\n");
52
client.sendFsdMessage("#SBGEC55F:DESWL:FSIPIR:1::MD11:12.93209:-0.01354:3648.00000:4.CB8FB1E0.984745A0::PMDG MD-11F
53
Lufthansa Cargo WOW\r\n"); client.sendFsdMessage("#TMAFR529:@20500&@26000:taxi to entry N1 via M A4\r\n");
54
client.sendFsdMessage("$CQDLH123:BER368:ACC:json config\r\n");
55
client.sendFsdMessage("$CQDLH123:@94836:ACC:{\"request\":\"full\"}\r\n");
56
client.sendFsdMessage("#SBAUA417C:LHA449:PI:X:0:1:~B737");
57
client.sendFsdMessage("#SBBER368:someone:I:47.29946:14.45892:41082:473:4278194872\r\n");
58
client.sendFsdMessage("$CQURRR_R_APP:@94835:SC:VTD740:ÈËÑ\r\n");
59
client.sendFsdMessage("@N:SVA732:346:1:53.10591:2.50108:37010:529:4261225460:42\r\n");
60
client.sendFsdMessage("$CRLHA449:LOWW_TWR:RN:Peter Buchegger - LOWL:NONE:1\r\n");*/
61
62
client.
connectToServer
();
63
64
while
(client.
getConnectionStatus
() == CConnectionStatus::Disconnected)
65
{
66
QCoreApplication::processEvents
();
67
QThread::msleep
(100);
68
}
69
70
bool
functionTestsDone =
false
;
71
while
(client.
getConnectionStatus
() == CConnectionStatus::Connected)
72
{
73
QThread::msleep
(100);
74
if
(!functionTestsDone)
// cppcheck-suppress duplicateConditionalAssign
75
{
76
/*client.sendFlightPlan(FlightType::VFR, "B744", 420, "EGLL", 1530, 1535, "FL350", "KORD", 8, 15,
77
9, 30, "NONE", "Unit Test", "EGLL.KORD");
78
client.sendClientQuery(ClientQueryType::FP, "SERVER", { "BER368" });*/
79
functionTestsDone =
true
;
80
}
81
QCoreApplication::processEvents
();
82
}
83
84
return
qa.
exec
();
85
}
swift::core::fsd::CFSDClient
FSD client Todo: Send (interim) data updates automatically Todo Check ':' in FSD messages....
Definition
fsdclient.h:85
swift::core::fsd::CFSDClient::setClientName
void setClientName(const QString &clientName)
Preset functions.
Definition
fsdclient.h:102
swift::core::fsd::CFSDClient::setServer
void setServer(const swift::misc::network::CServer &server)
Preset functions.
Definition
fsdclient.cpp:148
swift::core::fsd::CFSDClient::setClientCapabilities
void setClientCapabilities(Capabilities capabilities)
Preset functions.
Definition
fsdclient.h:123
swift::core::fsd::CFSDClient::printToConsole
void printToConsole(bool on)
Debugging and UNIT tests.
Definition
fsdclient.h:276
swift::core::fsd::CFSDClient::setHostApplication
void setHostApplication(const QString &hostApplication)
Preset functions.
Definition
fsdclient.h:107
swift::core::fsd::CFSDClient::setPilotRating
void setPilotRating(PilotRating rating)
Preset functions.
Definition
fsdclient.h:145
swift::core::fsd::CFSDClient::setSimType
void setSimType(const swift::misc::simulation::CSimulatorInfo &simInfo)
Preset functions.
Definition
fsdclient.cpp:208
swift::core::fsd::CFSDClient::setVersion
void setVersion(int major, int minor)
Preset functions.
Definition
fsdclient.h:112
swift::core::fsd::CFSDClient::connectToServer
void connectToServer()
Connect/disconnect.
Definition
fsdclient.cpp:237
swift::core::fsd::CFSDClient::getConnectionStatus
swift::misc::network::CConnectionStatus getConnectionStatus() const
Connection status.
Definition
fsdclient.h:249
swift::misc::network::CClientProviderDummy::instance
static CClientProviderDummy * instance()
Dummy instance.
Definition
clientprovider.cpp:285
swift::misc::network::CEcosystem::vatsim
static const CEcosystem & vatsim()
VATSIM eco system.
Definition
ecosystem.cpp:26
swift::misc::network::CServer
Value object encapsulating information of a FSD server.
Definition
server.h:28
swift::misc::network::CServer::setEcosystem
void setEcosystem(const CEcosystem &ecosystem)
Set the ecosystem.
Definition
server.cpp:66
swift::misc::network::CUser
Value object encapsulating information of a user.
Definition
user.h:28
swift::misc::simulation::COwnAircraftProviderDummy::updateOwnCallsign
bool updateOwnCallsign(const swift::misc::aviation::CCallsign &callsign)
Update aircraft's callsign.
Definition
ownaircraftproviderdummy.cpp:129
swift::misc::simulation::COwnAircraftProviderDummy::instance
static COwnAircraftProviderDummy * instance()
Singleton.
Definition
ownaircraftproviderdummy.cpp:144
swift::misc::simulation::CRemoteAircraftProviderDummy::instance
static CRemoteAircraftProviderDummy * instance()
Singleton.
Definition
remoteaircraftproviderdummy.cpp:14
swift::misc::simulation::CSimulatorInfo::xplane
static const CSimulatorInfo & xplane()
Const simulator info objects.
Definition
simulatorinfo.h:210
clientprovider.h
swift::core::fsd::PilotRating::Student
@ Student
P1.
Definition
enums.h:35
swift::core::fsd::Capabilities::AtcInfo
@ AtcInfo
Can accept ATIS responses.
Definition
enums.h:135
swift::core::fsd::Capabilities::AircraftConfig
@ AircraftConfig
Aircraft Config.
Definition
enums.h:172
swift::core::fsd::Capabilities::AircraftInfo
@ AircraftInfo
Can send/receive modern model packets.
Definition
enums.h:150
fsdclient.h
ownaircraftproviderdummy.h
QCoreApplication
QCoreApplication::exec
int exec()
QCoreApplication::processEvents
void processEvents(QEventLoop::ProcessEventsFlags flags)
QString
QString::toLocal8Bit
QByteArray toLocal8Bit() const const
QThread::msleep
void msleep(unsigned long msecs)
remoteaircraftproviderdummy.h
main
int main(int argc, char *argv[])
main
Definition
main.cpp:20
Generated on
for swift by
1.15.0