Automatically locks and unlocks an InterProcessLock object. More...
#include <juce_InterProcessLock.h>
Public Member Functions | |
ScopedLockType (InterProcessLock &l) | |
Creates a scoped lock. More... | |
~ScopedLockType () | |
Destructor. More... | |
bool | isLocked () const noexcept |
Returns true if the InterProcessLock was successfully locked. More... | |
Private Attributes | |
InterProcessLock & | ipLock |
bool | lockWasSuccessful |
Automatically locks and unlocks an InterProcessLock object.
This works like a ScopedLock, but using an InterprocessLock rather than a CriticalSection.
|
inlineexplicit |
Creates a scoped lock.
As soon as it is created, this will lock the InterProcessLock, and when the ScopedLockType object is deleted, the InterProcessLock will be unlocked.
Note that since an InterprocessLock can fail due to errors, you should check isLocked() to make sure that the lock was successful before using it.
Make sure this object is created and deleted by the same thread, otherwise there are no guarantees what will happen! Best just to use it as a local stack object, rather than creating one with the new() operator.
References juce::InterProcessLock::enter().
|
inline |
Destructor.
The InterProcessLock will be unlocked when the destructor is called.
Make sure this object is created and deleted by the same thread, otherwise there are no guarantees what will happen!
|
inlinenoexcept |
Returns true if the InterProcessLock was successfully locked.
|
private |
|
private |