#include #include #include #include #include #include #include #include #include #include #include "navigation_client.h" #include "qcheapruler.hpp" #include "file_operation.h" int main(int argc, char *argv[]) { QString graphic_role = QString("tbtnavi"); struct agl_shell_desktop *agl_shell_desktop = nullptr; setenv("QT_QUICK_CONTROLS_STYLE", "AGL", 1); QGuiApplication app(argc, argv); QCoreApplication::setOrganizationDomain("automotivelinux.org"); QCoreApplication::setOrganizationName("AutomotiveGradeLinux"); QCoreApplication::setApplicationName(graphic_role); QCoreApplication::setApplicationVersion("0.1.0"); app.setDesktopFileName(graphic_role); // Load qml QQmlApplicationEngine engine; qmlRegisterType("com.mapbox.cheap_ruler", 1, 0, "CheapRuler"); QQmlContext *context = engine.rootContext(); File_Operation file; context->setContextProperty("fileOperation", &file); VehicleSignalsConfig vsConfig("tbtnavi"); VehicleSignals *vs = new VehicleSignals(vsConfig); if (!vs) { qFatal("Could not create VehicleSignals!"); } context->setContextProperty("VehicleSignals", vs); // Give the navigation client it's own vehicle signals connection // to simplify state management wrt QML initialization, and keep the // notification streams separate. Navigation *navigation = new Navigation(new VehicleSignals(vsConfig), false, context); engine.load(QUrl(QStringLiteral("qrc:/Main.qml"))); QObject *root = engine.rootObjects().first(); new navigation_client(navigation, root->findChild("mapwindow")); return app.exec(); }