#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_id);
+ Q_INVOKABLE void tapShortcut(QString application_name);
+ Q_INVOKABLE void changeLayout(int pattern);
+ Q_INVOKABLE void reboot();
void onRep(struct json_object* reply_contents);
void onEv(const string& event, struct json_object* event_contents);
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 notification(QString id, QString icon, QString text);
+ void information(QString text);
+
+private Q_SLOTS:
+ void disconnect_frame_swapped(void);
+
private:
QLibHomeScreen *mp_qhs;
- QLibWindowmanager *mp_qwm;
- QString m_myname;
+ LibWindowmanager *mp_wm;
+ std::string m_role;
+ QMetaObject::Connection loading;
};
#endif // HOMESCREENHANDLER_H