Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
RealtimeEffectManager::AllListsLock Struct Reference
Collaboration diagram for RealtimeEffectManager::AllListsLock:
[legend]

Public Member Functions

 AllListsLock (RealtimeEffectManager *pManager=nullptr)
 
 AllListsLock (AllListsLock &&other)
 
AllListsLockoperator= (AllListsLock &&other)
 
void Reset ()
 
 ~AllListsLock ()
 

Public Attributes

RealtimeEffectManagermpManager {}
 

Detailed Description

Definition at line 144 of file RealtimeEffectManager.h.

Constructor & Destructor Documentation

◆ AllListsLock() [1/2]

RealtimeEffectManager::AllListsLock::AllListsLock ( RealtimeEffectManager pManager = nullptr)

Definition at line 194 of file RealtimeEffectManager.cpp.

196 : mpManager{ pManager }
197{
198 if (mpManager) {
199 // Paralleling VisitAll
201 // And all group lists
202 for (auto group : mpManager->mGroups)
204 }
205}
static RealtimeEffectList & Get(AudacityProject &project)
Lock & GetLock() const
std::vector< const ChannelGroup * > mGroups
all are non-null
void lock()
Definition: spinlock.h:27

References RealtimeEffectList::Get(), RealtimeEffectList::GetLock(), spinlock::lock(), RealtimeEffectManager::mGroups, mpManager, and RealtimeEffectManager::mProject.

Here is the call graph for this function:

◆ AllListsLock() [2/2]

RealtimeEffectManager::AllListsLock::AllListsLock ( AllListsLock &&  other)

Definition at line 207 of file RealtimeEffectManager.cpp.

208 : mpManager{ other.mpManager }
209{
210 other.mpManager = nullptr;
211}

◆ ~AllListsLock()

RealtimeEffectManager::AllListsLock::~AllListsLock ( )
inline

Member Function Documentation

◆ operator=()

RealtimeEffectManager::AllListsLock & RealtimeEffectManager::AllListsLock::operator= ( AllListsLock &&  other)

Definition at line 214 of file RealtimeEffectManager.cpp.

215{
216 if (this != &other) {
217 Reset();
218 mpManager = other.mpManager;
219 other.mpManager = nullptr;
220 }
221 return *this;
222}

◆ Reset()

void RealtimeEffectManager::AllListsLock::Reset ( )

Definition at line 224 of file RealtimeEffectManager.cpp.

225{
226 if (mpManager) {
227 // Paralleling VisitAll
229 // And all group lists
230 for (auto group : mpManager->mGroups)
232 mpManager = nullptr;
233 }
234}
void unlock()
Definition: spinlock.h:33

References RealtimeEffectList::Get(), RealtimeEffectList::GetLock(), and spinlock::unlock().

Here is the call graph for this function:

Member Data Documentation

◆ mpManager

RealtimeEffectManager* RealtimeEffectManager::AllListsLock::mpManager {}

Definition at line 145 of file RealtimeEffectManager.h.

Referenced by AllListsLock().


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