| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 
 | /************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/qgsreadwritelocker.h                                        *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
class QgsReadWriteLocker
{
%Docstring(signature="appended")
The :py:class:`QgsReadWriteLocker` class is a convenience class that
simplifies locking and unlocking QReadWriteLocks.
Locking and unlocking a QReadWriteLocks in complex functions and
statements or in exception handling code is error-prone and difficult to
debug. :py:class:`QgsReadWriteLocker` can be used in such situations to
ensure that the state of the lock is always well-defined.
:py:class:`QgsReadWriteLocker` should be created within a function where
a QReadWriteLock needs to be locked. The lock may be locked when
:py:class:`QgsReadWriteLocker` is created or when changeMode is called.
You can unlock and relock the lock with :py:func:`~unlock` and
:py:func:`~changeMode`. If locked, the lock will be unlocked when the
:py:class:`QgsReadWriteLocker` is destroyed.
.. versionadded:: 3.4
%End
%TypeHeaderCode
#include "qgsreadwritelocker.h"
%End
  public:
    enum Mode /BaseType=IntEnum/
    {
      Read,
      Write,
      Unlocked
    };
    QgsReadWriteLocker( QReadWriteLock &lock, Mode mode );
%Docstring
Create a new QgsReadWriteLocker for ``lock`` and initialize in ``mode``.
%End
    void changeMode( Mode mode );
%Docstring
Change the mode of the lock to ``mode``. The lock will be unlocked and
relocked as required.
%End
    void unlock();
%Docstring
Unlocks the lock. Equivalent to doing ``changeMode(
QgsReadWriteLocker.Unlock );``
%End
    ~QgsReadWriteLocker();
  private:
    QgsReadWriteLocker &operator=( const QgsReadWriteLocker & );
};
/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/core/qgsreadwritelocker.h                                        *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
 |