Upload main.cpp
This commit is contained in:
parent
1ceff80914
commit
a0d81b281f
1 changed files with 53 additions and 0 deletions
53
app/main.cpp
Normal file
53
app/main.cpp
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
// app/main.cpp
|
||||||
|
//
|
||||||
|
// DragonMoonlight application entry point.
|
||||||
|
//
|
||||||
|
// Initializes Qt, creates the QML engine, registers the DragonRelayBackend
|
||||||
|
// context property, and loads the main QML view (typically from moonlight-qt's
|
||||||
|
// main.qml or a fork thereof).
|
||||||
|
|
||||||
|
#include <QGuiApplication>
|
||||||
|
#include <QQmlApplicationEngine>
|
||||||
|
#include <QQmlContext>
|
||||||
|
|
||||||
|
#include "vpn/dragonrelaybackend.h"
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
QGuiApplication app(argc, argv);
|
||||||
|
|
||||||
|
// ── Create QML Engine ─────────────────────────────────────────────────────
|
||||||
|
QQmlApplicationEngine engine;
|
||||||
|
|
||||||
|
// ── Wire DragonRelayBackend context property ──────────────────────────────
|
||||||
|
//
|
||||||
|
// Create a DragonRelayBackend instance on the stack. This object must exist
|
||||||
|
// for as long as the QML engine is running (i.e., through the app event loop).
|
||||||
|
//
|
||||||
|
// The QML context property allows QML code to access C++ methods and properties:
|
||||||
|
//
|
||||||
|
// // in QML:
|
||||||
|
// dragonRelay.connectRelay(url, user, pass)
|
||||||
|
// dragonRelay.streamHost(hostIP, "Desktop")
|
||||||
|
// var hosts = dragonRelay.hosts
|
||||||
|
// var status = dragonRelay.status
|
||||||
|
//
|
||||||
|
DragonRelayBackend relayBackend;
|
||||||
|
engine.rootContext()->setContextProperty(QStringLiteral("dragonRelay"), &relayBackend);
|
||||||
|
|
||||||
|
// ── Load main QML view ────────────────────────────────────────────────────
|
||||||
|
//
|
||||||
|
// This assumes the moonlight-qt fork provides a main.qml that includes
|
||||||
|
// or references DragonRelayView.qml. Adjust the path as needed for your
|
||||||
|
// build configuration (e.g., if QML files are in a subdirectory or
|
||||||
|
// compiled as QRC resources).
|
||||||
|
//
|
||||||
|
const QUrl url(QStringLiteral("qrc:/app/gui/main.qml"));
|
||||||
|
engine.load(url);
|
||||||
|
|
||||||
|
// ── Error handling ────────────────────────────────────────────────────────
|
||||||
|
if (engine.rootObjects().isEmpty())
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return app.exec();
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue