33 lines
659 B
C
33 lines
659 B
C
|
|
#ifndef __GuiThread_H__
|
|||
|
|
#define __GuiThread_H__
|
|||
|
|
|
|||
|
|
#include <QThread>
|
|||
|
|
#include <functional>
|
|||
|
|
|
|||
|
|
typedef std::function<void(void* pParams, void* pOwner)> GuiInvoker_Func;
|
|||
|
|
|
|||
|
|
class GuiInvoker : public QThread
|
|||
|
|
{
|
|||
|
|
Q_OBJECT
|
|||
|
|
public:
|
|||
|
|
GuiInvoker(QObject* parent = Q_NULLPTR);
|
|||
|
|
virtual ~GuiInvoker();
|
|||
|
|
|
|||
|
|
void Invoke(GuiInvoker_Func pFunc, void* pParams, void* pOwner);
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
void start();
|
|||
|
|
void wait();
|
|||
|
|
|
|||
|
|
protected:
|
|||
|
|
virtual void run() override;
|
|||
|
|
|
|||
|
|
private slots:
|
|||
|
|
void OnInvoke(GuiInvoker_Func pFunc, void* pParams, void* pOwner);
|
|||
|
|
|
|||
|
|
signals:
|
|||
|
|
void sigInvoke(GuiInvoker_Func pFunc, void* pParams, void* pOwner);
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
#endif
|