Audacity 3.2.0
Classes | Typedefs | Functions | Variables
ModuleManager.h File Reference
#include "IteratorX.h"
#include <functional>
#include <map>
#include <memory>
#include <vector>
#include <wx/string.h>
#include "Identifier.h"
#include "ModuleConstants.h"
Include dependency graph for ModuleManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Module
 
class  PluginProviderUniqueHandle
 
class  ModuleManager
 
struct  Init
 

Typedefs

using PluginID = wxString
 
typedef int(* fnModuleDispatch) (ModuleDispatchTypes type)
 
using PluginProviderHandlesMap = std::map< wxString, PluginProviderUniqueHandle >
 
using PluginProviderFactory = std::unique_ptr< PluginProvider >(*)()
 

Functions

MODULE_MANAGER_API void RegisterProviderFactory (PluginProviderFactory factory)
 
MODULE_MANAGER_API void UnregisterProviderFactory (PluginProviderFactory factory)
 

Variables

static struct Init sInitBuiltinModules
 

Typedef Documentation

◆ fnModuleDispatch

typedef int(* fnModuleDispatch) (ModuleDispatchTypes type)

Definition at line 40 of file ModuleManager.h.

◆ PluginID

using PluginID = wxString

Definition at line 29 of file ModuleManager.h.

◆ PluginProviderFactory

using PluginProviderFactory = std::unique_ptr<PluginProvider> (*)()

Definition at line 161 of file ModuleManager.h.

◆ PluginProviderHandlesMap

Definition at line 83 of file ModuleManager.h.

Function Documentation

◆ RegisterProviderFactory()

MODULE_MANAGER_API void RegisterProviderFactory ( PluginProviderFactory  factory)

Definition at line 191 of file ModuleManager.cpp.

192{
193 auto &list = builtinProviderList();
194 if(pluginProviderFactory)
195 list.push_back(std::move(pluginProviderFactory));
196}
BuiltinProviderList & builtinProviderList()

References anonymous_namespace{ModuleManager.cpp}::builtinProviderList().

Referenced by Init::Init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UnregisterProviderFactory()

MODULE_MANAGER_API void UnregisterProviderFactory ( PluginProviderFactory  factory)

Definition at line 198 of file ModuleManager.cpp.

199{
200 auto &list = builtinProviderList();
201 auto end = list.end(), iter = std::find(list.begin(), end, pluginProviderFactory);
202 if (iter != end)
203 list.erase(iter);
204}
const char * end(const char *str) noexcept
Definition: StringUtils.h:106

References anonymous_namespace{ModuleManager.cpp}::builtinProviderList(), and details::end().

Here is the call graph for this function:

Variable Documentation

◆ sInitBuiltinModules

struct Init sInitBuiltinModules
static