aboutsummaryrefslogtreecommitdiffstats
path: root/launcher/src/main.cpp
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-09-10 12:42:21 -0400
committerScott Murray <scott.murray@konsulko.com>2022-09-21 14:34:04 +0000
commitb28d987d3fcf0c1c728d6c3cd18e52d40f6c2ffc (patch)
treefb9a91bc540c200d13bcc8e302a0bc8a6c4a8e6c /launcher/src/main.cpp
parent168a19dd81b56af8ed659b8d3a143f1075c7b6fb (diff)
Rework to use launcher wrapper from libqtappfwneedlefish
Switch to using the new app launcher API wrapper from libqtappfw in order to migrate to the new gRPC based API implementation. As well, the copyright headers in the source files have been tweaked to remove the Apache license boilerplate in favour of a SPDX license tag. Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I62cd0a51e9c97b1db3d86ca67b7c92d086d2f1c9 (cherry picked from commit 5e828161fc1571323e2812a344f6714ae9331b2c)
Diffstat (limited to 'launcher/src/main.cpp')
-rw-r--r--launcher/src/main.cpp51
1 files changed, 25 insertions, 26 deletions
diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp
index 77dee27..40110ef 100644
--- a/launcher/src/main.cpp
+++ b/launcher/src/main.cpp
@@ -1,18 +1,8 @@
+// SPDX-License-Identifier: Apache-2.0
/*
* Copyright (C) 2016, 2017 Mentor Graphics Development (Deutschland) GmbH
* Copyright (c) 2018 TOYOTA MOTOR CORPORATION
- *
- * 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.
+ * Copyright (C) 2022 Konsulko Group
*/
#include <QGuiApplication>
@@ -27,28 +17,37 @@
#include "applicationmodel.h"
#include "appinfo.h"
-#include "homescreenhandler.h"
+#include "AppLauncherClient.h"
int main(int argc, char *argv[])
{
QString myname = QString("launcher");
- QGuiApplication a(argc, argv);
+ QGuiApplication app(argc, argv);
// necessary to identify correctly by app_id
- a.setDesktopFileName(myname);
+ app.setDesktopFileName(myname);
- // import C++ class to QML
- qmlRegisterType<ApplicationModel>("AppModel", 1, 0, "ApplicationModel");
-
- HomescreenHandler* homescreenHandler = new HomescreenHandler();
-
- // mail.qml loading
QQmlApplicationEngine engine;
- int apps = homescreenHandler->getRunnablesCount();
- engine.rootContext()->setContextProperty(QStringLiteral("homescreenHandler"), homescreenHandler);
- engine.rootContext()->setContextProperty(QStringLiteral("apps_len"), apps);
+
+ AppLauncherClient* applauncher = new AppLauncherClient();
+ QList<QMap<QString, QString>> apps;
+ if (applauncher) {
+ applauncher->listApplications(apps);
+ engine.rootContext()->setContextProperty(QStringLiteral("applauncher"), applauncher);
+ engine.rootContext()->setContextProperty(QStringLiteral("apps_len"), apps.size());
+ } else {
+ qFatal("Could not create AppLauncherClient");
+ }
+
+ ApplicationModel *appmodel = new ApplicationModel();
+ if (appmodel) {
+ appmodel->initAppList(apps);
+ qmlRegisterSingletonType<ApplicationModel>("AppModel", 1, 0, "ApplicationModel",
+ [appmodel](QQmlEngine *, QJSEngine *) -> QObject * { return appmodel; });
+ } else {
+ qFatal("Could not create ApplicationModel");
+ }
engine.load(QUrl(QStringLiteral("qrc:/Launcher.qml")));
- homescreenHandler->getRunnables();
- return a.exec();
+ return app.exec();
}