DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
get_apps_arguments.cxx File Reference
Include dependency graph for get_apps_arguments.cxx:

Go to the source code of this file.

Functions

void print_segment_application_commandline (const dunedaq::confmodel::Segment *segment, const dunedaq::confmodel::Session *session, conffwk::Configuration *db)
 
int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 54 of file get_apps_arguments.cxx.

54 {
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}
static void setup(const std::string &session, const std::string &application)
Setup the Logger service Currently no args.
Definition Logging.hpp:32
void print_segment_application_commandline(const dunedaq::confmodel::Segment *segment, const dunedaq::confmodel::Session *session, conffwk::Configuration *db)

◆ print_segment_application_commandline()

void print_segment_application_commandline ( const dunedaq::confmodel::Segment * segment,
const dunedaq::confmodel::Session * session,
conffwk::Configuration * db )

Definition at line 20 of file get_apps_arguments.cxx.

23 {
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}
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