X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.h;h=406b0a38237d4daf06edde7aa097feac69746066;hp=62cc4b5a428b7268fa89ebbaa82a1b99de92ae4c;hb=a5dfcc8ecf8b81025d24b3c5c816169e3e030ea4;hpb=d6b056e936ec441258d291b7a8af7b83f9f53016 diff --git a/src/core/ircserverhandler.h b/src/core/ircserverhandler.h index 62cc4b5a..406b0a38 100644 --- a/src/core/ircserverhandler.h +++ b/src/core/ircserverhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-07 by the Quassel IRC Team * + * Copyright (C) 2005-08 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,8 +18,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef _IRCSERVERHANDLER_H_ -#define _IRCSERVERHANDLER_H_ +#ifndef IRCSERVERHANDLER_H +#define IRCSERVERHANDLER_H #include "basichandler.h" @@ -27,33 +27,63 @@ class IrcServerHandler : public BasicHandler { Q_OBJECT public: - IrcServerHandler(Server *parent = 0); + IrcServerHandler(CoreNetwork *parent); ~IrcServerHandler(); void handleServerMsg(QByteArray rawMsg); - + public slots: - void handleJoin(QString, QStringList); - void handleKick(QString, QStringList); - void handleMode(QString, QStringList); - void handleNick(QString, QStringList); - void handleNotice(QString, QStringList); - void handlePart(QString, QStringList); - void handlePing(QString, QStringList); - void handlePrivmsg(QString, QStringList); - void handleQuit(QString, QStringList); - void handleTopic(QString, QStringList); - - void handle001(QString, QStringList); // RPL_WELCOME - void handle005(QString, QStringList); // RPL_ISUPPORT - void handle331(QString, QStringList); // RPL_NOTOPIC - void handle332(QString, QStringList); // RPL_TOPIC - void handle333(QString, QStringList); // Topic set by... - void handle353(QString, QStringList); // RPL_NAMREPLY - void handle432(QString, QStringList); // ERR_ERRONEUSNICKNAME - void handle433(QString, QStringList); // ERR_NICKNAMEINUSE - - void defaultHandler(QString cmd, QString prefix, QStringList params); + void handleJoin(const QString &prefix, const QList ¶ms); + void handleKick(const QString &prefix, const QList ¶ms); + void handleMode(const QString &prefix, const QList ¶ms); + void handleNick(const QString &prefix, const QList ¶ms); + void handleNotice(const QString &prefix, const QList ¶ms); + void handlePart(const QString &prefix, const QList ¶ms); + void handlePing(const QString &prefix, const QList ¶ms); + void handlePong(const QString &prefix, const QList ¶ms); + void handlePrivmsg(const QString &prefix, const QList ¶ms); + void handleQuit(const QString &prefix, const QList ¶ms); + void handleTopic(const QString &prefix, const QList ¶ms); + + void handle001(const QString &prefix, const QList ¶ms); // RPL_WELCOME + void handle005(const QString &prefix, const QList ¶ms); // RPL_ISUPPORT + void handle221(const QString &prefix, const QList ¶ms); // RPL_UMODEIS + void handle250(const QString &prefix, const QList ¶ms); // RPL_STATSDLINE + void handle265(const QString &prefix, const QList ¶ms); // RPL_LOCALUSERS + void handle266(const QString &prefix, const QList ¶ms); // RPL_GLOBALUSERS + void handle301(const QString &prefix, const QList ¶ms); // RPL_AWAY + void handle305(const QString &prefix, const QList ¶ms); // RPL_UNAWAY + void handle306(const QString &prefix, const QList ¶ms); // RPL_NOWAWAY + void handle307(const QString &prefix, const QList ¶ms); // RPL_WHOISSERVICE + void handle310(const QString &prefix, const QList ¶ms); // RPL_SUSERHOST + void handle311(const QString &prefix, const QList ¶ms); // RPL_WHOISUSER + void handle312(const QString &prefix, const QList ¶ms); // RPL_WHOISSERVER + void handle313(const QString &prefix, const QList ¶ms); // RPL_WHOISOPERATOR + void handle314(const QString &prefix, const QList ¶ms); // RPL_WHOWASUSER + void handle315(const QString &prefix, const QList ¶ms); // RPL_ENDOFWHO + void handle317(const QString &prefix, const QList ¶ms); // RPL_WHOISIDLE + void handle318(const QString &prefix, const QList ¶ms); // RPL_ENDOFWHOIS + void handle319(const QString &prefix, const QList ¶ms); // RPL_WHOISCHANNELS + void handle320(const QString &prefix, const QList ¶ms); // RPL_WHOISVIRT (is identified to services) + void handle322(const QString &prefix, const QList ¶ms); // RPL_LIST + void handle323(const QString &prefix, const QList ¶ms); // RPL_LISTEND + void handle324(const QString &prefix, const QList ¶ms); // RPL_CHANNELMODEIS + void handle329(const QString &prefix, const QList ¶ms); // RPL_??? (channel creation time) + void handle331(const QString &prefix, const QList ¶ms); // RPL_NOTOPIC + void handle332(const QString &prefix, const QList ¶ms); // RPL_TOPIC + void handle333(const QString &prefix, const QList ¶ms); // Topic set by... + void handle352(const QString &prefix, const QList ¶ms); // RPL_WHOREPLY + void handle353(const QString &prefix, const QList ¶ms); // RPL_NAMREPLY + void handle369(const QString &prefix, const QList ¶ms); // RPL_ENDOFWHOWAS + void handle432(const QString &prefix, const QList ¶ms); // ERR_ERRONEUSNICKNAME + void handle433(const QString &prefix, const QList ¶ms); // ERR_NICKNAMEINUSE + + void defaultHandler(QString cmd, const QString &prefix, const QList ¶ms); + +private: + void tryNextNick(const QString &errnick); + bool checkParamCount(const QString &methodName, const QList ¶ms, int minParams); + bool _whois; };