21 const std::set<std::string>& disabled_objects,
23 std::cout << spacer <<
"Segment " << segment->
UID();
25 std::string reason =
"";
26 if (segment_disabled) {
27 std::cout <<
" disabled";
36 bool disabled = segment_disabled;
37 std::cout << spacer <<
" Application: " << app->UID();
43 if (disabled_objects.find(app->UID()) != disabled_objects.end()) {
47 reason =
"due to state of related objects";
50 std::cout <<
" contains: {";
51 std::string seperator =
"";
52 for (
auto mod : rset->get_contains()) {
53 std::cout << seperator << mod->UID();
55 std::cout <<
"<disabled ";
56 if (disabled_objects.find(mod->UID()) == disabled_objects.end()) {
59 std::cout <<
"directly>";
67 std::cout <<
" <disabled "<< reason <<
">";
71 std::cout <<
" Modules:";
72 for (
auto mod : daqApp->get_modules()) {
73 std::cout <<
" " << mod->UID();
77 std::cout << std::endl;
81int main(
int argc,
char* argv[]) {
84 std::cout <<
"Usage: " << argv[0] <<
" [session] database-file\n";
92 std::string confimpl =
"oksconflibs:" + std::string(argv[filearg]);
95 std::vector<std::string> sessionList;
97 sessionList.emplace_back(std::string(argv[1]));
100 std::vector<conffwk::ConfigObject> session_obj;
101 confdb->get(
"Session", session_obj);
102 if (session_obj.size() == 0) {
103 std::cerr <<
"Can't find any Sessions in database\n";
106 for (
auto obj : session_obj) {
107 sessionList.push_back(obj.UID());
113 std::string separator{};
114 for (
const auto& sessionName : sessionList) {
118 std::cerr <<
"Session " << sessionName <<
" not found in database\n";
122 std::cout << separator <<
" Applications in Session: "
123 << sessionName <<
"\n";
124 std::set<std::string> disabled_objects;
125 for (
auto object :
session->get_disabled()) {
126 TLOG_DEBUG(11) <<
object->UID() <<
" is in disabled list of Session";
127 disabled_objects.insert(object->UID());
134 "\n ----------------------------------------------\n\n";
const std::string & UID() const noexcept
bool disabled(const dunedaq::confmodel::Session &session) const
const std::vector< const dunedaq::confmodel::Segment * > & get_segments() const
Get "segments" relationship value. Nested list of Segments that form part of this Segment.
const std::vector< const dunedaq::confmodel::Application * > & get_applications() const
Get "applications" relationship value. List of Applications that run in this Segment.
static void setup(const std::string &session, const std::string &application)
Setup the Logger service Currently no args.
int main(int argc, char *argv[])
void process_segment(const confmodel::Session *session, const confmodel::Segment *segment, const std::set< std::string > &disabled_objects, std::string spacer)
#define TLOG_DEBUG(lvl,...)