X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-trace.c;h=ffb030598d3f3fab0533912b3dba4621bdf626af;hb=2703a6bd8611726fa61118bf9c68a6e2ea0b9b22;hp=3f773953256c99c616009e86d2e1f7e4bd250799;hpb=f96bbb49cc9bcd81693300191cf7a01b879fd83d;p=src%2Fapp-framework-binder.git diff --git a/src/afb-trace.c b/src/afb-trace.c index 3f773953..ffb03059 100644 --- a/src/afb-trace.c +++ b/src/afb-trace.c @@ -148,18 +148,8 @@ static void ctxt_error(char **errors, const char *format, ...) /* timestamp */ static struct json_object *timestamp(const struct afb_hookid *hookid) { -#if JSON_C_MAJOR_VERSION > 0 || JSON_C_MINOR_VERSION >= 12 - char ts[50]; - - snprintf(ts, sizeof ts, "%llu.%06lu", - (long long unsigned)hookid->time.tv_sec, - (long unsigned)((hookid->time.tv_nsec + 500) / 1000)); - - return json_object_new_double_s(0.0f, ts); /* the real value isn't used */ -#else return json_object_new_double((double)hookid->time.tv_sec + (double)hookid->time.tv_nsec * .000000001); -#endif } /* verbosity level name or NULL */ @@ -717,6 +707,23 @@ static void hook_api_delete_api(void *closure, const struct afb_hookid *hookid, hook_api(closure, hookid, export, "delete_api", "{si}", "status", result); } +static void hook_api_on_event_handler_before(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, const char *event, int event_x2, struct json_object *object, const char *pattern) +{ + hook_api(closure, hookid, export, "on_event_handler.before", + "{ss ss sO?}", "pattern", pattern, "event", event, "data", object); +} + +static void hook_api_on_event_handler_after(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, const char *event, int event_x2, struct json_object *object, const char *pattern) +{ + hook_api(closure, hookid, export, "on_event_handler.after", + "{ss ss sO?}", "pattern", pattern, "event", event, "data", object); +} + +static void hook_api_settings(void *closure, const struct afb_hookid *hookid, const struct afb_export *export, struct json_object *object) +{ + hook_api(closure, hookid, export, "settings", "{sO}", "settings", object); +} + static struct afb_hook_api_itf hook_api_itf = { .hook_api_event_broadcast_before = hook_api_event_broadcast_before, .hook_api_event_broadcast_after = hook_api_event_broadcast_after, @@ -754,6 +761,9 @@ static struct afb_hook_api_itf hook_api_itf = { .hook_api_class_provide = hook_api_class_provide, .hook_api_class_require = hook_api_class_require, .hook_api_delete_api = hook_api_delete_api, + .hook_api_on_event_handler_before = hook_api_on_event_handler_before, + .hook_api_on_event_handler_after = hook_api_on_event_handler_after, + .hook_api_settings = hook_api_settings, }; /*******************************************************************************/