+}
+
+void AFBClient::onRequestSurfaceReply(void *closure, afb_wsj1_msg *msg)
+{
+ printf("onRequestSurfaceReply %s: %s\n%s\n", (char*)closure,
+ afb_wsj1_msg_is_reply_ok(msg) ? "OK" : "ERROR",
+ json_object_to_json_string_ext(afb_wsj1_msg_object_j(msg),
+ JSON_C_TO_STRING_PRETTY));
+ if(afb_wsj1_msg_is_reply_ok(msg))
+ {
+ const char begin[] = "QT_IVI_SURFACE_ID=\"";
+ const char end[] = "\"";
+ char *parameter = (char *)malloc(strlen(begin) +
+ strlen(json_object_get_string(json_object_object_get(afb_wsj1_msg_object_j(msg), "response"))) +
+ strlen(end) + 1);
+ strcpy(parameter, begin);
+ strcat(parameter, json_object_get_string(json_object_object_get(afb_wsj1_msg_object_j(msg), "response")));
+ strcat(parameter, end);
+ printf("\n\n===>RETURN STR: %s\n\n", parameter);
+ putenv(parameter);
+ fflush(stdout);
+ }
+ else
+ fprintf(stderr, "wrong request surface reply received!");
+
+ free(closure);