diff options
author | José Bollo <jose.bollo@iot.bzh> | 2018-02-21 11:38:59 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2018-02-21 11:38:59 +0100 |
commit | b182590a555afe093d2d6e5cdf3e1e2410d1a0f5 (patch) | |
tree | fa423cca01de124da4ddfda6d2bae96c367685b9 /src/afb-common.c | |
parent | 587d83da1a6efd68ff45e308dd9691a00fc53fba (diff) |
afb-systemd: Isolate systemd main entries
This change prepares the possibilty to remove the dependency
to systemd/libsystemd.
Change-Id: Ife4181d6c7195230a11a32e527b8973af6a096e1
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afb-common.c')
-rw-r--r-- | src/afb-common.c | 44 |
1 files changed, 2 insertions, 42 deletions
diff --git a/src/afb-common.c b/src/afb-common.c index c6c876b4..88638d43 100644 --- a/src/afb-common.c +++ b/src/afb-common.c @@ -17,57 +17,17 @@ #define _GNU_SOURCE +#include <unistd.h> +#include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -#include <systemd/sd-event.h> -#include <systemd/sd-bus.h> #include "afb-common.h" #include "locale-root.h" -#include "jobs.h" static const char *default_locale = NULL; static struct locale_root *rootdir = NULL; -static struct sd_bus *sdbusopen(struct sd_bus **p, int (*f)(struct sd_bus **)) -{ - if (*p == NULL) { - int rc = f(p); - if (rc < 0) { - errno = -rc; - *p = NULL; - } else { - rc = sd_bus_attach_event(*p, afb_common_get_event_loop(), 0); - if (rc < 0) { - sd_bus_unref(*p); - errno = -rc; - *p = NULL; - } - } - } - return *p; -} - -struct sd_event *afb_common_get_event_loop() -{ - return jobs_get_sd_event(); -} - -struct sd_bus *afb_common_get_user_bus() -{ - static struct sd_bus *result = NULL; - return sdbusopen((void*)&result, (void*)sd_bus_open_user); -} - -struct sd_bus *afb_common_get_system_bus() -{ - static struct sd_bus *result = NULL; - return sdbusopen((void*)&result, (void*)sd_bus_open_system); -} - void afb_common_default_locale_set(const char *locale) { default_locale = locale; |