#define QLIBHOMESCREEN_H
#include <QObject>
+#include <QQuickWindow>
#include <libhomescreen.hpp>
#include <functional>
#include <QVariant>
enum QEventType {
Event_TapShortcut = LibHomeScreen::Event_TapShortcut,
- Event_OnScreenReply = LibHomeScreen::Event_OnScreenReply
+ Event_ShowWindow = LibHomeScreen::Event_ShowWindow,
+ Event_OnScreenMessage = LibHomeScreen::Event_OnScreenMessage,
+ Event_OnScreenReply = LibHomeScreen::Event_OnScreenReply,
+ Event_HideWindow = LibHomeScreen::Event_HideWindow,
+ Event_ReplyShowWindow = LibHomeScreen::Event_ReplyShowWindow,
+ Event_ShowNotification = LibHomeScreen::Event_ShowNotification,
+ Event_ShowInformation = LibHomeScreen::Event_ShowInformation,
+ Event_AppListChanged = LibHomeScreen::Event_AppListChanged,
+ Event_RegisterShortcut = LibHomeScreen::Event_RegisterShortcut,
+ Event_UpdateShortcut = LibHomeScreen::Event_UpdateShortcut,
+ Event_SetDestination = LibHomeScreen::Event_SetDestination,
+ Event_CancelDestination = LibHomeScreen::Event_CancelDestination,
+ Event_StartNavigation = LibHomeScreen::Event_StartNavigation,
+ Event_StopNavigation = LibHomeScreen::Event_StopNavigation
};
using handler_fun = std::function<void(json_object *object)>;
void init(int port, const QString &token);
void set_event_handler(enum QEventType et, handler_fun f);
+ void showWindow(QString application_id, json_object* area);
+ void replyShowWindow(QString application_id, json_object* reply);
+ Q_INVOKABLE void showInformation(QString info);
+ Q_INVOKABLE void showNotification(QString icon, QString text);
+
Q_INVOKABLE int onScreenMessage(const QString &message);
Q_INVOKABLE int subscribe(const QString &eventName);
Q_INVOKABLE int unsubscribe(const QString &eventName);
Q_INVOKABLE void tapShortcut(QString application_id);
+ Q_INVOKABLE void showWindow(QString application_id, QString area);
+ Q_INVOKABLE void hideWindow(QString application_id);
+ Q_INVOKABLE void replyShowWindow(QString application_id, QString reply);
+ Q_INVOKABLE void getRunnables(void);
+ Q_INVOKABLE int registerShortcut(QString shortcut_id, QString shortcut_name, QString position);
+ Q_INVOKABLE int updateShortcut(QString application_id, QString shortcut_id, QString shortcut_name);
+ int updateShortcut(QString application_id, struct json_object* obj);
+ void registerCallback(
+ void (*event_cb)(const std::string& event, struct json_object* event_contents),
+ void (*reply_cb)(struct json_object* reply_contents),
+ void (*hangup_cb)(void) = nullptr);
+ void setQuickWindow(QQuickWindow *qw);
signals:
+public slots:
+ void slotPublishSubscription(void);
+
private:
LibHomeScreen *mp_hs;
+ QQuickWindow *mp_window;
+ QMetaObject::Connection m_loading;
};
#endif // QLIBHOMESCREEN_H