+// 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 <QObject>
+#include <string>
#include "applicationlauncher.h"
-
-#include "shell.h"
-#include <string>
+#include "AppLauncherClient.h"
+#include "AglShellGrpcClient.h"
using namespace std;
class HomescreenHandler : public QObject
{
- Q_OBJECT
+ Q_OBJECT
public:
- explicit HomescreenHandler(Shell *aglShell, ApplicationLauncher *launcher = 0, QObject *parent = 0);
- ~HomescreenHandler();
+ explicit HomescreenHandler(ApplicationLauncher *launcher = 0, GrpcClient *_client = nullptr, QObject *parent = 0);
+ ~HomescreenHandler();
- void init(void);
+ Q_INVOKABLE void tapShortcut(QString application_id);
- Q_INVOKABLE void tapShortcut(QString application_id);
-
-#if 0
- void onRep(struct json_object* reply_contents);
- void onEv(const string& event, struct json_object* event_contents);
-#endif
- static void* myThis;
-#if 0
- static void onRep_static(struct json_object* reply_contents);
- static void onEv_static(const string& event, struct json_object* event_contents);
-#endif
+ 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; }
+ QStringList apps_stack;
+ std::list<std::pair<const QString, const QString>> pending_app_list;
signals:
- void showNotification(QString application_id, QString icon_path, QString text);
- void showInformation(QString info);
+ void showNotification(QString application_id, QString icon_path, QString text);
+ void showInformation(QString info);
+
+public slots:
+ void processAppStatusEvent(const QString &id, const QString &status);
+
private:
- ApplicationLauncher *mp_launcher;
- Shell *aglShell;
+ ApplicationLauncher *mp_launcher;
+ AppLauncherClient *mp_applauncher_client;
+ GrpcClient *m_grpc_client;
};
#endif // HOMESCREENHANDLER_H