diff options
author | Jack Lloyd <[email protected]> | 2017-10-22 12:39:45 -0400 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2017-10-24 11:51:28 -0400 |
commit | 3feae2f7893090b263e762c79b47b99f7f4d07ba (patch) | |
tree | 09f0bac281886ff0003d8d07ee90c7aa2e729985 /src/cli/cli_exceptions.h | |
parent | da0a1124242e3a108819df58054e8dd909268a00 (diff) |
Refactor option parsing in cli and test code
Allows cleaning up header includes, also somewhat smaller binaries.
Diffstat (limited to 'src/cli/cli_exceptions.h')
-rw-r--r-- | src/cli/cli_exceptions.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/cli/cli_exceptions.h b/src/cli/cli_exceptions.h new file mode 100644 index 000000000..ed7be3137 --- /dev/null +++ b/src/cli/cli_exceptions.h @@ -0,0 +1,44 @@ +/* +* (C) 2015 Jack Lloyd +* +* Botan is released under the Simplified BSD License (see license.txt) +*/ + +#ifndef BOTAN_CLI_EXCEPTIONS_H_ +#define BOTAN_CLI_EXCEPTIONS_H_ + +namespace Botan_CLI { + +class CLI_Error : public std::runtime_error + { + public: + explicit CLI_Error(const std::string& s) : std::runtime_error(s) {} + }; + +class CLI_IO_Error : public CLI_Error + { + public: + CLI_IO_Error(const std::string& op, const std::string& who) : + CLI_Error("Error " + op + " " + who) {} + }; + +class CLI_Usage_Error : public CLI_Error + { + public: + explicit CLI_Usage_Error(const std::string& what) : CLI_Error(what) {} + }; + +/* Thrown eg when a requested feature was compiled out of the library + or is not available, eg hashing with +*/ +class CLI_Error_Unsupported : public CLI_Error + { + public: + CLI_Error_Unsupported(const std::string& what, + const std::string& who) + : CLI_Error(what + " with '" + who + "' unsupported or not available") {} + }; + +} + +#endif |