/***************************************************************************
- * Copyright (C) 2005-07 by the Quassel IRC 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 *
* 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"
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<QByteArray> ¶ms);
+
+ struct Command {
+ BufferInfo bufferInfo;
+ QString command;
+ Command(const BufferInfo &info, const QString &command) : bufferInfo(info), command(command) {}
+ Command() {}
+ };
+
+ QHash<int, Command> _delayedCommands;
};