Audacity  3.0.3
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
PluginDescriptor Class Reference

#include <PluginManager.h>

Collaboration diagram for PluginDescriptor:
[legend]

Public Member Functions

 PluginDescriptor ()
 
PluginDescriptoroperator= (PluginDescriptor &&)
 
virtual ~PluginDescriptor ()
 
bool IsInstantiated () const
 
PluginType GetPluginType () const
 
const wxString & GetID () const
 
const wxString & GetProviderID () const
 
const PluginPathGetPath () const
 
const ComponentInterfaceSymbolGetSymbol () const
 
wxString GetUntranslatedVersion () const
 
wxString GetVendor () const
 
bool IsEnabled () const
 
bool IsValid () const
 
void SetEnabled (bool enable)
 
void SetValid (bool valid)
 
wxString GetEffectFamily () const
 
EffectType GetEffectType () const
 
bool IsEffectDefault () const
 
bool IsEffectInteractive () const
 
bool IsEffectLegacy () const
 
bool IsEffectRealtime () const
 
bool IsEffectAutomatable () const
 
const wxString & GetImporterIdentifier () const
 
const TranslatableStringGetImporterFilterDescription () const
 
const FileExtensionsGetImporterExtensions () const
 

Private Member Functions

ComponentInterfaceGetInstance ()
 
void SetInstance (std::unique_ptr< ComponentInterface > instance)
 
void SetPluginType (PluginType type)
 
void SetID (const PluginID &ID)
 
void SetProviderID (const PluginID &providerID)
 
void SetPath (const PluginPath &path)
 
void SetSymbol (const ComponentInterfaceSymbol &symbol)
 
void SetVersion (const wxString &version)
 
void SetVendor (const wxString &vendor)
 
void SetEffectFamily (const wxString &family)
 
void SetEffectType (EffectType type)
 
void SetEffectDefault (bool dflt)
 
void SetEffectInteractive (bool interactive)
 
void SetEffectLegacy (bool legacy)
 
void SetEffectRealtime (bool realtime)
 
void SetEffectAutomatable (bool automatable)
 
void SetImporterIdentifier (const wxString &identifier)
 
void SetImporterFilterDescription (const TranslatableString &filterDesc)
 
void SetImporterExtensions (FileExtensions extensions)
 

Private Attributes

std::unique_ptr< ComponentInterfacemuInstance
 
ComponentInterfacemInstance
 
PluginType mPluginType
 
wxString mID
 
PluginPath mPath
 
ComponentInterfaceSymbol mSymbol
 
wxString mVersion
 
wxString mVendor
 
wxString mProviderID
 
bool mEnabled
 
bool mValid
 
wxString mEffectFamily
 
EffectType mEffectType
 
bool mEffectInteractive
 
bool mEffectDefault
 
bool mEffectLegacy
 
bool mEffectRealtime
 
bool mEffectAutomatable
 
wxString mImporterIdentifier
 
FileExtensions mImporterExtensions
 

Friends

class PluginManager
 

Detailed Description

Definition at line 43 of file PluginManager.h.

Constructor & Destructor Documentation

◆ PluginDescriptor()

PluginDescriptor::PluginDescriptor ( )

Definition at line 47 of file PluginManager.cpp.

48 {
50  mEnabled = false;
51  mValid = false;
52  mInstance = nullptr;
53 
55  mEffectInteractive = false;
56  mEffectDefault = false;
57  mEffectLegacy = false;
58  mEffectRealtime = false;
59  mEffectAutomatable = false;
60 }

References EffectTypeNone, mEffectAutomatable, mEffectDefault, mEffectInteractive, mEffectLegacy, mEffectRealtime, mEffectType, mEnabled, mInstance, mPluginType, mValid, and PluginTypeNone.

◆ ~PluginDescriptor()

PluginDescriptor::~PluginDescriptor ( )
virtual

Definition at line 62 of file PluginManager.cpp.

63 {
64 }

Member Function Documentation

◆ GetEffectFamily()

wxString PluginDescriptor::GetEffectFamily ( ) const

Definition at line 187 of file PluginManager.cpp.

188 {
189  return mEffectFamily;
190 }

References mEffectFamily.

Referenced by PluginManager::SettingsPath().

Here is the caller graph for this function:

◆ GetEffectType()

EffectType PluginDescriptor::GetEffectType ( ) const

Definition at line 192 of file PluginManager.cpp.

193 {
194  return mEffectType;
195 }

References mEffectType.

Referenced by EffectUI::DoEffect().

Here is the caller graph for this function:

◆ GetID()

const PluginID & PluginDescriptor::GetID ( ) const

◆ GetImporterExtensions()

const FileExtensions & PluginDescriptor::GetImporterExtensions ( ) const

Definition at line 269 of file PluginManager.cpp.

271 {
272  return mImporterExtensions;
273 }

References mImporterExtensions.

◆ GetImporterFilterDescription()

const TranslatableString& PluginDescriptor::GetImporterFilterDescription ( ) const

◆ GetImporterIdentifier()

const wxString & PluginDescriptor::GetImporterIdentifier ( ) const

Definition at line 259 of file PluginManager.cpp.

260 {
261  return mImporterIdentifier;
262 }

References mImporterIdentifier.

◆ GetInstance()

ComponentInterface * PluginDescriptor::GetInstance ( )
private

Definition at line 73 of file PluginManager.cpp.

74 {
75  if (!mInstance)
76  {
79  else
80  {
82  mInstance = muInstance.get();
83  }
84  }
85 
86  return mInstance;
87 }

References ModuleManager::CreateInstance(), ModuleManager::CreateProviderInstance(), ModuleManager::Get(), GetID(), GetPath(), GetPluginType(), GetProviderID(), mInstance, muInstance, and PluginTypeModule.

Here is the call graph for this function:

◆ GetPath()

const PluginPath & PluginDescriptor::GetPath ( ) const

◆ GetPluginType()

PluginType PluginDescriptor::GetPluginType ( ) const

Definition at line 95 of file PluginManager.cpp.

96 {
97  return mPluginType;
98 }

References mPluginType.

Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItemGroup(), MacroCommands::ApplyEffectCommand(), GetInstance(), PluginManager::SettingsPath(), and PluginManager::Terminate().

Here is the caller graph for this function:

◆ GetProviderID()

const PluginID & PluginDescriptor::GetProviderID ( ) const

Definition at line 105 of file PluginManager.cpp.

106 {
107  return mProviderID;
108 }

References mProviderID.

Referenced by GetInstance().

Here is the caller graph for this function:

◆ GetSymbol()

const ComponentInterfaceSymbol & PluginDescriptor::GetSymbol ( ) const

◆ GetUntranslatedVersion()

wxString PluginDescriptor::GetUntranslatedVersion ( ) const

Definition at line 120 of file PluginManager.cpp.

121 {
122  return mVersion;
123 }

References mVersion.

◆ GetVendor()

wxString PluginDescriptor::GetVendor ( ) const

Definition at line 125 of file PluginManager.cpp.

126 {
127  return mVendor;
128 }

References mVendor.

Referenced by PluginManager::SettingsPath().

Here is the caller graph for this function:

◆ IsEffectAutomatable()

bool PluginDescriptor::IsEffectAutomatable ( ) const

Definition at line 217 of file PluginManager.cpp.

218 {
219  return mEffectAutomatable;
220 }

References mEffectAutomatable.

Referenced by EffectManager::SupportsAutomation().

Here is the caller graph for this function:

◆ IsEffectDefault()

bool PluginDescriptor::IsEffectDefault ( ) const

Definition at line 202 of file PluginManager.cpp.

203 {
204  return mEffectDefault;
205 }

References mEffectDefault.

Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItems(), anonymous_namespace{PluginMenus.cpp}::CompareEffectsByPublisherAndName(), and anonymous_namespace{PluginMenus.cpp}::CompareEffectsByTypeAndName().

Here is the caller graph for this function:

◆ IsEffectInteractive()

bool PluginDescriptor::IsEffectInteractive ( ) const

Definition at line 197 of file PluginManager.cpp.

198 {
199  return mEffectInteractive;
200 }

References mEffectInteractive.

Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItems().

Here is the caller graph for this function:

◆ IsEffectLegacy()

bool PluginDescriptor::IsEffectLegacy ( ) const

Definition at line 207 of file PluginManager.cpp.

208 {
209  return mEffectLegacy;
210 }

References mEffectLegacy.

◆ IsEffectRealtime()

bool PluginDescriptor::IsEffectRealtime ( ) const

Definition at line 212 of file PluginManager.cpp.

213 {
214  return mEffectRealtime;
215 }

References mEffectRealtime.

Referenced by anonymous_namespace{PluginMenus.cpp}::AddEffectMenuItems().

Here is the caller graph for this function:

◆ IsEnabled()

bool PluginDescriptor::IsEnabled ( ) const

Definition at line 130 of file PluginManager.cpp.

131 {
132  return mEnabled;
133 }

References mEnabled.

Referenced by anonymous_namespace{TrackMenus.cpp}::TracksMenu().

Here is the caller graph for this function:

◆ IsInstantiated()

bool PluginDescriptor::IsInstantiated ( ) const

Definition at line 68 of file PluginManager.cpp.

69 {
70  return mInstance != nullptr;
71 }

References mInstance.

◆ IsValid()

bool PluginDescriptor::IsValid ( ) const

Definition at line 135 of file PluginManager.cpp.

136 {
137  return mValid;
138 }

References mValid.

◆ operator=()

PluginDescriptor & PluginDescriptor::operator= ( PluginDescriptor &&  )
default

◆ SetEffectAutomatable()

void PluginDescriptor::SetEffectAutomatable ( bool  automatable)
private

Definition at line 252 of file PluginManager.cpp.

253 {
254  mEffectAutomatable = automatable;
255 }

References mEffectAutomatable.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectDefault()

void PluginDescriptor::SetEffectDefault ( bool  dflt)
private

Definition at line 237 of file PluginManager.cpp.

238 {
239  mEffectDefault = dflt;
240 }

References mEffectDefault.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectFamily()

void PluginDescriptor::SetEffectFamily ( const wxString &  family)
private

Definition at line 222 of file PluginManager.cpp.

223 {
224  mEffectFamily = family;
225 }

References mEffectFamily.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectInteractive()

void PluginDescriptor::SetEffectInteractive ( bool  interactive)
private

Definition at line 232 of file PluginManager.cpp.

233 {
234  mEffectInteractive = interactive;
235 }

References mEffectInteractive.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectLegacy()

void PluginDescriptor::SetEffectLegacy ( bool  legacy)
private

Definition at line 242 of file PluginManager.cpp.

243 {
244  mEffectLegacy = legacy;
245 }

References mEffectLegacy.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectRealtime()

void PluginDescriptor::SetEffectRealtime ( bool  realtime)
private

Definition at line 247 of file PluginManager.cpp.

248 {
249  mEffectRealtime = realtime;
250 }

References mEffectRealtime.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEffectType()

void PluginDescriptor::SetEffectType ( EffectType  type)
private

Definition at line 227 of file PluginManager.cpp.

228 {
229  mEffectType = type;
230 }

References mEffectType.

Referenced by PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetEnabled()

void PluginDescriptor::SetEnabled ( bool  enable)

Definition at line 175 of file PluginManager.cpp.

176 {
177  mEnabled = enable;
178 }

References mEnabled.

Referenced by PluginManager::CheckForUpdates(), PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetID()

void PluginDescriptor::SetID ( const PluginID ID)
private

Definition at line 145 of file PluginManager.cpp.

146 {
147  mID = ID;
148 }

References mID.

Referenced by PluginManager::CheckForUpdates(), PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetImporterExtensions()

void PluginDescriptor::SetImporterExtensions ( FileExtensions  extensions)
private

Definition at line 275 of file PluginManager.cpp.

276 {
277  mImporterExtensions = std::move( extensions );
278 }

References mImporterExtensions.

Referenced by PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetImporterFilterDescription()

void PluginDescriptor::SetImporterFilterDescription ( const TranslatableString filterDesc)
private

◆ SetImporterIdentifier()

void PluginDescriptor::SetImporterIdentifier ( const wxString &  identifier)
private

Definition at line 264 of file PluginManager.cpp.

265 {
266  mImporterIdentifier = identifier;
267 }

References mImporterIdentifier.

Referenced by PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetInstance()

void PluginDescriptor::SetInstance ( std::unique_ptr< ComponentInterface instance)
private

Definition at line 89 of file PluginManager.cpp.

90 {
91  muInstance = std::move(instance);
92  mInstance = muInstance.get();
93 }

References mInstance, and muInstance.

Referenced by PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetPath()

void PluginDescriptor::SetPath ( const PluginPath path)
private

Definition at line 155 of file PluginManager.cpp.

156 {
157  mPath = path;
158 }

References mPath.

Referenced by PluginManager::CheckForUpdates(), PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetPluginType()

void PluginDescriptor::SetPluginType ( PluginType  type)
private

Definition at line 140 of file PluginManager.cpp.

141 {
142  mPluginType = type;
143 }

References mPluginType.

Referenced by PluginManager::CheckForUpdates(), PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetProviderID()

void PluginDescriptor::SetProviderID ( const PluginID providerID)
private

Definition at line 150 of file PluginManager.cpp.

151 {
152  mProviderID = providerID;
153 }

References mProviderID.

Referenced by PluginManager::CheckForUpdates(), PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetSymbol()

void PluginDescriptor::SetSymbol ( const ComponentInterfaceSymbol symbol)
private

Definition at line 160 of file PluginManager.cpp.

161 {
162  mSymbol = symbol;
163 }

References mSymbol.

Referenced by PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetValid()

void PluginDescriptor::SetValid ( bool  valid)

Definition at line 180 of file PluginManager.cpp.

181 {
182  mValid = valid;
183 }

References mValid.

Referenced by PluginManager::CheckForUpdates(), PluginManager::LoadGroup(), and PluginManager::RegisterPlugin().

Here is the caller graph for this function:

◆ SetVendor()

void PluginDescriptor::SetVendor ( const wxString &  vendor)
private

Definition at line 170 of file PluginManager.cpp.

171 {
172  mVendor = vendor;
173 }

References mVendor.

Referenced by PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

◆ SetVersion()

void PluginDescriptor::SetVersion ( const wxString &  version)
private

Definition at line 165 of file PluginManager.cpp.

166 {
167  mVersion = version;
168 }

References mVersion.

Referenced by PluginManager::CreatePlugin(), and PluginManager::LoadGroup().

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ PluginManager

friend class PluginManager
friend

Definition at line 95 of file PluginManager.h.

Member Data Documentation

◆ mEffectAutomatable

bool PluginDescriptor::mEffectAutomatable
private

Definition at line 153 of file PluginManager.h.

Referenced by IsEffectAutomatable(), PluginDescriptor(), and SetEffectAutomatable().

◆ mEffectDefault

bool PluginDescriptor::mEffectDefault
private

Definition at line 150 of file PluginManager.h.

Referenced by IsEffectDefault(), PluginDescriptor(), and SetEffectDefault().

◆ mEffectFamily

wxString PluginDescriptor::mEffectFamily
private

Definition at line 147 of file PluginManager.h.

Referenced by GetEffectFamily(), and SetEffectFamily().

◆ mEffectInteractive

bool PluginDescriptor::mEffectInteractive
private

Definition at line 149 of file PluginManager.h.

Referenced by IsEffectInteractive(), PluginDescriptor(), and SetEffectInteractive().

◆ mEffectLegacy

bool PluginDescriptor::mEffectLegacy
private

Definition at line 151 of file PluginManager.h.

Referenced by IsEffectLegacy(), PluginDescriptor(), and SetEffectLegacy().

◆ mEffectRealtime

bool PluginDescriptor::mEffectRealtime
private

Definition at line 152 of file PluginManager.h.

Referenced by IsEffectRealtime(), PluginDescriptor(), and SetEffectRealtime().

◆ mEffectType

EffectType PluginDescriptor::mEffectType
private

Definition at line 148 of file PluginManager.h.

Referenced by GetEffectType(), PluginDescriptor(), and SetEffectType().

◆ mEnabled

bool PluginDescriptor::mEnabled
private

Definition at line 142 of file PluginManager.h.

Referenced by IsEnabled(), PluginDescriptor(), and SetEnabled().

◆ mID

wxString PluginDescriptor::mID
private

Definition at line 136 of file PluginManager.h.

Referenced by GetID(), and SetID().

◆ mImporterExtensions

FileExtensions PluginDescriptor::mImporterExtensions
private

Definition at line 158 of file PluginManager.h.

Referenced by GetImporterExtensions(), and SetImporterExtensions().

◆ mImporterIdentifier

wxString PluginDescriptor::mImporterIdentifier
private

Definition at line 157 of file PluginManager.h.

Referenced by GetImporterIdentifier(), and SetImporterIdentifier().

◆ mInstance

ComponentInterface* PluginDescriptor::mInstance
private

Definition at line 132 of file PluginManager.h.

Referenced by GetInstance(), IsInstantiated(), PluginDescriptor(), and SetInstance().

◆ mPath

PluginPath PluginDescriptor::mPath
private

Definition at line 137 of file PluginManager.h.

Referenced by GetPath(), and SetPath().

◆ mPluginType

PluginType PluginDescriptor::mPluginType
private

Definition at line 134 of file PluginManager.h.

Referenced by GetPluginType(), PluginDescriptor(), and SetPluginType().

◆ mProviderID

wxString PluginDescriptor::mProviderID
private

Definition at line 141 of file PluginManager.h.

Referenced by GetProviderID(), and SetProviderID().

◆ mSymbol

ComponentInterfaceSymbol PluginDescriptor::mSymbol
private

Definition at line 138 of file PluginManager.h.

Referenced by GetSymbol(), and SetSymbol().

◆ muInstance

std::unique_ptr<ComponentInterface> PluginDescriptor::muInstance
private

Definition at line 131 of file PluginManager.h.

Referenced by GetInstance(), and SetInstance().

◆ mValid

bool PluginDescriptor::mValid
private

Definition at line 143 of file PluginManager.h.

Referenced by IsValid(), PluginDescriptor(), and SetValid().

◆ mVendor

wxString PluginDescriptor::mVendor
private

Definition at line 140 of file PluginManager.h.

Referenced by GetVendor(), and SetVendor().

◆ mVersion

wxString PluginDescriptor::mVersion
private

Definition at line 139 of file PluginManager.h.

Referenced by GetUntranslatedVersion(), and SetVersion().


The documentation for this class was generated from the following files:
PluginDescriptor::mEffectLegacy
bool mEffectLegacy
Definition: PluginManager.h:151
PluginDescriptor::mVendor
wxString mVendor
Definition: PluginManager.h:140
PluginDescriptor::mInstance
ComponentInterface * mInstance
Definition: PluginManager.h:132
PluginDescriptor::GetProviderID
const wxString & GetProviderID() const
Definition: PluginManager.cpp:105
PluginDescriptor::GetPluginType
PluginType GetPluginType() const
Definition: PluginManager.cpp:95
PluginDescriptor::mVersion
wxString mVersion
Definition: PluginManager.h:139
EffectTypeNone
@ EffectTypeNone
Definition: EffectInterface.h:56
PluginDescriptor::mProviderID
wxString mProviderID
Definition: PluginManager.h:141
ModuleManager::CreateInstance
std::unique_ptr< ComponentInterface > CreateInstance(const PluginID &provider, const PluginPath &path)
Definition: ModuleManager.cpp:514
PluginDescriptor::muInstance
std::unique_ptr< ComponentInterface > muInstance
Definition: PluginManager.h:131
PluginDescriptor::mEffectDefault
bool mEffectDefault
Definition: PluginManager.h:150
PluginDescriptor::mPluginType
PluginType mPluginType
Definition: PluginManager.h:134
PluginDescriptor::mPath
PluginPath mPath
Definition: PluginManager.h:137
PluginDescriptor::mEffectInteractive
bool mEffectInteractive
Definition: PluginManager.h:149
ModuleManager::Get
static ModuleManager & Get()
Definition: ModuleManager.cpp:395
PluginTypeModule
@ PluginTypeModule
Definition: PluginManager.h:39
PluginDescriptor::mValid
bool mValid
Definition: PluginManager.h:143
PluginDescriptor::mID
wxString mID
Definition: PluginManager.h:136
PluginDescriptor::mSymbol
ComponentInterfaceSymbol mSymbol
Definition: PluginManager.h:138
PluginTypeNone
@ PluginTypeNone
Definition: PluginManager.h:33
PluginDescriptor::GetID
const wxString & GetID() const
Definition: PluginManager.cpp:100
PluginDescriptor::mImporterIdentifier
wxString mImporterIdentifier
Definition: PluginManager.h:157
PluginDescriptor::mEnabled
bool mEnabled
Definition: PluginManager.h:142
PluginDescriptor::mEffectRealtime
bool mEffectRealtime
Definition: PluginManager.h:152
PluginDescriptor::mEffectAutomatable
bool mEffectAutomatable
Definition: PluginManager.h:153
PluginDescriptor::GetPath
const PluginPath & GetPath() const
Definition: PluginManager.cpp:110
ModuleManager::CreateProviderInstance
ModuleInterface * CreateProviderInstance(const PluginID &provider, const PluginPath &path)
Definition: ModuleManager.cpp:503
PluginDescriptor::mImporterExtensions
FileExtensions mImporterExtensions
Definition: PluginManager.h:158
PluginDescriptor::mEffectType
EffectType mEffectType
Definition: PluginManager.h:148
PluginDescriptor::mEffectFamily
wxString mEffectFamily
Definition: PluginManager.h:147