![]() |
Audacity 3.2.0
|
#include <ModuleManager.h>
Public Member Functions | |
void | Initialize () |
int | Dispatch (ModuleDispatchTypes type) |
bool | DiscoverProviders () |
auto | Providers () const |
bool | RegisterEffectPlugin (const PluginID &provider, const PluginPath &path, TranslatableString &errMsg) |
PluginProvider * | CreateProviderInstance (const PluginID &provider, const PluginPath &path) |
std::unique_ptr< ComponentInterface > | LoadPlugin (const PluginID &provider, const PluginPath &path) |
bool | IsProviderValid (const PluginID &provider, const PluginPath &path) |
bool | IsPluginValid (const PluginID &provider, const PluginPath &path, bool bFast) |
Static Public Member Functions | |
static ModuleManager & | Get () |
static wxString | GetPluginTypeString () |
static PluginID | GetID (PluginProvider *provider) |
Private Types | |
using | DelayedErrors = std::vector< std::pair< std::unique_ptr< Module >, wxString > > |
Private Member Functions | |
ModuleManager () | |
~ModuleManager () | |
ModuleManager (const ModuleManager &) PROHIBITED | |
ModuleManager & | operator= (const ModuleManager &) PROHIBITED |
void | InitializeBuiltins () |
Static Private Member Functions | |
static void | FindModules (FilePaths &files) |
static void | TryLoadModules (const FilePaths &files, FilePaths &decided, DelayedErrors &errors) |
Private Attributes | |
friend | PluginProviderDeleter |
PluginProviderMap | mProviders |
std::vector< std::unique_ptr< Module > > | mModules |
Static Private Attributes | |
static std::unique_ptr< ModuleManager > | mInstance {} |
Definition at line 71 of file ModuleManager.h.
|
private |
Definition at line 89 of file ModuleManager.h.
|
private |
Definition at line 207 of file ModuleManager.cpp.
|
private |
Definition at line 211 of file ModuleManager.cpp.
References anonymous_namespace{ModuleManager.cpp}::builtinProviderList(), and mProviders.
|
private |
PluginProvider * ModuleManager::CreateProviderInstance | ( | const PluginID & | provider, |
const PluginPath & | path | ||
) |
Definition at line 500 of file ModuleManager.cpp.
References mProviders.
Referenced by PluginManager::CheckForUpdates(), and PluginManager::Load().
bool ModuleManager::DiscoverProviders | ( | ) |
Definition at line 421 of file ModuleManager.cpp.
References FileNames::AddMultiPathsToPathList(), FileNames::AddUniquePathToPathList(), FileNames::FindFilesInPathList(), InitializeBuiltins(), and FileNames::ModulesDir().
int ModuleManager::Dispatch | ( | ModuleDispatchTypes | type | ) |
Definition at line 382 of file ModuleManager.cpp.
References mModules.
Referenced by AudacityApp::InitPart2(), ProjectManager::New(), ProjectManager::OnCloseWindow(), and QuitAudacity().
|
staticprivate |
Definition at line 218 of file ModuleManager.cpp.
References FileNames::AddMultiPathsToPathList(), FileNames::AddUniquePathToPathList(), FileNames::AudacityPathList(), and FileNames::FindFilesInPathList().
Referenced by Initialize().
|
static |
Definition at line 396 of file ModuleManager.cpp.
References mInstance, and safenew.
Referenced by PluginManager::CheckForUpdates(), PluginManager::DropFile(), PluginManager::Initialize(), AudacityApp::InitPart2(), PluginManager::Load(), ProjectManager::New(), ProjectManager::OnCloseWindow(), PluginRegistrationDialog::OnOK(), QuitAudacity(), and TryLoadModules().
|
static |
Definition at line 411 of file ModuleManager.cpp.
References ComponentInterface::GetPath(), GetPluginTypeString(), ComponentInterface::GetSymbol(), ComponentInterface::GetVendor(), and ComponentInterfaceSymbol::Internal().
Referenced by PluginManager::GetID(), and InitializeBuiltins().
|
static |
Definition at line 406 of file ModuleManager.cpp.
Referenced by GetID(), and PluginManager::GetPluginTypeString().
void ModuleManager::Initialize | ( | ) |
Definition at line 355 of file ModuleManager.cpp.
References FindModules(), kModuleFailed, ModuleSettings::SetModuleStatus(), and TryLoadModules().
Referenced by AudacityApp::InitPart2().
|
private |
Definition at line 458 of file ModuleManager.cpp.
References anonymous_namespace{ModuleManager.cpp}::builtinProviderList(), GetID(), id, and mProviders.
Referenced by DiscoverProviders().
bool ModuleManager::IsPluginValid | ( | const PluginID & | provider, |
const PluginPath & | path, | ||
bool | bFast | ||
) |
Definition at line 539 of file ModuleManager.cpp.
References mProviders.
Referenced by PluginManager::CheckForUpdates().
bool ModuleManager::IsProviderValid | ( | const PluginID & | provider, |
const PluginPath & | path | ||
) |
Definition at line 521 of file ModuleManager.cpp.
Referenced by PluginManager::CheckForUpdates().
std::unique_ptr< ComponentInterface > ModuleManager::LoadPlugin | ( | const PluginID & | provider, |
const PluginPath & | path | ||
) |
Definition at line 511 of file ModuleManager.cpp.
References mProviders.
|
private |
|
inline |
Definition at line 103 of file ModuleManager.h.
References make_iterator_range().
bool ModuleManager::RegisterEffectPlugin | ( | const PluginID & | provider, |
const PluginPath & | path, | ||
TranslatableString & | errMsg | ||
) |
Definition at line 487 of file ModuleManager.cpp.
References PluginManagerInterface::DefaultRegistrationCallback(), and mProviders.
Referenced by PluginRegistrationDialog::OnOK().
|
staticprivate |
Definition at line 245 of file ModuleManager.cpp.
References DoMessageBox(), BasicUI::Error, Get(), ModuleSettings::GetModuleStatus(), kModuleAsk, kModuleDisabled, kModuleEnabled, kModuleFailed, kModuleNew, mModules, ModuleSettings::SetModuleStatus(), BasicUI::ShowMultiDialog(), and XO.
Referenced by Initialize().
|
staticprivate |
Definition at line 129 of file ModuleManager.h.
Referenced by Get().
|
private |
Definition at line 138 of file ModuleManager.h.
Referenced by Dispatch(), and TryLoadModules().
|
private |
Definition at line 134 of file ModuleManager.h.
Referenced by CreateProviderInstance(), InitializeBuiltins(), IsPluginValid(), LoadPlugin(), RegisterEffectPlugin(), and ~ModuleManager().
|
private |
Definition at line 127 of file ModuleManager.h.