1// qsystemsemaphore.sip generated by MetaSIP
2//
3// This file is part of the QtCore Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QSystemSemaphore
24{
25%TypeHeaderCode
26#include <qsystemsemaphore.h>
27%End
28
29public:
30    enum AccessMode
31    {
32        Open,
33        Create,
34    };
35
36    enum SystemSemaphoreError
37    {
38        NoError,
39        PermissionDenied,
40        KeyError,
41        AlreadyExists,
42        NotFound,
43        OutOfResources,
44        UnknownError,
45    };
46
47    QSystemSemaphore(const QString &key, int initialValue = 0, QSystemSemaphore::AccessMode mode = QSystemSemaphore::Open);
48    ~QSystemSemaphore();
49    void setKey(const QString &key, int initialValue = 0, QSystemSemaphore::AccessMode mode = QSystemSemaphore::Open);
50    QString key() const;
51    bool acquire();
52    bool release(int n = 1);
53    QSystemSemaphore::SystemSemaphoreError error() const;
54    QString errorString() const;
55
56private:
57    QSystemSemaphore(const QSystemSemaphore &);
58};
59