X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fuserinputhandler.h;h=5df268647d2a78a579ed1fad797721412d7a5f8b;hp=9654dd3fdf84225a8bba7c5a2ecf60adf2eec518;hb=dc2aa39d20b60e7cd8e0ba66ca6c9ed729add008;hpb=8699dd758516d0ded076811e8ea656adc95e69d0 diff --git a/src/core/userinputhandler.h b/src/core/userinputhandler.h index 9654dd3f..5df26864 100644 --- a/src/core/userinputhandler.h +++ b/src/core/userinputhandler.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 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 _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; };