registerShortcut
[apps/launcher.git] / launcher / src / homescreenhandler.h
1 /*
2  * Copyright (c) 2017 TOYOTA MOTOR CORPORATION
3  * Copyright (c) 2018,2019 TOYOTA MOTOR CORPORATION
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #ifndef HOMESCREENHANDLER_H
19 #define HOMESCREENHANDLER_H
20
21 #include <QObject>
22 #include <QQuickWindow>
23 #include <qlibhomescreen.h>
24 #include <string>
25 #include <qlibwindowmanager.h>
26
27 using namespace std;
28
29 class HomescreenHandler : public QObject
30 {
31     Q_OBJECT
32 public:
33     explicit HomescreenHandler(QObject *parent = 0);
34     ~HomescreenHandler();
35
36     void init(int port, const char* token, QLibWindowmanager *qwm, QString myname);
37
38     Q_INVOKABLE void tapShortcut(QString application_id);
39     Q_INVOKABLE void getRunnables(void);
40     Q_INVOKABLE void hideWindow(QString application_id);
41     Q_INVOKABLE void registerShortcut(QString shortcut_id, QString shortcut_name, QString position);
42     Q_INVOKABLE int uninstallApplication(QString application_id);
43     Q_INVOKABLE void sendAppToMeter(QString application_id);
44
45     void onRep(struct json_object* reply_contents);
46
47     static void* myThis;
48     static void onRep_static(struct json_object* reply_contents);
49     void setQuickWindow(QQuickWindow *qw);
50
51 signals:
52     void initAppList(QString data);
53     void appListUpdate(QStringList info);
54     void updateShortcutList(QStringList shortcut_list);
55
56 private:
57     QLibHomeScreen *mp_qhs;
58     QLibWindowmanager *mp_qwm;
59     QString m_myname;
60 };
61
62 #endif // HOMESCREENHANDLER_H