diff options
author | zheng_wenlong <wenlong_zheng@nexty-ele.com> | 2017-10-23 14:46:17 +0900 |
---|---|---|
committer | Zheng Wenlong <wenlong_zheng@nexty-ele.com> | 2017-10-30 04:26:09 +0000 |
commit | eabd10ffe2f9cb5c31262ad3152b037eb2286857 (patch) | |
tree | f8885ee5a8990a9fe9bdc88d03c96e48989f06dd /sample/template/main.cpp | |
parent | 06a2777ce769346ba85aee9f38ccb237a2d72915 (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.cpp | 45 |
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); } }); |