X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafm-user-daemon.c;h=11a46de77c9f45d7df9fb42a02cbf0f73d724a5a;hb=aade2ae7f2da39c5bb901fc5fd24592b0f68555a;hp=c75aadb876c7e31e9c29191dc28dd41e71e61029;hpb=b6afa1aa893544b459cb767cc5a2ad8d2148228c;p=src%2Fapp-framework-main.git diff --git a/src/afm-user-daemon.c b/src/afm-user-daemon.c index c75aadb..11a46de 100644 --- a/src/afm-user-daemon.c +++ b/src/afm-user-daemon.c @@ -29,6 +29,7 @@ #include "verbose.h" #include "utils-jbus.h" #include "utils-json.h" +#include "utils-systemd.h" #include "afm.h" #include "afm-launch-mode.h" #ifdef LEGACY_MODE_WITHOUT_SYSTEMD @@ -44,6 +45,18 @@ */ static const char appname[] = "afm-user-daemon"; +/* + * string for printing version + */ +static const char versionstr[] = + "\n" + " %s version="AFM_VERSION"\n" + "\n" + " Copyright (C) 2015, 2016, 2017 \"IoT.bzh\"\n" + " AFB comes with ABSOLUTELY NO WARRANTY.\n" + " Licence Apache 2\n" + "\n"; + /* * string for printing usage */ @@ -63,19 +76,20 @@ static const char usagestr[] = " -s addr address of system D-Bus to use\n" " -q quiet\n" " -v verbose\n" + " -V version\n" "\n"; /* * Option definition for getopt_long */ #ifdef LEGACY_MODE_WITHOUT_SYSTEMD -static const char options_s[] = "hdqvr:a:m:"; +static const char options_s[] = "hdqvVr:a:m:"; static struct option options_l[] = { { "root", required_argument, NULL, 'r' }, { "application", required_argument, NULL, 'a' }, { "mode", required_argument, NULL, 'm' }, #else -static const char options_s[] = "hdqv"; +static const char options_s[] = "hdqvV"; static struct option options_l[] = { #endif { "user-dbus", required_argument, NULL, 'u' }, @@ -84,6 +98,7 @@ static struct option options_l[] = { { "quiet", no_argument, NULL, 'q' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, + { "version", no_argument, NULL, 'V' }, { NULL, 0, NULL, 0 } }; @@ -487,10 +502,15 @@ static void on_uninstall(struct sd_bus_message *smsg, const char *msg, void *unu */ static void on_signal_changed(struct json_object *obj, void *unused) { - /* update the database */ #ifdef LEGACY_MODE_WITHOUT_SYSTEMD + /* update the database */ afm_db_update_applications(afdb); #else + /* enforce daemon reload */ + systemd_daemon_reload(1); + systemd_unit_restart_name(1, "sockets.target"); + + /* update the database */ afm_udb_update(afudb); #endif /* re-propagate now */ @@ -573,6 +593,9 @@ int main(int ac, char **av) case 'h': printf(usagestr, appname); return 0; + case 'V': + printf(versionstr, appname); + return 0; case 'q': if (verbosity) verbosity--;