DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
get_apps_arguments.cxx
Go to the documentation of this file.
1#include "logging/Logging.hpp"
2
4
10#include "confmodel/Session.hpp"
11
13
14#include <iostream>
15#include <string>
16
17using namespace dunedaq;
18
19
21 const dunedaq::confmodel::Segment* segment,
24
25 auto const* controller = segment->get_controller();
26
27 std::cout << "\n" << controller->UID() << "\n";
28 for (auto const& CLA: controller->construct_commandline_parameters(*db, session))
29 std::cout << "CLA: " << CLA << "\n";
30
31 for (auto const& app: segment->get_applications()) {
32 std::cout << "\n" << app->UID() << "\n";
33 std::vector<std::string> CLAs;
34 if (app->castable("SmartDaqApplication")) {
35 auto const* sdapp = db->get<dunedaq::appmodel::SmartDaqApplication>(app->UID());
36 CLAs = sdapp->construct_commandline_parameters(*db, session);
37 } else if (app->castable("DaqApplication")) {
38 auto const* dapp = db->get<dunedaq::appmodel::SmartDaqApplication>(app->UID());
39 CLAs = dapp->construct_commandline_parameters(*db, session);
40 } else {
41 CLAs = app->get_commandline_parameters();
42 }
43
44 for (auto const& CLA: CLAs)
45 std::cout << "CLA: " << CLA << "\n";
46 }
47
48 for (auto const& segment: segment->get_segments())
50
51}
52
53
54int main(int argc, char* argv[]) {
55
56 if (argc < 3) {
57 std::cout << "Usage: " << argv[0] << " session database-file\n";
58 return 0;
59 }
60
61 std::string sessionName(argv[1]);
62 dunedaq::logging::Logging::setup(sessionName, "get_apps_arguments");
63
64 std::string confimpl = "oksconflibs:" + std::string(argv[2]);
65 auto confdb = new conffwk::Configuration(confimpl);
66
67 auto session = confdb->get<confmodel::Session>(sessionName);
68 if (session==nullptr) {
69 std::cerr << "Session " << sessionName << " not found in database\n";
70 return -1;
71 }
72
74}
const std::string & UID() const noexcept
const std::vector< const dunedaq::confmodel::Segment * > & get_segments() const
Get "segments" relationship value. Nested list of Segments that form part of this Segment.
Definition Segment.hpp:114
const std::vector< const dunedaq::confmodel::Application * > & get_applications() const
Get "applications" relationship value. List of Applications that run in this Segment.
Definition Segment.hpp:141
const dunedaq::confmodel::RCApplication * get_controller() const
Get "controller" relationship value. This Segment's run controller.
Definition Segment.hpp:168
static void setup(const std::string &session, const std::string &application)
Setup the Logger service Currently no args.
Definition Logging.hpp:32
conffwk entry point
int main(int argc, char *argv[])
void print_segment_application_commandline(const dunedaq::confmodel::Segment *segment, const dunedaq::confmodel::Session *session, conffwk::Configuration *db)
The DUNE-DAQ namespace.
Definition DataStore.hpp:57