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 55 of file get_apps_arguments.cxx.

55 {
56
57 if (argc < 3) {
58 std::cout << "Usage: " << argv[0] << " session database-file\n";
59 return 0;
60 }
61
62 std::string sessionName(argv[1]);
63 dunedaq::logging::Logging::setup(sessionName, "get_apps_arguments");
64
65 std::string confimpl = "oksconflibs:" + std::string(argv[2]);
66 auto confdb = new conffwk::Configuration(confimpl);
67
68 auto session = confdb->get<confmodel::Session>(sessionName);
69 if (session==nullptr) {
70 std::cerr << "Session " << sessionName << " not found in database\n";
71 return -1;
72 }
73
75}
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 21 of file get_apps_arguments.cxx.

24 {
25
26 auto const* controller = segment->get_controller();
27
28 std::cout << "\n" << controller->UID() << "\n";
29 for (auto const& CLA: controller->construct_commandline_parameters(*db, session))
30 std::cout << "CLA: " << CLA << "\n";
31
32 for (auto const& app: segment->get_applications()) {
33 std::cout << "\n" << app->UID() << "\n";
34 std::vector<std::string> CLAs;
35 if (app->castable("SmartDaqApplication")) {
36 auto const* sdapp = db->get<dunedaq::appmodel::SmartDaqApplication>(app->UID());
37 CLAs = sdapp->construct_commandline_parameters(*db, session);
38 } else if (app->castable("DaqApplication")) {
39 auto const* dapp = db->get<dunedaq::appmodel::SmartDaqApplication>(app->UID());
40 CLAs = dapp->construct_commandline_parameters(*db, session);
41 } else {
42 CLAs = app->get_commandline_parameters();
43 }
44
45 for (auto const& CLA: CLAs)
46 std::cout << "CLA: " << CLA << "\n";
47 }
48
49 for (auto const& segment: segment->get_segments())
51
52}
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