tools: nfdc status commands
refs #3780
Change-Id: I5222aacc0a7134978e9496c68a3b915dac4aee18
diff --git a/tools/nfdc/available-commands.cpp b/tools/nfdc/available-commands.cpp
index 3cd540a..23d55e3 100644
--- a/tools/nfdc/available-commands.cpp
+++ b/tools/nfdc/available-commands.cpp
@@ -25,78 +25,20 @@
#include "available-commands.hpp"
#include "help.hpp"
-#include "status-report.hpp"
-#include "status-main.hpp"
+#include "status.hpp"
+#include "legacy-status.hpp"
#include "legacy-nfdc.hpp"
namespace nfd {
namespace tools {
namespace nfdc {
-static int
-statusReport(ExecuteContext& ctx)
-{
- ReportFormat fmt = ctx.args.get<ReportFormat>("format", ReportFormat::TEXT);
- switch (fmt) {
- case ReportFormat::XML:
- return statusMain(std::vector<std::string>{"-x"}, ctx.face, ctx.keyChain);
- case ReportFormat::TEXT:
- return statusMain(std::vector<std::string>{}, ctx.face, ctx.keyChain);
- }
- BOOST_ASSERT(false);
- return 1;
-}
-
-static int
-statusList(ExecuteContext& ctx, const std::string& option)
-{
- return statusMain(std::vector<std::string>{option}, ctx.face, ctx.keyChain);
-}
-
-static int
-legacyNfdStatus(ExecuteContext& ctx)
-{
- auto args = ctx.args.get<std::vector<std::string>>("args");
- return statusMain(args, ctx.face, ctx.keyChain);
-}
-
void
registerCommands(CommandParser& parser)
{
registerHelpCommand(parser);
-
- CommandDefinition defStatusReport("status", "report");
- defStatusReport
- .setTitle("print NFD status report")
- .addArg("format", ArgValueType::REPORT_FORMAT, Required::NO, Positional::YES);
- parser.addCommand(defStatusReport, &statusReport);
-
- struct StatusCommandDefinition
- {
- std::string noun;
- std::string verb;
- std::string legacyOption;
- std::string title;
- };
- const std::vector<StatusCommandDefinition> statusCommands{
- {"status", "show", "-v", "print general status"},
- {"face", "list", "-f", "print face list"},
- {"channel", "list", "-c", "print channel list"},
- {"strategy", "list", "-s", "print strategy choices"},
- {"fib", "list", "-b", "print FIB entries"},
- {"route", "list", "-r", "print RIB routes"}
- };
- for (const StatusCommandDefinition& scd : statusCommands) {
- CommandDefinition def(scd.noun, scd.verb);
- def.setTitle(scd.title);
- parser.addCommand(def, bind(&statusList, _1, scd.legacyOption));
- }
- parser.addAlias("status", "show", "list");
-
- CommandDefinition defLegacyNfdStatus("legacy-nfd-status", "");
- defLegacyNfdStatus
- .addArg("args", ArgValueType::ANY, Required::NO, Positional::YES);
- parser.addCommand(defLegacyNfdStatus, &legacyNfdStatus, AVAILABLE_IN_ALL & ~AVAILABLE_IN_HELP);
+ registerStatusCommands(parser);
+ registerLegacyStatusCommand(parser);
struct LegacyNfdcCommandDefinition
{