/** * Main.cc * Created on: 15 oct. 2012 * Author: AKKA IS */ #include #include #include "AMDA-Kernel_Config.hh" #include // Parameters module include #include "ParameterManager.hh" #include "Parameter.hh" #include "Process.hh" #include "ParameterGenerator.hh" #include "ServicesServer.hh" using namespace std; namespace po = boost::program_options; using namespace log4cxx; using namespace log4cxx::helpers; using namespace AMDA::Parameters; /** * Main function */ int main(int argc, char *argv[]) { int result = AMDA_EXIT_OK; /// Parse command line parameters po::options_description desc("Allowed options"); desc.add_options() ("help,h", "Produce help message") ("version,v", "Program version") ("parameter,p", po::value< vector >(), "Parameter(s) name") ; po::positional_options_description p; p.add("parameter", -1); po::variables_map vm; po::store(po::command_line_parser(argc, argv).options(desc).positional(p).run(), vm); po::notify(vm); if (vm.count("help")) { cout << desc << "\n"; return result; } if (vm.count("version")) { cout << "Version: " << AMDA_Kernel_VERSION << "\n"; return result; } if (!vm.count("parameter")) { return result; } AMDA::Common::Application lMain; return lMain.main(argc,argv,[&](int , char **, AMDA::helpers::Properties& lProperties) -> int { vector lParameterList = vm["parameter"].as< vector >(); ///Create ParameterManager and configuration ParameterManager parameterManager; std::string emptyStr; parameterManager.addInputInterval(0, 0, 0, emptyStr, emptyStr, 0); if (!lProperties["app.param.gapthreshold"].empty()) { double defaultGapThreshold = atof(lProperties["app.param.gapthreshold"].c_str()); if (defaultGapThreshold > 0.) parameterManager.setDefaultGapThreshold(defaultGapThreshold); } for (auto lParamName : lParameterList) { try { ///Create Parameter parameterManager.createParameter(lParamName); ///Generate Output AMDA::Parameters::Generator* lGenerator = new AMDA::Parameters::Generator(parameterManager); ParamOutputSPtr lParamOutput(lGenerator); lGenerator->setParamName(lParamName); parameterManager.getParamOutputList().push_back( lParamOutput); } catch (...) { } } /// launch request parameterManager.execute(""); return result; }); }