LCOV - code coverage report
Current view: top level - oks/pybindsrc - module.cpp (source / functions) Coverage Total Hit
Test: code.result Lines: 0.0 % 94 0
Test Date: 2026-10-11 15:05:20 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 "oks/kernel.hpp"
      10              : #include "pybind11/pybind11.h"
      11              : #include "pybind11/stl.h"
      12              : 
      13              : namespace py = pybind11;
      14              : 
      15              : namespace dunedaq::oks::python {
      16              : 
      17            0 : PYBIND11_MODULE(_daq_oks_py, m)
      18              : {
      19              : 
      20            0 :   using namespace pybind11::literals; // to bring in the `_a` literal
      21              : 
      22            0 :   m.doc() = "C++ implementation of the application dal modules";
      23              : 
      24            0 :   py::class_<OksFile>(m, "OksFile");
      25              :   // py::class_<OksFile::Map>(m, "OksFileMap");
      26            0 :   py::class_<OksClass, std::unique_ptr<OksClass, py::nodelete>>(m, "OksClass")
      27            0 :     .def("get_name", &OksClass::get_name, py::return_value_policy::reference_internal)
      28            0 :     .def("get_description", &OksClass::get_description, py::return_value_policy::reference_internal)
      29            0 :     .def("get_is_abstract", &OksClass::get_is_abstract)
      30            0 :     .def("all_super_classes", &OksClass::all_super_classes, py::return_value_policy::reference_internal)
      31            0 :     .def("direct_super_classes", &OksClass::direct_super_classes, py::return_value_policy::reference_internal)
      32            0 :     .def("all_sub_classes", &OksClass::all_sub_classes, py::return_value_policy::reference_internal);
      33            0 :   py::class_<OksObject, std::unique_ptr<OksObject, py::nodelete>>(m, "OksObject");
      34              : 
      35            0 :   py::class_<OksKernel>(m, "OksKernel")
      36            0 :     .def(py::init<bool, bool, bool, bool, const char*, std::string>(),
      37            0 :          "silence_mode"_a = false,
      38            0 :          "verbose_mode"_a = false,
      39            0 :          "profiling_mode"_a = false,
      40            0 :          "allow_repository"_a = true,
      41            0 :          "version"_a = nullptr,
      42            0 :          "branch_name"_a = "")
      43            0 :     .def("get_host_name", &OksKernel::get_host_name)
      44            0 :     .def("get_domain_name", &OksKernel::get_domain_name)
      45            0 :     .def("get_user_name", &OksKernel::get_user_name)
      46              :     // ---
      47              :     // .def("load_file",&OksKernel::load_file, "name"_a, "bind"_a = true)
      48              :     // .def("load_schema",&OksKernel::load_schema, "name"_a, "parent"_a = nullptr)
      49              :     // .def("close_all_schema",&OksKernel::close_all_schema)
      50              : 
      51              :     // ---
      52              :     // .def("load_data",&OksKernel::load_file, "name"_a, "bind"_a = true)
      53              :     // .def("close_all_data",&OksKernel::close_all_data)
      54              :     // --
      55              :     // .def("classes",&OksKernel::classes, py::return_value_policy::reference_internal)
      56              :     // .def("number_of_classes",&OksKernel::number_of_classes)
      57              :     // .def("objects",&OksKernel::objects, py::return_value_policy::reference_internal)
      58              :     // .def("number_of_objects",&OksKernel::number_of_objects)
      59              :     //
      60              :     // .def("find_class",&OksKernel::find_class)
      61              :     // .def("find_object",&OksKernel::find_object, py::return_value_policy::reference_internal)
      62              : 
      63              :     //
      64              :     // .def("get_test_duplicated_objects_via_inheritance_mode",
      65              :     // &OksKernel::get_test_duplicated_objects_via_inheritance_mode)
      66              :     // .def("set_test_duplicated_objects_via_inheritance_mode",
      67              :     // &OksKernel::set_test_duplicated_objects_via_inheritance_mode) .def("get_allow_duplicated_objects_mode",
      68              :     // &OksKernel::get_allow_duplicated_objects_mode) .def("set_allow_duplicated_objects_mode",
      69              :     // &OksKernel::set_allow_duplicated_objects_mode)
      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",
      97            0 :          &OksKernel::get_test_duplicated_objects_via_inheritance_mode)
      98            0 :     .def("set_test_duplicated_objects_via_inheritance_mode",
      99            0 :          &OksKernel::set_test_duplicated_objects_via_inheritance_mode)
     100              : 
     101              :     //! get_mutex
     102              :     // find_schema_file
     103              :     // find_data_file
     104            0 :     .def("find_schema_file", &OksKernel::find_schema_file, py::return_value_policy::reference_internal)
     105            0 :     .def("find_data_file", &OksKernel::find_data_file, py::return_value_policy::reference_internal)
     106              : 
     107              :     // create_list_of_schema_classes
     108              :     // create_list_of_data_objects
     109            0 :     .def("create_list_of_schema_classes",
     110            0 :          &OksKernel::create_list_of_schema_classes,
     111            0 :          py::return_value_policy::reference_internal)
     112            0 :     .def("create_list_of_data_objects",
     113            0 :          &OksKernel::create_list_of_data_objects,
     114            0 :          py::return_value_policy::reference_internal)
     115              : 
     116              :     //  create_file_info
     117            0 :     .def("create_file_info", &OksKernel::create_file_info, py::return_value_policy::reference_internal)
     118              : 
     119              :     //  get_file_path
     120            0 :     .def("get_file_path", &OksKernel::get_file_path, "path"_a, "parent_file"_a = nullptr, "strict_path"_a = true)
     121              : 
     122              :     // get_repository_version
     123            0 :     .def("get_repository_version", &OksKernel::get_repository_version)
     124              : 
     125              :     // is_user_repository_created()
     126            0 :     .def("is_user_repository_created", &OksKernel::is_user_repository_created)
     127              : 
     128              :     // get_user_repository_root
     129              :     // set_user_repository_root
     130            0 :     .def("get_user_repository_root", &OksKernel::get_user_repository_root)
     131            0 :     .def("set_user_repository_root", &OksKernel::set_user_repository_root, "path"_a, "version"_a = true)
     132              : 
     133              :     // get_includes
     134            0 :     .def("get_includes", &OksKernel::get_includes)
     135              :     // k_close_dangling_includes
     136              : 
     137              :     // load_file
     138            0 :     .def("load_file", &OksKernel::load_file, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
     139              :     // load_schema
     140            0 :     .def("load_schema",
     141            0 :          &OksKernel::load_schema,
     142            0 :          "name"_a,
     143            0 :          "parent"_a = nullptr,
     144            0 :          py::return_value_policy::reference_internal)
     145              :     // new_schema
     146            0 :     .def("new_schema", &OksKernel::new_schema, "name"_a, py::return_value_policy::reference_internal)
     147              :     // save_schema
     148              :     // .def("save_schema",py::overload_cast<OksFile*, bool, OksFile*>(&OksKernel::save_schema), "file_h"_a, "force"_a =
     149              :     // false, "true_file_h"_a = nullptr) .def("save_schema",py::overload_cast<OksFile*, bool, const
     150              :     // OksClass::Map&>(&OksKernel::save_schema), "file_h"_a, "force"_a, "classes") backup_schema
     151            0 :     .def("backup_schema", &OksKernel::backup_schema, "pf"_a, "suffix"_a = ".bak")
     152              :     // save_as_schema
     153            0 :     .def("save_as_schema", &OksKernel::save_as_schema, "name"_a, "file_h"_a)
     154              :     // save_all_schema
     155            0 :     .def("save_all_schema", &OksKernel::save_all_schema)
     156              :     // close_schema
     157            0 :     .def("close_schema", &OksKernel::close_schema, "file_h"_a)
     158              :     // close_all_schema
     159            0 :     .def("close_all_schema", &OksKernel::close_all_schema)
     160              :     // set_active_schema
     161            0 :     .def("set_active_schema", &OksKernel::set_active_schema, "file_h"_a)
     162              :     // get_active_schema
     163            0 :     .def("get_active_schema", &OksKernel::get_active_schema)
     164              :     // schema_files
     165            0 :     .def("schema_files", &OksKernel::schema_files, py::return_value_policy::reference_internal)
     166              : 
     167              :     //! create_list_of_upsated_schema_file
     168              :     //! get_updated_repository_files
     169              : 
     170              :     // load_data
     171            0 :     .def("load_data", &OksKernel::load_data, "name"_a, "bind"_a = true, py::return_value_policy::reference_internal)
     172              :     // reload_data
     173            0 :     .def("reload_data", &OksKernel::reload_data, "files"_a, "allow_schema_extension"_a = true)
     174              : 
     175              :     // new_data
     176            0 :     .def("new_data",
     177            0 :          &OksKernel::new_data,
     178            0 :          "name"_a,
     179            0 :          "logical_name"_a = "",
     180            0 :          "type"_a = "",
     181            0 :          py::return_value_policy::reference_internal)
     182              : 
     183              :     // // save_data
     184              :     // // backup_data
     185              :     // // save_as_data
     186              :     // save_all_data
     187            0 :     .def("save_all_data", &OksKernel::save_all_data, "force_defaults"_a = false)
     188              :     // // close_data
     189              :     // close_all_data
     190            0 :     .def("close_all_data", &OksKernel::close_all_data)
     191              : 
     192              :     // set_active_data
     193            0 :     .def("set_active_data", &OksKernel::set_active_data)
     194              :     // get_active_daat
     195            0 :     .def("get_active_data", &OksKernel::get_active_data, py::return_value_policy::reference_internal)
     196              :     // data_files
     197            0 :     .def("data_files", &OksKernel::data_files, py::return_value_policy::reference_internal)
     198              : 
     199              :     // // create_list_of_updated_data_files
     200              :     // // get_modified_files
     201              :     // // get_repository_dirs
     202              :     // // commit_repository
     203              :     // // tag_repository
     204              :     // // get_repository_checkout_ts
     205              :     // // update_repository
     206              :     // // get_repository_versions_diff
     207              :     // // get_repository_unmerged_files
     208              :     // // get_repository_versions
     209              :     // // get_repository_versions_by_hash
     210              :     // // get_repository_versions_by_date
     211              :     // // read_repository_version
     212              : 
     213              :     // insert_repository_dir
     214            0 :     .def("insert_repository_dir", &OksKernel::insert_repository_dir)
     215              :     // remove_repository_dir
     216            0 :     .def("remove_repository_dir", &OksKernel::remove_repository_dir)
     217              :     // classes
     218            0 :     .def("classes", &OksKernel::classes, py::return_value_policy::reference_internal)
     219              :     // number_of_classes
     220            0 :     .def("number_of_classes", &OksKernel::number_of_classes)
     221              :     // objects
     222            0 :     .def("objects", &OksKernel::objects, py::return_value_policy::reference_internal)
     223              :     // number_of_objects
     224            0 :     .def("number_of_objects", &OksKernel::number_of_objects)
     225              :     // find_class
     226            0 :     .def("find_class",
     227            0 :          static_cast<OksClass* (OksKernel::*)(const std::string&) const>(&OksKernel::find_class),
     228            0 :          "class_name"_a)
     229              :     // // get_all_classes
     230              :     // registrate_all_classes
     231            0 :     .def("registrate_all_classes", &OksKernel::registrate_all_classes)
     232              :     // is_dangling
     233              :     // Class
     234              :     // .def("is_dangling",&OksKernel::is_dangling)
     235              :     // Object
     236              :     // .def("is_dangling",&OksKernel::is_dangling)
     237              :     // // subscribe_create_class
     238              :     // // subscribe_change_class
     239              :     // // subscribe_create_object
     240              :     // // subscribe_delete_object
     241              :     // bind_objects
     242            0 :     .def("bind_objects", &OksKernel::bind_objects)
     243              :     // get_bind_objects_status
     244            0 :     .def("get_bind_objects_status", &OksKernel::get_bind_objects_status)
     245              :     // get_bind_classes_status
     246            0 :     .def("get_bind_classes_status", &OksKernel::get_bind_classes_status)
     247              :     // unset_repository_created
     248            0 :     .def("unset_repository_created", &OksKernel::unset_repository_created)
     249              : 
     250              :     // // GetVersion
     251              :     // // get_skip_string_range
     252              :     // // set_skip_string_range
     253              :     // // check_read_only
     254              :     // // get_repository_root
     255              :     // // get_repository_mapping_dir
     256              :     // // get_tmp_file
     257              :     // // get_cwd
     258              :     // // reset_cwd
     259              :     ;
     260            0 : }
     261              : 
     262              : } // namespace dunedaq::oks::python
        

Generated by: LCOV version 2.0-1