diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.cpp | 10 | ||||
| -rw-r--r-- | src/options.cpp | 8 | ||||
| -rw-r--r-- | src/options.h | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/main.cpp b/src/main.cpp index 8f6dac5..9b74c08 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -29,14 +29,24 @@ #include "options.h" #include "restore.h" +#include "program_info.h" + #include <iostream> +void +print_version() +{ + std::cout << PROGRAM_NAME_STR << " " << PROGRAM_VERSION_STR << std::endl; +} + int main(int argc, char **argv) { try { if (OptionParser::isHelp(argc, argv)) { OptionParser::printUsage(); + } else if (OptionParser::isVersion(argc, argv)) { + print_version(); } else if (OptionParser::isBackup(argc, argv)) { backup(OptionParser::parseBackup(argc, argv)); } else if (OptionParser::isRestore(argc, argv)) { diff --git a/src/options.cpp b/src/options.cpp index c44fd06..a5912b6 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -83,6 +83,8 @@ OptionParser::printUsage() std::cout << " Or: " << PROGRAM_NAME_STR << " restore"; std::cout << "[-B BUFFER_SIZE] -d DIFFFILE -o OUTFILE" << std::endl; + std::cout << " Or: " << PROGRAM_NAME_STR << " version" << std::endl; + std::cout << " Or: " << PROGRAM_NAME_STR << " help" << std::endl; } @@ -93,6 +95,12 @@ OptionParser::isHelp(int argc, char **argv) } bool +OptionParser::isVersion(int argc, char **argv) +{ + return isOperation(argc, argv, "version"); +} + +bool OptionParser::isBackup(int argc, char **argv) { return isOperation(argc, argv, "backup"); diff --git a/src/options.h b/src/options.h index 80cb8f8..ba7e7ac 100644 --- a/src/options.h +++ b/src/options.h @@ -90,6 +90,7 @@ class OptionParser public: static void printUsage(); static bool isHelp(int argc, char **argv); + static bool isVersion(int argc, char **argv); static bool isBackup(int argc, char **argv); static bool isRestore(int argc, char **argv); ; |
