|
FOSSredder 0.5.0
|
Persists workspace session state through atomic store callbacks and latest-path registry access. More...
#include <StorageManager.h>


Public Types | |
| using | AtomicStoreSave = core::ports::storage::IStorageManager::AtomicStoreSave |
| using | AtomicStoreLoad = core::ports::storage::IStorageManager::AtomicStoreLoad |
| using | DeletionImpactCallback = core::ports::storage::IStorageManager::DeletionImpactCallback |
| Public Types inherited from core::ports::storage::IStorageManager | |
| using | AtomicStoreSave = std::function<core::domain::DeletionImpact(const std::string& dbPath, const core::application::workspace::WorkspaceSessionState& document)> |
| Destroy the storage manager port. | |
| using | AtomicStoreLoad = std::function<core::application::workspace::WorkspaceSessionState(const std::string& dbPath)> |
| using | DeletionImpactCallback = std::function<void(const core::domain::DeletionImpact&)> |
Public Member Functions | |
| StorageManager (std::shared_ptr< core::ports::storage::IRegistry > registry=nullptr) | |
| Creates a storage manager with an optional latest-path registry backend. | |
| void | setAtomicStoreSave (AtomicStoreSave saveFn) override |
| Configure the atomic save callback. | |
| void | setAtomicStoreLoad (AtomicStoreLoad loadFn) override |
| Configure the atomic load callback. | |
| void | setDeletionImpactCallback (DeletionImpactCallback cb) override |
| Configure the deletion impact callback. | |
| std::optional< std::string > | loadLatestPath () const override |
| Load the latest known path. | |
| core::application::workspace::WorkspaceSessionState | loadFrom (const std::string &filePath) override |
| Load an application state from a file path. | |
| void | save (const core::application::workspace::WorkspaceSessionState &document) override |
| Save the current application state. | |
| void | saveAs (const std::string &filePath, const core::application::workspace::WorkspaceSessionState &document) override |
| Save the current application state to a specific file path. | |
| void | createNew (const std::string &filePath) override |
| Create a new storage target. | |
| const std::string & | currentPath () const noexcept override |
| Get the current storage path. | |
| Public Member Functions inherited from core::ports::storage::IStorageManager | |
| virtual | ~IStorageManager ()=default |
Persists workspace session state through atomic store callbacks and latest-path registry access.
Definition at line 24 of file StorageManager.h.
| using core::storage::StorageManager::AtomicStoreLoad = core::ports::storage::IStorageManager::AtomicStoreLoad |
Definition at line 27 of file StorageManager.h.
| using core::storage::StorageManager::AtomicStoreSave = core::ports::storage::IStorageManager::AtomicStoreSave |
Definition at line 26 of file StorageManager.h.
| using core::storage::StorageManager::DeletionImpactCallback = core::ports::storage::IStorageManager::DeletionImpactCallback |
Definition at line 28 of file StorageManager.h.
|
explicit |
Creates a storage manager with an optional latest-path registry backend.
Definition at line 15 of file StorageManager.cpp.
|
overridevirtual |
Create a new storage target.
| filePath | File path to create. |
Implements core::ports::storage::IStorageManager.
Definition at line 92 of file StorageManager.cpp.
|
inlineoverridevirtualnoexcept |
Get the current storage path.
Implements core::ports::storage::IStorageManager.
Definition at line 41 of file StorageManager.h.
|
overridevirtual |
Load an application state from a file path.
| filePath | File path to load. |
Implements core::ports::storage::IStorageManager.
Definition at line 46 of file StorageManager.cpp.
|
overridevirtual |
Load the latest known path.
Implements core::ports::storage::IStorageManager.
Definition at line 32 of file StorageManager.cpp.
|
overridevirtual |
Save the current application state.
| state | State to save. |
Implements core::ports::storage::IStorageManager.
Definition at line 64 of file StorageManager.cpp.

|
overridevirtual |
Save the current application state to a specific file path.
| filePath | Target file path. |
| state | State to save. |
Implements core::ports::storage::IStorageManager.
Definition at line 72 of file StorageManager.cpp.


|
overridevirtual |
Configure the atomic load callback.
| loadFn | Load callback. |
Implements core::ports::storage::IStorageManager.
Definition at line 24 of file StorageManager.cpp.
|
overridevirtual |
Configure the atomic save callback.
| saveFn | Save callback. |
Implements core::ports::storage::IStorageManager.
Definition at line 20 of file StorageManager.cpp.
|
overridevirtual |
Configure the deletion impact callback.
| cb | Callback invoked after save operations. |
Implements core::ports::storage::IStorageManager.
Definition at line 28 of file StorageManager.cpp.