X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fircserverhandler.cpp;h=ae7c42b4c70177019a9edb658466163958d069a3;hp=363b0f15cad14794c3f55d5cf40c142fcd79a4a1;hb=3ec6f311bb4fff1540a01c26069300ad17f6d134;hpb=ff3ed2a8ca548a5adbfac76b09608657bc68f8e4 diff --git a/src/core/ircserverhandler.cpp b/src/core/ircserverhandler.cpp index 363b0f15..ae7c42b4 100644 --- a/src/core/ircserverhandler.cpp +++ b/src/core/ircserverhandler.cpp @@ -405,141 +405,6 @@ void IrcServerHandler::handle324(const QString &prefix, const QList handleMode(prefix, params); } -/* RPL_INVITING - " */ -void IrcServerHandler::handle341(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix); - if(!checkParamCount("IrcServerHandler::handle341()", params, 2)) - return; - - QString nick = serverDecode(params[0]); - - IrcChannel *channel = network()->ircChannel(serverDecode(params[1])); - if(!channel) { - qWarning() << "IrcServerHandler::handle341(): unknown channel:" << params[1]; - return; - } - - emit displayMsg(Message::Server, BufferInfo::ChannelBuffer, channel->name(), tr("%1 has been invited to %2").arg(nick).arg(channel->name())); -} - -/* RPL_WHOREPLY: " - ( "H" / "G" > ["*"] [ ( "@" / "+" ) ] : " */ -void IrcServerHandler::handle352(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix) - if(!checkParamCount("IrcServerHandler::handle352()", params, 6)) - return; - - QString channel = serverDecode(params[0]); - IrcUser *ircuser = network()->ircUser(serverDecode(params[4])); - if(ircuser) { - ircuser->setUser(serverDecode(params[1])); - ircuser->setHost(serverDecode(params[2])); - - bool away = serverDecode(params[5]).startsWith("G") ? true : false; - ircuser->setAway(away); - ircuser->setServer(serverDecode(params[3])); - ircuser->setRealName(serverDecode(params.last()).section(" ", 1)); - } - - if(!network()->isAutoWhoInProgress(channel)) { - emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Who] %1").arg(serverDecode(params).join(" "))); - } -} - -/* RPL_NAMREPLY */ -void IrcServerHandler::handle353(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix); - if(!checkParamCount("IrcServerHandler::handle353()", params, 3)) - return; - - // param[0] is either "=", "*" or "@" indicating a public, private or secret channel - // we don't use this information at the time beeing - QString channelname = serverDecode(params[1]); - - IrcChannel *channel = network()->ircChannel(channelname); - if(!channel) { - qWarning() << "IrcServerHandler::handle353(): received unknown target channel:" << channelname; - return; - } - - QStringList nicks; - QStringList modes; - - foreach(QString nick, serverDecode(params[2]).split(' ')) { - QString mode = QString(); - - if(network()->prefixes().contains(nick[0])) { - mode = network()->prefixToMode(nick[0]); - nick = nick.mid(1); - } - - nicks << nick; - modes << mode; - } - - channel->joinIrcUsers(nicks, modes); -} - -/* RPL_ENDOFWHOWAS - " :End of WHOWAS" */ -void IrcServerHandler::handle369(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix) - emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whowas] %1").arg(serverDecode(params).join(" "))); -} - -/* ERR_ERRONEUSNICKNAME */ -void IrcServerHandler::handle432(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix); - - QString errnick; - if(params.size() < 2) { - // handle unreal-ircd bug, where unreal ircd doesnt supply a TARGET in ERR_ERRONEUSNICKNAME during registration phase: - // nick @@@ - // :irc.scortum.moep.net 432 @@@ :Erroneous Nickname: Illegal characters - // correct server reply: - // :irc.scortum.moep.net 432 * @@@ :Erroneous Nickname: Illegal characters - errnick = target(); - } else { - errnick = params[0]; - } - emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Nick %1 contains illegal characters").arg(errnick)); - tryNextNick(errnick, true /* erroneus */); -} - -/* ERR_NICKNAMEINUSE */ -void IrcServerHandler::handle433(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix); - if(!checkParamCount("IrcServerHandler::handle433()", params, 1)) - return; - - QString errnick = serverDecode(params[0]); - emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Nick already in use: %1").arg(errnick)); - - // if there is a problem while connecting to the server -> we handle it - // but only if our connection has not been finished yet... - if(!network()->currentServer().isEmpty()) - return; - - tryNextNick(errnick); -} - -/* ERR_UNAVAILRESOURCE */ -void IrcServerHandler::handle437(const QString &prefix, const QList ¶ms) { - Q_UNUSED(prefix); - if(!checkParamCount("IrcServerHandler::handle437()", params, 1)) - return; - - QString errnick = serverDecode(params[0]); - emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", tr("Nick/channel is temporarily unavailable: %1").arg(errnick)); - - // if there is a problem while connecting to the server -> we handle it - // but only if our connection has not been finished yet... - if(!network()->currentServer().isEmpty()) - return; - - if(!network()->isChannelName(errnick)) - tryNextNick(errnick); -} - /* Handle signals from Netsplit objects */ void IrcServerHandler::handleNetsplitJoin(const QString &channel, const QStringList &users, const QStringList &modes, const QString& quitMessage)