urun/udb: integration of user UID
[src/app-framework-main.git] / src / afm-system-daemon.c
index 49749bc..501a61c 100644 (file)
@@ -31,7 +31,6 @@
 #include "utils-json.h"
 #include "utils-systemd.h"
 #include "afm.h"
-#include "afm-db.h"
 #include "wgt-info.h"
 #include "wgtpkg-install.h"
 #include "wgtpkg-uninstall.h"
 static const char appname[] = "afm-system-daemon";
 static const char *rootdir = NULL;
 
+static void version()
+{
+       printf(
+               "\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",
+               appname
+       );
+}
+
 static void usage()
 {
        printf(
@@ -48,6 +61,7 @@ static void usage()
                "   -d           run as a daemon\n"
                "   -q           quiet\n"
                "   -v           verbose\n"
+               "   -V           version\n"
                "\n",
                appname
        );
@@ -59,6 +73,7 @@ static struct option options[] = {
        { "quiet",       no_argument,       NULL, 'q' },
        { "verbose",     no_argument,       NULL, 'v' },
        { "help",        no_argument,       NULL, 'h' },
+       { "version",     no_argument,       NULL, 'V' },
        { NULL, 0, NULL, 0 }
 };
 
@@ -71,11 +86,9 @@ const char error_cant_start[] = "\"can't start\"";
 
 static void do_reloads()
 {
-#ifndef LEGACY_MODE_WITHOUT_SYSTEMD
        /* enforce daemon reload */
        systemd_daemon_reload(0);
        systemd_unit_restart_name(0, "sockets.target");
-#endif
 }
 
 static void on_install(struct sd_bus_message *smsg, struct json_object *req, void *unused)
@@ -103,6 +116,7 @@ static void on_install(struct sd_bus_message *smsg, struct json_object *req, voi
                        reload = j_boolean_at(req, "reload", 1);
                        break;
                }
+               /*@fallthrough@*/
        default:
                jbus_reply_error_s(smsg, error_bad_request);
                return;
@@ -150,6 +164,7 @@ static void on_uninstall(struct sd_bus_message *smsg, struct json_object *req, v
                        root = j_string_at(req, "root", rootdir);
                        break;
                }
+               /*@fallthrough@*/
        default:
                jbus_reply_error_s(smsg, error_bad_request);
                return;
@@ -184,11 +199,14 @@ int main(int ac, char **av)
        LOGAUTH(appname);
 
        /* interpretation of arguments */
-       while ((i = getopt_long(ac, av, "hdqvr:", options, NULL)) >= 0) {
+       while ((i = getopt_long(ac, av, "hdqvVr:", options, NULL)) >= 0) {
                switch (i) {
                case 'h':
                        usage();
                        return 0;
+               case 'V':
+                       version();
+                       return 0;
                case 'q':
                        if (verbosity)
                                verbosity--;