modify display/hide onscreen sequence
[apps/onscreenapp.git] / app / eventhandler.h
index 58f694d..612e3de 100644 (file)
 #include <QVariant>
 #include <QPair>
 #include <QMap>
-
 #include <libhomescreen.hpp>
 #include <qlibwindowmanager.h>
 #include "hmi-debug.h"
 
-#define ROLE_NAME "on_screen.app"
+#define ROLE_NAME "on_screen"
 #define APP_ID "onscreenapp"
 
-class QQuickWindow;
+class QQmlApplicationEngine;
 
 class EventHandler : public QObject
 {
@@ -38,34 +37,29 @@ class EventHandler : public QObject
 public:
     explicit EventHandler(QObject *parent = 0);
     ~EventHandler();
+    EventHandler(const EventHandler&) = delete;
+    EventHandler& operator=(const EventHandler&) = delete;
 
     void init(int port, const char* token);
-    void setQuickWindow(QQuickWindow *qw);
-
     void onRep(struct json_object* reply_contents);
 
     static void* myThis;
     static void onRep_static(struct json_object* reply_contents);
 
-    void activateWindow(QString &role);
-    Q_INVOKABLE void deactivateWindow(QString &role);
-    Q_INVOKABLE void onScreenReply(const QString &btn_name);
+    void activateWindow(const char *role, const char *area = "normal");
+    Q_INVOKABLE void deactivateWindow();
+    Q_INVOKABLE void onScreenReply(const QString &btn_name,
+                                   const QString &press_mode = QString("shortPress"),
+                                   const QString &press_state = QString("release"));
 
 signals:
     void signalLoader(QVariant url);
     void signalOnScreenParameter(QVariant text);
 
 private:
-
     LibHomeScreen *mp_hs;
     QLibWindowmanager* mp_wm;
-
-    QQuickWindow *mp_qw;
-
     QMap<QString, QPair<QString, QString>> m_req;
     QString m_dspreq;
-    QString my_id;
-    QString my_role;
 };
-
 #endif // HOMESCREENHANDLER_H