App/API: fix event emission methods
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>
Mon, 4 Sep 2017 15:54:09 +0000 (17:54 +0200)
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>
Mon, 4 Sep 2017 15:54:09 +0000 (17:54 +0200)
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
generate-binding-glue.py
src/app.cpp
src/app.hpp
src/main.cpp

index 82f71ae..3fd0828 100644 (file)
@@ -88,7 +88,7 @@ def emit_afb_api(api):
     p('struct binding_api {')
     p('   typedef wm::result<json_object *> 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('};', '')
index 6d47928..b8d3a86 100644 (file)
@@ -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<int> App::request_surface(char const *drawing_name) {
index 8a5dc2f..6921865 100644 (file)
@@ -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);
 };
 
index 373ec5f..de10291 100644 (file)
@@ -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");
    }