@@ -18,32 +18,33 @@
1818#define UNITY_WINDOWMANAGEMENTPOLICY_H
1919
2020#include <qtmir/windowmanagementpolicy.h>
21+#include "wmpolicyinterface.h"
2122
2223#include <unordered_set>
2324
24−class Q_DECL_EXPORT WindowManagementPolicy : public qtmir::WindowManagementPolicy
25+class Q_DECL_EXPORT WindowManagementPolicy : public qtmir::WindowManagementPolicy,
26+ public WMPolicyInterface
2527{
2628public:
2729 WindowManagementPolicy(const miral::WindowManagerTools &tools, qtmir::WindowManagementPolicyPrivate& dd);
2830
29− static WindowManagementPolicy *instance();
30−
3131 void advise_new_window(miral::WindowInfo const& window_info) override;
3232
33− std::shared_ptr<miral::Workspace> createWorkspace();
34− void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace);
33+ // From WMPolicyInterface
34+ std::shared_ptr<miral::Workspace> createWorkspace() override;
35+
36+ void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
3537
3638 void forEachWindowInWorkspace(
3739 std::shared_ptr<miral::Workspace> const& workspace,
38− std::function<void(miral::Window const& window)> const& callback);
40+ std::function<void(miral::Window const& window)> const& callback) override;
3941
4042 void moveWorkspaceContentToWorkspace(const std::shared_ptr<miral::Workspace> &toWorkspace,
41− const std::shared_ptr<miral::Workspace> &fromWorkspace);
43+ const std::shared_ptr<miral::Workspace> &fromWorkspace) override;
4244
43− void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace);
45+ void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace) override;
4446
4547private:
46− static WindowManagementPolicy* m_self;
4748 std::weak_ptr<miral::Workspace> m_activeWorkspace;
4849
4950 std::unordered_set<std::shared_ptr<miral::Workspace>> m_workspaces;