/* * This class parses the command line options. */ #include #include #include #include "CommandLineOptions.h" CommandLineOptions::CommandLineOptions(int argc, char * const argv[]){ qDebug() << "Received " << argc << "arguments."; for (int i = argc; i != 0; i--) qDebug() << i << " argument: " << argv[i]; // Parse command line arguments. int longIndex = 0; // TODO: clean output... static const char *optString = "uh"; static const struct option longOpts[] = { // If an option requires parameters, write this number instead of no_argument. // The last argument, is the corresponding char to the option string. {"url", required_argument, NULL, 'u'}, {"help", no_argument, NULL, 'h'} }; // getopt_long returns the index of the next argument to be read, -1 if there are no more arguments. int opt = getopt_long(argc, argv, optString, longOpts, &longIndex); while (opt != -1) { switch(opt) { case 'u': options.insert("url", optarg); qDebug() << "Added URL to clOptions:" << optarg; break; case 'h': options.insert("help", "help"); qDebug() << "Added help to clOptions."; break; } opt = getopt_long(argc, argv, optString, longOpts, &longIndex); } } CommandLineOptions::~CommandLineOptions(){ }