10aa0d114SJayanth Othayoth #include "argument.hpp"
20aa0d114SJayanth Othayoth
37047be67SNan Zhou #include "certificate.hpp"
40aa0d114SJayanth Othayoth
57047be67SNan Zhou #include <CLI/CLI.hpp>
67047be67SNan Zhou
77047be67SNan Zhou namespace phosphor::certs
80aa0d114SJayanth Othayoth {
90aa0d114SJayanth Othayoth
processArguments(int argc,const char * const * argv,Arguments & arguments)107047be67SNan Zhou int processArguments(int argc, const char* const* argv, Arguments& arguments)
110aa0d114SJayanth Othayoth {
127047be67SNan Zhou CLI::App app{"OpenBMC Certificate Management Daemon"};
137047be67SNan Zhou app.add_option("-t,--type", arguments.typeStr, "certificate type")
147047be67SNan Zhou ->required();
157047be67SNan Zhou app.add_option("-e,--endpoint", arguments.endpoint, "d-bus endpoint")
167047be67SNan Zhou ->required();
177047be67SNan Zhou app.add_option("-p,--path", arguments.path, "certificate file path")
187047be67SNan Zhou ->required();
197047be67SNan Zhou app.add_option("-u,--unit", arguments.unit,
207047be67SNan Zhou "Optional systemd unit need to reload")
217047be67SNan Zhou ->capture_default_str();
227047be67SNan Zhou CLI11_PARSE(app, argc, argv);
237047be67SNan Zhou phosphor::certs::CertificateType type =
247047be67SNan Zhou phosphor::certs::stringToCertificateType(arguments.typeStr);
25*e3d47cd4SNan Zhou if (type == phosphor::certs::CertificateType::unsupported)
260aa0d114SJayanth Othayoth {
277047be67SNan Zhou std::cerr << "type not specified or invalid." << std::endl;
287047be67SNan Zhou return 1;
290aa0d114SJayanth Othayoth }
307047be67SNan Zhou return 0;
310aa0d114SJayanth Othayoth }
327047be67SNan Zhou } // namespace phosphor::certs
33