Reference

CommandOption(3cc)

CommandOption is the base class for all command line options.

NAME

CommandOption - CommandOption is the base class for all command line options.

SYNOPSIS

#include <cmdoptns.h>

Inherited by CommandOptionNoArg, and CommandOptionWithArg.

Public Types

enum OptionType { hasArg, noArg, trailing, collect }
OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing args. Option type.

Public Methods

virtual ~CommandOption ()
A virtual destructor just in case. CommandOption (const char *inOptionName, const char *inOptionLetter, const char *inDescription, OptionType inOptionType, bool inRequired=false, CommandOption **ppNext=&defaultCommandOptionList)
CommandOption contructor. virtual void foundOption (CommandOptionParse *cop, const char *value=0)
foundOption is called by the CommandOptionParse object during the parsing of the command line options. virtual void foundOption (CommandOptionParse *cop, const char **value, int num)
foundOption is called by the CommandOptionParse object during the parsing of the command line options. virtual void parseDone (CommandOptionParse *cop)
Once parsing of command line options is complete, this method is called. virtual void performTask (CommandOptionParse *cop)
Once CommandOption objects have completed parsing and there are no errors they may have some specific tasks to perform. virtual bool hasValue ()
For fields with the required flag set, this method is used to determine if the Option has satisfied it's required status.

Public Attributes

const char * optionName
Long option name, these will be preceded with '--' on the command line. const char * optionLetter
option letter, these will be preceded with '-' on the command line. const char * description
A short description of the option for Usage messages. OptionType optionType
This command option's OptionType. bool required
True if this parameter is required. CommandOption * next
This next CommandOption in this list of options or nil if no more options exist.

DETAILED DESCRIPTION

CommandOption is the base class for all command line options.

Command line options can be defined statically and used when constructing a command line parser onject using makeCommandOptionParse. This serves only as a base class to CommandOptionWithArg, CommandOptionRest or CommandOptionNoArg which can also be used to derive more complex classes or even entire applications.

Author: Gianni Mariani <[email protected]>

MEMBER ENUMERATION DOCUMENTATION

enum CommandOption::OptionType

OptionType is for denoting what type of option this is, with an arg, without an arg or the trailing args. Option type.

Enumeration values:

hasArg

This option is associated with a value.

noArg

This option is a flag only.

trailing

Remaining of the command line arguments.

collect

Collect values that are not a value to an option.

CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

virtual CommandOption::~CommandOption () [virtual]

A virtual destructor just in case.

CommandOption::CommandOption (const char * inOptionName, const char * inOptionLetter, const char * inDescription, OptionType inOptionType, bool inRequired = false, CommandOption ** ppNext = &defaultCommandOptionList)

CommandOption contructor.

Note the default values for required and ppNext.

Parameters:

inOptionName

long option name

inOptionLetter

short letter name

inDescription

short description of the option

inOptionType

the type of this option

inRequired

true if option is required

ppNext

the linked list header

MEMBER FUNCTION DOCUMENTATION

virtual void CommandOption::foundOption (CommandOptionParse * cop, const char ** value, int num) [virtual]

foundOption is called by the CommandOptionParse object during the parsing of the command line options.

Parameters:

cop

pointer to the command option parser

value

an array of values of this option

num

number of values in the array

Reimplemented in CommandOptionWithArg.

virtual void CommandOption::foundOption (CommandOptionParse * cop, const char * value = 0) [virtual]

foundOption is called by the CommandOptionParse object during the parsing of the command line options.

Parameters:

cop

pointer to the command option parser

value

the value of this option

Reimplemented in CommandOptionWithArg, and CommandOptionNoArg.

virtual bool CommandOption::hasValue () [virtual]

For fields with the required flag set, this method is used to determine if the Option has satisfied it's required status.

The default methods simply returns true if any values have been found. This could be specialized to return true based on some other criteria.

Reimplemented in CommandOptionWithArg.

virtual void CommandOption::parseDone (CommandOptionParse * cop) [virtual]

Once parsing of command line options is complete, this method is called.

This can be used to perform last minute checks on the options collected.

Parameters:

cop

pointer to the command option parser

virtual void CommandOption::performTask (CommandOptionParse * cop) [virtual]

Once CommandOption objects have completed parsing and there are no errors they may have some specific tasks to perform.

PerformTask must return.

Parameters:

cop

pointer to the command option parser

MEMBER DATA DOCUMENTATION

const char* CommandOption::description

A short description of the option for Usage messages.

e.g. Usage: mycommand : blah -f, --file <DESCRIPTION here>

CommandOption* CommandOption::next

This next CommandOption in this list of options or nil if no more options exist.

const char* CommandOption::optionLetter

option letter, these will be preceded with '-' on the command line.

e.g. -f foo.x

const char* CommandOption::optionName

Long option name, these will be preceded with '--' on the command line.

e.g. --file foo.x

OptionType CommandOption::optionType

This command option's OptionType.

bool CommandOption::required

True if this parameter is required.

If the parameter is not supplied and required is true, an error will be flagged in the option processor.

AUTHOR

Generated automatically by Doxygen for CommonC++ from the source code.