Audacity 3.2.0
Classes | Public Member Functions | Private Attributes | List of all members
AsyncPluginValidator Class Referencefinal

Starts and communicates with a dedicated process to perform plugin validation. Once instantiated, client should call AsyncPluginValidation::Validate for plugin that needs to be validated. When done, AsyncPluginValidation will notify caller via Delegate on the UI thread (requires event loop). After Delegate::OnValidationFinished is called procedure can be repeated with another plugin id. More...

#include <AsyncPluginValidator.h>

Collaboration diagram for AsyncPluginValidator:
[legend]

Classes

class  Delegate
 Used to talk back to calling side. More...
 
class  Impl
 

Public Member Functions

 AsyncPluginValidator (AsyncPluginValidator &)=delete
 
 AsyncPluginValidator (AsyncPluginValidator &&)=delete
 
AsyncPluginValidatoroperator= (AsyncPluginValidator &)=delete
 
AsyncPluginValidatoroperator= (AsyncPluginValidator &&)=delete
 
 AsyncPluginValidator (Delegate &delegate)
 
 ~AsyncPluginValidator ()
 
void SetDelegate (Delegate *delegate)
 
std::chrono::system_clock::time_point InactiveSince () const noexcept
 
void Validate (const wxString &providerId, const wxString &pluginPath)
 Each call to Validate should result in appropriate call OnValidationFinished, until then it's not allowed to call this method again. May fail with exception. More...
 

Private Attributes

std::shared_ptr< ImplmImpl
 

Detailed Description

Starts and communicates with a dedicated process to perform plugin validation. Once instantiated, client should call AsyncPluginValidation::Validate for plugin that needs to be validated. When done, AsyncPluginValidation will notify caller via Delegate on the UI thread (requires event loop). After Delegate::OnValidationFinished is called procedure can be repeated with another plugin id.

Definition at line 31 of file AsyncPluginValidator.h.

Constructor & Destructor Documentation

◆ AsyncPluginValidator() [1/3]

AsyncPluginValidator::AsyncPluginValidator ( AsyncPluginValidator )
delete

◆ AsyncPluginValidator() [2/3]

AsyncPluginValidator::AsyncPluginValidator ( AsyncPluginValidator &&  )
delete

◆ AsyncPluginValidator() [3/3]

AsyncPluginValidator::AsyncPluginValidator ( Delegate delegate)
explicit

Definition at line 235 of file AsyncPluginValidator.cpp.

236{
237 mImpl = std::make_unique<Impl>(delegate);
238}
std::shared_ptr< Impl > mImpl

References mImpl.

◆ ~AsyncPluginValidator()

AsyncPluginValidator::~AsyncPluginValidator ( )
default

Member Function Documentation

◆ InactiveSince()

std::chrono::system_clock::time_point AsyncPluginValidator::InactiveSince ( ) const
noexcept

Definition at line 252 of file AsyncPluginValidator.cpp.

253{
254 return mImpl->InactiveSince();
255}

References mImpl.

◆ operator=() [1/2]

AsyncPluginValidator & AsyncPluginValidator::operator= ( AsyncPluginValidator &&  )
delete

◆ operator=() [2/2]

AsyncPluginValidator & AsyncPluginValidator::operator= ( AsyncPluginValidator )
delete

◆ SetDelegate()

void AsyncPluginValidator::SetDelegate ( Delegate delegate)

Definition at line 247 of file AsyncPluginValidator.cpp.

248{
249 mImpl->SetDelegate(delegate);
250}

References mImpl.

◆ Validate()

void AsyncPluginValidator::Validate ( const wxString &  providerId,
const wxString &  pluginPath 
)

Each call to Validate should result in appropriate call OnValidationFinished, until then it's not allowed to call this method again. May fail with exception.

Parameters
providerIdID of the provider that should be used for validation
pluginPathpath to the plugin module

Definition at line 242 of file AsyncPluginValidator.cpp.

243{
244 mImpl->Validate(providerId, pluginPath);
245}

References mImpl.

Member Data Documentation

◆ mImpl

std::shared_ptr<Impl> AsyncPluginValidator::mImpl
private

Definition at line 34 of file AsyncPluginValidator.h.

Referenced by AsyncPluginValidator(), InactiveSince(), SetDelegate(), and Validate().


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