ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/include/cfperl.h
(Generate patch)

Comparing deliantra/server/include/cfperl.h (file contents):
Revision 1.39 by root, Sat Dec 16 21:40:26 2006 UTC vs.
Revision 1.40 by root, Tue Dec 19 04:58:04 2006 UTC

41 41
42enum event_klass 42enum event_klass
43{ 43{
44 KLASS_NONE, 44 KLASS_NONE,
45 KLASS_GLOBAL, 45 KLASS_GLOBAL,
46 KLASS_SOCKET, 46 KLASS_CLIENT,
47 KLASS_PLAYER, 47 KLASS_PLAYER,
48 KLASS_OBJECT, 48 KLASS_OBJECT,
49 KLASS_MAP, 49 KLASS_MAP,
50 KLASS_COMMAND, 50 KLASS_COMMAND,
51}; 51};
68#define ARG_MAP(o) DT_MAP , (void *)static_cast<maptile *> (o) 68#define ARG_MAP(o) DT_MAP , (void *)static_cast<maptile *> (o)
69#define ARG_PLAYER(o) DT_PLAYER, (void *)static_cast<player *> (o) 69#define ARG_PLAYER(o) DT_PLAYER, (void *)static_cast<player *> (o)
70#define ARG_ARCH(o) DT_ARCH , (void *)static_cast<archetype *> (o) 70#define ARG_ARCH(o) DT_ARCH , (void *)static_cast<archetype *> (o)
71#define ARG_PARTY(o) DT_PARTY , (void *)static_cast<party *> (o) 71#define ARG_PARTY(o) DT_PARTY , (void *)static_cast<party *> (o)
72#define ARG_REGION(o) DT_REGION, (void *)static_cast<region *> (o) 72#define ARG_REGION(o) DT_REGION, (void *)static_cast<region *> (o)
73#define ARG_SOCKET(o) DT_SOCKET, (void *)static_cast<client *> (o) 73#define ARG_CLIENT(o) DT_CLIENT, (void *)static_cast<client *> (o)
74 74
75// the ", ## __VA_ARGS" is, unfortunately, a gnu-cpp extension 75// the ", ## __VA_ARGS" is, unfortunately, a gnu-cpp extension
76 76
77// all these return true when the normal event processing should be skipped (if any) 77// all these return true when the normal event processing should be skipped (if any)
78#define INVOKE_(event, ...) cfperl_invoke (event, ## __VA_ARGS__, DT_END) 78#define INVOKE_(event, ...) cfperl_invoke (event, ## __VA_ARGS__, DT_END)
79 79
80#define INVOKE(klass, event, ...) INVOKE_(EVENT_ ## klass ## _ ## event, ## __VA_ARGS__) 80#define INVOKE(klass, event, ...) INVOKE_(EVENT_ ## klass ## _ ## event, ## __VA_ARGS__)
81#define INVOKE_GLOBAL(event, ...) INVOKE_(EVENT_ ## GLOBAL ## _ ## event, ## __VA_ARGS__) 81#define INVOKE_GLOBAL(event, ...) INVOKE_(EVENT_ ## GLOBAL ## _ ## event, ## __VA_ARGS__)
82#define INVOKE_OBJECT(event, op, ...) INVOKE_(EVENT_ ## OBJECT ## _ ## event, ARG_OBJECT (op), ## __VA_ARGS__) 82#define INVOKE_OBJECT(event, op, ...) INVOKE_(EVENT_ ## OBJECT ## _ ## event, ARG_OBJECT (op), ## __VA_ARGS__)
83#define INVOKE_SOCKET(event, ns, ...) INVOKE_(EVENT_ ## SOCKET ## _ ## event, ARG_SOCKET (ns), ## __VA_ARGS__) 83#define INVOKE_CLIENT(event, ns, ...) INVOKE_(EVENT_ ## CLIENT ## _ ## event, ARG_CLIENT (ns), ## __VA_ARGS__)
84#define INVOKE_PLAYER(event, pl, ...) INVOKE_(EVENT_ ## PLAYER ## _ ## event, ARG_PLAYER (pl), ## __VA_ARGS__) 84#define INVOKE_PLAYER(event, pl, ...) INVOKE_(EVENT_ ## PLAYER ## _ ## event, ARG_PLAYER (pl), ## __VA_ARGS__)
85#define INVOKE_MAP(event, map, ...) INVOKE_(EVENT_ ## MAP ## _ ## event, ARG_MAP (map) , ## __VA_ARGS__) 85#define INVOKE_MAP(event, map, ...) INVOKE_(EVENT_ ## MAP ## _ ## event, ARG_MAP (map) , ## __VA_ARGS__)
86 86
87//TODO should index into @result 87//TODO should index into @result
88#define RESULT(idx,type) cfperl_result_ ## type (idx) 88#define RESULT(idx,type) cfperl_result_ ## type (idx)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines