19{
20
21 using namespace pybind11::literals;
22
23
24 m.doc() = "C++ implementation of the application dal modules";
25
26 py::class_<OksFile>(m, "OksFile");
27
28 py::class_<OksClass, std::unique_ptr<OksClass, py::nodelete>>(m, "OksClass")
29 .def("get_name",&OksClass::get_name, py::return_value_policy::reference_internal)
30 .def("get_description",&OksClass::get_description, py::return_value_policy::reference_internal)
31 .def("get_is_abstract",&OksClass::get_is_abstract)
32 .def("all_super_classes",&OksClass::all_super_classes, py::return_value_policy::reference_internal)
33 .def("direct_super_classes",&OksClass::direct_super_classes, py::return_value_policy::reference_internal)
34 .def("all_sub_classes",&OksClass::all_sub_classes, py::return_value_policy::reference_internal)
35 ;
36 py::class_<OksObject, std::unique_ptr<OksObject, py::nodelete>>(m, "OksObject");
37
38
39 py::class_<OksKernel>(m, "OksKernel")
40 .def(py::init<bool, bool, bool, bool, const char *, std::string>(),
41 "silence_mode"_a = false, "verbose_mode"_a = false, "profiling_mode"_a = false, "allow_repository"_a = true, "version"_a = nullptr, "branch_name"_a = "")
42 .def("get_host_name",&OksKernel::get_host_name)
43 .def("get_domain_name",&OksKernel::get_domain_name)
44 .def("get_user_name",&OksKernel::get_user_name)
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 .def("get_verbose_mode",&OksKernel::get_verbose_mode)
74 .def("set_verbose_mode",&OksKernel::set_verbose_mode)
75
76
77
78 .def("get_silence_mode",&OksKernel::get_silence_mode)
79 .def("set_silence_mode",&OksKernel::set_silence_mode)
80
81
82 .def("set_profiling_mode",&OksKernel::set_profiling_mode)
83
84
85
86 .def("get_allow_duplicated_classes_mode",&OksKernel::get_allow_duplicated_classes_mode)
87 .def("set_allow_duplicated_classes_mode",&OksKernel::set_allow_duplicated_classes_mode)
88
89
90
91 .def("get_allow_duplicated_objects_mode",&OksKernel::get_allow_duplicated_objects_mode)
92 .def("set_allow_duplicated_objects_mode",&OksKernel::set_allow_duplicated_objects_mode)
93
94
95
96 .def("get_test_duplicated_objects_via_inheritance_mode",&OksKernel::get_test_duplicated_objects_via_inheritance_mode)
97 .def("set_test_duplicated_objects_via_inheritance_mode",&OksKernel::set_test_duplicated_objects_via_inheritance_mode)
98
100
101
102 .def("find_schema_file",&OksKernel::find_schema_file, py::return_value_policy::reference_internal)
103 .def("find_data_file",&OksKernel::find_data_file, py::return_value_policy::reference_internal)
104
105
106
107 .def("create_list_of_schema_classes",&OksKernel::create_list_of_schema_classes, py::return_value_policy::reference_internal)
108 .def("create_list_of_data_objects",&OksKernel::create_list_of_data_objects, py::return_value_policy::reference_internal)
109
110
111 .def("create_file_info",&OksKernel::create_file_info, py::return_value_policy::reference_internal)
112
113
114 .def("get_file_path",&OksKernel::get_file_path, "path"_a, "parent_file"_a = nullptr, "strict_path"_a=true)
115
116
117 .def("get_repository_version",&OksKernel::get_repository_version)
118
119
120 .def("is_user_repository_created",&OksKernel::is_user_repository_created)
121
122
123
124 .def("get_user_repository_root",&OksKernel::get_user_repository_root)
125 .def("set_user_repository_root",&OksKernel::set_user_repository_root, "path"_a, "version"_a = true)
126
127
128 .def("get_includes",&OksKernel::get_includes)
129
130
131
132 .def("load_file",&OksKernel::load_file, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
133
134 .def("load_schema",&OksKernel::load_schema, "name"_a, "parent"_a = nullptr, py::return_value_policy::reference_internal)
135
136 .def("new_schema",&OksKernel::new_schema, "name"_a, py::return_value_policy::reference_internal)
137
138
139
140
141 .def("backup_schema",&OksKernel::backup_schema, "pf"_a, "suffix"_a = ".bak")
142
143 .def("save_as_schema",&OksKernel::save_as_schema, "name"_a, "file_h"_a)
144
145 .def("save_all_schema",&OksKernel::save_all_schema)
146
147 .def("close_schema",&OksKernel::close_schema, "file_h"_a)
148
149 .def("close_all_schema",&OksKernel::close_all_schema)
150
151 .def("set_active_schema",&OksKernel::set_active_schema, "file_h"_a)
152
153 .def("get_active_schema",&OksKernel::get_active_schema)
154
155 .def("schema_files",&OksKernel::schema_files, py::return_value_policy::reference_internal)
156
159
160
161 .def("load_data",&OksKernel::load_data, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
162
163 .def("reload_data",&OksKernel::reload_data, "files"_a, "allow_schema_extension"_a = true)
164
165
166 .def("new_data",&OksKernel::new_data, "name"_a, "logical_name"_a = "", "type"_a = "", py::return_value_policy::reference_internal)
167
168
169
170
171
172 .def("save_all_data", &OksKernel::save_all_data, "force_defaults"_a = false)
173
174
175 .def("close_all_data",&OksKernel::close_all_data)
176
177
178 .def("set_active_data", &OksKernel::set_active_data)
179
180 .def("get_active_data", &OksKernel::get_active_data, py::return_value_policy::reference_internal)
181
182 .def("data_files", &OksKernel::data_files, py::return_value_policy::reference_internal)
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199 .def("insert_repository_dir",&OksKernel::insert_repository_dir)
200
201 .def("remove_repository_dir",&OksKernel::remove_repository_dir)
202
203 .def("classes",&OksKernel::classes, py::return_value_policy::reference_internal)
204
205 .def("number_of_classes",&OksKernel::number_of_classes)
206
207 .def("objects",&OksKernel::objects, py::return_value_policy::reference_internal)
208
209 .def("number_of_objects",&OksKernel::number_of_objects)
210
211 .def(
"find_class",
static_cast<OksClass*(
OksKernel::*)(
const std::string&) const
>(&OksKernel::find_class),
"class_name"_a)
212
213
214 .def("registrate_all_classes",&OksKernel::registrate_all_classes)
215
216
217
218
219
220
221
222
223
224
225 .def("bind_objects",&OksKernel::bind_objects)
226
227 .def("get_bind_objects_status",&OksKernel::get_bind_objects_status)
228
229 .def("get_bind_classes_status",&OksKernel::get_bind_classes_status)
230
231 .def("unset_repository_created",&OksKernel::unset_repository_created)
232
233
234
235
236
237
238
239
240
241
242
243 ;
244
245
246}
Provides interface to the OKS kernel.