FOSSredder 0.5.0
Loading...
Searching...
No Matches
WorkspaceStateManager.h
Go to the documentation of this file.
1
5
6#pragma once
7
8#include <memory>
9
12}
13
14namespace core::storage {
15struct RepositoryBundle;
16}
17
18namespace core::application {
19
24public:
26
28 explicit WorkspaceStateManager(Repositories repos);
30
35
37 core::application::workspace::WorkspaceSessionState load();
39 void save(const core::application::workspace::WorkspaceSessionState& document);
40
42 void setStrictValidation(bool enabled) noexcept;
43
44private:
45 class Impl;
46 std::unique_ptr<Impl> impl_;
47};
48
49}
void setStrictValidation(bool enabled) noexcept
Enables or disables strict validation during load and save.
WorkspaceStateManager & operator=(const WorkspaceStateManager &)=delete
WorkspaceStateManager(const WorkspaceStateManager &)=delete
void save(const core::application::workspace::WorkspaceSessionState &document)
Projects, validates and persists workspace session state.
core::storage::RepositoryBundle Repositories
core::application::workspace::WorkspaceSessionState load()
Loads, rehydrates and validates workspace session state.
WorkspaceStateManager(Repositories repos)
Creates a manager over the supplied repository bundle.
WorkspaceStateManager(WorkspaceStateManager &&) noexcept
Groups repository implementations consumed by WorkspaceStateManager.