DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::appmodel::python Namespace Reference

Classes

struct  ObjectLocator

Functions

std::vector< ObjectLocator > smart_daq_application_generate_modules (const conffwk::Configuration &confdb, const std::string &app_id, const std::string &session_id)
void register_dal_methods (py::module &m)
 PYBIND11_MODULE (_daq_appmodel_dal_py, m)

Function Documentation

◆ PYBIND11_MODULE()

dunedaq::appmodel::python::PYBIND11_MODULE ( _daq_appmodel_dal_py ,
m  )

Definition at line 19 of file module.cpp.

20{
21
22 m.doc() = "C++ implementation of the application dal modules";
23
25}
void register_dal_methods(py::module &m)

◆ register_dal_methods()

void dunedaq::appmodel::python::register_dal_methods ( py::module & m)

Definition at line 53 of file dal_methods.cpp.

54{
55 py::class_<ObjectLocator>(m, "ObjectLocator")
56 .def(py::init<const std::string&, const std::string&>())
57 .def_readonly("id", &ObjectLocator::id)
58 .def_readonly("class_name", &ObjectLocator::class_name);
59
60 m.def("smart_daq_application_generate_modules", &smart_daq_application_generate_modules, "Generate DaqModules");
61}
std::vector< ObjectLocator > smart_daq_application_generate_modules(const conffwk::Configuration &confdb, const std::string &app_id, const std::string &session_id)

◆ smart_daq_application_generate_modules()

std::vector< ObjectLocator > dunedaq::appmodel::python::smart_daq_application_generate_modules ( const conffwk::Configuration & confdb,
const std::string & app_id,
const std::string & session_id )

Definition at line 36 of file dal_methods.cpp.

39{
40 auto app = const_cast<conffwk::Configuration&>(confdb).get<appmodel::SmartDaqApplication>(app_id);
41 auto session = const_cast<conffwk::Configuration&>(confdb).get<confmodel::Session>(session_id);
42
43 auto helper = std::make_shared<ConfigurationHelper>(session);
44 app->generate_modules(helper);
45 std::vector<ObjectLocator> mods;
46 for (auto mod : app->get_modules()) {
47 mods.push_back({ mod->UID(), mod->class_name() });
48 }
49 return mods;
50}