19 static std::vector<ProjectFileIOExtension*> extensions;
std::function< bool(const std::string &path, bool nameChanged)> ProjectSaveCallback
OnOpenAction
Action the ProjectManager should take after the open hooks were called.
@ Continue
ProjectManager should continue with the open.
@ Cancel
Open was cancelled by the extension.
OnSaveAction
Action the ProjectManager should take after the save hooks were called.
@ Continue
Save was not handled by the extension.
OnCloseAction
Action the ProjectManager should take after the close hooks were called.
@ Veto
Extension vetoed the close.
@ Continue
Extension did not veto the close.
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Set of hooks for project file I/O.
virtual ~ProjectFileIOExtension()
a class used to (de)serialize the project catalog
ProjectFileIOExtensionRegistry::Extension extension
std::vector< ProjectFileIOExtension * > & GetExtensions()
Extension(ProjectFileIOExtension &extension)
static void OnUpdateSaved(AudacityProject &project, const ProjectSerializer &serializer)
static bool IsBlockLocked(const AudacityProject &project, int64_t blockId)
static void OnLoad(AudacityProject &project)
static OnOpenAction OnOpen(AudacityProject &project, const std::string &path)
static OnSaveAction OnSave(AudacityProject &project, const ProjectSaveCallback &projectSaveCallback)
static OnCloseAction OnClose(AudacityProject &project)