Add support for executing RPCs
Creating a temporary YangAccess for RPC input means I need to somehow
give the right libyang schemas. For that reason I supply a callable
which is able to fetch the schema and create a YangAccess instance for
ProxyDatastore.
The ProxyDatastore class now has a simple mechanism for deciding whether
to use the normal datastore and the temporary based on a path prefix.
Change-Id: Ib455f53237598bc2620161a44fb89c48ddfeb6e3
diff --git a/src/ast_path.hpp b/src/ast_path.hpp
index 4e21167..d02be60 100644
--- a/src/ast_path.hpp
+++ b/src/ast_path.hpp
@@ -81,9 +81,15 @@
std::string m_name;
};
+struct rpcNode_ {
+ bool operator==(const rpcNode_& other) const;
+
+ std::string m_name;
+};
+
struct schemaNode_ {
boost::optional<module_> m_prefix;
- std::variant<container_, list_, nodeup_, leaf_, leafList_> m_suffix;
+ std::variant<container_, list_, nodeup_, leaf_, leafList_, rpcNode_> m_suffix;
schemaNode_();
schemaNode_(decltype(m_suffix) node);
@@ -93,7 +99,7 @@
struct dataNode_ {
boost::optional<module_> m_prefix;
- std::variant<container_, listElement_, nodeup_, leaf_, leafListElement_, leafList_, list_> m_suffix;
+ std::variant<container_, listElement_, nodeup_, leaf_, leafListElement_, leafList_, list_, rpcNode_> m_suffix;
dataNode_();
dataNode_(decltype(m_suffix) node);