X-Git-Url: https://vaikene.ee/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2FCLI%2Fmain.h;fp=src%2Fmain%2FCLI%2Fmain.h;h=97a123734eb82ccb0245c6aef1bec974716894b0;hb=2ab8cd3d68a55773240c9424aa0e14d678fd2dbb;hp=41ec6b504ce6b41c143b63262f51513f03992fac;hpb=563d9c2c35a46b11566ec8440beeb8006bc6aeb0;p=evaf diff --git a/src/main/CLI/main.h b/src/main/CLI/main.h index 41ec6b5..97a1237 100644 --- a/src/main/CLI/main.h +++ b/src/main/CLI/main.h @@ -1,5 +1,5 @@ /** - * @file main/cli/main.h + * @file main/CLI/main.h * @brief The main eVaf CLI application class * * Copyright (c) 2011 Enar Vaikene @@ -17,19 +17,71 @@ */ #ifndef __CLI_MAIN_H -#define __CLI_MAIN_H +# define __CLI_MAIN_H #include +namespace eVaf { /** - * The main eVaf CLI application. + * The main eVaf command line interface (CLI) application. * * eVafGUI is the main CLI executable. It provides an empty CLI application * that is used to load other eVaf modules. */ -namespace eVafCLI { +namespace CLI { -} // namespace eVafCLI +/** + * Internal implementation of the main eVaf CLI application. + */ +namespace Internal { +} // namespace eVaf::CLI::Internal + +/** + * The main eVaf CLI application class + */ +class Application : public QCoreApplication +{ + Q_OBJECT + +public: + + Application(int & argc, char ** argv); + + virtual ~Application(); + + +public: // Static methods + + /** + * Processes command-line arguments + * @param argc Number of command-line arguments + * @param argv List of command-line arguments + * @return True if ok; false if the application should terminate + * + * This function processes command-line arguments and should be called before running + * the application. + */ + static bool processCommandLine(int argc, char ** argv); + + /** + * Prints out help for command-line arguments. + */ + static void printHelp(); + + /** + * Prints out help for Qt command-line arguments. + */ + static void printQtHelp(); + + /** + * Prints out version information. + */ + static void printVersion(); + +}; + +} // namespace eVaf::CLI +} // namespace eVaf #endif // main.h