X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Fmain.cpp;h=da8710af278b87ec9ad8abd2f3faa3b5358fa1c8;hb=519f9cb01b41a9f44eeeee58d213449f7a470120;hp=007711cad218667edb9a00c911a1f82bd91fa6b9;hpb=aee1b69e8e207081a3d8b2670980671a9fbc78b8;p=apps%2Fonscreenapp.git diff --git a/app/main.cpp b/app/main.cpp index 007711c..da8710a 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -22,21 +22,71 @@ #include #include #include +#include +#include + +#include #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[]) { QGuiApplication app(argc, argv); +#if 0 QCoreApplication::setOrganizationDomain("LinuxFoundation"); QCoreApplication::setOrganizationName("AutomotiveGradeLinux"); QCoreApplication::setApplicationName("Onscreenapp"); QCoreApplication::setApplicationVersion("0.1.0"); +#endif + + // this is necessary to identify app, setApplicationName is only for the + // title + app.setDesktopFileName(APP_ID); - QQuickStyle::setStyle("AGL"); + //QQuickStyle::setStyle("AGL"); QCommandLineParser parser; parser.addPositionalArgument("port", app.translate("main", "port for binding")); @@ -69,11 +119,25 @@ int main(int argc, char *argv[]) QObject *root = engine.rootObjects().first(); QQuickWindow *window = qobject_cast(root); + QObject::connect(eventHandler, SIGNAL(updateModel(QVariant)), window, SLOT(setOnScreenModel(QVariant))); 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 */ +#if 0 + 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(); + }); +#endif + return app.exec(); }