Audacity  3.0.3
ProjectFileIORegistry.h
Go to the documentation of this file.
1 /**********************************************************************
2 
3  Audacity: A Digital Audio Editor
4 
5  ProjectFileIORegistry.h
6 
7  Paul Licameli
8 
9 **********************************************************************/
10 
11 #ifndef __AUDACITY_PROJECT_FILE_IO_REGISTRY__
12 #define __AUDACITY_PROJECT_FILE_IO_REGISTRY__
13 
14 #include <functional>
15 
16 class AudacityProject;
17 class XMLTagHandler;
18 class wxString;
19 
20 namespace ProjectFileIORegistry {
21 
22 // Type of functions returning objects that interpret a part of the saved XML
24  std::function< XMLTagHandler *( AudacityProject & ) >;
25 
26 // Typically statically constructed
27 struct AUDACITY_DLL_API Entry{
28  Entry( const wxString &tag, const TagHandlerFactory &factory );
29 };
30 
31 TagHandlerFactory Lookup( const wxString &tag );
32 
33 }
34 
35 #endif
ProjectFileIORegistry::Entry
Definition: ProjectFileIORegistry.h:27
ProjectFileIORegistry
Definition: ProjectFileIORegistry.cpp:18
ProjectFileIORegistry::TagHandlerFactory
std::function< XMLTagHandler *(AudacityProject &) > TagHandlerFactory
Definition: ProjectFileIORegistry.h:24
ProjectFileIORegistry::Lookup
TagHandlerFactory Lookup(const wxString &tag)
Definition: ProjectFileIORegistry.cpp:35
factory
static RegisteredToolbarFactory factory
Definition: ControlToolBar.cpp:806
XMLTagHandler
This class is an interface which should be implemented by classes which wish to be able to load and s...
Definition: XMLTagHandler.h:80
AudacityProject
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:113