code_app/modules/base/HGMsgPumpImpl.hpp

28 lines
493 B
C++
Raw Normal View History

#ifndef __HGMSGPUMPIMPL_H__
#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__ */