OFCommandLine Class Reference

handles command line arguments. More...

List of all members.

Public Types

enum  E_ParseStatus {
  PS_Normal, PS_NoArguments, PS_ExclusiveOption, PS_UnknownOption,
  PS_MissingValue, PS_MissingParameter, PS_TooManyParameters, PS_CannotOpenCommandFile
}
 status of command line parsing More...
enum  E_ValueStatus {
  VS_Normal, VS_Invalid, VS_NoMore, VS_Empty,
  VS_Underflow, VS_Overflow
}
 status of converting string option value to value field More...
enum  E_ParamValueStatus {
  PVS_Normal, PVS_Invalid, PVS_CantFind, PVS_Empty,
  PVS_Underflow, PVS_Overflow
}
 status of converting string parameter to value field More...
enum  E_FindOptionMode {
  FOM_Normal, FOM_First, FOM_Next, FOM_FirstFromLeft,
  FOM_NextFromLeft
}
 mode for findOption method More...

Public Member Functions

 OFCommandLine ()
 constructor
virtual ~OFCommandLine ()
 destructor
void setOptionChars (const char *chars)
 sets characters used to detect options
void setOptionColumns (const int longCols, const int shortCols)
 sets default width of option columns
void setParamColumn (const int column)
 sets default width of parameter column
OFBool addOption (const char *longOpt, const char *shortOpt, const int valueCount, const char *valueDescr, const char *optDescr, const int flags=0)
 adds an item to the list of valid options (full version)
OFBool addOption (const char *longOpt, const char *shortOpt, const char *optDescr, const int flags=0)
 adds an item to the list of valid options (without additional values)
OFBool addOption (const char *longOpt, const int valueCount, const char *valueDescr, const char *optDescr, const int flags=0)
 adds an item to the list of valid options (without short name)
OFBool addOption (const char *longOpt, const char *optDescr, const int flags=0)
 adds an item to the list of valid options (without short name and additional values)
void addGroup (const char *name, const int longCols=0, const int shortCols=0)
 adds a new group (top-level).
void addSubGroup (const char *name, const int longCols=0, const int shortCols=0)
 adds a new subgroup (beyond group-level).
OFBool addParam (const char *param, const char *descr, const OFCmdParam::E_ParamMode mode=OFCmdParam::PM_Mandatory)
 adds an item to the list of valid parameters (full version)
OFBool addParam (const char *param, const OFCmdParam::E_ParamMode mode=OFCmdParam::PM_Mandatory)
 adds an item to the list of valid parameters (without description)
const OFStringgetProgramName () const
 get the name of the program (i.e.
int getArgCount () const
 gets number of command line arguments.
OFBool gotoFirstArg ()
 sets first command line argument as the current one.
OFBool gotoNextArg ()
 sets next command line argument as the current one.
OFBool getCurrentArg (const char *&arg)
 gets current command line argument as a C string This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().
OFBool getCurrentArg (OFCmdString &arg)
 gets current command line argument as a C++ string.
int getParamCount () const
 gets number of parameters in the parsed command line.
int getMinParamCount () const
 gets minimum number of parameters which should be accepted.
int getMaxParamCount () const
 gets maximum number of parameters which should be accepted.
OFBool hasExclusiveOption () const
 checks whether the parsed command line contains any "exclusive" option which does not require any mandatory parameter.
OFBool findParam (const int pos)
 checks whether specified parameter exists in the command line.
E_ParamValueStatus getParam (const int pos, OFCmdSignedInt &value)
 gets value of specified parameter as signed integer.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdSignedInt &value, const OFCmdSignedInt low, const OFBool incl=OFTrue)
 get value of specified parameter as signed integer and checks for given boundary
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdSignedInt &value, const OFCmdSignedInt low, const OFCmdSignedInt high)
 gets value of specified parameter as signed integer and checks for given boundaries
E_ParamValueStatus getParam (const int pos, OFCmdUnsignedInt &value)
 gets value of specified parameter as unsigned integer.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFBool incl=OFTrue)
 gets value of specified parameter as unsigned integer and checks for given boundary.
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFCmdUnsignedInt high)
 gets value of specified parameter as unsigned integer and checks for given boundaries.
E_ParamValueStatus getParam (const int pos, OFCmdFloat &value)
 gets value of specified parameter as floating point.
E_ParamValueStatus getParamAndCheckMin (const int pos, OFCmdFloat &value, const OFCmdFloat low, const OFBool incl=OFTrue)
 gets value of specified parameter as floating point and checks for given boundary
E_ParamValueStatus getParamAndCheckMinMax (const int pos, OFCmdFloat &value, const OFCmdFloat low, const OFCmdFloat high)
 gets value of specified parameter as floating point and checks for given boundaries
E_ParamValueStatus getParam (const int pos, const char *&param)
 gets value of specified parameter as C string.
E_ParamValueStatus getParam (const int pos, OFCmdString &param)
 gets value of specified parameter as C++ string.
OFBool findOption (const char *longOpt, const signed int pos=0, const E_FindOptionMode mode=FOM_Normal)
 checks whether specified option exists in the command line.
OFBool gotoFirstOption ()
 sets first command line option as the current one.
OFBool gotoNextOption ()
 sets next command line option as the current one.
OFBool getCurrentOption (const char *&opt)
 returns current option as a C string.
OFBool getCurrentOption (OFCmdString &opt)
 returns current option as a C++ string.
void beginOptionBlock ()
 starts an option block which can be used to support mutually exclusive options.
void endOptionBlock ()
 ends an option block which can be used to support mutually exclusive options.
E_ValueStatus getValue (OFCmdSignedInt &value)
 returns next argument as a signed integer value
E_ValueStatus getValueAndCheckMin (OFCmdSignedInt &value, const OFCmdSignedInt low, const OFBool incl=OFTrue)
 returns next argument as a signed integer value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdSignedInt &value, const OFCmdSignedInt low, const OFCmdSignedInt high)
 returns next argument as a signed integer value and checks for given boundaries
E_ValueStatus getValue (OFCmdUnsignedInt &value)
 returns next argument as an unsigned integer value
E_ValueStatus getValueAndCheckMin (OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFBool incl=OFTrue)
 returns next argument as an unsigned integer value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdUnsignedInt &value, const OFCmdUnsignedInt low, const OFCmdUnsignedInt high)
 returns next argument as an unsigned integer value and checks for given boundaries
E_ValueStatus getValue (OFCmdFloat &value)
 returns next argument as a floating point value
E_ValueStatus getValueAndCheckMin (OFCmdFloat &value, const OFCmdFloat low, const OFBool incl=OFTrue)
 returns next argument as a floating point value and checks for given boundary
E_ValueStatus getValueAndCheckMinMax (OFCmdFloat &value, const OFCmdFloat low, const OFCmdFloat high)
 returns next argument as a floating point value and checks for given boundaries
E_ValueStatus getValue (const char *&value)
 returns next argument as a C string
E_ValueStatus getValue (OFCmdString &value)
 returns next argument as a C++ string
E_ParseStatus parseLine (int argCount, char *argValue[], const int flags=0, const int startPos=1)
 parses specified command line arguments (argc, argv).
void getSyntaxString (OFString &syntaxStr) const
 returns command line syntax as a C++ string (single text line).
void getOptionString (OFString &optionStr) const
 returns description of all options as a C++ string (multiple text lines).
void getParamString (OFString &paramStr) const
 returns description of all parameters as a C++ string (multiple text lines).
void getStatusString (const E_ParseStatus status, OFString &statusStr)
 returns status of parseLine as a C++ string
void getStatusString (const E_ParamValueStatus status, OFString &statusStr)
 returns status of getParam as a C++ string
void getStatusString (const E_ValueStatus status, OFString &statusStr)
 returns status of getValue as a C++ string

Static Public Attributes

static const int PF_ExpandWildcards
 parsing flag to expand wildcard under Windows (very similar to Unix)
static const int PF_NoCommandFiles
 disable support for command files ("@filename") containing additional arguments
static const int AF_Exclusive
 exclusive option that overrides any other option (e.g. "--help")
static const int AF_Internal
 internal option that is not shown in the syntax usage output
static const int AF_NoWarning
 do not output a warning message if option has never been checked.

Protected Member Functions

OFBool checkOption (const OFString &option, const OFBool mode=OFTrue) const
 checks whether given option is valid (starting with an option char and not followed by a number)
OFBool findParam (int pos, OFListIterator(OFCmdParamPos *)&pos_iter)
 finds specified parameter and sets given iterator to this position
const OFCmdOption * findCmdOption (const OFString &option) const
 finds specified option and returns reference to its describing structure
void storeParameter (const OFString &param, const int directOption=0)
 stores the specified parameter in the argument/parameter list
E_ParseStatus parseCommandFile (const char *argValue, OFList< OFString > &argList)
 check whether 'argValue' points to command file and parse content if so
int packColumnValues (int longCols, int shortCols) const
 packs the two 16 bit values into one 32 bit value
void unpackColumnValues (const int value, unsigned int &longCols, unsigned int &shortCols) const
 unpacks two 16 bit values from one 32 bit value
E_ParseStatus checkParamCount ()
 checks whether number of parameters in parsed command line is within the range of min/max (see below)
OFBool getLastArg (OFString &arg)
 returns last command line argument as a C++ string
OFBool getMissingParam (OFString &param)
 returns name of parameter which is missed in the parsed command line (used for error output)

Private Member Functions

 OFListIterator (OFString) ArgumentIterator
 current position in argument list
 OFListIterator (OFListIterator_OFString) OptionPosIterator
 current position in option position list
 OFListIterator (OFListIterator_OFString) OptionBlockIterator
 current position in option position list (used for option blocks)
OFCommandLineoperator= (const OFCommandLine &obj)
 private undefined assignment operator

Private Attributes

OFString ProgramName
 program name, i.e. the value of argv[0]
OFList< OFCmdOption * > ValidOptionList
 list of valid/defined command line options
OFList< OFCmdParam * > ValidParamList
 list of valid/defined command line parameters
OFList< OFStringArgumentList
 list of command line arguments (after parsing)
OFList< OFCmdParamPos * > ParamPosList
 list of parameter positions within argument list
OFList< OFListIterator_OFString > OptionPosList
 list of option positions within argument list
OFBool OptionBlockMode
 OFTrue if option block is active, OFFalse otherwise.
OFString OptionChars
 C++ string conisting of all valid characters introducing an option.
OFBool ExclusiveOption
 OFTrue if an "exclusive" option is used in the command line, OFFalse otherwise.
int LongColumn
 width of column for long option names
int ShortColumn
 width of column for short option names
int ParamColumn
 width of column for parameter names
int MinParamCount
 minimum number of parameters which should be accepted
int MaxParamCount
 maximum number of parameter which should be accepted
OFCmdParam::E_ParamMode LastParamMode
 mode of last added parameter (used for debug checking)


Detailed Description

handles command line arguments.

This class is the interface to this module. All methods which can be used from outside are defined here.

Definition at line 129 of file ofcmdln.h.


Member Enumeration Documentation

enum OFCommandLine::E_ParseStatus

status of command line parsing

Enumerator:
PS_Normal  normal, no errors
PS_NoArguments  no arguments to be parsed
PS_ExclusiveOption  exclusive option used
PS_UnknownOption  unknown option detected
PS_MissingValue  missing value(s) for an option
PS_MissingParameter  missing parameter
PS_TooManyParameters  too many parameters
PS_CannotOpenCommandFile  cannot open command file

Definition at line 138 of file ofcmdln.h.

enum OFCommandLine::E_ValueStatus

status of converting string option value to value field

Enumerator:
VS_Normal  normal, no errors
VS_Invalid  argument contains invalid char(s)
VS_NoMore  no more arguments to be converted
VS_Empty  empty string argument
VS_Underflow  converted value falls below minimum
VS_Overflow  converted value exceeds maximum

Definition at line 161 of file ofcmdln.h.

enum OFCommandLine::E_ParamValueStatus

status of converting string parameter to value field

Enumerator:
PVS_Normal  normal, no errors
PVS_Invalid  argument contains invalid char(s)
PVS_CantFind  specified parameter doesn't exist
PVS_Empty  empty string argument
PVS_Underflow  converted value falls below minimum
PVS_Overflow  converted value exceeds maximum

Definition at line 180 of file ofcmdln.h.

enum OFCommandLine::E_FindOptionMode

mode for findOption method

Enumerator:
FOM_Normal  normal find
FOM_First  find first option
FOM_Next  find next option
FOM_FirstFromLeft  find first option (from left to right)
FOM_NextFromLeft  find next option (from left to right)

Definition at line 198 of file ofcmdln.h.


Member Function Documentation

void OFCommandLine::setOptionChars ( const char *  chars  ) 

sets characters used to detect options

Parameters:
chars string containing all valid option characters (default: "+-")

void OFCommandLine::setOptionColumns ( const int  longCols,
const int  shortCols 
)

sets default width of option columns

Parameters:
longCols minimum width of the long option column
shortCols minimum width of the short option column

void OFCommandLine::setParamColumn ( const int  column  ) 

sets default width of parameter column

Parameters:
column minimum width of the long option column

OFBool OFCommandLine::addOption ( const char *  longOpt,
const char *  shortOpt,
const int  valueCount,
const char *  valueDescr,
const char *  optDescr,
const int  flags = 0 
)

adds an item to the list of valid options (full version)

Parameters:
longOpt long option name
shortOpt short option name
valueCount number of additional values
valueDescr description of optional values
optDescr description of command line option (use '
' for line break)
flags optional flags (see AF_xxx below)
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption ( const char *  longOpt,
const char *  shortOpt,
const char *  optDescr,
const int  flags = 0 
)

adds an item to the list of valid options (without additional values)

Parameters:
longOpt long option name
shortOpt short option name
optDescr description of command line option (use '
' for line break)
flags optional flags (see AF_xxx below)
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption ( const char *  longOpt,
const int  valueCount,
const char *  valueDescr,
const char *  optDescr,
const int  flags = 0 
)

adds an item to the list of valid options (without short name)

Parameters:
longOpt long option name
valueCount number of additional values
valueDescr description of optional values
optDescr description of command line option (use '
' for line break)
flags optional flags (see AF_xxx below)
Returns:
OFTrue if succesfully added

OFBool OFCommandLine::addOption ( const char *  longOpt,
const char *  optDescr,
const int  flags = 0 
)

adds an item to the list of valid options (without short name and additional values)

Parameters:
longOpt long option name
optDescr description of command line option (use '
' for line break)
flags optional flags (see AF_xxx below)
Returns:
OFTrue if succesfully added

void OFCommandLine::addGroup ( const char *  name,
const int  longCols = 0,
const int  shortCols = 0 
)

adds a new group (top-level).

all following options belong to this group

Parameters:
name name of the group
longCols minimum width of the long option column
shortCols minimum width of the short option column

void OFCommandLine::addSubGroup ( const char *  name,
const int  longCols = 0,
const int  shortCols = 0 
)

adds a new subgroup (beyond group-level).

all following options belong to this subgroup

Parameters:
name name of the subgroup
longCols minimum width of the long option column
shortCols minimum width of the short option column

OFBool OFCommandLine::addParam ( const char *  param,
const char *  descr,
const OFCmdParam::E_ParamMode  mode = OFCmdParam::PM_Mandatory 
)

adds an item to the list of valid parameters (full version)

Parameters:
param parameter name
descr parameter description (use '
' for line break)
mode parameter's cardinality (see above)
Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::addParam ( const char *  param,
const OFCmdParam::E_ParamMode  mode = OFCmdParam::PM_Mandatory 
)

adds an item to the list of valid parameters (without description)

Parameters:
param parameter name
mode parameter's cardinality (see above)
Returns:
OFTrue if successful, OFFalse otherwise

const OFString& OFCommandLine::getProgramName (  )  const [inline]

get the name of the program (i.e.

the value of argv[0])

Returns:
name of the program

Definition at line 363 of file ofcmdln.h.

References ProgramName.

int OFCommandLine::getArgCount (  )  const [inline]

gets number of command line arguments.

(options and parameters)

Returns:
number of command line arguments

Definition at line 373 of file ofcmdln.h.

References ArgumentList, and OFList< T >::size().

OFBool OFCommandLine::gotoFirstArg (  ) 

sets first command line argument as the current one.

Useful for iterating over all arguments.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::gotoNextArg (  ) 

sets next command line argument as the current one.

Useful for iterating over all arguments.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::getCurrentArg ( const char *&  arg  ) 

gets current command line argument as a C string This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().

Parameters:
arg reference to C string where argument should be stored
Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::getCurrentArg ( OFCmdString arg  ) 

gets current command line argument as a C++ string.

This is the argument which is currently parsed or has been selected as the current one by gotoXXXArg().

Parameters:
arg reference to C++ string where argument should be stored
Returns:
OFTrue if successful, OFFalse otherwise

int OFCommandLine::getParamCount (  )  const [inline]

gets number of parameters in the parsed command line.

A parameter is an argument which is no option (e.g. a filename).

Returns:
number of parameters

Definition at line 416 of file ofcmdln.h.

References ParamPosList, and OFList< T >::size().

int OFCommandLine::getMinParamCount (  )  const [inline]

gets minimum number of parameters which should be accepted.

Returns:
number of parameters

Definition at line 425 of file ofcmdln.h.

References MinParamCount.

int OFCommandLine::getMaxParamCount (  )  const [inline]

gets maximum number of parameters which should be accepted.

Returns:
number of parameters

Definition at line 434 of file ofcmdln.h.

References MaxParamCount.

OFBool OFCommandLine::hasExclusiveOption (  )  const [inline]

checks whether the parsed command line contains any "exclusive" option which does not require any mandatory parameter.

Examples for typical exclusive options are "--help" and "--version".

Returns:
OFTrue if an exclusive option is used

Definition at line 445 of file ofcmdln.h.

References ExclusiveOption.

OFBool OFCommandLine::findParam ( const int  pos  ) 

checks whether specified parameter exists in the command line.

Parameters:
pos position of parameter to be checked (1..n)
Returns:
OFTrue if parameter exists, false otherwise

E_ParamValueStatus OFCommandLine::getParam ( const int  pos,
OFCmdSignedInt &  value 
)

gets value of specified parameter as signed integer.

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin ( const int  pos,
OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFBool  incl = OFTrue 
)

get value of specified parameter as signed integer and checks for given boundary

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax ( const int  pos,
OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFCmdSignedInt  high 
)

gets value of specified parameter as signed integer and checks for given boundaries

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam ( const int  pos,
OFCmdUnsignedInt &  value 
)

gets value of specified parameter as unsigned integer.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin ( const int  pos,
OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFBool  incl = OFTrue 
)

gets value of specified parameter as unsigned integer and checks for given boundary.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax ( const int  pos,
OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFCmdUnsignedInt  high 
)

gets value of specified parameter as unsigned integer and checks for given boundaries.

NB: If command line argument specifies a negative value the result depends on the signed->unsigned conversion implemented in sscanf() !!

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam ( const int  pos,
OFCmdFloat &  value 
)

gets value of specified parameter as floating point.

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMin ( const int  pos,
OFCmdFloat &  value,
const OFCmdFloat  low,
const OFBool  incl = OFTrue 
)

gets value of specified parameter as floating point and checks for given boundary

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParamAndCheckMinMax ( const int  pos,
OFCmdFloat &  value,
const OFCmdFloat  low,
const OFCmdFloat  high 
)

gets value of specified parameter as floating point and checks for given boundaries

Parameters:
pos position of parameter (1..n)
value reference to variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam ( const int  pos,
const char *&  param 
)

gets value of specified parameter as C string.

Parameters:
pos position of parameter (1..n)
param reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

E_ParamValueStatus OFCommandLine::getParam ( const int  pos,
OFCmdString param 
)

gets value of specified parameter as C++ string.

Parameters:
pos position of parameter (1..n)
param reference to variable where the value should be stored
Returns:
status of get/conversion, PVS_Normal if successful (use getStatusString for error string)

OFBool OFCommandLine::findOption ( const char *  longOpt,
const signed int  pos = 0,
const E_FindOptionMode  mode = FOM_Normal 
)

checks whether specified option exists in the command line.

The search process starts from the last command line argument (which is a direct predecessor of the optional defined reference parameter 'pos') and goes to the first one.

Parameters:
longOpt name of option (in long format) to be checked
pos position of reference parameter (default: all parameters; if value is negative option must be a direct predecessor of the specified reference parameter '-pos', no further search processes will be performed; if search direction is left to right this parameter is ignored, also option blocks are not supported in this case)
mode find option mode (used to support option blocks and reverse search direction)
Returns:
OFTrue if option exists, OFFalse otherwise

OFBool OFCommandLine::gotoFirstOption (  ) 

sets first command line option as the current one.

Useful for iterating over all options.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::gotoNextOption (  ) 

sets next command line option as the current one.

Useful for iterating over all options.

Returns:
OFTrue if successful, OFFalse otherwise

OFBool OFCommandLine::getCurrentOption ( const char *&  opt  ) 

returns current option as a C string.

This is the option which has currently been parsed (e.g. used for error output) or which has been selected as the current one by gotoXXXOption().

Parameters:
opt reference to C string where option should be stored
Returns:
OFTrue if there is a current option, OFFalse otherwise

OFBool OFCommandLine::getCurrentOption ( OFCmdString opt  ) 

returns current option as a C++ string.

This is the option which has currently been parsed (e.g. used for error output) or which has been selected as the current one by gotoXXXOption().

Parameters:
opt reference to C++ string where option should be stored
Returns:
OFTrue if there is a current option, OFFalse otherwise

E_ValueStatus OFCommandLine::getValue ( OFCmdSignedInt &  value  ) 

returns next argument as a signed integer value

Parameters:
value reference to signed integer variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin ( OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFBool  incl = OFTrue 
)

returns next argument as a signed integer value and checks for given boundary

Parameters:
value reference to signed integer variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax ( OFCmdSignedInt &  value,
const OFCmdSignedInt  low,
const OFCmdSignedInt  high 
)

returns next argument as a signed integer value and checks for given boundaries

Parameters:
value reference to signed integer variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue ( OFCmdUnsignedInt &  value  ) 

returns next argument as an unsigned integer value

Parameters:
value reference to unsigned integer variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin ( OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFBool  incl = OFTrue 
)

returns next argument as an unsigned integer value and checks for given boundary

Parameters:
value reference to unsigned integer variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax ( OFCmdUnsignedInt &  value,
const OFCmdUnsignedInt  low,
const OFCmdUnsignedInt  high 
)

returns next argument as an unsigned integer value and checks for given boundaries

Parameters:
value reference to unsigned integer variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue ( OFCmdFloat &  value  ) 

returns next argument as a floating point value

Parameters:
value reference to floating point variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMin ( OFCmdFloat &  value,
const OFCmdFloat  low,
const OFBool  incl = OFTrue 
)

returns next argument as a floating point value and checks for given boundary

Parameters:
value reference to floating point variable where the value should be stored
low minimum boundary for value (used for range check)
incl if OFTrue 'low' value is valid (included), otherwise invalid
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValueAndCheckMinMax ( OFCmdFloat &  value,
const OFCmdFloat  low,
const OFCmdFloat  high 
)

returns next argument as a floating point value and checks for given boundaries

Parameters:
value reference to floating point variable where the value should be stored
low minimum boundary for value (used for range check, boundary included)
high maximum boundary for value (dito)
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue ( const char *&  value  ) 

returns next argument as a C string

Parameters:
value reference to C string variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ValueStatus OFCommandLine::getValue ( OFCmdString value  ) 

returns next argument as a C++ string

Parameters:
value reference to C++ string variable where the value should be stored
Returns:
status of get/conversion, VS_Normal if successful (use getStatusString for error string)

E_ParseStatus OFCommandLine::parseLine ( int  argCount,
char *  argValue[],
const int  flags = 0,
const int  startPos = 1 
)

parses specified command line arguments (argc, argv).

Additionally create internal structures for evaluation and return status indicating any errors occuring during the parse process.

Parameters:
argCount number of command line arguments stored in argValue
argValue array where the command line arguments are stored
flags optional flags affecting the parse process (see PF_xxx below)
startPos index of first argument which should be parsed (starting from 0, default: 1)
Returns:
status of parse process, PS_Normal if successful (use getStatusString for error string). If an exclusive option is used the status code PS_ExclusiveOption is returned.

void OFCommandLine::getSyntaxString ( OFString syntaxStr  )  const

returns command line syntax as a C++ string (single text line).

Text consists of "[options]" (if defined by addOption) and all parameters defined by addParam.

Parameters:
syntaxStr reference to C++ string where the text should be stored

void OFCommandLine::getOptionString ( OFString optionStr  )  const

returns description of all options as a C++ string (multiple text lines).

Text consists of group headings, short and long option names, option descriptions and additional option values.

Parameters:
optionStr reference to C++ string where the text should be stored

void OFCommandLine::getParamString ( OFString paramStr  )  const

returns description of all parameters as a C++ string (multiple text lines).

Text consists of heading "parameters:" and parameter names and descriptions.

Parameters:
paramStr reference to C++ string where the text should be stored

void OFCommandLine::getStatusString ( const E_ParseStatus  status,
OFString statusStr 
)

returns status of parseLine as a C++ string

Parameters:
status value returned by method parseLine
statusStr reference to C++string where the text should be stored

void OFCommandLine::getStatusString ( const E_ParamValueStatus  status,
OFString statusStr 
)

returns status of getParam as a C++ string

Parameters:
status value returned by method getParam
statusStr reference to C++string where the text should be stored

void OFCommandLine::getStatusString ( const E_ValueStatus  status,
OFString statusStr 
)

returns status of getValue as a C++ string

Parameters:
status value returned by method getValue
statusStr reference to C++string where the text should be stored


Member Data Documentation

const int OFCommandLine::AF_NoWarning [static]

do not output a warning message if option has never been checked.

(useful if option is only checked depending on another option)

Definition at line 866 of file ofcmdln.h.


The documentation for this class was generated from the following file:


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1