2022-05-24 02:01:36 +00:00
|
|
|
|
#ifndef __HGMSGPUMPIMPL_H__
|
2022-05-21 10:09:34 +00:00
|
|
|
|
#define __HGMSGPUMPIMPL_H__
|
|
|
|
|
|
|
|
|
|
#include "HGDef.h"
|
|
|
|
|
#include "HGInc.h"
|
|
|
|
|
#include "HGEvent.h"
|
|
|
|
|
#include "HGLock.h"
|
|
|
|
|
#include "HGMsgPump.h"
|
|
|
|
|
#include <list>
|
|
|
|
|
|
|
|
|
|
class HGMsgPumpImpl
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
HGMsgPumpImpl();
|
|
|
|
|
~HGMsgPumpImpl();
|
|
|
|
|
|
|
|
|
|
HGResult Run(HGMsgPumpFunc func, HGPointer param);
|
|
|
|
|
HGResult PostMessage(const HGMsg* msg);
|
|
|
|
|
HGResult Exit();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
HGEvent m_msgEvent;
|
|
|
|
|
HGLock m_msgLock;
|
|
|
|
|
HGBool m_bRecvMsg;
|
|
|
|
|
std::list<HGMsg> m_listMsg;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif /* __HGMSGPUMPIMPL_H__ */
|