Handler for debugfilter enable
| 917 | |
| 918 | //! Handler for debugfilter enable |
| 919 | static command_result enableFilter(color_ostream& out, |
| 920 | std::vector<std::string>& parameters) |
| 921 | { |
| 922 | std::set<DebugCategory*> modified; |
| 923 | bool mustSave = false; |
| 924 | return applyFilterIds(out,parameters,"enable", |
| 925 | // Per item |
| 926 | [&modified,&mustSave](FilterManager::iterator& iter) -> bool { |
| 927 | Filter& filter = iter->second; |
| 928 | bool enabled = filter.enabled(); |
| 929 | if (enabled == true) |
| 930 | return true; |
| 931 | filter.enabled(true); |
| 932 | auto& catMan = DebugManager::getInstance(); |
| 933 | for (DebugCategory* cat: catMan) { |
| 934 | if (filter.applyAgain(*cat)) { |
| 935 | modified.emplace(cat); |
| 936 | filter.addMatch(); |
| 937 | } |
| 938 | } |
| 939 | mustSave = mustSave || filter.persistent(); |
| 940 | return false; |
| 941 | }, |
| 942 | // After list |
| 943 | [&modified,&mustSave,&out]() { |
| 944 | for (DebugCategory* cat: modified) { |
| 945 | // Reset filtering back to default |
| 946 | cat->allowed(DebugCategory::LWARNING); |
| 947 | auto& filMan = FilterManager::getInstance(); |
| 948 | // Reapply all remaining filters |
| 949 | for (auto& filterPair: filMan) |
| 950 | filterPair.second.applyAgain(*cat); |
| 951 | } |
| 952 | if (mustSave) |
| 953 | return FilterManager::getInstance().saveConfig(out); |
| 954 | return CR_OK; |
| 955 | }); |
| 956 | } |
| 957 | |
| 958 | //! Handler for debugfilter unset |
| 959 | static command_result unsetFilter(color_ostream& out, |
nothing calls this directly
no test coverage detected