+// 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 <libhomescreen.hpp>
#include <string>
+#include "applicationlauncher.h"
+#include "AppLauncherClient.h"
+#include "AglShellGrpcClient.h"
+
using namespace std;
class HomescreenHandler : public QObject
{
- Q_OBJECT
+ Q_OBJECT
public:
- explicit HomescreenHandler(QObject *parent = 0);
- ~HomescreenHandler();
+ explicit HomescreenHandler(ApplicationLauncher *launcher = 0, GrpcClient *_client = nullptr, QObject *parent = 0);
+ ~HomescreenHandler();
+
+ Q_INVOKABLE void tapShortcut(QString application_id);
- void init(int port, const char* token);
+ 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; }
- Q_INVOKABLE void tapShortcut(QString application_id);
+ 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 onRep(struct json_object* reply_contents);
- void onEv(const string& event, struct json_object* event_contents);
+public slots:
+ void processAppStatusEvent(const QString &id, const QString &status);
- static void* myThis;
- static void onRep_static(struct json_object* reply_contents);
- static void onEv_static(const string& event, struct json_object* event_contents);
private:
- LibHomeScreen *mp_hs;
+ ApplicationLauncher *mp_launcher;
+ AppLauncherClient *mp_applauncher_client;
+ GrpcClient *m_grpc_client;
};
#endif // HOMESCREENHANDLER_H