OEParseCommandLineLW¶
bool OEParseCommandLineLW(OEInterface &itf,
int argc,
char **argv,
const unsigned char *requirements=NULL,
unsigned int error_level=OEErrorLevel::Error)
bool OEParseCommandLineLW(OEInterface &itf,
const char *version,
int argc,
char **argv,
const unsigned char *requirements=NULL,
unsigned int error_level=OEErrorLevel::Error)
Set parameters in the ‘itf’
object by parsing the command line, ‘argc’ and ‘argv’. This is the same
purpose as OEParseCommandLine
, however, this function has different
rules for parsing the command line, most notably nothing is entered as
a key-value pair, and is in general designed for small lightweight
interfaces, hence the LW in the function name.
The version
argument specifies what should be printed whenever
the --version
is found in argv
.
When using this function all parameters of itf must fall into one of two categories.
A boolean parameter with a default value of false and a name beginning with a dash followed by a single character.
A keyless parameter (i.e. a parameter with a non-zero keyless value).
and the command line should be of the following form.
program [boolean parameter keys] [keyless parameter values]
boolean parameter keys
Boolean parameters with keys listed listed in this part of the
command line will be set to true (those not appearing will use
their default value which must be false
). The characters of the
boolean keys may also be combined into a single argument on the
command line. This is easiest to illustrate in the following
example:
program -a -b -c [keyless parameter values]
and
program -abc [keyless parameter values]
and
program -c -ba [keyless parameter values]
Are all equivalent, provided ‘-a’, ‘-b’ and ‘-c’ are boolean parameters
with default values of false
.
keyless parameter values
The first argument not recognized as a boolean parameter will be
assigned as the value of the parameter with a keyless value of 1
,
the second to the parameter with keyless value of 2
, etc. If no
parameter have the appropriate keyless value, or more than one have
the required keyless value are error is reported, and the function
returns false
.
This function returns true if it was successful and false
otherwise. Errors are reported at ‘error_level’ to OEThrow
.