@@ -18,32 +18,33 @@
18#define UNITY_WINDOWMANAGEMENTPOLICY_H
18#define UNITY_WINDOWMANAGEMENTPOLICY_H
20#include <qtmir/windowmanagementpolicy.h>
20#include <qtmir/windowmanagementpolicy.h>
21+#include "wmpolicyinterface.h"
22#include <unordered_set>
23#include <unordered_set>
24−class Q_DECL_EXPORT WindowManagementPolicy : public qtmir::WindowManagementPolicy
25+class Q_DECL_EXPORT WindowManagementPolicy : public qtmir::WindowManagementPolicy,
26+ public WMPolicyInterface
27 WindowManagementPolicy(const miral::WindowManagerTools &tools, qtmir::WindowManagementPolicyPrivate& dd);
29 WindowManagementPolicy(const miral::WindowManagerTools &tools, qtmir::WindowManagementPolicyPrivate& dd);
29− static WindowManagementPolicy *instance();
31 void advise_new_window(miral::WindowInfo const& window_info) override;
31 void advise_new_window(miral::WindowInfo const& window_info) override;
33+ // From WMPolicyInterface
33− std::shared_ptr<miral::Workspace> createWorkspace();
34+ std::shared_ptr<miral::Workspace> createWorkspace() override;
34− void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace);
36+ void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
36 void forEachWindowInWorkspace(
38 void forEachWindowInWorkspace(
37 std::shared_ptr<miral::Workspace> const& workspace,
39 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;
40 void moveWorkspaceContentToWorkspace(const std::shared_ptr<miral::Workspace> &toWorkspace,
42 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;
43− void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace);
45+ void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace) override;
46− static WindowManagementPolicy* m_self;
47 std::weak_ptr<miral::Workspace> m_activeWorkspace;
48 std::weak_ptr<miral::Workspace> m_activeWorkspace;
49 std::unordered_set<std::shared_ptr<miral::Workspace>> m_workspaces;
50 std::unordered_set<std::shared_ptr<miral::Workspace>> m_workspaces;