25 #include<utils/CmdInterface.hh> 26 #include<io/xml/automata/Simulation.hh> 47 string description=
"Usage: dd-scenario-info --help |\n\t scenario.xml (--events | --timed_events | --observations | --timed_observations | --faults)\n\n\n\t Print on the standard output the information associated to the given option.";
72 int main(
int argc,
char ** argv)
85 if(getOption<Option>(argv[index],
options,currentOption))
87 if(currentOption !=
HELP)
89 printError(
"Incorrect command line. Try --help.");
98 printError(
"Incorrect command line. Try --help.");
103 printError(
"Incorrect number of paramters in command line. Try --help.");
109 if(!getOption<Option>(argv[index],
options,currentOption))
112 getParameter<string>(argc,argv,index,scnFile);
115 printError(
"The scenario file'" + scnFile +
"' is not a diades scenario file.");
126 if(!getOption<Option>(argv[index],
options,currentOption))
128 printError(
"Unrecognized option: " +
string(argv[index]));
134 getParameter<string>(argc,argv,index,scnFile);
137 printError(
"The scenario file '" + scnFile +
"' is not a diades scenario file.");
141 std::list< pair< boost::posix_time::time_duration,Diades::Automata::Event> > timedSimulation2;
142 std::list< pair< boost::posix_time::time_duration,Diades::Automata::Event> > observableTimedSimulation2;
143 std::list< Diades::Automata::Event > faults2;
144 loadXmlSimulation(scnFile,
145 std::back_insert_iterator< std::list< Diades::Automata::Event> >(faults2),
146 std::back_insert_iterator< std::list< pair< boost::posix_time::time_duration,Diades::Automata::Event> > >(timedSimulation2),
147 std::back_insert_iterator< std::list< pair< boost::posix_time::time_duration,Diades::Automata::Event> > >(observableTimedSimulation2));
148 switch(currentOption)
152 printError(
"Incorrect use of option --help.");
157 for(
const pair< boost::posix_time::time_duration,Diades::Automata::Event> & p : timedSimulation2)
159 std::cout << p.second <<
" ";
165 for(
const pair< boost::posix_time::time_duration,Diades::Automata::Event> & p : timedSimulation2)
167 std::cout << p.first <<
" " << p.second <<
" ";
173 for(
const pair< boost::posix_time::time_duration,Diades::Automata::Event> & p : observableTimedSimulation2)
175 std::cout << p.second <<
" ";
181 for(
const pair< boost::posix_time::time_duration,Diades::Automata::Event> & p : observableTimedSimulation2)
183 std::cout << p.first <<
" " << p.second <<
" ";
191 std::cout << evt <<
" ";
197 printError(
"Unrecognized option: " +
string(argv[index]));
void setVerboseLevel(Diades::Utils::VerboseLevel level)
bool fileSuffixOk(const string &modelFile, const string &suffix)
int main(int argc, char **argv)
vector< string > options(numberOfOptions)
void printError(string parameter, string message)
unsigned numberOfFileExtensions
vector< string > fileExtensions(numberOfFileExtensions)
vector< bool > isSet(numberOfOptions, false)
void printUsage(const po::options_description &desc)