#if defined(DEFINE_IN_INTERFACE)
#undef KBE_BASEAPP_INTERFACE_MACRO_H
#endif
#ifndef KBE_BASEAPP_INTERFACE_MACRO_H
#define KBE_BASEAPP_INTERFACE_MACRO_H
#include "network/interface_defs.h"
#if KBE_PLATFORM == PLATFORM_WIN32
#else
#endif
namespace KBEngine{
Baseapp消息宏, 参数为流, 需要自己解开
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_STREAM
#undef BASEAPP_MESSAGE_EXPOSED
#undef ENTITY_MESSAGE_EXPOSED
#undef PROXY_MESSAGE_EXPOSED
#endif
#define BASEAPP_MESSAGE_EXPOSED(NAME) \
NETWORK_MESSAGE_EXPOSED(Baseapp, NAME) \
#define ENTITY_MESSAGE_EXPOSED(NAME) \
NETWORK_MESSAGE_EXPOSED(Entity, NAME) \
#define PROXY_MESSAGE_EXPOSED(NAME) \
NETWORK_MESSAGE_EXPOSED(Proxy, NAME) \
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_STREAM(NAME) \
void NAME##BaseappMessagehandler_stream::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
KBEngine::Baseapp::getSingleton().NAME(pChannel, s); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_STREAM(NAME) \
void NAME##BaseappMessagehandler_stream::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_STREAM(NAME) \
class NAME##BaseappMessagehandler_stream : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_STREAM(NAME, MSG_LENGTH) \
BASEAPP_MESSAGE_HANDLER_STREAM(NAME) \
NETWORK_MESSAGE_DECLARE_STREAM(Baseapp, NAME, \
NAME##BaseappMessagehandler_stream, MSG_LENGTH) \
\
Baseapp消息宏, 只有零个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS0
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS0(NAME) \
void NAME##BaseappMessagehandler0::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
KBEngine::Baseapp::getSingleton().NAME(pChannel); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS0(NAME) \
void NAME##BaseappMessagehandler0::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS0(NAME) \
class NAME##BaseappMessagehandler0 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS0(NAME, MSG_LENGTH) \
BASEAPP_MESSAGE_HANDLER_ARGS0(NAME) \
NETWORK_MESSAGE_DECLARE_ARGS0(Baseapp, NAME, \
NAME##BaseappMessagehandler0, MSG_LENGTH) \
\
Baseapp消息宏, 只有一个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS1
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS1(NAME, ARG_TYPE1, ARG_NAME1) \
void NAME##BaseappMessagehandler1::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, ARG_NAME1); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS1(NAME, ARG_TYPE1, ARG_NAME1) \
void NAME##BaseappMessagehandler1::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS1(NAME, ARG_TYPE1, ARG_NAME1) \
class NAME##BaseappMessagehandler1 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS1(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1) \
BASEAPP_MESSAGE_HANDLER_ARGS1(NAME, ARG_TYPE1, ARG_NAME1) \
NETWORK_MESSAGE_DECLARE_ARGS1(Baseapp, NAME, \
NAME##BaseappMessagehandler1, MSG_LENGTH, ARG_TYPE1, ARG_NAME1) \
\
Baseapp消息宏, 只有二个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS2
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS2(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
void NAME##BaseappMessagehandler2::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS2(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
void NAME##BaseappMessagehandler2::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS2(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
class NAME##BaseappMessagehandler2 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS2(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
BASEAPP_MESSAGE_HANDLER_ARGS2(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
NETWORK_MESSAGE_DECLARE_ARGS2(Baseapp, NAME, \
NAME##BaseappMessagehandler2, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2) \
Baseapp消息宏, 只有三个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS3
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS3(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
void NAME##BaseappMessagehandler3::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, \
ARG_NAME3); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS3(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
void NAME##BaseappMessagehandler3::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS3(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
class NAME##BaseappMessagehandler3 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS3(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
BASEAPP_MESSAGE_HANDLER_ARGS3(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
NETWORK_MESSAGE_DECLARE_ARGS3(Baseapp, NAME, \
NAME##BaseappMessagehandler3, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3) \
Baseapp消息宏, 只有四个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS4
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS4(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
void NAME##BaseappMessagehandler4::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, \
ARG_NAME3, ARG_NAME4); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS4(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
void NAME##BaseappMessagehandler4::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS4(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
class NAME##BaseappMessagehandler4 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS4(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
BASEAPP_MESSAGE_HANDLER_ARGS4(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
NETWORK_MESSAGE_DECLARE_ARGS4(Baseapp, NAME, \
NAME##BaseappMessagehandler4, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4) \
Baseapp消息宏, 只有五个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS5
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS5(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
void NAME##BaseappMessagehandler5::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, \
ARG_NAME3, ARG_NAME4, ARG_NAME5); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS5(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
void NAME##BaseappMessagehandler5::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS5(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
class NAME##BaseappMessagehandler5 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS5(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
BASEAPP_MESSAGE_HANDLER_ARGS5(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
NETWORK_MESSAGE_DECLARE_ARGS5(Baseapp, NAME, \
NAME##BaseappMessagehandler5, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5) \
Baseapp消息宏, 只有六个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS6
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS6(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
void NAME##BaseappMessagehandler6::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, \
ARG_NAME3, ARG_NAME4, ARG_NAME5, ARG_NAME6); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS6(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
void NAME##BaseappMessagehandler6::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS6(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
class NAME##BaseappMessagehandler6 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS6(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
BASEAPP_MESSAGE_HANDLER_ARGS6(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
NETWORK_MESSAGE_DECLARE_ARGS6(Baseapp, NAME, \
NAME##BaseappMessagehandler6, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6) \
Baseapp消息宏, 只有七个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS7
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS7(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
void NAME##BaseappMessagehandler7::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
ARG_TYPE7 ARG_NAME7; \
s >> ARG_NAME7; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, ARG_NAME3, \
ARG_NAME4, ARG_NAME5, ARG_NAME6, \
ARG_NAME7); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS7(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
void NAME##BaseappMessagehandler7::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS7(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
class NAME##BaseappMessagehandler7 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS7(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
BASEAPP_MESSAGE_HANDLER_ARGS7(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
NETWORK_MESSAGE_DECLARE_ARGS7(Baseapp, NAME, \
NAME##BaseappMessagehandler7, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7) \
Baseapp消息宏, 只有八个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS8
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS8(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
void NAME##BaseappMessagehandler8::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
ARG_TYPE7 ARG_NAME7; \
s >> ARG_NAME7; \
ARG_TYPE8 ARG_NAME8; \
s >> ARG_NAME8; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, ARG_NAME3, \
ARG_NAME4, ARG_NAME5, ARG_NAME6, \
ARG_NAME7, ARG_NAME8); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS8(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
void NAME##BaseappMessagehandler8::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS8(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
class NAME##BaseappMessagehandler8 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS8(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
BASEAPP_MESSAGE_HANDLER_ARGS8(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
NETWORK_MESSAGE_DECLARE_ARGS8(Baseapp, NAME, \
NAME##BaseappMessagehandler8, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8) \
Baseapp消息宏, 只有九个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS9
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS9(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
void NAME##BaseappMessagehandler9::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
ARG_TYPE7 ARG_NAME7; \
s >> ARG_NAME7; \
ARG_TYPE8 ARG_NAME8; \
s >> ARG_NAME8; \
ARG_TYPE9 ARG_NAME9; \
s >> ARG_NAME9; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, ARG_NAME3, \
ARG_NAME4, ARG_NAME5, ARG_NAME6, \
ARG_NAME7, ARG_NAME8, ARG_NAME9); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS9(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
void NAME##BaseappMessagehandler9::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS9(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
class NAME##BaseappMessagehandler9 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS9(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
BASEAPP_MESSAGE_HANDLER_ARGS9(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
NETWORK_MESSAGE_DECLARE_ARGS9(Baseapp, NAME, \
NAME##BaseappMessagehandler9, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9) \
Baseapp消息宏, 只有十个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS10
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS10(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
void NAME##BaseappMessagehandler10::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
ARG_TYPE7 ARG_NAME7; \
s >> ARG_NAME7; \
ARG_TYPE8 ARG_NAME8; \
s >> ARG_NAME8; \
ARG_TYPE9 ARG_NAME9; \
s >> ARG_NAME9; \
ARG_TYPE10 ARG_NAME10; \
s >> ARG_NAME10; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, ARG_NAME3, \
ARG_NAME4, ARG_NAME5, ARG_NAME6, \
ARG_NAME7, ARG_NAME8, ARG_NAME9, \
ARG_NAME10); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS10(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
void NAME##BaseappMessagehandler10::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS10(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
class NAME##BaseappMessagehandler10 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS10(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
BASEAPP_MESSAGE_HANDLER_ARGS10(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
NETWORK_MESSAGE_DECLARE_ARGS10(Baseapp, NAME, \
NAME##BaseappMessagehandler10, MSG_LENGTH, ARG_TYPE1, ARG_NAME1,\
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10) \
Baseapp消息宏, 只有十一个参数的消息
*/
#if defined(NETWORK_INTERFACE_DECLARE_BEGIN)
#undef BASEAPP_MESSAGE_HANDLER_ARGS11
#endif
#if defined(DEFINE_IN_INTERFACE)
#if defined(BASEAPP)
#define BASEAPP_MESSAGE_HANDLER_ARGS11(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
void NAME##BaseappMessagehandler11::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
ARG_TYPE1 ARG_NAME1; \
s >> ARG_NAME1; \
ARG_TYPE2 ARG_NAME2; \
s >> ARG_NAME2; \
ARG_TYPE3 ARG_NAME3; \
s >> ARG_NAME3; \
ARG_TYPE4 ARG_NAME4; \
s >> ARG_NAME4; \
ARG_TYPE5 ARG_NAME5; \
s >> ARG_NAME5; \
ARG_TYPE6 ARG_NAME6; \
s >> ARG_NAME6; \
ARG_TYPE7 ARG_NAME7; \
s >> ARG_NAME7; \
ARG_TYPE8 ARG_NAME8; \
s >> ARG_NAME8; \
ARG_TYPE9 ARG_NAME9; \
s >> ARG_NAME9; \
ARG_TYPE10 ARG_NAME10; \
s >> ARG_NAME10; \
ARG_TYPE11 ARG_NAME11; \
s >> ARG_NAME11; \
KBEngine::Baseapp::getSingleton().NAME(pChannel, \
ARG_NAME1, ARG_NAME2, ARG_NAME3, \
ARG_NAME4, ARG_NAME5, ARG_NAME6, \
ARG_NAME7, ARG_NAME8, ARG_NAME9, \
ARG_NAME10, ARG_NAME11); \
} \
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS11(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
void NAME##BaseappMessagehandler11::handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s) \
{ \
} \
#endif
#else
#define BASEAPP_MESSAGE_HANDLER_ARGS11(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
class NAME##BaseappMessagehandler11 : public Network::MessageHandler \
{ \
public: \
virtual void handle(Network::Channel* pChannel, \
KBEngine::MemoryStream& s); \
}; \
#endif
#define BASEAPP_MESSAGE_DECLARE_ARGS11(NAME, MSG_LENGTH, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
BASEAPP_MESSAGE_HANDLER_ARGS11(NAME, ARG_TYPE1, ARG_NAME1, \
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
NETWORK_MESSAGE_DECLARE_ARGS11(Baseapp, NAME, \
NAME##BaseappMessagehandler11, MSG_LENGTH, ARG_TYPE1, ARG_NAME1,\
ARG_TYPE2, ARG_NAME2, \
ARG_TYPE3, ARG_NAME3, \
ARG_TYPE4, ARG_NAME4, \
ARG_TYPE5, ARG_NAME5, \
ARG_TYPE6, ARG_NAME6, \
ARG_TYPE7, ARG_NAME7, \
ARG_TYPE8, ARG_NAME8, \
ARG_TYPE9, ARG_NAME9, \
ARG_TYPE10, ARG_NAME10, \
ARG_TYPE11, ARG_NAME11) \
}
#endif