diff options
Diffstat (limited to 'aesxx/utils/file_cmd_parser.hpp')
| -rw-r--r-- | aesxx/utils/file_cmd_parser.hpp | 71 |
1 files changed, 30 insertions, 41 deletions
diff --git a/aesxx/utils/file_cmd_parser.hpp b/aesxx/utils/file_cmd_parser.hpp index e199409..4a504c8 100644 --- a/aesxx/utils/file_cmd_parser.hpp +++ b/aesxx/utils/file_cmd_parser.hpp @@ -17,8 +17,7 @@ #include <string> #include <utility> -class FileSettings : public command_line::SettingsParser -{ +class FileSettings : public command_line::SettingsParser { public: aes::Algorithm algorithm = AES_AES128; aes::Mode mode = AES_ECB; @@ -28,54 +27,44 @@ public: std::string key; std::string iv; - explicit FileSettings(const std::string& argv0) - : SettingsParser{argv0} - { - visible.add_options() - ("algorithm,a", - boost::program_options::value<aes::Algorithm>(&algorithm) - ->required() - ->value_name("NAME"), - "set algorithm") - ("mode,m", - boost::program_options::value<aes::Mode>(&mode) - ->required() - ->value_name("MODE"), - "set mode of operation") - ("key,k", - boost::program_options::value<std::string>(&key) - ->required() - ->value_name("KEY"), - "set encryption key") - ("iv,v", - boost::program_options::value<std::string>(&iv) - ->value_name("BLOCK"), - "set initialization vector") - ("input,i", - boost::program_options::value<std::string>(&input_path) - ->required() - ->value_name("PATH"), - "set input file path") - ("output,o", - boost::program_options::value<std::string>(&output_path) - ->required() - ->value_name("PATH"), - "set output file path"); + explicit FileSettings(const std::string& argv0) : SettingsParser{argv0} { + visible.add_options()("algorithm,a", + boost::program_options::value<aes::Algorithm>(&algorithm) + ->required() + ->value_name("NAME"), + "set algorithm"); + visible.add_options()( + "mode,m", + boost::program_options::value<aes::Mode>(&mode)->required()->value_name("MODE"), + "set mode of operation"); + visible.add_options()( + "key,k", + boost::program_options::value<std::string>(&key)->required()->value_name("KEY"), + "set encryption key"); + visible.add_options()("iv,v", + boost::program_options::value<std::string>(&iv)->value_name("BLOCK"), + "set initialization vector"); + visible.add_options()( + "input,i", + boost::program_options::value<std::string>(&input_path)->required()->value_name("PATH"), + "set input file path"); + visible.add_options()("output,o", + boost::program_options::value<std::string>(&output_path) + ->required() + ->value_name("PATH"), + "set output file path"); } - const char* get_short_description() const override - { + const char* get_short_description() const override { return "[-h|--help] [-a|--algorithm NAME] [-m|--mode MODE]" " [-k|--key KEY] [-v|--iv BLOCK]" " [-i|--input PATH] [-o|--output PATH]"; } - void parse(int argc, char** argv) override - { + void parse(int argc, char** argv) override { SettingsParser::parse(argc, argv); - if (aes::mode_requires_init_vector(mode) && iv.empty()) - { + if (aes::mode_requires_init_vector(mode) && iv.empty()) { throw boost::program_options::error{ "an initialization vector is required for the selected mode of operation"}; } |
