diff options
author | José Bollo <jose.bollo@iot.bzh> | 2016-03-15 11:10:27 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2016-03-15 11:28:07 +0100 |
commit | dc4d29d0b8c3393ab8ba85b6278fd231b1191509 (patch) | |
tree | 79fb4e6faf4e24d57160795ebacd5f2f376b1ecf /src/afm-user-daemon.c | |
parent | fc453a43f14a50a2b4dc1f332649ce4bc13af1fa (diff) |
afm-launch: comments and improvements
Change-Id: I1b0745dfe659d26efdcd686b117fd7d64ed3a440
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/afm-user-daemon.c')
-rw-r--r-- | src/afm-user-daemon.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/afm-user-daemon.c b/src/afm-user-daemon.c index 40b5971..04f5fea 100644 --- a/src/afm-user-daemon.c +++ b/src/afm-user-daemon.c @@ -37,10 +37,11 @@ static const char appname[] = "afm-user-daemon"; static void usage() { printf( - "usage: %s [-q] [-v] [-r rootdir]... [-a appdir]...\n" + "usage: %s [-q] [-v] [-m mode] [-r rootdir]... [-a appdir]...\n" "\n" " -a appdir adds an application directory\n" " -r rootdir adds a root directory of applications\n" + " -m mode set default launch mode (local or remote)\n" " -d run as a daemon\n" " -q quiet\n" " -v verbose\n" @@ -52,6 +53,7 @@ static void usage() static struct option options[] = { { "root", required_argument, NULL, 'r' }, { "application", required_argument, NULL, 'a' }, + { "mode", required_argument, NULL, 'm' }, { "daemon", no_argument, NULL, 'd' }, { "quiet", no_argument, NULL, 'q' }, { "verbose", no_argument, NULL, 'v' }, @@ -126,15 +128,15 @@ static void on_start(struct jreq *jreq, struct json_object *obj) /* get the parameters */ mode = invalid_launch_mode; if (j_read_string(obj, &appid)) { - mode = default_launch_mode; + mode = get_default_launch_mode(); } else if (j_read_string_at(obj, "id", &appid)) { if (j_read_string_at(obj, "mode", &modestr)) { - mode = launch_mode_of_string(modestr); + mode = launch_mode_of_name(modestr); } else { - mode = default_launch_mode; + mode = get_default_launch_mode(); } } - if (!launch_mode_is_valid(mode)) { + if (!is_valid_launch_mode(mode)) { jbus_reply_error_s(jreq, error_bad_request); return; } @@ -267,11 +269,12 @@ static int daemonize() int main(int ac, char **av) { int i, daemon = 0; + enum afm_launch_mode mode; LOGAUTH(appname); /* first interpretation of arguments */ - while ((i = getopt_long(ac, av, "hdqvr:a:", options, NULL)) >= 0) { + while ((i = getopt_long(ac, av, "hdqvr:a:m:", options, NULL)) >= 0) { switch (i) { case 'h': usage(); @@ -290,6 +293,14 @@ int main(int ac, char **av) break; case 'a': break; + case 'm': + mode = launch_mode_of_name(optarg); + if (!is_valid_launch_mode(mode)) { + ERROR("invalid mode '%s'", optarg); + return 1; + } + set_default_launch_mode(mode); + break; case ':': ERROR("missing argument value"); return 1; @@ -321,7 +332,7 @@ int main(int ac, char **av) /* second interpretation of arguments */ optind = 1; - while ((i = getopt_long(ac, av, "hdqvr:a:", options, NULL)) >= 0) { + while ((i = getopt_long(ac, av, "hdqvr:a:m:", options, NULL)) >= 0) { switch (i) { case 'r': if (afm_db_add_root(afdb, optarg)) { |