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");
694 S_Schema_Node
child()
override {
return nullptr;};
696 S_Schema_Node_List is_key();
709 deleter(derived->deleter)
712 throw std::invalid_argument(
"Type must be LYS_LEAFLIST");
729 std::vector<S_Restr> must();
735 std::vector<std::string> dflt();
740 S_Schema_Node
child()
override {
return nullptr;};
753 deleter(derived->deleter)
755 if (derived->node->nodetype !=
LYS_LIST) {
756 throw std::invalid_argument(
"Type must be LYS_LIST");
777 std::vector<S_Restr> must();
779 std::vector<S_Tpdf> tpdf();
781 std::vector<S_Schema_Node_Leaf> keys();
783 std::vector<S_Unique> unique();
802 deleter(derived->deleter)
805 throw std::invalid_argument(
"Type must be LYS_ANYDATA or LYS_ANYXML");
820 std::vector<S_Restr> must();
833 deleter(derived->deleter)
835 if (derived->node->nodetype !=
LYS_USES) {
836 throw std::invalid_argument(
"Type must be LYS_USES");
851 std::vector<S_Refine> refine();
853 std::vector<S_Schema_Node_Augment> augment();
855 S_Schema_Node_Grp grp();
868 deleter(derived->deleter)
871 throw std::invalid_argument(
"Type must be LYS_GROUPING");
884 std::vector<S_Tpdf> tpdf();
897 deleter(derived->deleter)
899 if (derived->node->nodetype !=
LYS_CASE) {
900 throw std::invalid_argument(
"Type must be LYS_CASE");
924 deleter(derived->deleter)
927 throw std::invalid_argument(
"Type must be LYS_INOUT or LYS_OUTPUT");
942 std::vector<S_Tpdf> tpdf();
944 std::vector<S_Restr> must();
957 deleter(derived->deleter)
959 if (derived->node->nodetype !=
LYS_NOTIF) {
960 throw std::invalid_argument(
"Type must be LYS_NOTIF");
975 std::vector<S_Tpdf> tpdf();
977 std::vector<S_Restr> must();
990 deleter(derived->deleter)
992 if (derived->node->nodetype !=
LYS_ACTION && derived->node->nodetype !=
LYS_RPC) {
993 throw std::invalid_argument(
"Type must be LYS_ACTION or LYS_RPC");
1006 std::vector<S_Tpdf> tpdf();
1018 node(derived->node),
1019 deleter(derived->deleter)
1022 throw std::invalid_argument(
"Type must be LYS_AUGMENT");
1076 std::vector<S_Ext_Instance> ext_instance();
1112 S_Refine_Mod_List list();
1116 uint16_t target_type;
1145 std::vector<S_Ext_Instance> ext();
1151 std::vector<S_Restr> must();
1153 std::vector<std::
string> dflt() LY_NEW_STRING_LIST(refine, dflt, dflt_size);
1197 std::vector<std::string>
dflt() LY_NEW_STRING_LIST(deviate, dflt, dflt_size);
1199 std::vector<S_Ext_Instance> ext();
1219 S_Schema_Node orig_node();
1225 std::vector<S_Deviate> deviate();
1227 std::vector<S_Ext_Instance> ext();
1243 const
char *
prefix() {
return import->prefix;};
1245 char *
rev() {
return &
import->rev[0];};
1251 const
char *
dsc() {
return import->dsc;};
1253 const char *
ref() {
return import->ref;};
1269 char *
rev() {
return &include->rev[0];};
1275 const
char *
dsc() {
return include->dsc;};
1327 const
char *units() {
return tpdf->units;};
1333 const
char *dflt() {
return tpdf->dflt;};
1347 std::vector<std::string>
expr() LY_NEW_STRING_LIST(unique, expr, expr_size);
1349 uint8_t expr_size() {
return unique->expr_size;};
1379 std::vector<S_Iffeature> iffeature() LY_NEW_LIST(feature, iffeature, iffeature_size,
Iffeature);
1381 S_Module module() LY_NEW(feature, module,
Module);
1383 S_Set depfeatures() LY_NEW(feature, depfeatures,
Set);
1420 When(
struct lys_when *when, S_Deleter deleter =
nullptr);
1429 std::vector<S_Ext_Instance> ext();
1461 std::vector<S_Iffeature> iffeature() LY_NEW_LIST(ident, iffeature, iffeature_size,
Iffeature);
1463 S_Module module() LY_NEW(ident, module,
Module);
1465 std::vector<S_Ident> base();
1467 S_Set der() LY_NEW(ident, der,
Set);