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 151 of file RealtimeEffectManager.h.

Constructor & Destructor Documentation

◆ AllListsLock() [1/2]

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

Definition at line 195 of file RealtimeEffectManager.cpp.

197 : mpManager{ pManager }
198{
199 if (mpManager) {
200 // Paralleling VisitAll
202 // And all group lists
203 for (auto group : mpManager->mGroups)
205 }
206}
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 208 of file RealtimeEffectManager.cpp.

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

◆ ~AllListsLock()

RealtimeEffectManager::AllListsLock::~AllListsLock ( )
inline

Member Function Documentation

◆ operator=()

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

Definition at line 215 of file RealtimeEffectManager.cpp.

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

◆ Reset()

void RealtimeEffectManager::AllListsLock::Reset ( )

Definition at line 225 of file RealtimeEffectManager.cpp.

226{
227 if (mpManager) {
228 // Paralleling VisitAll
230 // And all group lists
231 for (auto group : mpManager->mGroups)
233 mpManager = nullptr;
234 }
235}
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 152 of file RealtimeEffectManager.h.

Referenced by AllListsLock().


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