LCOV - code coverage report
Current view: top level - oks/pybindsrc - module.cpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 72 0
Test Date: 2025-12-21 13:07:08 Functions: 0.0 % 2 0

            Line data    Source code
       1              : /**
       2              :  * @file module.cpp
       3              :  *
       4              :  * This is part of the DUNE DAQ Software Suite, copyright 2020.
       5              :  * Licensing/copyright details are in the COPYING file that you should have
       6              :  * received with this code.
       7              :  */
       8              : 
       9              : #include "pybind11/pybind11.h"
      10              : #include "pybind11/stl.h"
      11              : #include "oks/kernel.hpp"
      12              : 
      13              : namespace py = pybind11;
      14              : 
      15              : namespace dunedaq::oks::python {
      16              : 
      17              : 
      18            0 : PYBIND11_MODULE(_daq_oks_py, m)
      19              : {
      20              : 
      21            0 :   using namespace pybind11::literals; // to bring in the `_a` literal
      22              : 
      23              : 
      24            0 :   m.doc() = "C++ implementation of the application dal modules";
      25              : 
      26            0 :   py::class_<OksFile>(m, "OksFile");
      27              :   // py::class_<OksFile::Map>(m, "OksFileMap");
      28            0 :   py::class_<OksClass, std::unique_ptr<OksClass, py::nodelete>>(m, "OksClass")
      29            0 :       .def("get_name",&OksClass::get_name, py::return_value_policy::reference_internal)
      30            0 :       .def("get_description",&OksClass::get_description, py::return_value_policy::reference_internal)
      31            0 :       .def("get_is_abstract",&OksClass::get_is_abstract)
      32            0 :       .def("all_super_classes",&OksClass::all_super_classes, py::return_value_policy::reference_internal)
      33            0 :       .def("direct_super_classes",&OksClass::direct_super_classes, py::return_value_policy::reference_internal)
      34            0 :       .def("all_sub_classes",&OksClass::all_sub_classes, py::return_value_policy::reference_internal)
      35              :   ;
      36            0 :   py::class_<OksObject, std::unique_ptr<OksObject, py::nodelete>>(m, "OksObject");
      37              : 
      38              : 
      39            0 :   py::class_<OksKernel>(m, "OksKernel")
      40            0 :       .def(py::init<bool, bool, bool, bool, const char *, std::string>(),
      41            0 :         "silence_mode"_a = false, "verbose_mode"_a = false, "profiling_mode"_a = false, "allow_repository"_a = true, "version"_a = nullptr, "branch_name"_a = "")
      42            0 :       .def("get_host_name",&OksKernel::get_host_name)
      43            0 :       .def("get_domain_name",&OksKernel::get_domain_name)
      44            0 :       .def("get_user_name",&OksKernel::get_user_name)
      45              :       // ---
      46              :       // .def("load_file",&OksKernel::load_file, "name"_a, "bind"_a = true)
      47              :       // .def("load_schema",&OksKernel::load_schema, "name"_a, "parent"_a = nullptr)
      48              :       // .def("close_all_schema",&OksKernel::close_all_schema)
      49              : 
      50              :       // ---
      51              :       // .def("load_data",&OksKernel::load_file, "name"_a, "bind"_a = true)
      52              :       // .def("close_all_data",&OksKernel::close_all_data)
      53              :       // -- 
      54              :       // .def("classes",&OksKernel::classes, py::return_value_policy::reference_internal)
      55              :       // .def("number_of_classes",&OksKernel::number_of_classes)
      56              :       // .def("objects",&OksKernel::objects, py::return_value_policy::reference_internal)
      57              :       // .def("number_of_objects",&OksKernel::number_of_objects)
      58              :       //
      59              :       // .def("find_class",&OksKernel::find_class)
      60              :       // .def("find_object",&OksKernel::find_object, py::return_value_policy::reference_internal)
      61              : 
      62              :       // 
      63              :       // .def("get_test_duplicated_objects_via_inheritance_mode", &OksKernel::get_test_duplicated_objects_via_inheritance_mode)
      64              :       // .def("set_test_duplicated_objects_via_inheritance_mode", &OksKernel::set_test_duplicated_objects_via_inheritance_mode)
      65              :       // .def("get_allow_duplicated_objects_mode", &OksKernel::get_allow_duplicated_objects_mode)
      66              :       // .def("set_allow_duplicated_objects_mode", &OksKernel::set_allow_duplicated_objects_mode)
      67              : 
      68              : 
      69              : 
      70              : 
      71              :     //  get_verbose_mode
      72              :     //  set_verbose_mode 
      73            0 :     .def("get_verbose_mode",&OksKernel::get_verbose_mode)
      74            0 :     .def("set_verbose_mode",&OksKernel::set_verbose_mode)
      75              : 
      76              :     //  get_silence_mode
      77              :     //  set_silence_mode
      78            0 :     .def("get_silence_mode",&OksKernel::get_silence_mode)
      79            0 :     .def("set_silence_mode",&OksKernel::set_silence_mode)
      80              : 
      81              :     //  set_profiling_mode
      82            0 :     .def("set_profiling_mode",&OksKernel::set_profiling_mode)
      83              : 
      84              :     //  get_allow_duplicated_classes_mode
      85              :     //  set_allow_duplicated_classes_mode
      86            0 :     .def("get_allow_duplicated_classes_mode",&OksKernel::get_allow_duplicated_classes_mode)
      87            0 :     .def("set_allow_duplicated_classes_mode",&OksKernel::set_allow_duplicated_classes_mode)
      88              : 
      89              :     //  get_allow_duplicated_objects_mode 
      90              :     //  set_allow_duplicated_objects_mode 
      91            0 :     .def("get_allow_duplicated_objects_mode",&OksKernel::get_allow_duplicated_objects_mode)
      92            0 :     .def("set_allow_duplicated_objects_mode",&OksKernel::set_allow_duplicated_objects_mode)
      93              : 
      94              :     //  get_test_duplicated_objects_via_inheritance_mode
      95              :     //  set_test_duplicated_objects_via_inheritance_mode
      96            0 :     .def("get_test_duplicated_objects_via_inheritance_mode",&OksKernel::get_test_duplicated_objects_via_inheritance_mode)
      97            0 :     .def("set_test_duplicated_objects_via_inheritance_mode",&OksKernel::set_test_duplicated_objects_via_inheritance_mode)
      98              : 
      99              :     //! get_mutex 
     100              :     // find_schema_file
     101              :     // find_data_file
     102            0 :     .def("find_schema_file",&OksKernel::find_schema_file, py::return_value_policy::reference_internal)
     103            0 :     .def("find_data_file",&OksKernel::find_data_file, py::return_value_policy::reference_internal)
     104              : 
     105              :     // create_list_of_schema_classes
     106              :     // create_list_of_data_objects
     107            0 :     .def("create_list_of_schema_classes",&OksKernel::create_list_of_schema_classes, py::return_value_policy::reference_internal)
     108            0 :     .def("create_list_of_data_objects",&OksKernel::create_list_of_data_objects, py::return_value_policy::reference_internal)
     109              : 
     110              :     //  create_file_info
     111            0 :     .def("create_file_info",&OksKernel::create_file_info, py::return_value_policy::reference_internal)
     112              : 
     113              :     //  get_file_path
     114            0 :     .def("get_file_path",&OksKernel::get_file_path, "path"_a, "parent_file"_a = nullptr, "strict_path"_a=true)
     115              : 
     116              :     // get_repository_version
     117            0 :     .def("get_repository_version",&OksKernel::get_repository_version)
     118              : 
     119              :     // is_user_repository_created()
     120            0 :     .def("is_user_repository_created",&OksKernel::is_user_repository_created)
     121              : 
     122              :     // get_user_repository_root
     123              :     // set_user_repository_root
     124            0 :     .def("get_user_repository_root",&OksKernel::get_user_repository_root)
     125            0 :     .def("set_user_repository_root",&OksKernel::set_user_repository_root, "path"_a, "version"_a = true)
     126              : 
     127              :     // get_includes
     128            0 :     .def("get_includes",&OksKernel::get_includes)
     129              :     // k_close_dangling_includes
     130              :     
     131              :     // load_file
     132            0 :     .def("load_file",&OksKernel::load_file, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
     133              :     // load_schema
     134            0 :     .def("load_schema",&OksKernel::load_schema, "name"_a, "parent"_a = nullptr, py::return_value_policy::reference_internal)
     135              :     // new_schema
     136            0 :     .def("new_schema",&OksKernel::new_schema, "name"_a, py::return_value_policy::reference_internal)
     137              :     // save_schema
     138              :     // .def("save_schema",py::overload_cast<OksFile*, bool, OksFile*>(&OksKernel::save_schema), "file_h"_a, "force"_a = false, "true_file_h"_a = nullptr)
     139              :     // .def("save_schema",py::overload_cast<OksFile*, bool, const OksClass::Map&>(&OksKernel::save_schema), "file_h"_a, "force"_a, "classes")
     140              :     // backup_schema
     141            0 :     .def("backup_schema",&OksKernel::backup_schema, "pf"_a, "suffix"_a = ".bak")
     142              :     // save_as_schema
     143            0 :     .def("save_as_schema",&OksKernel::save_as_schema, "name"_a, "file_h"_a)
     144              :     // save_all_schema
     145            0 :     .def("save_all_schema",&OksKernel::save_all_schema)
     146              :     // close_schema
     147            0 :     .def("close_schema",&OksKernel::close_schema,  "file_h"_a)
     148              :     // close_all_schema
     149            0 :     .def("close_all_schema",&OksKernel::close_all_schema)
     150              :     // set_active_schema
     151            0 :     .def("set_active_schema",&OksKernel::set_active_schema, "file_h"_a)
     152              :     // get_active_schema
     153            0 :     .def("get_active_schema",&OksKernel::get_active_schema)
     154              :     // schema_files
     155            0 :     .def("schema_files",&OksKernel::schema_files, py::return_value_policy::reference_internal)
     156              :     
     157              :     //! create_list_of_upsated_schema_file
     158              :     //! get_updated_repository_files
     159              : 
     160              :     // load_data
     161            0 :     .def("load_data",&OksKernel::load_data, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
     162              :     // reload_data
     163            0 :     .def("reload_data",&OksKernel::reload_data, "files"_a, "allow_schema_extension"_a = true)
     164              :     
     165              :     // new_data
     166            0 :     .def("new_data",&OksKernel::new_data, "name"_a, "logical_name"_a = "", "type"_a = "", py::return_value_policy::reference_internal)
     167              : 
     168              :     // // save_data
     169              :     // // backup_data
     170              :     // // save_as_data
     171              :     // save_all_data
     172            0 :     .def("save_all_data", &OksKernel::save_all_data, "force_defaults"_a = false)
     173              :     // // close_data
     174              :     // close_all_data
     175            0 :     .def("close_all_data",&OksKernel::close_all_data)
     176              : 
     177              :     // set_active_data
     178            0 :     .def("set_active_data", &OksKernel::set_active_data)
     179              :     // get_active_daat
     180            0 :     .def("get_active_data", &OksKernel::get_active_data, py::return_value_policy::reference_internal)
     181              :     // data_files
     182            0 :     .def("data_files", &OksKernel::data_files, py::return_value_policy::reference_internal)
     183              : 
     184              :     // // create_list_of_updated_data_files
     185              :     // // get_modified_files
     186              :     // // get_repository_dirs
     187              :     // // commit_repository
     188              :     // // tag_repository
     189              :     // // get_repository_checkout_ts
     190              :     // // update_repository
     191              :     // // get_repository_versions_diff
     192              :     // // get_repository_unmerged_files
     193              :     // // get_repository_versions
     194              :     // // get_repository_versions_by_hash
     195              :     // // get_repository_versions_by_date
     196              :     // // read_repository_version
     197              : 
     198              :     // insert_repository_dir
     199            0 :     .def("insert_repository_dir",&OksKernel::insert_repository_dir)
     200              :     // remove_repository_dir 
     201            0 :     .def("remove_repository_dir",&OksKernel::remove_repository_dir)
     202              :     // classes
     203            0 :     .def("classes",&OksKernel::classes, py::return_value_policy::reference_internal)
     204              :     // number_of_classes
     205            0 :     .def("number_of_classes",&OksKernel::number_of_classes)
     206              :     // objects
     207            0 :     .def("objects",&OksKernel::objects, py::return_value_policy::reference_internal)
     208              :     // number_of_objects
     209            0 :     .def("number_of_objects",&OksKernel::number_of_objects) 
     210              :     // find_class
     211            0 :     .def("find_class",static_cast<OksClass*(OksKernel::*)(const std::string&) const>(&OksKernel::find_class), "class_name"_a) 
     212              :     // // get_all_classes
     213              :     // registrate_all_classes
     214            0 :     .def("registrate_all_classes",&OksKernel::registrate_all_classes) 
     215              :     // is_dangling
     216              :     // Class
     217              :     // .def("is_dangling",&OksKernel::is_dangling) 
     218              :     // Object
     219              :     // .def("is_dangling",&OksKernel::is_dangling) 
     220              :     // // subscribe_create_class
     221              :     // // subscribe_change_class
     222              :     // // subscribe_create_object
     223              :     // // subscribe_delete_object
     224              :     // bind_objects
     225            0 :     .def("bind_objects",&OksKernel::bind_objects) 
     226              :     // get_bind_objects_status
     227            0 :     .def("get_bind_objects_status",&OksKernel::get_bind_objects_status) 
     228              :     // get_bind_classes_status
     229            0 :     .def("get_bind_classes_status",&OksKernel::get_bind_classes_status) 
     230              :     // unset_repository_created
     231            0 :     .def("unset_repository_created",&OksKernel::unset_repository_created) 
     232              : 
     233              : 
     234              :     // // GetVersion
     235              :     // // get_skip_string_range
     236              :     // // set_skip_string_range
     237              :     // // check_read_only
     238              :     // // get_repository_root
     239              :     // // get_repository_mapping_dir
     240              :     // // get_tmp_file
     241              :     // // get_cwd
     242              :     // // reset_cwd
     243              :     ;
     244              : 
     245              : 
     246            0 : }
     247              : 
     248              : } // namespace dunedaq::oks::python
        

Generated by: LCOV version 2.0-1