arduino-audio-tools
Loading...
Searching...
No Matches
LockGuard.h
Go to the documentation of this file.
1#pragma once
2#include "AudioToolsConfig.h"
3#include "Mutex.h"
4
5namespace audio_tools {
6
17class LockGuard {
18 public:
20 p_mutex = &mutex;
21 p_mutex->lock();
22 }
23
25 p_mutex = mutex;
26 if (p_mutex != nullptr) p_mutex->lock();
27 }
28
30 if (p_mutex != nullptr) p_mutex->unlock();
31 }
32
33 protected:
34 MutexBase *p_mutex = nullptr;
35};
36
37
38} // namespace audio_tools
RAII implementaion using a Mutex: Only a few microcontrollers provide lock guards,...
Definition LockGuard.h:17
LockGuard(MutexBase &mutex)
Definition LockGuard.h:19
MutexBase * p_mutex
Definition LockGuard.h:34
~LockGuard()
Definition LockGuard.h:29
LockGuard(MutexBase *mutex)
Definition LockGuard.h:24
Empty Mutex implementation which does nothing.
Definition Mutex.h:18
virtual void lock()
Definition Mutex.h:20
virtual void unlock()
Definition Mutex.h:21
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition AudioCodecsBase.h:10