X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.h;h=25ef895c7c5abf3dcf55e065e4a44d9f2ea42180;hp=f035eb9aff45e18970eaa1acd8aea41b472b82a4;hb=615c5621f63360ef11c9cc3519c0462d8b5ec85b;hpb=fd80315c076ede937f5d51ba6f8061a32d0107ec diff --git a/src/core/ircserverhandler.h b/src/core/ircserverhandler.h index f035eb9a..25ef895c 100644 --- a/src/core/ircserverhandler.h +++ b/src/core/ircserverhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-09 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 * @@ -21,10 +21,10 @@ #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: @@ -35,37 +35,12 @@ public: 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 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 @@ -74,11 +49,13 @@ public slots: 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 handle341(const QString &prefix, const QList ¶ms); // RPL_INVITING 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 handle437(const QString &prefix, const QList ¶ms); // ERR_UNAVAILRESOURCE void defaultHandler(QString cmd, const QString &prefix, const QList ¶ms); @@ -87,9 +64,10 @@ private slots: /** This slot handles a bulk-join after a netsplit is over * \param channel The channel the users joined * \param users The list of users that joind the channel + * \param modes The list of modes the users get set * \param quitMessage The message we received when the netsplit occured */ - void handleNetsplitJoin(const QString &channel, const QStringList &users, const QString &quitMessage); + void handleNetsplitJoin(const QString &channel, const QStringList &users, const QStringList &modes, const QString &quitMessage); //! Quits after a netsplit /** This slot handles a bulk-quit after a netsplit occured @@ -104,6 +82,14 @@ private slots: */ void handleNetsplitFinished(); + void handleEarlyNetsplitJoin(const QString &channel, const QStringList &users, const QStringList &modes); + + //! Destroy any existing netsplits + /** This slot deletes all netsplit objects + * Used to get rid of existing netsplits on network reconnect + */ + void destroyNetsplits(); + private: void tryNextNick(const QString &errnick, bool erroneus = false); bool checkParamCount(const QString &methodName, const QList ¶ms, int minParams); @@ -118,7 +104,10 @@ private: // 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