code_app/modules/base/HGMsgPump.cpp

59 lines
1.2 KiB
C++
Raw Permalink Normal View History

#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();
}