#pragma once #include #include #include "WorkspaceRule.hpp" #include "../../../desktop/DesktopTypes.hpp" #include "../../../helpers/memory/Memory.hpp" namespace Config { class CWorkspaceRuleManager { public: CWorkspaceRuleManager() = default; ~CWorkspaceRuleManager() = default; void clear(); void add(CWorkspaceRule&&); void replaceOrAdd(CWorkspaceRule&&); std::optional getWorkspaceRuleFor(PHLWORKSPACE workspace); std::string getDefaultWorkspaceFor(const std::string&); PHLMONITOR getBoundMonitorForWS(const std::string&); std::string getBoundMonitorStringForWS(const std::string&); const std::vector& getAllWorkspaceRules(); private: std::vector m_rules; }; UP& workspaceRuleMgr(); };