Loading...
Searching...
No Matches
juce::ConsoleApplication Struct Reference

## Detailed Description

Represents a the set of commands that a console app can perform, and provides helper functions for performing them.

When using these helper classes to implement a console app, you probably want to do something along these lines:

int main (int argc, char* argv[])
{
ConsoleApplication app;
app.addHelpCommand ("--help|-h", "Usage:", true);
app.addVersionCommand ("--version|-v", "MyApp version 1.2.3");
app.addCommand ({ "--foo",
"--foo filename",
"Performs a foo operation on the given file",
[] (const auto& args) { doFoo (args); }});
return app.findAndRunCommand (argc, argv);
}
juce::ConsoleApplication
Represents a the set of commands that a console app can perform, and provides helper functions for pe...
Definition juce_ConsoleApplication.h:249
juce::ConsoleApplication::findAndRunCommand
int findAndRunCommand(const ArgumentList &, bool optionMustBeFirstArg=false) const
Looks for the first command in the list which matches the given arguments, and tries to invoke it.
juce::ConsoleApplication::addCommand
void addCommand(Command)
Adds a command to the list.
juce::ConsoleApplication::addHelpCommand
void addHelpCommand(String helpArgument, String helpMessage, bool makeDefaultCommand)
Adds a help command to the list.
juce::ConsoleApplication::addVersionCommand
void addVersionCommand(String versionArgument, String versionText)
Adds a command that will print the given text in response to the "--version" option.

See also
  ArgumentList

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

- juce_core/misc/juce_ConsoleApplication.h

## Classes

struct | Command
| Represents a command that can be executed if its command-line arguments are matched. More...

## Public Member Functions

void | addCommand (Command)
| Adds a command to the list.
void | addDefaultCommand (Command)
| Adds a command to the list, and marks it as one which is invoked if no other command matches.
void | addVersionCommand (String versionArgument, String versionText)
| Adds a command that will print the given text in response to the "--version" option.
void | addHelpCommand (String helpArgument, String helpMessage, bool makeDefaultCommand)
| Adds a help command to the list.
void | printCommandList (const ArgumentList &) const
| Prints out the list of commands and their short descriptions in a format that's suitable for use as help.
void | printCommandDetails (const ArgumentList &, const Command &) const
| Prints out a longer description of a particular command, based on its longDescription member.
int | findAndRunCommand (const ArgumentList &, bool optionMustBeFirstArg=false) const
| Looks for the first command in the list which matches the given arguments, and tries to invoke it.
int | findAndRunCommand (int argc, char *argv[]) const
| Creates an ArgumentList object from the argc and argv variablrs, and invokes findAndRunCommand() using it.
const Command * | findCommand (const ArgumentList &, bool optionMustBeFirstArg) const
| Looks for the first command in the list which matches the given arguments.
const std::vector< Command > & | getCommands () const
| Gives read-only access to the list of registered commands.

## Static Public Member Functions

static void | fail (String errorMessage, int returnCode=1)
| Throws a failure exception to cause a command-line app to terminate.
static int | invokeCatchingFailures (std::function< int()> &&functionToCall)
| Invokes a function, catching any fail() calls that it might trigger, and handling them by printing their error message and returning their error code.

## Member Functions

## addCommand()

void juce::ConsoleApplication::addCommand | ( | Command |  | ) |

Adds a command to the list.

## addDefaultCommand()

void juce::ConsoleApplication::addDefaultCommand | ( | Command |  | ) |

Adds a command to the list, and marks it as one which is invoked if no other command matches.

## addVersionCommand()

void juce::ConsoleApplication::addVersionCommand | ( | String | versionArgument,
|  | String | versionText )

Adds a command that will print the given text in response to the "--version" option.

## addHelpCommand()

void juce::ConsoleApplication::addHelpCommand | ( | String | helpArgument,
|  | String | helpMessage,
|  | bool | makeDefaultCommand )

Adds a help command to the list.

This command will print the user-supplied message that's passed in here as an argument, followed by a list of all the registered commands.

## printCommandList()

void juce::ConsoleApplication::printCommandList | ( | const ArgumentList & |  | ) | const

Prints out the list of commands and their short descriptions in a format that's suitable for use as help.

## printCommandDetails()

void juce::ConsoleApplication::printCommandDetails | ( | const ArgumentList & | ,
|  | const Command & | ) const

Prints out a longer description of a particular command, based on its longDescription member.

## fail()

void juce::ConsoleApplication::fail | ( | String | errorMessage,
|  | int | returnCode = 1 )

static

Throws a failure exception to cause a command-line app to terminate.

This is intended to be called from code in a Command, so that the exception will be automatically caught and turned into a printed error message and a return code which will be returned from main().

See also
  ConsoleApplication::invokeCatchingFailures()

## invokeCatchingFailures()

int juce::ConsoleApplication::invokeCatchingFailures | ( | std::function< int()> && | functionToCall | ) |

static

Invokes a function, catching any fail() calls that it might trigger, and handling them by printing their error message and returning their error code.

See also
  ConsoleApplication::fail()

## findAndRunCommand() [1/2]

int juce::ConsoleApplication::findAndRunCommand | ( | const ArgumentList & | ,
|  | bool | optionMustBeFirstArg = false ) const

Looks for the first command in the list which matches the given arguments, and tries to invoke it.

If no command is found, and if there is no default command to run, it fails with a suitable error message. If the command calls the fail() function, this will throw an exception that gets automatically caught and handled, and this method will return the error code that was passed into the fail() call.

If optionMustBeFirstArg is true, then only the first argument will be looked at when searching the available commands - this lets you do 'git' style commands where the executable name is followed by a verb.

## findAndRunCommand() [2/2]

int juce::ConsoleApplication::findAndRunCommand | ( | int | argc,
|  | char * | argv[] ) const

Creates an ArgumentList object from the argc and argv variablrs, and invokes findAndRunCommand() using it.

## findCommand()

const Command * juce::ConsoleApplication::findCommand | ( | const ArgumentList & | ,
|  | bool | optionMustBeFirstArg ) const

Looks for the first command in the list which matches the given arguments.

If none is found, this returns either the default command (if one is set) or nullptr. If optionMustBeFirstArg is true, then only the first argument will be looked at when searching the available commands - this lets you do 'git' style commands where the executable name is followed by a verb.

## getCommands()

const std::vector< Command > & juce::ConsoleApplication::getCommands | ( |  | ) | const

Gives read-only access to the list of registered commands.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited