swift
samples
afvclient
main.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 <QGuiApplication>
5
#include <QPointer>
6
#include <QQmlApplicationEngine>
7
#include <QQmlContext>
8
#include <QThread>
9
#include <QTimer>
10
11
#include "
afvclientbridge.h
"
12
13
#include "
config/buildconfig.h
"
14
#include "
core/afv/clients/afvclient.h
"
15
#include "core/afv/model/afvmapreader.h"
16
#include "core/afv/model/atcstationmodel.h"
17
#include "
core/application.h
"
18
#include "
core/registermetadata.h
"
19
#include "
misc/network/user.h
"
20
#include "
misc/obfuscation.h
"
21
22
using namespace
swift::config;
23
using namespace
swift::misc
;
24
using namespace
swift::misc::network;
25
using namespace
swift::core
;
26
using namespace
swift::core::afv::clients;
27
using namespace
swift::core::afv::model;
28
29
int
main
(
int
argc,
char
*argv[])
30
{
31
QGuiApplication
qa(argc, argv);
32
33
swift::core::registerMetadata
();
34
swift::core::CApplication
a(
"sampleafvclient"
, CApplicationInfo::Sample);
35
36
CAfvMapReader
*afvMapReader =
new
CAfvMapReader
(&a);
37
afvMapReader->
updateFromMap
();
38
39
CAfvClient
*voiceClient =
new
CAfvClient
(
"https://voice1.vatsim.net"
, &qa);
40
voiceClient->
start
(
QThread::TimeCriticalPriority
);
// background thread
41
CAfvClientBridge
*voiceClientBridge =
new
CAfvClientBridge
(voiceClient, &qa);
42
43
QObject::connect
(&qa, &
QCoreApplication::aboutToQuit
, [voiceClient]() { voiceClient->
quitAndWait
(); });
44
45
// default user name
46
QString
defaultUserName(
"1234567"
);
47
if
(
CBuildConfig::isLocalDeveloperDebugBuild
())
48
{
49
const
CUser
user(
"OBF:AwLZ7f9hUmpSZhm4="
,
"Joe Doe"
);
50
defaultUserName = user.getId();
51
}
52
53
QQmlApplicationEngine
engine;
54
QQmlContext
*ctxt = engine.
rootContext
();
55
ctxt->
setContextProperty
(
"afvMapReader"
, afvMapReader);
56
ctxt->
setContextProperty
(
"voiceClient"
, voiceClientBridge);
57
ctxt->
setContextProperty
(
"userName"
, defaultUserName);
58
59
engine.
load
(
QUrl
(QStringLiteral(
"qrc:/main.qml"
)));
60
return
a.exec();
61
}
afvclient.h
afvclientbridge.h
application.h
buildconfig.h
CAfvClientBridge
Bridge, running in main thread -> voice client in own thread.
Definition:
afvclientbridge.h:15
swift::config::CBuildConfig::isLocalDeveloperDebugBuild
static bool isLocalDeveloperDebugBuild()
Local build for developers.
swift::core::CApplication
Our runtime.
Definition:
application.h:87
swift::core::afv::clients::CAfvClient
AFV client.
Definition:
afvclient.h:34
swift::core::afv::model::CAfvMapReader
Map reader.
Definition:
afvmapreader.h:17
swift::core::afv::model::CAfvMapReader::updateFromMap
void updateFromMap()
Update ATC stations in model.
Definition:
afvmapreader.cpp:28
swift::misc::CContinuousWorker::quitAndWait
void quitAndWait() noexcept final
Calls quit() and blocks until the thread is finished.
Definition:
worker.cpp:203
swift::misc::CContinuousWorker::start
void start(QThread::Priority priority=QThread::InheritPriority)
Starts a thread and moves the worker into it.
Definition:
worker.cpp:165
swift::misc::network::CUser
Value object encapsulating information of a user.
Definition:
user.h:28
registermetadata.h
swift::core
Backend services of the swift project, like dealing with the network or the simulators.
Definition:
actionbind.cpp:7
swift::core::registerMetadata
void registerMetadata()
Register all relevant metadata in swift::core.
Definition:
registermetadata.cpp:28
swift::misc
Free functions in swift::misc.
Definition:
aircraftmatcher.h:22
obfuscation.h
QCoreApplication::aboutToQuit
void aboutToQuit()
QGuiApplication
QObject::connect
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
QQmlApplicationEngine
QQmlApplicationEngine::load
void load(const QString &filePath)
QQmlContext
QQmlContext::setContextProperty
void setContextProperty(const QString &name, QObject *value)
QQmlEngine::rootContext
QQmlContext * rootContext() const const
QString
QThread::TimeCriticalPriority
TimeCriticalPriority
QUrl
main
int main(int argc, char *argv[])
main
Definition:
main.cpp:20
user.h
Generated on Wed Sep 3 2025 21:41:22 for swift by
1.9.1