add Interpreter class
Change-Id: I4786b925c8cd1e7baba2c0e24cf785a7c53c09ec
diff --git a/src/main.cpp b/src/main.cpp
index 3a66ee4..98c68ca 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -11,6 +11,7 @@
#include <iostream>
#include <string>
#include "NETCONF_CLI_VERSION.h"
+#include "interpreter.hpp"
#include "parser.hpp"
#include "schema.hpp"
@@ -35,10 +36,7 @@
using x3::lexeme;
using x3::lit;
-void interpret(cd_ command, Parser& parser)
-{
- parser.changeNode(command.m_path);
-}
+using command = boost::variant<cd_>;
int main(int argc, char* argv[])
{
@@ -69,8 +67,8 @@
break;
try {
- cd_ command = parser.parseCommand(input, std::cout);
- interpret(command, parser);
+ command cmd = parser.parseCommand(input, std::cout);
+ boost::apply_visitor(Interpreter(parser), cmd);
} catch (InvalidCommandException& ex) {
std::cerr << ex.what() << std::endl;
}