#include #include #include "gen_qrunnable.h" #include "_cgo_export.h" class MiqtVirtualQRunnable : public virtual QRunnable { public: MiqtVirtualQRunnable(): QRunnable() {}; virtual ~MiqtVirtualQRunnable() = default; // cgo.Handle value for overwritten implementation intptr_t handle__Run = 0; // Subclass to allow providing a Go implementation virtual void run() override { if (handle__Run == 0) { return; // Pure virtual, there is no base we can call } miqt_exec_callback_QRunnable_Run(this, handle__Run); } }; void QRunnable_new(QRunnable** outptr_QRunnable) { MiqtVirtualQRunnable* ret = new MiqtVirtualQRunnable(); *outptr_QRunnable = ret; } void QRunnable_Run(QRunnable* self) { self->run(); } bool QRunnable_AutoDelete(const QRunnable* self) { return self->autoDelete(); } void QRunnable_SetAutoDelete(QRunnable* self, bool _autoDelete) { self->setAutoDelete(_autoDelete); } void QRunnable_OperatorAssign(QRunnable* self, QRunnable* param1) { self->operator=(*param1); } void QRunnable_override_virtual_Run(void* self, intptr_t slot) { dynamic_cast( (QRunnable*)(self) )->handle__Run = slot; } void QRunnable_Delete(QRunnable* self, bool isSubclass) { if (isSubclass) { delete dynamic_cast( self ); } else { delete self; } }