X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.h;h=52ecb6a56435bec240b45c987f96cb9011534551;hp=fe6290413352432049ec1c4a9d67ee50a314cb0f;hb=712781ef33198acb7267e02ee6f8f9bfc8598d5a;hpb=7a1202a4d6b127521ac1d460aed45ffe9383ebf0 diff --git a/src/core/ircserverhandler.h b/src/core/ircserverhandler.h index fe629041..52ecb6a5 100644 --- a/src/core/ircserverhandler.h +++ b/src/core/ircserverhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-10 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,68 +18,45 @@ * 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" +#include "corebasichandler.h" +#include "netsplit.h" -class IrcServerHandler : public BasicHandler { +class IrcServerHandler : public CoreBasicHandler { Q_OBJECT public: - IrcServerHandler(NetworkConnection *parent); + IrcServerHandler(CoreNetwork *parent); ~IrcServerHandler(); void handleServerMsg(QByteArray rawMsg); public slots: - 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 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 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 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); -signals: - void nickChanged(const QString &newNick, const QString &oldNick); // this signal is inteded to rename query buffers in the storage backend - private: - void tryNextNick(const QString &errnick); + void tryNextNick(const QString &errnick, bool erroneus = false); + bool checkParamCount(const QString &methodName, const QList ¶ms, int minParams); + + // holds the target for numeric replies or is invalid otherwise + inline const QString &target() const { return _target; } + bool _whois; -}; + QString _target; + // structure to organize netsplits + // key: quit message + // value: the corresponding netsplit object + QHash _netsplits; + +#ifdef HAVE_QCA2 + QByteArray decrypt(const QString &target, const QByteArray &message, bool isTopic = false); +#endif +}; #endif