/***************************************************************************
- * 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 *
#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:
/** 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
*/
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<QByteArray> ¶ms, int minParams);