X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fsrc%2Fhomescreenhandler.h;h=478d9fc6b8a86c043b07a0196ceb2f45ec4d7939;hb=b2c08ec4a30e5acf3cb1851f71bda88bc542f7d1;hp=3d939ce7955fdec213c79cc824d85805275dad3d;hpb=eb227c1da7bdd2d81c5a95881d7eef18369ca96a;p=apps%2Fhomescreen.git diff --git a/homescreen/src/homescreenhandler.h b/homescreen/src/homescreenhandler.h index 3d939ce..478d9fc 100644 --- a/homescreen/src/homescreenhandler.h +++ b/homescreen/src/homescreenhandler.h @@ -1,55 +1,49 @@ +// SPDX-License-Identifier: Apache-2.0 /* * Copyright (c) 2017 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 */ #ifndef HOMESCREENHANDLER_H #define HOMESCREENHANDLER_H #include - -#include - -#include "shell.h" #include +#include "applicationlauncher.h" +#include "AppLauncherClient.h" +#include "AglShellGrpcClient.h" + using namespace std; class HomescreenHandler : public QObject { - Q_OBJECT + Q_OBJECT public: - explicit HomescreenHandler(Shell *aglShell, QObject *parent = 0); - ~HomescreenHandler(); + explicit HomescreenHandler(ApplicationLauncher *launcher = 0, GrpcClient *_client = nullptr, QObject *parent = 0); + ~HomescreenHandler(); - void init(int port, const char* token); + Q_INVOKABLE void tapShortcut(QString application_id); - Q_INVOKABLE void tapShortcut(QString application_id); + void addAppToStack(const QString& application_id); + void activateApp(const QString& app_id); + void deactivateApp(const QString& app_id); + void setGrpcClient(GrpcClient *_client) { m_grpc_client = _client; } + GrpcClient *getGrpcClient(void) { return m_grpc_client; } - void onRep(struct json_object* reply_contents); - void onEv(const string& event, struct json_object* event_contents); + QStringList apps_stack; + std::list> pending_app_list; +signals: + void showNotification(QString application_id, QString icon_path, QString text); + void showInformation(QString info); - static void* myThis; - static void onRep_static(struct json_object* reply_contents); - static void onEv_static(const string& event, struct json_object* event_contents); +public slots: + void processAppStatusEvent(const QString &id, const QString &status); -signals: - void showNotification(QString application_id, QString icon_path, QString text); - void showInformation(QString info); private: - LibHomeScreen *mp_hs; - Shell *aglShell; + ApplicationLauncher *mp_launcher; + AppLauncherClient *mp_applauncher_client; + GrpcClient *m_grpc_client; }; #endif // HOMESCREENHANDLER_H