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

Constructor & Destructor Documentation

◆ AllListsLock() [1/2]

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

Definition at line 187 of file RealtimeEffectManager.cpp.

189 : mpManager{ pManager }
190{
191 if (mpManager) {
192 // Paralleling VisitAll
194 // And all group lists
195 for (auto group : mpManager->mGroups)
197 }
198}
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 200 of file RealtimeEffectManager.cpp.

201 : mpManager{ other.mpManager }
202{
203 other.mpManager = nullptr;
204}

◆ ~AllListsLock()

RealtimeEffectManager::AllListsLock::~AllListsLock ( )
inline

Member Function Documentation

◆ operator=()

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

Definition at line 207 of file RealtimeEffectManager.cpp.

208{
209 if (this != &other) {
210 Reset();
211 mpManager = other.mpManager;
212 other.mpManager = nullptr;
213 }
214 return *this;
215}

◆ Reset()

void RealtimeEffectManager::AllListsLock::Reset ( )

Definition at line 217 of file RealtimeEffectManager.cpp.

218{
219 if (mpManager) {
220 // Paralleling VisitAll
222 // And all group lists
223 for (auto group : mpManager->mGroups)
225 mpManager = nullptr;
226 }
227}
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 149 of file RealtimeEffectManager.h.

Referenced by AllListsLock().


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