/********************************************************************** Audacity: A Digital Audio Editor LoadCommands.h Dominic Mazzoni James Crook **********************************************************************/ #include "audacity/ModuleInterface.h" #include "../MemoryX.h" class AudacityCommand; /////////////////////////////////////////////////////////////////////////////// // // BuiltinCommandsModule // /////////////////////////////////////////////////////////////////////////////// class BuiltinCommandsModule final : public ModuleInterface { public: BuiltinCommandsModule(ModuleManagerInterface *moduleManager, const wxString *path); virtual ~BuiltinCommandsModule(); // ComponentInterface implementation PluginPath GetPath() override; ComponentInterfaceSymbol GetSymbol() override; VendorSymbol GetVendor() override; wxString GetVersion() override; TranslatableString GetDescription() override; // ModuleInterface implementation bool Initialize() override; void Terminate() override; EffectFamilySymbol GetOptionalFamilySymbol() override; const FileExtensions &GetFileExtensions() override; FilePath InstallPath() override { return {}; } bool AutoRegisterPlugins(PluginManagerInterface & pm) override; PluginPaths FindPluginPaths(PluginManagerInterface & pm) override; unsigned DiscoverPluginsAtPath( const PluginPath & path, wxString &errMsg, const RegistrationCallback &callback) override; bool IsPluginValid(const PluginPath & path, bool bFast) override; ComponentInterface *CreateInstance(const PluginPath & path) override; void DeleteInstance(ComponentInterface *instance) override; private: // BuiltinEffectModule implementation std::unique_ptr Instantiate(const PluginPath & path); private: ModuleManagerInterface *mModMan; wxString mPath; PluginPaths mNames; };