Audacity 3.2.0
Public Types | Public Member Functions | Static Public Member Functions | List of all members
PluginManagerInterface Class Referenceabstract

#include <PluginInterface.h>

Inheritance diagram for PluginManagerInterface:
[legend]

Public Types

using ConfigurationType = PluginSettings::ConfigurationType
 
using ConfigReference = PluginSettings::ConfigReference
 
using ConfigConstReference = PluginSettings::ConfigConstReference
 

Public Member Functions

virtual ~PluginManagerInterface ()
 
virtual bool IsPluginRegistered (const PluginPath &path, const TranslatableString *pName=nullptr)=0
 Was the plugin registry already populated for a path (maybe from loading the config file)? More...
 
virtual const PluginIDRegisterPlugin (PluginProvider *provider)=0
 
virtual const PluginIDRegisterPlugin (PluginProvider *provider, EffectDefinitionInterface *effect, int type)=0
 
virtual void FindFilesInPathList (const wxString &pattern, const FilePaths &pathList, FilePaths &files, bool directories=false)=0
 
virtual bool GetConfigSubgroups (ConfigurationType type, const PluginID &ID, const RegistryPath &group, RegistryPaths &subgroups)=0
 
virtual bool HasConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0
 
virtual bool GetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigReference var, ConfigConstReference defval)=0
 
virtual bool SetConfigValue (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key, ConfigConstReference value)=0
 
virtual bool RemoveConfigSubgroup (ConfigurationType type, const PluginID &ID, const RegistryPath &group)=0
 
virtual bool RemoveConfig (ConfigurationType type, const PluginID &ID, const RegistryPath &group, const RegistryPath &key)=0
 
virtual const PluginRegistryVersionGetRegistryVersion () const =0
 What is the plugin registry version number now in the file? More...
 

Static Public Member Functions

static const PluginIDDefaultRegistrationCallback (PluginProvider *provider, ComponentInterface *ident)
 
static const PluginIDAudacityCommandRegistrationCallback (PluginProvider *provider, ComponentInterface *ident)
 

Detailed Description

Definition at line 102 of file PluginInterface.h.

Member Typedef Documentation

◆ ConfigConstReference

Definition at line 107 of file PluginInterface.h.

◆ ConfigReference

Definition at line 106 of file PluginInterface.h.

◆ ConfigurationType

Definition at line 105 of file PluginInterface.h.

Constructor & Destructor Documentation

◆ ~PluginManagerInterface()

PluginManagerInterface::~PluginManagerInterface ( )
virtualdefault

Member Function Documentation

◆ AudacityCommandRegistrationCallback()

const PluginID & PluginManagerInterface::AudacityCommandRegistrationCallback ( PluginProvider provider,
ComponentInterface ident 
)
static

Definition at line 97 of file PluginManager.cpp.

99{
100 return PluginManager::Get().RegisterPlugin(provider, pInterface);
101}
void RegisterPlugin(PluginDescriptor &&desc)
static PluginManager & Get()

References PluginManager::Get(), and PluginManager::RegisterPlugin().

Referenced by BuiltinCommandsModule::AutoRegisterPlugins().

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

◆ DefaultRegistrationCallback()

const PluginID & PluginManagerInterface::DefaultRegistrationCallback ( PluginProvider provider,
ComponentInterface ident 
)
static

Definition at line 89 of file PluginManager.cpp.

91{
92 if(auto effectDefinitionInterface = dynamic_cast<EffectDefinitionInterface*>(pInterface))
93 return PluginManager::Get().RegisterPlugin(provider, effectDefinitionInterface, PluginTypeEffect);
94 return PluginManager::Get().RegisterPlugin(provider, pInterface);
95}
@ PluginTypeEffect
EffectDefinitionInterface is a ComponentInterface that adds some basic read-only information about ef...

References PluginManager::Get(), PluginTypeEffect, and PluginManager::RegisterPlugin().

Referenced by LadspaEffectsModule::AutoRegisterPlugins(), BuiltinEffectsModule::AutoRegisterPlugins(), NyquistEffectsModule::AutoRegisterPlugins(), anonymous_namespace{PluginHost.cpp}::Discover(), PluginManager::DropFile(), and ModuleManager::RegisterEffectPlugin().

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

◆ FindFilesInPathList()

virtual void PluginManagerInterface::FindFilesInPathList ( const wxString &  pattern,
const FilePaths pathList,
FilePaths files,
bool  directories = false 
)
pure virtual

Implemented in PluginManager.

Referenced by LadspaEffectsModule::AutoRegisterPlugins(), NyquistEffectsModule::AutoRegisterPlugins(), LadspaEffectsModule::FindModulePaths(), NyquistEffectsModule::FindModulePaths(), and VSTEffectsModule::FindModulePaths().

Here is the caller graph for this function:

◆ GetConfigSubgroups()

virtual bool PluginManagerInterface::GetConfigSubgroups ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group,
RegistryPaths subgroups 
)
pure virtual

Implemented in PluginManager.

◆ GetConfigValue()

virtual bool PluginManagerInterface::GetConfigValue ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group,
const RegistryPath key,
ConfigReference  var,
ConfigConstReference  defval 
)
pure virtual
Precondition
var and defval wrap references to the same type (ignoring const)

Implemented in PluginManager.

◆ GetRegistryVersion()

virtual const PluginRegistryVersion & PluginManagerInterface::GetRegistryVersion ( ) const
pure virtual

What is the plugin registry version number now in the file?

Implemented in PluginManager.

Referenced by BuiltinEffectsModule::AutoRegisterPlugins().

Here is the caller graph for this function:

◆ HasConfigValue()

virtual bool PluginManagerInterface::HasConfigValue ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group,
const RegistryPath key 
)
pure virtual

Implemented in PluginManager.

◆ IsPluginRegistered()

virtual bool PluginManagerInterface::IsPluginRegistered ( const PluginPath path,
const TranslatableString pName = nullptr 
)
pure virtual

Was the plugin registry already populated for a path (maybe from loading the config file)?

Parameters
pathan identifier for the plug-in with meaning defined by provider; not always a file path
pNameif supplied, a correction for the user visible name associated with the plug-in, if it is registered already. (Needed because the configuration file only stores an internal name.)

Implemented in PluginManager.

Referenced by BuiltinCommandsModule::AutoRegisterPlugins(), LadspaEffectsModule::AutoRegisterPlugins(), BuiltinEffectsModule::AutoRegisterPlugins(), and NyquistEffectsModule::AutoRegisterPlugins().

Here is the caller graph for this function:

◆ RegisterPlugin() [1/2]

virtual const PluginID & PluginManagerInterface::RegisterPlugin ( PluginProvider provider)
pure virtual

Implemented in PluginManager.

◆ RegisterPlugin() [2/2]

virtual const PluginID & PluginManagerInterface::RegisterPlugin ( PluginProvider provider,
EffectDefinitionInterface effect,
int  type 
)
pure virtual

Implemented in PluginManager.

◆ RemoveConfig()

virtual bool PluginManagerInterface::RemoveConfig ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group,
const RegistryPath key 
)
pure virtual

Implemented in PluginManager.

◆ RemoveConfigSubgroup()

virtual bool PluginManagerInterface::RemoveConfigSubgroup ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group 
)
pure virtual

Implemented in PluginManager.

◆ SetConfigValue()

virtual bool PluginManagerInterface::SetConfigValue ( ConfigurationType  type,
const PluginID ID,
const RegistryPath group,
const RegistryPath key,
ConfigConstReference  value 
)
pure virtual

Implemented in PluginManager.


The documentation for this class was generated from the following files: