use appid instead of appname in "tap_shortcut"
[src/libhomescreen.git] / sample / template / main.cpp
index 589d314..fef270b 100644 (file)
@@ -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,12 +145,13 @@ 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) {
-            if(myname == appname) {
-                qDebug("Surface %s got tapShortcut\n", appname);
-                // Application should call LibWindowmanager::endDraw() in TapShortcut handler
-                wm->activateSurface(myname.c_str());
-            }
+        hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [wm](json_object *object) {
+            qDebug("Surface %s got tapShortcut\n", myname.c_str());
+            // Application should call LibWindowmanager::endDraw() in TapShortcut handler
+            json_object *obj = json_object_new_object();
+            json_object_object_add(obj, wm->kKeyDrawingName, json_object_new_string(myname.c_str()));
+            json_object_object_add(obj, wm->kKeyDrawingArea, json_object_new_string("normal.full"));
+            wm->activateSurface(obj);
         });
 
         /*