-/* RPL_INVITING - "<nick> <channel>*/
-void IrcServerHandler::handle341(const QString &prefix, const QList<QByteArray> ¶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: "<channel> <user> <host> <server> <nick>
- ( "H" / "G" > ["*"] [ ( "@" / "+" ) ] :<hopcount> <real name>" */
-void IrcServerHandler::handle352(const QString &prefix, const QList<QByteArray> ¶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<QByteArray> ¶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 - "<nick> :End of WHOWAS" */
-void IrcServerHandler::handle369(const QString &prefix, const QList<QByteArray> ¶ms) {
- Q_UNUSED(prefix)
- emit displayMsg(Message::Server, BufferInfo::StatusBuffer, "", tr("[Whowas] %1").arg(serverDecode(params).join(" ")));
-}
-