From cf9609c876318f0c27914a723af915a9acfdbcc3 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Sat, 5 Mar 2011 16:09:54 +0100 Subject: Command line options parsing moved to its own class, in preparation for Settings --- src/CommandLineOptions.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/CommandLineOptions.cpp (limited to 'src/CommandLineOptions.cpp') diff --git a/src/CommandLineOptions.cpp b/src/CommandLineOptions.cpp new file mode 100644 index 0000000..fae5c29 --- /dev/null +++ b/src/CommandLineOptions.cpp @@ -0,0 +1,42 @@ +/* + * This class parses the command line options. + */ + + +#include +#include +#include "CommandLineOptions.h" + +CommandLineOptions::CommandLineOptions(int argc, char * const argv[]){ + // Parse command line arguments. + int longIndex = 0; + // Declare the short options as a char*, these have exactly one - followed by letter from optString. + // For example: ./fbbrowser -h + // Declare the long options in the const struct, these have two - followed by a string found in longOpts[]. + // Same as: ./fbbrowser --help + // Note: I included 'qwsdiplay' here to not have errors, when setting fbbrowser to be the server app aswell. + static const char *optString = "hqwsdiplay"; + 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. + {"debug", no_argument, NULL, 'D'}, + {"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 'h': + //printUsage(); + break; + } + opt = getopt_long(argc, argv, optString, longOpts, &longIndex); + } +} + +CommandLineOptions::~CommandLineOptions(){ + +} -- cgit v1.2.3-55-g7522