DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dal_methods.cpp
Go to the documentation of this file.
1
9#include "pybind11/operators.h"
10#include "pybind11/pybind11.h"
11#include "pybind11/stl.h"
12
14#include "confmodel/Session.hpp"
15
17
18#include <sstream>
19
20namespace py = pybind11;
21
23
25 ObjectLocator(const std::string& id_arg, const std::string& class_name_arg) :
26 id(id_arg), class_name(class_name_arg)
27 {}
28 const std::string id;
29 const std::string class_name;
30 };
31
32 std::vector<ObjectLocator>
33 smart_dap_application_generate_modules(const conffwk::Configuration& confdb, const std::string& app_id, const std::string& session_id)
34 {
35 auto app =
36 const_cast<conffwk::Configuration&>(confdb).get<appmodel::SmartDaqApplication>(app_id);
37 auto session =
38 const_cast<conffwk::Configuration&>(confdb).get<confmodel::Session>(session_id);
39
40 std::vector<ObjectLocator> mods;
41 for (auto mod : app->generate_modules(session)) {
42 mods.push_back({mod->UID(),mod->class_name()});
43 }
44 return mods;
45 }
46
48 const std::string& session_id,
49 const std::string& app_id) {
50 const auto* app = const_cast<conffwk::Configuration&>(db).get<dunedaq::appmodel::SmartDaqApplication>(app_id);
51 const auto* session = const_cast<conffwk::Configuration&>(db).get<dunedaq::confmodel::Session>(session_id);
52 return app->construct_commandline_parameters(db, session);
53 }
54
55void
57{
58 py::class_<ObjectLocator>(m, "ObjectLocator")
59 .def(py::init<const std::string&, const std::string&>())
60 .def_readonly("id", &ObjectLocator::id)
61 .def_readonly("class_name", &ObjectLocator::class_name)
62 ;
63
64 m.def("smart_dap_application_generate_modules", &smart_dap_application_generate_modules, "Generate DaqModules");
65 m.def("smart_daq_application_construct_commandline_parameters", &smart_daq_application_construct_commandline_parameters, "Get a version of the command line agruments parsed");
66}
67
68} // namespace dunedaq::appmodel::python
std::vector< ObjectLocator > smart_dap_application_generate_modules(const conffwk::Configuration &confdb, const std::string &app_id, const std::string &session_id)
void register_dal_methods(py::module &m)
std::vector< std::string > smart_daq_application_construct_commandline_parameters(const conffwk::Configuration &db, const std::string &session_id, const std::string &app_id)
ObjectLocator(const std::string &id_arg, const std::string &class_name_arg)