diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-02-19 10:47:11 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-02-19 10:47:11 +0000 |
| commit | b5b20f829ed95febe7aba55ebe3679c998b35b5e (patch) | |
| tree | fa4013a9646aee272ac8e7474275e2ad07cfec3e /src/tools | |
| parent | 6a15d65585af0e19b72200d1fd67e256cd1a7c6c (diff) | |
Add some basic JSON stuff.
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic_cli.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/tools/dcpomatic_cli.cc b/src/tools/dcpomatic_cli.cc index c40ea6662..a74ece149 100644 --- a/src/tools/dcpomatic_cli.cc +++ b/src/tools/dcpomatic_cli.cc @@ -33,6 +33,7 @@ #include "lib/log.h" #include "lib/ui_signaller.h" #include "lib/server_finder.h" +#include "lib/json_server.h" using std::string; using std::cerr; @@ -52,6 +53,8 @@ help (string n) << " -f, --flags show flags passed to C++ compiler on build\n" << " -n, --no-progress do not print progress to stdout\n" << " -r, --no-remote do not use any remote servers\n" + << " -j, --json <port> run a JSON server on the specified port\n" + << " -k, --keep-going keep running even when the job is complete\n" << "\n" << "<FILM> is the film directory.\n"; } @@ -63,6 +66,8 @@ main (int argc, char* argv[]) bool progress = true; bool no_remote = false; int log_level = 0; + int json_port = 0; + bool keep_going = false; int option_index = 0; while (1) { @@ -74,10 +79,12 @@ main (int argc, char* argv[]) { "no-progress", no_argument, 0, 'n'}, { "no-remote", no_argument, 0, 'r'}, { "log-level", required_argument, 0, 'l' }, + { "json", required_argument, 0, 'j' }, + { "keep-going", no_argument, 0, 'k' }, { 0, 0, 0, 0 } }; - int c = getopt_long (argc, argv, "vhdfnrl:", long_options, &option_index); + int c = getopt_long (argc, argv, "vhdfnrl:j:k", long_options, &option_index); if (c == -1) { break; @@ -105,6 +112,12 @@ main (int argc, char* argv[]) case 'l': log_level = atoi (optarg); break; + case 'j': + json_port = atoi (optarg); + break; + case 'k': + keep_going = true; + break; } } @@ -122,6 +135,10 @@ main (int argc, char* argv[]) ServerFinder::instance()->disable (); } + if (json_port) { + new JSONServer (json_port); + } + cout << "DCP-o-matic " << dcpomatic_version << " git " << dcpomatic_git_commit; char buf[256]; if (gethostname (buf, 256) == 0) { @@ -201,6 +218,12 @@ main (int argc, char* argv[]) } } + if (keep_going) { + while (1) { + dcpomatic_sleep (3600); + } + } + /* This is just to stop valgrind reporting leaks due to JobManager indirectly holding onto codecs. */ |
