goldendict-ng/mutex.hh

37 lines
801 B
C++
Raw Normal View History

2012-02-20 21:47:14 +00:00
/* This file is (c) 2008-2012 Konstantin Isakov <ikm@goldendict.org>
* Part of GoldenDict. Licensed under GPLv3 or later, see the LICENSE file */
#ifndef __MUTEX_HH_INCLUDED__
#define __MUTEX_HH_INCLUDED__
#include <QRecursiveMutex>
/// This provides a mutex class. As you can see, it's just a Qt one, but it
/// does provide the Lock class which doesn't seem to exist in Qt, and it does
/// provide some abstraction for dictionaries in case they are to be ported
/// away from Qt.
class Mutex: public QRecursiveMutex
{
public:
Mutex() : QRecursiveMutex( )
2021-11-12 18:26:46 +00:00
{}
~Mutex()
{}
/// Locks the given mutex on construction and unlocks on destruction
class Lock
{
Mutex & m;
public:
Lock( Mutex & );
~Lock();
private:
Lock( Lock const & );
};
};
#endif