#include <QString>
#include <QStringList>
+class Server;
+class Buffer;
class Message;
-typedef void (Message::* cmdhandler)(QStringList);
+typedef void (*sendHandlerType)(Message *); // handler for commands sent by the user
+typedef void (*recvHandlerType)(Message *); // handler for incoming messages
/**
* This contains information that depends (solely) on the message type, such as the handler function and help texts.
QString cmdDescr;
QString args;
QString argsDescr;
- cmdhandler handler;
+ recvHandlerType recvHandler;
+ sendHandlerType sendHandler;
};
virtual ~Message() {};
- static void init();
+ static void init(recvHandlerType defaultRevcHandler, sendHandlerType defaultSendHandler);
//static registerCmd();
//static unregisterCmd();
- cmdhandler getCmdHandler();
-
- void test1(QStringList);
- void test2(QStringList);
+ recvHandlerType getRecvHandler();
+ sendHandlerType getSendHandler();
protected:
+ static recvHandlerType defaultRecvHandler;
+ static sendHandlerType defaultSendHandler;
+
static QHash<QString, CmdType> cmdTypes;
};
QString cmdDescr;
QString args;
QString argsDescr;
- cmdhandler handler;
+ recvHandlerType recvHandler;
+ sendHandlerType sendHandler;
};
#endif