RpcMacros.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00025 #ifndef __RPC_MACROS_H
00026 #define __RPC_MACROS_H
00027
00033 #define RPC_SWITCH_START( message ) \
00034 bool rpcHandled = false;\
00035 do { \
00036 BaseRpcMessage* ___msg = dynamic_cast<BaseRpcMessage*>(message);
00037
00041 #define RPC_SWITCH_END() \
00042 } while (false);
00043
00044 #define IF_RPC_HANDLED \
00045 if (rpcHandled)
00046
00047 #define RPC_HANDLED \
00048 rpcHandled
00049
00056 #define RPC_DELEGATE( name, method ) \
00057 name##Call* _##name##Call = dynamic_cast<name##Call*>(___msg); \
00058 if (_##name##Call != NULL) { rpcHandled = true; method(_##name##Call); \
00059 break; }
00060
00066 #define RPC_ON_CALL( name ) \
00067 name##Call* _##name##Call = dynamic_cast<name##Call*>(___msg); \
00068 if (_##name##Call != NULL && !rpcHandled)
00069
00075 #define RPC_ON_RESPONSE( name ) \
00076 name##Response* _##name##Response = dynamic_cast<name##Response*>(___msg); \
00077 if (_##name##Response != NULL && !rpcHandled)
00078
00079
00080 #endif
00081