blob: 6b07316805162fae628e2b05e47f2e0eca7ef26d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include <vector>
#include <optional>
#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<CWorkspaceRule> getWorkspaceRuleFor(PHLWORKSPACE workspace);
std::string getDefaultWorkspaceFor(const std::string&);
PHLMONITOR getBoundMonitorForWS(const std::string&);
std::string getBoundMonitorStringForWS(const std::string&);
const std::vector<CWorkspaceRule>& getAllWorkspaceRules();
private:
std::vector<CWorkspaceRule> m_rules;
};
UP<CWorkspaceRuleManager>& workspaceRuleMgr();
};
|