swift
Loading...
Searching...
No Matches
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"
15#include "core/afv/model/afvmapreader.h"
16#include "core/afv/model/atcstationmodel.h"
17#include "core/application.h"
19#include "misc/network/user.h"
20#include "misc/obfuscation.h"
21
22using namespace swift::config;
23using namespace swift::misc;
24using namespace swift::misc::network;
25using namespace swift::core;
26using namespace swift::core::afv::clients;
27using namespace swift::core::afv::model;
28
29int main(int argc, char *argv[])
30{
31 QGuiApplication qa(argc, argv);
32
34 swift::core::CApplication a("sampleafvclient", CApplicationInfo::Sample);
35
36 auto *afvMapReader = new CAfvMapReader(&a);
37 afvMapReader->updateFromMap();
38
39 auto *voiceClient = new CAfvClient("https://voice1.vatsim.net", &qa);
40 voiceClient->start(QThread::TimeCriticalPriority); // background thread
41 auto *voiceClientBridge = new CAfvClientBridge(voiceClient, &qa);
42
43 QObject::connect(&qa, &QCoreApplication::aboutToQuit, [voiceClient]() { voiceClient->quitAndWait(); });
44
45 // default user name
46 QString defaultUserName("1234567");
48 {
49 const CUser user("OBF:AwLZ7f9hUmpSZhm4=", "Joe Doe");
50 defaultUserName = user.getId();
51 }
52
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}
Bridge, running in main thread -> voice client in own thread.
static bool isLocalDeveloperDebugBuild()
Local build for developers.
Value object encapsulating information of a user.
Definition user.h:28
Backend services of the swift project, like dealing with the network or the simulators.
Definition actionbind.cpp:7
void registerMetadata()
Register all relevant metadata in swift::core.
Free functions in swift::misc.
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
void load(const QString &filePath)
void setContextProperty(const QString &name, QObject *value)
QQmlContext * rootContext() const const
TimeCriticalPriority