X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fuserinputhandler.h;h=5df268647d2a78a579ed1fad797721412d7a5f8b;hp=014a7c539c7e7c54a792561b50a531e37e4a3d83;hb=dc2aa39d20b60e7cd8e0ba66ca6c9ed729add008;hpb=902c95728306e5ba115de84800fc8d5d239c9d62 diff --git a/src/core/userinputhandler.h b/src/core/userinputhandler.h index 014a7c53..5df26864 100644 --- a/src/core/userinputhandler.h +++ b/src/core/userinputhandler.h @@ -1,11 +1,11 @@ /*************************************************************************** - * Copyright (C) 2005/06 by The Quassel Team * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * + * (at your option) version 3. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * @@ -18,8 +18,8 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef _USERINPUTHANDLER_H_ -#define _USERINPUTHANDLER_H_ +#ifndef USERINPUTHANDLER_H +#define USERINPUTHANDLER_H #include "basichandler.h" @@ -29,33 +29,63 @@ class UserInputHandler : public BasicHandler { Q_OBJECT public: - UserInputHandler(Server *parent = 0); + UserInputHandler(CoreNetwork *parent = 0); - void handleUserInput(QString buffer, QString msg); + void handleUserInput(const BufferInfo &bufferInfo, const QString &text); public slots: - void handleAway(QString, QString); - void handleDeop(QString, QString); - void handleDevoice(QString, QString); - void handleInvite(QString, QString); - void handleJoin(QString, QString); - void handleKick(QString, QString); - void handleList(QString, QString); - void handleMode(QString, QString); - void handleMsg(QString, QString); - void handleNick(QString, QString); - void handleOp(QString, QString); - void handlePart(QString, QString); - void handleQuery(QString, QString); - void handleQuit(QString, QString); - void handleQuote(QString, QString); - void handleSay(QString, QString); - void handleTopic(QString, QString); - void handleVoice(QString, QString); - void handleMe(QString, QString); - - void defaultHandler(QString cmd, QString buf, QString msg); + void handleAway(const BufferInfo &bufferInfo, const QString &text); + void handleBan(const BufferInfo &bufferInfo, const QString &text); + void handleUnban(const BufferInfo &bufferInfo, const QString &text); + void handleCtcp(const BufferInfo &bufferInfo, const QString &text); + void handleDeop(const BufferInfo &bufferInfo, const QString &text); + void handleDevoice(const BufferInfo &bufferInfo, const QString &text); + void handleInvite(const BufferInfo &bufferInfo, const QString &text); + void handleJoin(const BufferInfo &bufferInfo, const QString &text); + void handleKick(const BufferInfo &bufferInfo, const QString &text); + void handleKill(const BufferInfo &bufferInfo, const QString &text); + void handleList(const BufferInfo &bufferInfo, const QString &text); + void handleMe(const BufferInfo &bufferInfo, const QString &text); + void handleMode(const BufferInfo &bufferInfo, const QString &text); + void handleMsg(const BufferInfo &bufferInfo, const QString &text); + void handleNick(const BufferInfo &bufferInfo, const QString &text); + void handleNotice(const BufferInfo &bufferInfo, const QString &text); + void handleOper(const BufferInfo &bufferInfo, const QString &text); + void handleOp(const BufferInfo &bufferInfo, const QString &text); + void handlePart(const BufferInfo &bufferInfo, const QString &text); + void handlePing(const BufferInfo &bufferInfo, const QString &text); + void handleQuery(const BufferInfo &bufferInfo, const QString &text); + void handleQuit(const BufferInfo &bufferInfo, const QString &text); + void handleQuote(const BufferInfo &bufferInfo, const QString &text); + void handleSay(const BufferInfo &bufferInfo, const QString &text); + void handleTopic(const BufferInfo &bufferInfo, const QString &text); + void handleVoice(const BufferInfo &bufferInfo, const QString &text); + void handleWait(const BufferInfo &bufferInfo, const QString &text); + void handleWho(const BufferInfo &bufferInfo, const QString &text); + void handleWhois(const BufferInfo &bufferInfo, const QString &text); + void handleWhowas(const BufferInfo &bufferInfo, const QString &text); + void defaultHandler(QString cmd, const BufferInfo &bufferInfo, const QString &text); + + void issueQuit(const QString &reason); + +protected: + void timerEvent(QTimerEvent *event); + +private: + void expand(const QString &alias, const BufferInfo &bufferInfo, const QString &msg); + void banOrUnban(const BufferInfo &bufferInfo, const QString &text, bool ban); + void putPrivmsg(const QByteArray &target, const QByteArray &message); + int lastParamOverrun(const QString &cmd, const QList ¶ms); + + struct Command { + BufferInfo bufferInfo; + QString command; + Command(const BufferInfo &info, const QString &command) : bufferInfo(info), command(command) {} + Command() {} + }; + + QHash _delayedCommands; };