From a61b0a9931e16a51fd819167cc597d84b52ad266 Mon Sep 17 00:00:00 2001 From: Ouyang Jun Date: Wed, 24 Jul 2019 04:33:26 -0700 Subject: Minimal cluster demo gauges that can be used standalone Bug-AGL: SPEC-2487 Signed-off-by: Ouyang Jun Signed-off-by: Zhou Mingying Signed-off-by: Liu Wenlong Change-Id: I4859ab9af2f5c3bbeff5ca6b14a7943797518908 --- app/main.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 app/main.cpp (limited to 'app/main.cpp') diff --git a/app/main.cpp b/app/main.cpp new file mode 100644 index 0000000..a7c832c --- /dev/null +++ b/app/main.cpp @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2016 The Qt Company Ltd. + * Copyright (C) 2018 Konsulko Group + * Copyright (C) 2019 FUJITSU LIMITED + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include + +#include + +#define DEFAULT_QT_QPA_PLATFORM "eglfs" +#define DEFAULT_EGLFS_CONFIG_FILE "/etc/kms.conf" + +int main(int argc, char *argv[]) +{ + int i; + for (i = 1; i < argc; i++) { + if (!argv[i] || *argv[i] != '-') + continue; + const char *arg = argv[i]; + if (arg[1] == '-') // startsWith("--") + ++arg; + if (strcmp(arg, "-platform") == 0) + break; + } + + /* Using "eglfs" as default if QT_QPA_PLATFORM is not set. */ + QByteArray platformNameEnv = qgetenv("QT_QPA_PLATFORM"); + if (platformNameEnv.isEmpty() && i == argc) { + qputenv("QT_QPA_PLATFORM", DEFAULT_QT_QPA_PLATFORM); + } + + /* Using "/etc/kms.conf" as default if QT_QPA_EGLFS_KMS_CONFIG/QT_QPA_KMS_CONFIG are not set. */ + if (qgetenv("QT_QPA_KMS_CONFIG").isEmpty() && + qgetenv("QT_QPA_EGLFS_KMS_CONFIG").isEmpty()) { + qputenv("QT_QPA_EGLFS_KMS_CONFIG", DEFAULT_EGLFS_CONFIG_FILE); + } + + /* FIXTHIS: socket cannot be created successfully in '/run/user/0'. */ + qputenv("XDG_RUNTIME_DIR", "/run/platform/display"); + + QGuiApplication app(argc, argv); + QQmlApplicationEngine appEngine(QUrl("qrc:///cluster-gauges.qml")); + + return app.exec(); +} -- cgit 1.2.3-korg