59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
#include "HGMsgPump.h"
|
|
#include "HGMsgPumpImpl.hpp"
|
|
|
|
HGResult HGAPI HGBase_CreateMsgPump(HGMsgPump* msgPump)
|
|
{
|
|
if (NULL == msgPump)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGMsgPumpImpl* msgPumpImpl = new HGMsgPumpImpl;
|
|
*msgPump = (HGMsgPump)msgPumpImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGBase_DestroyMsgPump(HGMsgPump msgPump)
|
|
{
|
|
if (NULL == msgPump)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGMsgPumpImpl* msgPumpImpl = (HGMsgPumpImpl*)msgPump;
|
|
delete msgPumpImpl;
|
|
return HGBASE_ERR_OK;
|
|
}
|
|
|
|
HGResult HGAPI HGBase_RunMsgPump(HGMsgPump msgPump, HGMsgPumpFunc func, HGPointer param)
|
|
{
|
|
if (NULL == msgPump)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGMsgPumpImpl* msgPumpImpl = (HGMsgPumpImpl*)msgPump;
|
|
return msgPumpImpl->Run(func, param);
|
|
}
|
|
|
|
HGResult HGAPI HGBase_PostPumpMessage(HGMsgPump msgPump, const HGMsg* msg)
|
|
{
|
|
if (NULL == msgPump)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGMsgPumpImpl* msgPumpImpl = (HGMsgPumpImpl*)msgPump;
|
|
return msgPumpImpl->PostMessage(msg);
|
|
}
|
|
|
|
HGResult HGAPI HGBase_ExitMsgPump(HGMsgPump msgPump)
|
|
{
|
|
if (NULL == msgPump)
|
|
{
|
|
return HGBASE_ERR_INVALIDARG;
|
|
}
|
|
|
|
HGMsgPumpImpl* msgPumpImpl = (HGMsgPumpImpl*)msgPump;
|
|
return msgPumpImpl->Exit();
|
|
} |