X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafm-user-daemon.c;h=04f5fea40910a3fe601e76413c19e4ea9f3d10dc;hb=dc4d29d0b8c3393ab8ba85b6278fd231b1191509;hp=81115d7d6b9f08f41f2d8e2339ba4be21e32e053;hpb=dfd67ab68a438f1a692e91832c3698b023c74167;p=src%2Fapp-framework-main.git diff --git a/src/afm-user-daemon.c b/src/afm-user-daemon.c index 81115d7..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)) { @@ -350,7 +361,7 @@ int main(int ac, char **av) } /* init observers */ - jbuses[0] = create_jbus(0, AFM_SYSTEM_DBUS_PATH); + jbuses[0] = create_jbus_system(AFM_SYSTEM_DBUS_PATH); if (!jbuses[0]) { ERROR("create_jbus failed for system"); return 1; @@ -361,7 +372,7 @@ int main(int ac, char **av) } /* init service */ - jbuses[1] = create_jbus(1, AFM_USER_DBUS_PATH); + jbuses[1] = create_jbus_session(AFM_USER_DBUS_PATH); if (!jbuses[1]) { ERROR("create_jbus failed"); return 1;