Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 1 | #include "argument.hpp" |
| 2 | |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 3 | #include "certificate.hpp" |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 4 | |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 5 | #include <CLI/CLI.hpp> |
| 6 | |
| 7 | namespace phosphor::certs |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 8 | { |
| 9 | |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 10 | int processArguments(int argc, const char* const* argv, Arguments& arguments) |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 11 | { |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 12 | CLI::App app{"OpenBMC Certificate Management Daemon"}; |
| 13 | app.add_option("-t,--type", arguments.typeStr, "certificate type") |
| 14 | ->required(); |
| 15 | app.add_option("-e,--endpoint", arguments.endpoint, "d-bus endpoint") |
| 16 | ->required(); |
| 17 | app.add_option("-p,--path", arguments.path, "certificate file path") |
| 18 | ->required(); |
| 19 | app.add_option("-u,--unit", arguments.unit, |
| 20 | "Optional systemd unit need to reload") |
| 21 | ->capture_default_str(); |
| 22 | CLI11_PARSE(app, argc, argv); |
| 23 | phosphor::certs::CertificateType type = |
| 24 | phosphor::certs::stringToCertificateType(arguments.typeStr); |
Nan Zhou | e3d47cd | 2022-09-16 03:41:53 +0000 | [diff] [blame] | 25 | if (type == phosphor::certs::CertificateType::unsupported) |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 26 | { |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 27 | std::cerr << "type not specified or invalid." << std::endl; |
| 28 | return 1; |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 29 | } |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 30 | return 0; |
Jayanth Othayoth | 0aa0d11 | 2018-09-03 03:47:27 -0500 | [diff] [blame] | 31 | } |
Nan Zhou | 7047be6 | 2022-03-10 12:34:06 -0800 | [diff] [blame] | 32 | } // namespace phosphor::certs |