27 lines
522 B
C++
27 lines
522 B
C++
|
|
#ifndef __IO_MAPPER__
|
|
#define __IO_MAPPER__
|
|
|
|
#define net_msg
|
|
|
|
class __declspec(novtable) CIOMessageMap
|
|
{
|
|
public:
|
|
virtual bool ProcessIOMessage(IOType clientIO, ClientContext* pContext, DWORD dwSize) = 0;
|
|
};
|
|
|
|
#define BEGIN_IO_MSG_MAP() \
|
|
public: \
|
|
bool ProcessIOMessage(IOType clientIO, ClientContext* pContext, DWORD dwSize = 0) \
|
|
{ \
|
|
bool bRet = false;
|
|
|
|
#define IO_MESSAGE_HANDLER(msg, func) \
|
|
if (msg == clientIO) \
|
|
bRet = func(pContext, dwSize);
|
|
|
|
#define END_IO_MSG_MAP() \
|
|
return bRet; \
|
|
}
|
|
|
|
#endif |