Add support for leafrefs
Change-Id: I2286aaa96abd960d13bb0b04a778fb264b2f74a4
diff --git a/src/static_schema.hpp b/src/static_schema.hpp
index 4af6793..559be6c 100644
--- a/src/static_schema.hpp
+++ b/src/static_schema.hpp
@@ -30,6 +30,7 @@
yang::LeafDataTypes m_type;
std::set<std::string> m_enumValues;
ModuleValuePair m_identBase;
+ std::string m_leafRefSource;
};
struct module {
@@ -58,6 +59,7 @@
bool listHasKey(const schemaPath_& location, const ModuleNodePair& node, const std::string& key) const override;
const std::set<std::string> listKeys(const schemaPath_& location, const ModuleNodePair& node) const override;
yang::LeafDataTypes leafType(const schemaPath_& location, const ModuleNodePair& node) const override;
+ yang::LeafDataTypes leafrefBase(const schemaPath_& location, const ModuleNodePair& node) const override;
const std::set<std::string> enumValues(const schemaPath_& location, const ModuleNodePair& node) const override;
const std::set<std::string> validIdentities(const schemaPath_& location, const ModuleNodePair& node, const Prefixes prefixes) const override;
std::set<std::string> childNodes(const schemaPath_& path, const Recursion) const override;
@@ -66,6 +68,7 @@
void addLeaf(const std::string& location, const std::string& name, const yang::LeafDataTypes& type);
void addLeafEnum(const std::string& location, const std::string& name, std::set<std::string> enumValues);
void addLeafIdentityRef(const std::string& location, const std::string& name, const ModuleValuePair& base);
+ void addLeafRef(const std::string& location, const std::string& name, const std::string& source);
void addList(const std::string& location, const std::string& name, const std::set<std::string>& keys);
void addModule(const std::string& name);
void addIdentity(const std::optional<ModuleValuePair>& base, const ModuleValuePair& name);