20#ifndef INCLUDED_COMPHELPER_SOLARMUTEX_HXX
21#define INCLUDED_COMPHELPER_SOLARMUTEX_HXX
29#include <osl/mutex.hxx>
48 typedef void (*BeforeReleaseHandler) ();
54 { m_aBeforeReleaseHandler = rLink; }
56 void acquire( sal_uInt32 nLockCount = 1 );
57 sal_uInt32 release(
bool bUnlockAll =
false );
59 virtual bool tryToAcquire();
62 virtual bool IsCurrentThread()
const;
68 virtual sal_uInt32 doRelease(
bool bUnlockAll );
69 virtual void doAcquire( sal_uInt32 nLockCount );
85 assert( nLockCount > 0 );
SolarMutex, needed for VCL's Application::GetSolarMutex().
SolarMutex(const SolarMutex &)=delete
virtual sal_uInt32 doRelease(bool bUnlockAll)
void SetBeforeReleaseHandler(const BeforeReleaseHandler &rLink)
sal_uInt32 release(bool bUnlockAll=false)
BeforeReleaseHandler m_aBeforeReleaseHandler
SolarMutex & operator=(const SolarMutex &)=delete
void acquire(sal_uInt32 nLockCount=1)
std::atomic< std::thread::id > m_nThreadId
virtual void doAcquire(sal_uInt32 nLockCount)
#define COMPHELPER_DLLPUBLIC
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)