23 #include "Internal.hpp"
55 const char *
dsc() {
return module->
dsc;};
57 const char *
ref() {
return module->
ref;};
59 const char *
org() {
return module->
org;};
95 const char *
ns() {
return module->
ns;};
133 const
char *
name() {
return submodule->name;};
137 const char *
dsc() {
return submodule->
dsc;};
139 const char *
ref() {
return submodule->
ref;};
141 const char *
org() {
return submodule->
org;};
211 const char *
dsc() {
return info_bit->
dsc;};
213 const char *
ref() {
return info_bit->
ref;};
223 std::vector<S_Ext_Instance> ext();
225 std::vector<S_Iffeature> iffeature();
239 std::vector<S_Type_Bit> bit();
275 const char *
dsc() {
return info_enum->
dsc;};
277 const char *
ref() {
return info_enum->
ref;};
287 std::vector<S_Ext_Instance> ext();
289 std::vector<S_Iffeature> iffeature();
303 std::vector<S_Type_Enum> enm();
319 std::vector<S_Ident>
ref();
365 S_Schema_Node_Leaf target();
399 std::vector<S_Type> types();
417 S_Type_Info_Binary binary();
419 S_Type_Info_Bits bits();
421 S_Type_Info_Dec64 dec64();
423 S_Type_Info_Enums enums();
425 S_Type_Info_Ident ident();
427 S_Type_Info_Inst inst();
429 S_Type_Info_Num num();
431 S_Type_Info_Lref lref();
433 S_Type_Info_Str str();
435 S_Type_Info_Union uni();
455 std::vector<S_Ext_Instance> ext();
478 std::vector<S_Ext_Instance> ext();
509 std::vector<S_Ext_Instance> ext();
511 S_Ext
def() LY_NEW(ext_instance, def,
Ext);
513 void *priv() {
return ext_instance->priv;};
517 LYS_NODE nodetype() {
return ext_instance->nodetype;};
542 std::vector<S_Ext_Instance> ext();
550 virtual S_Schema_Node parent();
552 virtual S_Schema_Node child();
554 virtual S_Schema_Node next();
556 virtual S_Schema_Node prev();
559 std::string path(
int options = 0);
563 std::vector<S_Schema_Node> child_instantiables(
int options);
565 S_Set find_path(
const char *path);
567 S_Set xpath_atomize(
enum lyxp_node_type ctx_node_type,
const char *expr,
int options);
569 S_Set xpath_atomize(
int options);
574 std::vector<S_Schema_Node> tree_for();
576 std::vector<S_Schema_Node> tree_dfs();
611 deleter(derived->deleter)
614 throw std::invalid_argument(
"Type must be LYS_CONTAINER");
644 deleter(derived->deleter)
647 throw std::invalid_argument(
"Type must be LYS_CHOICE");
660 S_Schema_Node dflt();
673 deleter(derived->deleter)
675 if (derived->node->nodetype !=
LYS_LEAF) {
676 throw std::invalid_argument(
"Type must be LYS_LEAF");
696 S_Schema_Node
child()
override {
return nullptr;};
698 S_Schema_Node_List is_key();
711 deleter(derived->deleter)
714 throw std::invalid_argument(
"Type must be LYS_LEAFLIST");
733 std::vector<S_Restr> must();
739 std::vector<std::string> dflt();
744 S_Schema_Node
child()
override {
return nullptr;};
757 deleter(derived->deleter)
759 if (derived->node->nodetype !=
LYS_LIST) {
760 throw std::invalid_argument(
"Type must be LYS_LIST");
781 std::vector<S_Restr> must();
783 std::vector<S_Tpdf> tpdf();
785 std::vector<S_Schema_Node_Leaf> keys();
787 std::vector<S_Unique> unique();
806 deleter(derived->deleter)
809 throw std::invalid_argument(
"Type must be LYS_ANYDATA or LYS_ANYXML");
824 std::vector<S_Restr> must();
837 deleter(derived->deleter)
839 if (derived->node->nodetype !=
LYS_USES) {
840 throw std::invalid_argument(
"Type must be LYS_USES");
855 std::vector<S_Refine> refine();
857 std::vector<S_Schema_Node_Augment> augment();
859 S_Schema_Node_Grp grp();
872 deleter(derived->deleter)
875 throw std::invalid_argument(
"Type must be LYS_GROUPING");
888 std::vector<S_Tpdf> tpdf();
901 deleter(derived->deleter)
903 if (derived->node->nodetype !=
LYS_CASE) {
904 throw std::invalid_argument(
"Type must be LYS_CASE");
928 deleter(derived->deleter)
931 throw std::invalid_argument(
"Type must be LYS_INOUT or LYS_OUTPUT");
946 std::vector<S_Tpdf> tpdf();
948 std::vector<S_Restr> must();
961 deleter(derived->deleter)
963 if (derived->node->nodetype !=
LYS_NOTIF) {
964 throw std::invalid_argument(
"Type must be LYS_NOTIF");
979 std::vector<S_Tpdf> tpdf();
981 std::vector<S_Restr> must();
994 deleter(derived->deleter)
996 if (derived->node->nodetype !=
LYS_ACTION && derived->node->nodetype !=
LYS_RPC) {
997 throw std::invalid_argument(
"Type must be LYS_ACTION or LYS_RPC");
1010 std::vector<S_Tpdf> tpdf();
1022 node(derived->node),
1023 deleter(derived->deleter)
1026 throw std::invalid_argument(
"Type must be LYS_AUGMENT");
1080 std::vector<S_Ext_Instance> ext_instance();
1116 S_Refine_Mod_List list();
1120 uint16_t target_type;
1149 std::vector<S_Ext_Instance> ext();
1155 std::vector<S_Restr> must();
1157 std::vector<std::
string> dflt() LY_NEW_STRING_LIST(refine, dflt, dflt_size);
1201 std::vector<std::string>
dflt() LY_NEW_STRING_LIST(deviate, dflt, dflt_size);
1203 std::vector<S_Ext_Instance> ext();
1223 S_Schema_Node orig_node();
1229 std::vector<S_Deviate> deviate();
1231 std::vector<S_Ext_Instance> ext();
1247 const
char *
prefix() {
return import->prefix;};
1249 char *
rev() {
return &
import->rev[0];};
1255 const
char *
dsc() {
return import->dsc;};
1257 const char *
ref() {
return import->ref;};
1273 char *
rev() {
return &include->rev[0];};
1279 const
char *
dsc() {
return include->dsc;};
1331 const
char *units() {
return tpdf->units;};
1337 const
char *dflt() {
return tpdf->dflt;};
1351 std::vector<std::string>
expr() LY_NEW_STRING_LIST(unique, expr, expr_size);
1353 uint8_t expr_size() {
return unique->expr_size;};
1383 std::vector<S_Iffeature> iffeature() LY_NEW_LIST(feature, iffeature, iffeature_size,
Iffeature);
1385 S_Module module() LY_NEW(feature, module,
Module);
1387 S_Set depfeatures() LY_NEW(feature, depfeatures,
Set);
1424 When(
struct lys_when *when, S_Deleter deleter =
nullptr);
1433 std::vector<S_Ext_Instance> ext();
1465 std::vector<S_Iffeature> iffeature() LY_NEW_LIST(ident, iffeature, iffeature_size,
Iffeature);
1467 S_Module module() LY_NEW(ident, module,
Module);
1469 std::vector<S_Ident> base();
1471 S_Set der() LY_NEW(ident, der,
Set);