File: qgsreadwritelocker.sip.in

package info (click to toggle)
qgis 3.40.11%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,183,800 kB
  • sloc: cpp: 1,595,841; python: 372,637; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 154
file content (75 lines) | stat: -rw-r--r-- 2,580 bytes parent folder | download | duplicates (6)
1
2
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   *
 ************************************************************************/