00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef NET_MESSAGEHANDLER_H
00023 #define NET_MESSAGEHANDLER_H
00024
00025 #include <SDL_types.h>
00026
00027 #include <memory>
00028
00029 class MessageIn;
00030 #ifdef EATHENA_SUPPORT
00031 class Network;
00032 #endif
00033
00037 class MessageHandler
00038 {
00039 public:
00040 const Uint16 *handledMessages;
00041
00042 MessageHandler();
00043 virtual ~MessageHandler();
00044
00045 virtual void handleMessage(MessageIn &msg) = 0;
00046
00047 #ifdef EATHENA_SUPPORT
00048 void setNetwork(Network *network);
00049
00050 protected:
00051 Network *mNetwork;
00052 #endif
00053 };
00054
00055 typedef const std::auto_ptr<MessageHandler> MessageHandlerPtr;
00056
00057 #endif // NET_MESSAGEHANDLER_H