Represents a single session, containing a ROM and its associated editors. More...
#include <session_types.h>
Public Member Functions | |
| RomSession ()=default | |
| RomSession (UserSettings *user_settings, size_t session_id, EditorRegistry *editor_registry=nullptr) | |
| RomSession (Rom &&r, UserSettings *user_settings=nullptr, size_t session_id=0, EditorRegistry *editor_registry=nullptr) | |
| ~RomSession () | |
| size_t | session_id () const |
| std::string | GetDisplayName () const |
Public Attributes | |
| Rom | rom |
| zelda3::GameData | game_data |
| EditorSet | editors |
| std::string | custom_name |
| std::string | filepath |
| core::FeatureFlags::Flags | feature_flags |
| std::optional< project::YazeProject > | project_context |
| bool | project_dirty = false |
| bool | backup_restore_pending = false |
| ProjectFileEditorState | project_file_editor_state |
| std::unique_ptr< core::VersionManager > | version_manager |
| bool | game_data_loaded = false |
| std::array< bool, kEditorTypeCount > | editor_initialized {} |
| std::array< bool, kEditorTypeCount > | editor_assets_loaded {} |
Represents a single session, containing a ROM and its associated editors.
Definition at line 158 of file session_types.h.
|
default |
| yaze::editor::RomSession::RomSession | ( | UserSettings * | user_settings, |
| size_t | session_id, | ||
| EditorRegistry * | editor_registry = nullptr ) |
Definition at line 279 of file session_types.cc.
|
explicit |
Definition at line 284 of file session_types.cc.
References feature_flags, yaze::Rom::filename(), filepath, and rom.

| yaze::editor::RomSession::~RomSession | ( | ) |
Definition at line 293 of file session_types.cc.
References game_data, yaze::gfx::PaletteManager::Get(), and yaze::gfx::PaletteManager::ReleaseSession().

|
inline |
Definition at line 189 of file session_types.h.
References editors, and yaze::editor::EditorSet::session_id().
Referenced by yaze::editor::EditorManager::HandleSessionCreated(), yaze::editor::EditorManager::HandleSessionSwitched(), and yaze::editor::EditorManager::RestoreProjectContextForSession().

| std::string yaze::editor::RomSession::GetDisplayName | ( | ) | const |
Definition at line 297 of file session_types.cc.
References custom_name, rom, and yaze::Rom::title().

| Rom yaze::editor::RomSession::rom |
Definition at line 159 of file session_types.h.
Referenced by yaze::editor::EditorManager::ConfigureSession(), yaze::editor::EditorManager::DescribePendingUnsavedWork(), GetDisplayName(), yaze::editor::EditorManager::HandleSessionSwitched(), yaze::editor::SessionCoordinator::NotifySessionRomLoaded(), and RomSession().
| zelda3::GameData yaze::editor::RomSession::game_data |
Definition at line 160 of file session_types.h.
Referenced by yaze::editor::EditorManager::HandleSessionClosed(), yaze::editor::EditorManager::HandleSessionCreated(), yaze::editor::EditorManager::HandleSessionSwitched(), and ~RomSession().
| EditorSet yaze::editor::RomSession::editors |
Definition at line 161 of file session_types.h.
Referenced by yaze::editor::EditorManager::ConfigureSession(), yaze::editor::EditorManager::HandleSessionSwitched(), and session_id().
| std::string yaze::editor::RomSession::custom_name |
Definition at line 162 of file session_types.h.
Referenced by GetDisplayName().
| std::string yaze::editor::RomSession::filepath |
Definition at line 163 of file session_types.h.
Referenced by yaze::editor::SessionCoordinator::NotifySessionRomLoaded(), and RomSession().
| core::FeatureFlags::Flags yaze::editor::RomSession::feature_flags |
Definition at line 164 of file session_types.h.
Referenced by yaze::editor::EditorManager::BindProjectContextToSession(), yaze::editor::EditorManager::CaptureActiveProjectContext(), yaze::editor::EditorManager::CaptureRuntimeFeatureFlags(), yaze::editor::EditorManager::GetCurrentFeatureFlags(), yaze::editor::EditorManager::HandleSessionSwitched(), yaze::editor::EditorManager::LoadProjectWithRom(), yaze::editor::EditorManager::OpenRomOrProjectInternal(), yaze::editor::EditorManager::RestoreProjectContextForSession(), and RomSession().
| std::optional<project::YazeProject> yaze::editor::RomSession::project_context |
| bool yaze::editor::RomSession::project_dirty = false |
Definition at line 168 of file session_types.h.
Referenced by yaze::editor::EditorManager::CaptureActiveProjectEditingState(), and yaze::editor::EditorManager::RestoreProjectEditingStateForSession().
| bool yaze::editor::RomSession::backup_restore_pending = false |
Definition at line 171 of file session_types.h.
| ProjectFileEditorState yaze::editor::RomSession::project_file_editor_state |
Definition at line 172 of file session_types.h.
Referenced by yaze::editor::EditorManager::RestoreProjectEditingStateForSession().
| std::unique_ptr<core::VersionManager> yaze::editor::RomSession::version_manager |
Definition at line 176 of file session_types.h.
Referenced by yaze::editor::EditorManager::BindProjectContextToSession(), and yaze::editor::EditorManager::RestoreProjectContextForSession().
| bool yaze::editor::RomSession::game_data_loaded = false |
Definition at line 177 of file session_types.h.
Referenced by yaze::editor::EditorManager::ResetAssetState().
| std::array<bool, kEditorTypeCount> yaze::editor::RomSession::editor_initialized {} |
Definition at line 178 of file session_types.h.
Referenced by yaze::editor::EditorManager::MarkEditorInitialized(), and yaze::editor::EditorManager::ResetAssetState().
| std::array<bool, kEditorTypeCount> yaze::editor::RomSession::editor_assets_loaded {} |
Definition at line 179 of file session_types.h.
Referenced by yaze::editor::EditorManager::MarkEditorLoaded(), and yaze::editor::EditorManager::ResetAssetState().