update
[apps/homescreen.git] / homescreen / src / homescreenhandler.h
index 4afbac4..69599de 100644 (file)
 #define HOMESCREENHANDLER_H
 
 #include <QObject>
-#include <QQuickWindow>
 #include <qlibhomescreen.h>
-#include <qlibwindowmanager.h>
+#include <libwindowmanager.h>
 #include <string>
 
 using namespace std;
 
+class QQmlApplicationEngine;
+
 class HomescreenHandler : public QObject
 {
     Q_OBJECT
 public:
+    enum CHANGE_LAYOUT_PATTERN {
+        P_LEFT_METER_RIGHT_MAP = 0,
+        P_LEFT_MAP_RIGHT_METER
+    };
+    Q_ENUMS(CHANGE_LAYOUT_PATTERN)
     explicit HomescreenHandler(QObject *parent = 0);
     ~HomescreenHandler();
 
-    void init(int port, const char* token, QLibWindowmanager *qwm, QString myname);
+    void init(const char* role, int port, const char* token);
+    void attach(QQmlApplicationEngine* engine);
+    void setWMHandler(WMHandler &handler);
 
-    Q_INVOKABLE void tapShortcut(QString application_name, bool is_full);
-    Q_INVOKABLE QString getCurrentApplication();
-    Q_INVOKABLE void killRunningApplications();
+    Q_INVOKABLE void tapShortcut(QString application_name);
+    Q_INVOKABLE void changeLayout(int pattern);
     Q_INVOKABLE void reboot();
-    void setCurrentApplication(QString application_name);
-    int getPidOfApplication(QString application_name);
 
     void onRep(struct json_object* reply_contents);
     void onEv(const string& event, struct json_object* event_contents);
@@ -47,23 +52,19 @@ public:
     static void* myThis;
     static void onRep_static(struct json_object* reply_contents);
     static void onEv_static(const string& event, struct json_object* event_contents);
-    void setQuickWindow(QQuickWindow *qw);
 
 signals:
-    void showNotification(QString application_id, QString icon_path, QString text);
-    void showInformation(QString info);
-    void shortcutChanged(QString shortcut_id, QString shortcut_name, QString position);
-    void showWindow();
-    void hideWindow();
+    void notification(QString id, QString icon, QString text);
+    void information(QString text);
 
-public slots:
-    void updateShortcut(QString id, struct json_object* object);
+private Q_SLOTS:
+    void disconnect_frame_swapped(void);
 
 private:
     QLibHomeScreen *mp_qhs;
-    QLibWindowmanager *mp_qwm;
-    QString m_myname;
-    QString current_application;
+    LibWindowmanager *mp_wm;
+    std::string m_role;
+    QMetaObject::Connection loading;
 };
 
 #endif // HOMESCREENHANDLER_H