From 851df11eb595c5863bb931c32cbaa446c7071813 Mon Sep 17 00:00:00 2001 From: vaxerski Date: Thu, 10 Nov 2022 13:39:23 +0000 Subject: Added exec rules --- src/config/ConfigManager.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/config/ConfigManager.cpp') diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 4bb7b7d8..12a11268 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1490,6 +1490,19 @@ std::vector CConfigManager::getMatchingRules(CWindow* pWindow) { returns.push_back(rule); } + const auto PID = pWindow->getPID(); + bool anyExecFound = false; + + for (auto& er : execRequestedRules) { + if (er.iPid == PID) { + returns.push_back({er.szRule, "execRule"}); + anyExecFound = true; + } + } + + if (anyExecFound) // remove exec rules to unclog searches in the future, why have the garbage here. + execRequestedRules.erase(std::remove_if(execRequestedRules.begin(), execRequestedRules.end(), [&](const SExecRequestedRule& other) { return other.iPid == PID; })); + return returns; } @@ -1646,3 +1659,7 @@ CMonitor* CConfigManager::getBoundMonitorForWS(std::string wsname) { return nullptr; } + +void CConfigManager::addExecRule(SExecRequestedRule rule) { + execRequestedRules.push_back(rule); +} -- cgit v1.2.3