23 #include "pybind11/pybind11.h"
24 #include "pybind11/stl.h"
31 using namespace pybind11::literals;
38 py::class_<Dictionary, std::shared_ptr<Dictionary>,
Policy> clsDictionary(mod,
"Dictionary");
40 clsDictionary.def(py::init<>());
41 clsDictionary.def(py::init<std::string &>());
42 clsDictionary.def(py::init<const Dictionary &>());
43 clsDictionary.def(py::init<PolicyFile &>());
44 clsDictionary.def(py::init<const Policy &>());
46 clsDictionary.def(
"getDefinitions", (
Policy::Ptr (Dictionary::*)()) & Dictionary::getDefinitions);
47 clsDictionary.def(
"check", &Dictionary::check);
48 clsDictionary.def(
"definedNames",
50 "names"_a,
"append"_a =
false);
51 clsDictionary.def(
"definedNames",
52 (Dictionary::StringArray (Dictionary::*)()
const) & Dictionary::definedNames);
53 clsDictionary.def(
"getDef", &Dictionary::getDef);
54 clsDictionary.def(
"makeDef", &Dictionary::makeDef);
55 clsDictionary.def(
"hasSubDictionary", &Dictionary::hasSubDictionary);
56 clsDictionary.def(
"getSubDictionary", &Dictionary::getSubDictionary);
59 clsDictionary.def(
"validate",
60 [](Dictionary
const &
self,
Policy const &pol) {
return self.validate(pol); },
"pol"_a);
61 clsDictionary.def(
"validate", [](Dictionary
const &
self,
Policy const &pol,
62 ValidationError *errs) {
self.validate(pol, errs); },
65 clsDictionary.def(
"loadPolicyFiles", (
int (Dictionary::*)(
bool)) & Dictionary::loadPolicyFiles,
67 clsDictionary.def(
"loadPolicyFiles", [](Dictionary &
self,
std::string const &repository) {
68 return self.loadPolicyFiles(repository);
70 clsDictionary.def(
"loadPolicyFiles", [](Dictionary &
self,
std::string const &repository,
bool strict) {
71 return self.loadPolicyFiles(repository, strict);
74 clsDictionary.def(
"getPrefix", &Dictionary::getPrefix);
76 py::class_<Definition> clsDefinition(mod,
"Definition");
78 clsDefinition.def(py::init<const std::string &>(),
"paramName"_a =
"");
80 clsDefinition.def(
"getName", &Definition::getName);
81 clsDefinition.def(
"getPrefix", &Definition::getPrefix);
82 clsDefinition.def(
"setPrefix", &Definition::setPrefix);
83 clsDefinition.def(
"isChildDefinition", &Definition::isChildDefinition);
84 clsDefinition.def(
"setChildDefinition", &Definition::setChildDefinition);
85 clsDefinition.def(
"isWildcard", &Definition::isWildcard);
86 clsDefinition.def(
"setWildcard", &Definition::setWildcard);
87 clsDefinition.def(
"setName", &Definition::setName);
88 clsDefinition.def(
"getData", &Definition::getData);
89 clsDefinition.def(
"setData", &Definition::setData);
90 clsDefinition.def(
"getType", &Definition::getType);
91 clsDefinition.def(
"getTypeName", &Definition::getTypeName);
92 clsDefinition.def(
"getDefault", &Definition::getDefault);
93 clsDefinition.def(
"getDescription", &Definition::getDescription);
94 clsDefinition.def(
"getMaxOccurs", &Definition::getMaxOccurs);
95 clsDefinition.def(
"getMinOccurs", &Definition::getMinOccurs);
96 clsDefinition.def(
"check", &Definition::check);