#include #include #include "main.h" int main(int argc, char *argv[]) { int nRet = -1; QGfaAppCtrl appCtrl; QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QGuiApplication app(argc, argv); QQmlApplicationEngine engine; const QUrl url(QStringLiteral("qrc:/main.qml")); if(appCtrl.Create(_APP_ID, _APP_NAME, _UPDATE_TIMER_INT, _UPDATE_TIMER_INT_HEAVY_LOAD)) { appCtrl.SubscribeStateEvents(_APP_SUBSCRIPTIONS); appCtrl.SetState(GIAS_Initializing); QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, &app, [url, &appCtrl](QObject *obj, const QUrl &objUrl) { if (!obj && url == objUrl) { appCtrl.SetState(GIAS_Terminating); appCtrl.Release(); QCoreApplication::exit(-1); } }, Qt::QueuedConnection); appCtrl.RegisterQmlTypes(engine, 1, 0); engine.load(url); appCtrl.SetState(GIAS_Running); nRet = app.exec(); appCtrl.SetState(GIAS_Terminating); } return nRet; }