#define COREUSERINPUTHANDLER_H
#include "corebasichandler.h"
+#include "corenetwork.h"
+class Cipher;
class Server;
class CoreUserInputHandler : public CoreBasicHandler {
public:
CoreUserInputHandler(CoreNetwork *parent = 0);
+ inline CoreNetwork *coreNetwork() const { return qobject_cast<CoreNetwork *>(parent()); }
void handleUserInput(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 handleDelkey(const BufferInfo &bufferInfo, const QString &text);
void handleDeop(const BufferInfo &bufferInfo, const QString &text);
+ void handleDehalfop(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 handleNotice(const BufferInfo &bufferInfo, const QString &text);
void handleOper(const BufferInfo &bufferInfo, const QString &text);
void handleOp(const BufferInfo &bufferInfo, const QString &text);
+ void handleHalfop(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 handleSetkey(const BufferInfo &bufferInfo, const QString &text);
+ void handleShowkey(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 defaultHandler(QString cmd, const BufferInfo &bufferInfo, const QString &text);
void issueQuit(const QString &reason);
+ void issueAway(const QString &msg, bool autoCheck = true);
protected:
void timerEvent(QTimerEvent *event);
private:
void banOrUnban(const BufferInfo &bufferInfo, const QString &text, bool ban);
- void putPrivmsg(const QByteArray &target, const QByteArray &message);
+ void putPrivmsg(const QByteArray &target, const QByteArray &message, Cipher *cipher = 0);
int lastParamOverrun(const QString &cmd, const QList<QByteArray> ¶ms);
+#ifdef HAVE_QCA2
+ QByteArray encrypt(const QString &target, const QByteArray &message, bool *didEncrypt = 0) const;
+#endif
+
struct Command {
BufferInfo bufferInfo;
QString command;