2024-11-17 19:21:37 +13:00
|
|
|
#pragma once
|
|
|
|
#ifndef MIQT_QT_GEN_QREADWRITELOCK_H
|
|
|
|
#define MIQT_QT_GEN_QREADWRITELOCK_H
|
2024-08-25 16:08:24 +12:00
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
|
|
|
2024-10-16 18:07:56 +13:00
|
|
|
#include "../libmiqt/libmiqt.h"
|
2024-09-15 10:29:05 +12:00
|
|
|
|
2024-08-25 16:08:24 +12:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
class QReadLocker;
|
|
|
|
class QReadWriteLock;
|
|
|
|
class QWriteLocker;
|
|
|
|
#else
|
|
|
|
typedef struct QReadLocker QReadLocker;
|
|
|
|
typedef struct QReadWriteLock QReadWriteLock;
|
|
|
|
typedef struct QWriteLocker QWriteLocker;
|
|
|
|
#endif
|
|
|
|
|
2024-12-07 17:15:57 +13:00
|
|
|
QReadWriteLock* QReadWriteLock_new();
|
|
|
|
QReadWriteLock* QReadWriteLock_new2(int recursionMode);
|
2025-02-01 13:45:16 +13:00
|
|
|
void QReadWriteLock_lockForRead(QReadWriteLock* self);
|
|
|
|
bool QReadWriteLock_tryLockForRead(QReadWriteLock* self);
|
|
|
|
bool QReadWriteLock_tryLockForReadWithTimeout(QReadWriteLock* self, int timeout);
|
|
|
|
void QReadWriteLock_lockForWrite(QReadWriteLock* self);
|
|
|
|
bool QReadWriteLock_tryLockForWrite(QReadWriteLock* self);
|
|
|
|
bool QReadWriteLock_tryLockForWriteWithTimeout(QReadWriteLock* self, int timeout);
|
|
|
|
void QReadWriteLock_unlock(QReadWriteLock* self);
|
|
|
|
void QReadWriteLock_delete(QReadWriteLock* self);
|
2024-08-25 16:08:24 +12:00
|
|
|
|
2024-12-07 17:15:57 +13:00
|
|
|
QReadLocker* QReadLocker_new(QReadWriteLock* readWriteLock);
|
2025-02-01 13:45:16 +13:00
|
|
|
void QReadLocker_unlock(QReadLocker* self);
|
|
|
|
void QReadLocker_relock(QReadLocker* self);
|
|
|
|
QReadWriteLock* QReadLocker_readWriteLock(const QReadLocker* self);
|
|
|
|
void QReadLocker_delete(QReadLocker* self);
|
2024-08-25 16:08:24 +12:00
|
|
|
|
2024-12-07 17:15:57 +13:00
|
|
|
QWriteLocker* QWriteLocker_new(QReadWriteLock* readWriteLock);
|
2025-02-01 13:45:16 +13:00
|
|
|
void QWriteLocker_unlock(QWriteLocker* self);
|
|
|
|
void QWriteLocker_relock(QWriteLocker* self);
|
|
|
|
QReadWriteLock* QWriteLocker_readWriteLock(const QWriteLocker* self);
|
|
|
|
void QWriteLocker_delete(QWriteLocker* self);
|
2024-08-25 16:08:24 +12:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
} /* extern C */
|
2025-02-01 13:45:16 +13:00
|
|
|
#endif
|
2024-08-25 16:08:24 +12:00
|
|
|
|
|
|
|
#endif
|