miqt/qt6/gen_qwaitcondition.cpp
Jacek Sieka a0c6344ecd Avoid dependency on exported go header
The expected type of the callback is already known from the AST - this
change reduces dependency on cgo specifics and makes the generated C ABI
entirely cgo-independent - in particular, there is no need to include
`_cgo_export.h` any more.
2025-01-07 12:55:40 +01:00

68 lines
1.7 KiB
C++

#include <QDeadlineTimer>
#include <QMutex>
#include <QReadWriteLock>
#include <QWaitCondition>
#include <qwaitcondition.h>
#include "gen_qwaitcondition.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
} /* extern C */
#endif
QWaitCondition* QWaitCondition_new() {
return new QWaitCondition();
}
bool QWaitCondition_Wait(QWaitCondition* self, QMutex* lockedMutex) {
return self->wait(lockedMutex);
}
bool QWaitCondition_Wait2(QWaitCondition* self, QMutex* lockedMutex, unsigned long time) {
return self->wait(lockedMutex, static_cast<unsigned long>(time));
}
bool QWaitCondition_WaitWithLockedReadWriteLock(QWaitCondition* self, QReadWriteLock* lockedReadWriteLock) {
return self->wait(lockedReadWriteLock);
}
bool QWaitCondition_Wait3(QWaitCondition* self, QReadWriteLock* lockedReadWriteLock, unsigned long time) {
return self->wait(lockedReadWriteLock, static_cast<unsigned long>(time));
}
void QWaitCondition_WakeOne(QWaitCondition* self) {
self->wakeOne();
}
void QWaitCondition_WakeAll(QWaitCondition* self) {
self->wakeAll();
}
void QWaitCondition_NotifyOne(QWaitCondition* self) {
self->notify_one();
}
void QWaitCondition_NotifyAll(QWaitCondition* self) {
self->notify_all();
}
bool QWaitCondition_Wait22(QWaitCondition* self, QMutex* lockedMutex, QDeadlineTimer* deadline) {
return self->wait(lockedMutex, *deadline);
}
bool QWaitCondition_Wait23(QWaitCondition* self, QReadWriteLock* lockedReadWriteLock, QDeadlineTimer* deadline) {
return self->wait(lockedReadWriteLock, *deadline);
}
void QWaitCondition_Delete(QWaitCondition* self, bool isSubclass) {
if (isSubclass) {
delete dynamic_cast<QWaitCondition*>( self );
} else {
delete self;
}
}