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 185 of file ModuleManager.cpp.

186{
187 auto &list = builtinProviderList();
188 if(pluginProviderFactory)
189 list.push_back(std::move(pluginProviderFactory));
190}
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 192 of file ModuleManager.cpp.

193{
194 auto &list = builtinProviderList();
195 auto end = list.end(), iter = std::find(list.begin(), end, pluginProviderFactory);
196 if (iter != end)
197 list.erase(iter);
198}
auto end(const Ptr< Type, BaseDeleter > &p)
Enables range-for.
Definition: PackedArray.h:159

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

Here is the call graph for this function:

Variable Documentation

◆ sInitBuiltinModules

struct Init sInitBuiltinModules
static