5 #include <boost/program_options.hpp>
6 #include <boost/lexical_cast.hpp>
15 int main(
int argc,
char *argv[])
17 boost::program_options::options_description description(
"Acoustic data filter options");
18 description.add_options()
19 (
"help,h",
"Show the help")
20 (
"statemachine,s", boost::program_options::value<std::string>()->default_value(
"localhost"),
"State machine server address (default localhost)")
21 (
"command_server,H", boost::program_options::value<std::string>()->default_value(
"localhost"),
"State machine server address (default localhost)")
22 (
"logger,l", boost::program_options::value<std::string>()->default_value(
"localhost"),
"Logger server address (default localhost)")
23 (
"message_server,M", boost::program_options::value<std::string>()->default_value(
"localhost"),
"Logger server address (default localhost)")
24 (
"debug,d", boost::program_options::value<int>()->default_value(0),
"Debug level (default 0)")
25 (
"name,n", boost::program_options::value<std::string>()->default_value(
"AcousticDataFilter"),
"Client name (default AcousticDataFilter)")
26 (
"address,a", boost::program_options::value<std::string>()->default_value(
"127.0.0.1"),
"Local address for the TCP audio server used to receive the data stream from the DQ (default 127.0.0.1)")
27 (
"port,p", boost::program_options::value<int>()->default_value(5800),
"Local port number TCP audio server used to receive the data stream from the DQ (default 5800)")
28 (
"wisdom,w", boost::program_options::value<std::string>()->default_value(
"./Wisdom.txt"),
"Local path and name of the wisdom file (default ./Wisdom.txt)")
29 (
"output,o", boost::program_options::value<std::string>()->default_value(
"./"),
"Path of the output files (default ./)")
30 (
"raw,r", boost::program_options::value<std::string>()->default_value(
"./"),
"Path of the raw files (default ./)");
33 boost::program_options::variables_map vm;
35 boost::program_options::notify(vm);
37 if(vm.count(
"help")) { std::cout << description;
return 0; }
41 std::string StateMachine_address = vm[
"statemachine"].as<std::string>();
42 std::string Logger_address = vm[
"logger"].as<std::string>();
43 int Client_dbg_level = vm[
"debug"].as<
int>();
44 std::string Client_name = vm[
"name"].as<std::string>();
45 std::string Wisdom_file = vm[
"wisdom"].as<std::string>();
46 std::string Output_file = vm[
"output"].as<std::string>();
47 std::string Raw_file = vm[
"raw"].as<std::string>();
49 if (StateMachine_address ==
"") {
50 StateMachine_address = vm[
"command_server"].as<std::string>();
52 if (Logger_address ==
"") {
53 Logger_address = vm[
"message_server"].as<std::string>();
59 AcousticDataFilter ADF(Local_addr,Local_port,Client_name, StateMachine_address, Wisdom_file, Output_file, Raw_file, Log, Client_dbg_level);
64 catch (std::exception& e)
66 std::cerr<<
"Error: "<<e.what()<<
'\n';
71 catch(
const boost::program_options::error& ex) {
72 std::cerr << ex.what() <<
'\n';
int main(int argc, char *argv[])
Message logging based on ControlHost.
void run()
Run as run control client following command messages via JNET::JControlHost.
then usage $script[port]< option > nPossible options
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
virtual bool enter(const JArgs &args)
Enter the state machine.