+static void afb_api_dbus_server_send_event(struct api_dbus *api, const char *event, struct json_object *object)
+{
+ int rc;
+
+ rc = sd_bus_emit_signal(api->sdbus, api->path, api->name,
+ "event", "ss", event, json_object_to_json_string(object));
+ if (rc < 0)
+ ERROR("error while emiting event %s", event);
+ json_object_put(object);
+}
+
+static int afb_api_dbus_server_expects_event(struct api_dbus *api, const char *event)
+{
+ size_t len = strlen(api->api);
+ if (strncasecmp(event, api->api, len) != 0)
+ return 0;
+ return event[len] == '.';
+}
+
+static struct afb_event_listener_itf evitf = {
+ .send = (void*)afb_api_dbus_server_send_event,
+ .expects = (void*)afb_api_dbus_server_expects_event
+};
+