X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-export.c;h=b9321833b387fba5c33a750744fbc4d76f699f5e;hb=9e8fda2954d951ea819dbddfe5afe466b2306074;hp=304395aedd7f5efa8724b5c76c24943142b592f7;hpb=e1b255b4c6486b0d2df5cd8b2aad8b817876ddf2;p=src%2Fapp-framework-binder.git diff --git a/src/afb-export.c b/src/afb-export.c index 304395ae..b9321833 100644 --- a/src/afb-export.c +++ b/src/afb-export.c @@ -30,6 +30,7 @@ #include "afb-apiset.h" #include "afb-api-dyn.h" #include "afb-common.h" +#include "afb-systemd.h" #include "afb-cred.h" #include "afb-evt.h" #include "afb-export.h" @@ -153,8 +154,6 @@ static void old_vverbose_cb(void *closure, int level, const char *file, int line static struct afb_eventid *eventid_make_cb(void *closure, const char *name) { - size_t plen, nlen; - char *event; struct afb_export *export = closure; /* check daemon state */ @@ -164,16 +163,8 @@ static struct afb_eventid *eventid_make_cb(void *closure, const char *name) return NULL; } - /* makes the event name */ - plen = strlen(export->apiname); - nlen = strlen(name); - event = alloca(nlen + plen + 2); - memcpy(event, export->apiname, plen); - event[plen] = '/'; - memcpy(event + plen + 1, name, nlen + 1); - /* create the event */ - return afb_evt_eventid_create(event); + return afb_evt_eventid_create2(export->apiname, name); } static struct afb_event event_make_cb(void *closure, const char *name) @@ -241,7 +232,7 @@ static int rename_api_cb(void *closure, const char *name) errno = EINVAL; return -1; } - if (!afb_api_is_valid_name(name)) { + if (!afb_api_is_valid_name(name, 1)) { ERROR("[API %s] Can't rename to %s: bad API name", export->apiname, name); errno = EINVAL; return -1; @@ -310,21 +301,21 @@ static int hooked_event_broadcast_cb(void *closure, const char *name, struct jso static struct sd_event *hooked_get_event_loop(void *closure) { struct afb_export *export = closure; - struct sd_event *r = afb_common_get_event_loop(); + struct sd_event *r = afb_systemd_get_event_loop(); return afb_hook_ditf_get_event_loop(export, r); } static struct sd_bus *hooked_get_user_bus(void *closure) { struct afb_export *export = closure; - struct sd_bus *r = afb_common_get_user_bus(); + struct sd_bus *r = afb_systemd_get_user_bus(); return afb_hook_ditf_get_user_bus(export, r); } static struct sd_bus *hooked_get_system_bus(void *closure) { struct afb_export *export = closure; - struct sd_bus *r = afb_common_get_system_bus(); + struct sd_bus *r = afb_systemd_get_system_bus(); return afb_hook_ditf_get_system_bus(export, r); } @@ -392,9 +383,9 @@ static const struct afb_daemon_itf daemon_itf = { .vverbose_v2 = vverbose_cb, .event_make = event_make_cb, .event_broadcast = event_broadcast_cb, - .get_event_loop = afb_common_get_event_loop, - .get_user_bus = afb_common_get_user_bus, - .get_system_bus = afb_common_get_system_bus, + .get_event_loop = afb_systemd_get_event_loop, + .get_user_bus = afb_systemd_get_user_bus, + .get_system_bus = afb_systemd_get_system_bus, .rootdir_get_fd = afb_common_rootdir_get_fd, .rootdir_open_locale = rootdir_open_locale_cb, .queue_job = queue_job_cb, @@ -950,9 +941,9 @@ static const struct afb_dynapi_itf dynapi_itf = { .vverbose = (void*)vverbose_cb, - .get_event_loop = afb_common_get_event_loop, - .get_user_bus = afb_common_get_user_bus, - .get_system_bus = afb_common_get_system_bus, + .get_event_loop = afb_systemd_get_event_loop, + .get_user_bus = afb_systemd_get_user_bus, + .get_system_bus = afb_systemd_get_system_bus, .rootdir_get_fd = afb_common_rootdir_get_fd, .rootdir_open_locale = rootdir_open_locale_cb, .queue_job = queue_job_cb,