summaryrefslogtreecommitdiffstats
path: root/sample/template/main.cpp
diff options
context:
space:
mode:
authorzheng_wenlong <wenlong_zheng@nexty-ele.com>2017-10-23 14:46:17 +0900
committerZheng Wenlong <wenlong_zheng@nexty-ele.com>2017-10-30 04:26:09 +0000
commiteabd10ffe2f9cb5c31262ad3152b037eb2286857 (patch)
treef8885ee5a8990a9fe9bdc88d03c96e48989f06dd /sample/template/main.cpp
parent06a2777ce769346ba85aee9f38ccb237a2d72915 (diff)
Modify function argument from char to json
Change libhomescreen event api from char to json. Also modify samples who use this. BUG-AGL: SPEC-992 Change-Id: Id3986d413f9494019f6b175488dd73de226ba020 Signed-off-by: zheng_wenlong <wenlong_zheng@nexty-ele.com>
Diffstat (limited to 'sample/template/main.cpp')
-rw-r--r--sample/template/main.cpp45
1 files changed, 34 insertions, 11 deletions
diff --git a/sample/template/main.cpp b/sample/template/main.cpp
index 589d314..831df41 100644
--- a/sample/template/main.cpp
+++ b/sample/template/main.cpp
@@ -90,29 +90,47 @@ int main(int argc, char *argv[])
}
// Application should call requestSurface at first
- if (wm->requestSurface(myname.c_str()) != 0) {
+ json_object *obj = json_object_new_object();
+ json_object_object_add(obj, wm->kKeyDrawingName, json_object_new_string(app_name.c_str()));
+ if (wm->requestSurface(obj) != 0) {
exit(EXIT_FAILURE);
}
// Set event handlers for each event
- wm->set_event_handler(LibWindowmanager::Event_Active, [](char const *label) {
+ wm->set_event_handler(LibWindowmanager::Event_Active, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
fprintf(stderr, "Surface %s got activated!\n", label);
});
- wm->set_event_handler(LibWindowmanager::Event_Inactive, [](char const *label) {
+ wm->set_event_handler(LibWindowmanager::Event_Inactive, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
fprintf(stderr, "Surface %s got deactivated!\n", label);
});
- wm->set_event_handler(LibWindowmanager::Event_Visible, [](char const *label) {
+ wm->set_event_handler(LibWindowmanager::Event_Visible, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
fprintf(stderr, "Surface %s got visible!\n", label);
});
- wm->set_event_handler(LibWindowmanager::Event_Invisible, [](char const *label) {
+ wm->set_event_handler(LibWindowmanager::Event_Invisible, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
fprintf(stderr, "Surface %s got invisible!\n", label);
});
- wm->set_event_handler(LibWindowmanager::Event_SyncDraw, [wm](char const *label) {
- fprintf(stderr, "Surface %s got syncDraw!\n", label);
+ wm->set_event_handler(LibWindowmanager::Event_SyncDraw, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
+ const char *area = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingArea));
+ fprintf(stderr, "Surface %s got syncDraw!\n", label);
// Application should call LibWindowmanager::endDraw() in SyncDraw handler
- wm->endDraw(label);
+ json_object *obj = json_object_new_object();
+ json_object_object_add(obj, wm->kKeyDrawingName, json_object_new_string(app_name.c_str()));
+ wm->endDraw(obj);
});
- wm->set_event_handler(LibWindowmanager::Event_FlushDraw, [](char const *label) {
+ wm->set_event_handler(LibWindowmanager::Event_FlushDraw, [wm](json_object *object) {
+ const char *label = json_object_get_string(
+ json_object_object_get(object, wm->kKeyDrawingName));
fprintf(stderr, "Surface %s got flushDraw!\n", label);
});
@@ -127,11 +145,16 @@ int main(int argc, char *argv[])
hs->init(port, token.c_str());
// Set event handler
- hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [wm](const char* appname) {
+ hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [wm](json_object *object) {
+ const char *appname = json_object_get_string(
+ json_object_object_get(object, "application_name"));
if(myname == appname) {
qDebug("Surface %s got tapShortcut\n", appname);
// Application should call LibWindowmanager::endDraw() in TapShortcut handler
- wm->activateSurface(myname.c_str());
+ json_object *obj = json_object_new_object();
+ json_object_object_add(obj, wm->kKeyDrawingName, json_object_new_string(app_name.c_str()));
+ json_object_object_add(obj, wm->kKeyDrawingArea, json_object_new_string("normal.full"));
+ wm->activateSurface(obj);
}
});