app: Fake an event
authorMarius Vlad <marius.vlad@collabora.com>
Mon, 13 Apr 2020 14:22:19 +0000 (17:22 +0300)
committerMarius Vlad <marius.vlad@collabora.com>
Tue, 14 Apr 2020 19:26:42 +0000 (22:26 +0300)
Necessary to show the data.

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
app/main.cpp

index 381b9a2..e6dd562 100644 (file)
 #include <QtQml/qqml.h>
 #include <QQuickWindow>
 #include <QtQuickControls2/QQuickStyle>
+#include <QVariant>
+#include <QTimer>
+
+#include <json-c/json.h>
 
 #include "eventhandler.h"
 #include "onscreenmodel.h"
 
+/*
+{
+   "application_id": "onscreenapp",
+   "title": "onscreen title",
+   "type": "information",
+   "contents": "message contents",
+   "buttons": ["button_name1"],
+   "replyto":"onstestapp"
+}
+*/
+static struct json_object *
+build_fake_json(void)
+{
+       struct json_object *tmp;
+       struct json_object *obj = json_object_new_object();
+       struct json_object *array = json_object_new_array();
+
+       tmp = json_object_new_string("Big Title");
+       json_object_object_add(obj, "title", tmp);
+
+       tmp = json_object_new_string("Informatin");
+       json_object_object_add(obj, "type", tmp);
+
+       tmp = json_object_new_string("Our message contents");
+       json_object_object_add(obj, "contents", tmp);
+
+       tmp = json_object_new_string("onstestapp");
+       json_object_object_add(obj, "replyto", tmp);
+
+       /* array */
+       tmp = json_object_new_string("Button");
+       json_object_array_add(array, tmp);
+       json_object_object_add(obj, "buttons", array);
+
+       tmp = json_object_new_string(APP_ID);
+       json_object_object_add(obj, "application_id", tmp);
+
+       /* adds the entire object */
+       return obj;
+}
 
 int main(int argc, char *argv[])
 {
@@ -80,7 +124,18 @@ int main(int argc, char *argv[])
     QObject::connect(eventHandler, SIGNAL(showOnScreen()), window, SLOT(showOnScreen()));
     QObject::connect(eventHandler, SIGNAL(hideOnScreen()), window, SLOT(hideOnScreen()));
 
+
     HMI_DEBUG(APP_ID, "onscreenapp started!");
+
+    /* fake(s) an event */
+    QTimer::singleShot(1000, [eventHandler](){
+               struct json_object *json = build_fake_json();
+               const char *json_str = json_object_to_json_string_ext(json,
+                                       JSON_C_TO_STRING_SPACED | JSON_C_TO_STRING_PRETTY);
+               emit eventHandler->updateModel(QVariant(json_str));
+               emit eventHandler->showOnScreen();
+    });
+
     return app.exec();
 }