4 changed files with 67 additions and 3 deletions
@ -0,0 +1,32 @@
|
||||
#include "commandlineutils.h" |
||||
|
||||
#include <string> |
||||
#include <iostream> |
||||
|
||||
using namespace std; |
||||
|
||||
namespace ApplicationUtilities { |
||||
|
||||
bool confirmPrompt(const char *message, Response defaultResponse) |
||||
{ |
||||
cout << message; |
||||
cout << ' ' << '['; |
||||
cout << (defaultResponse == Response::Yes ? 'Y' : 'y'); |
||||
cout << '/' << (defaultResponse == Response::No ? 'N' : 'n'); |
||||
cout << ']' << ' '; |
||||
cout.flush(); |
||||
for(string line; ;) { |
||||
getline(cin, line); |
||||
if(line == "y" || line == "Y" || (defaultResponse == Response::Yes && line.empty())) { |
||||
return true; |
||||
} else if(line == "n" || line == "N" || (defaultResponse == Response::No && line.empty())) { |
||||
return false; |
||||
} else { |
||||
cout << "Please enter [y] or [n]: "; |
||||
cout.flush(); |
||||
} |
||||
} |
||||
} |
||||
|
||||
} // namespace ApplicationUtilities
|
||||
|
@ -0,0 +1,19 @@
|
||||
#ifndef APPLICATIONUTILITIES_COMMANDLINEUTILS_H |
||||
#define APPLICATIONUTILITIES_COMMANDLINEUTILS_H |
||||
|
||||
#include "global.h" |
||||
|
||||
namespace ApplicationUtilities { |
||||
|
||||
enum class Response |
||||
{ |
||||
None, |
||||
Yes, |
||||
No |
||||
}; |
||||
|
||||
bool LIB_EXPORT confirmPrompt(const char *message, Response defaultResponse = Response::None); |
||||
|
||||
} // namespace ApplicationUtilities
|
||||
|
||||
#endif // APPLICATIONUTILITIES_COMMANDLINEUTILS_H
|
Loading…
Reference in new issue