summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircmessageparser.cpp
Unidiff
Diffstat (limited to 'noncore/net/opieirc/ircmessageparser.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircmessageparser.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/noncore/net/opieirc/ircmessageparser.cpp b/noncore/net/opieirc/ircmessageparser.cpp
index 4038673..3063741 100644
--- a/noncore/net/opieirc/ircmessageparser.cpp
+++ b/noncore/net/opieirc/ircmessageparser.cpp
@@ -41,13 +41,15 @@ IRCNumericalMessageParserStruct IRCMessageParser::numericalParserProcTable[] = {
41 { 366, FUNC(parseNumericalEndOfNames) }, // RPL_ENDOFNAMES 41 { 366, FUNC(parseNumericalEndOfNames) }, // RPL_ENDOFNAMES
42 { 375, FUNC(parseNumericalStats) }, // RPL_MOTDSTART 42 { 375, FUNC(parseNumericalStats) }, // RPL_MOTDSTART
43 { 372, FUNC(parseNumericalStats) }, // RPL_MOTD 43 { 372, FUNC(parseNumericalStats) }, // RPL_MOTD
44 { 376, FUNC(parseNumericalStats) }, // RPL_ENDOFMOTD 44 { 376, FUNC(parseNumericalStats) }, // RPL_ENDOFMOTD
45 { 377, FUNC(parseNumericalStats) }, // RPL_MOTD2 45 { 377, FUNC(parseNumericalStats) }, // RPL_MOTD2
46 { 378, FUNC(parseNumericalStats) }, // RPL_MOTD3 46 { 378, FUNC(parseNumericalStats) }, // RPL_MOTD3
47 { 412, FUNC(parseNumericalStats) }, // ERNOTEXTTOSEND 47 { 401, FUNC(parseNumericalNoSuchNick) }, // ERR_NOSUCHNICK
48 { 406, FUNC(parseNumericalNoSuchNick) }, // ERR_WASNOSUCHNICK
49 { 412, FUNC(parseNumericalStats) }, // ERR_NOTEXTTOSEND
48 { 433, FUNC(parseNumericalNicknameInUse) }, // ERR_NICKNAMEINUSE 50 { 433, FUNC(parseNumericalNicknameInUse) }, // ERR_NICKNAMEINUSE
49 { 0, 0 } 51 { 0, 0 }
50}; 52};
51 53
52IRCMessageParser::IRCMessageParser(IRCSession *session) { 54IRCMessageParser::IRCMessageParser(IRCSession *session) {
53 m_session = session; 55 m_session = session;
@@ -169,13 +171,13 @@ void IRCMessageParser::parseLiteralPrivMsg(IRCMessage *message) {
169 IRCPerson *person = m_session->getPerson(mask.nick()); 171 IRCPerson *person = m_session->getPerson(mask.nick());
170 if (!person) { 172 if (!person) {
171 /* Person not yet known, create and add to the current session */ 173 /* Person not yet known, create and add to the current session */
172 person = new IRCPerson(message->prefix()); 174 person = new IRCPerson(message->prefix());
173 m_session->addPerson(person); 175 m_session->addPerson(person);
174 } 176 }
175 IRCOutput output(OUTPUT_CHANPRIVMSG, message->param(1)); 177 IRCOutput output(OUTPUT_QUERYPRIVMSG, message->param(1));
176 output.addParam(person); 178 output.addParam(person);
177 emit outputReady(output); 179 emit outputReady(output);
178 } else if (message->param(0).at(0) == '#') { 180 } else if (message->param(0).at(0) == '#') {
179 /* IRC Channel message detected, verify sender, channel and display it */ 181 /* IRC Channel message detected, verify sender, channel and display it */
180 IRCChannel *channel = m_session->getChannel(message->param(0)); 182 IRCChannel *channel = m_session->getChannel(message->param(0));
181 if (channel) { 183 if (channel) {
@@ -476,6 +478,10 @@ void IRCMessageParser::parseNumericalEndOfNames(IRCMessage *message) {
476 478
477 479
478void IRCMessageParser::parseNumericalNicknameInUse(IRCMessage *) { 480void IRCMessageParser::parseNumericalNicknameInUse(IRCMessage *) {
479 emit outputReady(IRCOutput(OUTPUT_ERROR, tr("Nickname is in use, please reconnect with a different nickname"))); 481 emit outputReady(IRCOutput(OUTPUT_ERROR, tr("Nickname is in use, please reconnect with a different nickname")));
480 m_session->endSession(); 482 m_session->endSession();
481} 483}
484
485void IRCMessageParser::parseNumericalNoSuchNick(IRCMessage *) {
486 emit outputReady(IRCOutput(OUTPUT_ERROR, tr("No such nickname")));
487}