X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-api-dbus.c;h=b155a8990522b57393935d483fa0e098e164fd20;hb=5b5968815dc672467f40ed6b49f05a590bdb8b4d;hp=a9880350e94f71dc73efa951b903bd73a224df6b;hpb=e39610f8c9b2e6bbb8a460f7d7ccccbc5161b4ed;p=src%2Fapp-framework-binder.git diff --git a/src/afb-api-dbus.c b/src/afb-api-dbus.c index a9880350..b155a899 100644 --- a/src/afb-api-dbus.c +++ b/src/afb-api-dbus.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015-2018 "IoT.bzh" + * Copyright (C) 2015-2019 "IoT.bzh" * Author José Bollo * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,7 +15,7 @@ * limitations under the License. */ -#if defined(WITH_DBUS_TRANSPARENCY) +#if WITH_DBUS_TRANSPARENCY #define _GNU_SOURCE @@ -33,8 +33,6 @@ #include -#include "afb-systemd.h" - #include "afb-session.h" #include "afb-msg-json.h" #include "afb-api.h" @@ -44,8 +42,10 @@ #include "afb-cred.h" #include "afb-evt.h" #include "afb-xreq.h" -#include "verbose.h" +#include "verbose.h" +#include "systemd.h" +#include "jobs.h" static const char DEFAULT_PATH_PREFIX[] = "/org/agl/afb/api/"; @@ -130,7 +130,8 @@ static struct api_dbus *make_api_dbus_3(int system, const char *path, size_t pat } /* choose the bus */ - sdbus = (system ? afb_systemd_get_system_bus : afb_systemd_get_user_bus)(); + jobs_acquire_event_manager(); + sdbus = (system ? systemd_get_system_bus : systemd_get_user_bus)(); if (sdbus == NULL) goto error2; @@ -634,7 +635,7 @@ error: static void afb_api_dbus_server_event_add(void *closure, const char *event, int eventid); static void afb_api_dbus_server_event_remove(void *closure, const char *event, int eventid); static void afb_api_dbus_server_event_push(void *closure, const char *event, int eventid, struct json_object *object); -static void afb_api_dbus_server_event_broadcast(void *closure, const char *event, int eventid, struct json_object *object); +static void afb_api_dbus_server_event_broadcast(void *closure, const char *event, struct json_object *object); /* the interface for events broadcasting */ static const struct afb_evt_itf evt_broadcast_itf = { @@ -665,7 +666,7 @@ struct origin struct afb_cred *cred; /* the origin */ - char name[1]; + char name[]; }; /* get the credentials for the message */ @@ -709,7 +710,7 @@ static struct origin *afb_api_dbus_server_origin_get(struct api_dbus *api, const } /* not found, create it */ - origin = malloc(strlen(sender) + sizeof *origin); + origin = malloc(strlen(sender) + 1 + sizeof *origin); if (origin == NULL) errno = ENOMEM; else { @@ -916,7 +917,7 @@ static void afb_api_dbus_server_event_push(void *closure, const char *event, int json_object_put(object); } -static void afb_api_dbus_server_event_broadcast(void *closure, const char *event, int eventid, struct json_object *object) +static void afb_api_dbus_server_event_broadcast(void *closure, const char *event, struct json_object *object) { int rc; struct api_dbus *api;