From: Marcus Fritzsch Date: Mon, 4 Sep 2017 15:54:09 +0000 (+0200) Subject: App/API: fix event emission methods X-Git-Tag: 4.99.1~141 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=staging%2Fwindowmanager.git;a=commitdiff_plain;h=1575879e922f6c49107ae13d769a057142acc66d App/API: fix event emission methods Signed-off-by: Marcus Fritzsch --- diff --git a/generate-binding-glue.py b/generate-binding-glue.py index 82f71ae..3fd0828 100644 --- a/generate-binding-glue.py +++ b/generate-binding-glue.py @@ -88,7 +88,7 @@ def emit_afb_api(api): p('struct binding_api {') p(' typedef wm::result result_type;') p(' struct wm::App *app;') - p(' void send_event(char const *evname, json_object *payload);') + p(' void send_event(char const *evname, char const *label);') for f in api['functions']: p(' result_type %(name)s(' % f + ', '.join(map(lambda x: '%(type)s %(name)s' % x, f.get('args', []))) + ');') p('};', '') diff --git a/src/app.cpp b/src/app.cpp index 6d47928..b8d3a86 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -464,19 +464,23 @@ void App::surface_removed(uint32_t surface_id) { } void App::emit_activated(char const *label) { - this->api.send_event("activated", json_object_new_string(label)); + this->api.send_event("activated", label); } void App::emit_deactivated(char const *label) { - this->api.send_event("deactivated", json_object_new_string(label)); + this->api.send_event("deactivated", label); } void App::emit_syncdraw(char const *label) { - this->api.send_event("syncdraw", json_object_new_string(label)); + this->api.send_event("syncdraw", label); +} + +void App::emit_flushdraw(char const *label) { + this->api.send_event("syncdraw", label); } void App::emit_visible(char const *label, bool is_visible) { - this->api.send_event(is_visible ? "visible" : "invisible", json_object_new_string(label)); + this->api.send_event(is_visible ? "visible" : "invisible", label); } result App::request_surface(char const *drawing_name) { diff --git a/src/app.hpp b/src/app.hpp index 8a5dc2f..6921865 100644 --- a/src/app.hpp +++ b/src/app.hpp @@ -154,6 +154,7 @@ struct App { void emit_activated(char const *label); void emit_deactivated(char const *label); void emit_syncdraw(char const *label); + void emit_flushdraw(char const *label); void emit_visible(char const *label, bool is_visible); }; diff --git a/src/main.cpp b/src/main.cpp index 373ec5f..de10291 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -135,9 +135,9 @@ int binding_init() noexcept { // XXX implement send_event right here... namespace wm { -void binding_api::send_event(char const *evname, json_object *payload) { - logdebug("%s: %s(%s)", __func__, evname, json_object_to_json_string(payload)); - int ret = afb_daemon_broadcast_event(evname, payload); +void binding_api::send_event(char const *evname, char const *label) { + logdebug("%s: %s(%s)", __func__, evname, label); + int ret = afb_daemon_broadcast_event(evname, json_object_new_string(label)); if (ret != 0) { logdebug("afb_event_broadcast failed: %m"); }