From c7cb7fca3f968707d6dd95269b6ef12b1f988039 Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 5 Sep 2015 11:50:41 +0200 Subject: [PATCH] Cleanup CIRCSock::ReadLine() --- src/IRCSock.cpp | 162 +++++++++++++++++++----------------------------- 1 file changed, 64 insertions(+), 98 deletions(-) diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp index ab3efef6..cb0e6da1 100644 --- a/src/IRCSock.cpp +++ b/src/IRCSock.cpp @@ -163,105 +163,71 @@ void CIRCSock::ReadLine(const CString& sData) { IRCSOCKMODULECALL(OnRawMessage(Message), &bReturn); if (bReturn) return; - CString sCmd = Message.GetCommand(); - - if (Message.GetType() == CMessage::Type::Ping) { - if (OnPingMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Pong) { - if (OnPongMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Error) { - if (OnErrorMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Numeric) { - CNumericMessage& NumericMsg = static_cast(Message); - if (OnNumericMessage(NumericMsg)) { - return; - } - } else { - CNick Nick = Message.GetNick(); - - if (Message.GetType() == CMessage::Type::Nick) { - CNickMessage& NickMsg = static_cast(Message); - if (OnNickMessage(NickMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Quit) { - CQuitMessage& QuitMsg = static_cast(Message); - if (OnQuitMessage(QuitMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Join) { - CJoinMessage& JoinMsg = static_cast(Message); - if (OnJoinMessage(JoinMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Part) { - CPartMessage& PartMsg = static_cast(Message); - if (OnPartMessage(PartMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Mode) { - CModeMessage& ModeMsg = static_cast(Message); - if (OnModeMessage(ModeMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Kick) { - CKickMessage& KickMsg = static_cast(Message); - if (OnKickMessage(KickMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Notice) { - CNoticeMessage& NoticeMsg = static_cast(Message); - if (OnNoticeMessage(NoticeMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Topic) { - CTopicMessage& TopicMsg = static_cast(Message); - if (OnTopicMessage(TopicMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Action) { - CActionMessage& ActionMsg = static_cast(Message); - if (OnActionMessage(ActionMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::CTCP) { - CCTCPMessage& CTCPMsg = static_cast(Message); - if (OnCTCPMessage(CTCPMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Text) { - CTextMessage& TextMsg = static_cast(Message); - if (OnTextMessage(TextMsg)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Wallops) { - if (OnWallopsMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Capability) { - if (OnCapabilityMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Invite) { - if (OnInviteMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Away) { - if (OnAwayMessage(Message)) { - return; - } - } else if (Message.GetType() == CMessage::Type::Account) { - if (OnAccountMessage(Message)) { - return; - } - } + switch (Message.GetType()) { + case CMessage::Type::Account: + bReturn = OnAccountMessage(Message); + break; + case CMessage::Type::Action: + bReturn = OnActionMessage(static_cast(Message)); + break; + case CMessage::Type::Away: + bReturn = OnAwayMessage(Message); + break; + case CMessage::Type::Capability: + bReturn = OnCapabilityMessage(Message); + break; + case CMessage::Type::CTCP: + bReturn = OnCTCPMessage(static_cast(Message)); + break; + case CMessage::Type::Error: + bReturn = OnErrorMessage(Message); + break; + case CMessage::Type::Invite: + bReturn = OnInviteMessage(Message); + break; + case CMessage::Type::Join: + bReturn = OnJoinMessage(static_cast(Message)); + break; + case CMessage::Type::Kick: + bReturn = OnKickMessage(static_cast(Message)); + break; + case CMessage::Type::Mode: + bReturn = OnModeMessage(static_cast(Message)); + break; + case CMessage::Type::Nick: + bReturn = OnNickMessage(static_cast(Message)); + break; + case CMessage::Type::Notice: + bReturn = OnNoticeMessage(static_cast(Message)); + break; + case CMessage::Type::Numeric: + bReturn = OnNumericMessage(static_cast(Message)); + break; + case CMessage::Type::Part: + bReturn = OnPartMessage(static_cast(Message)); + break; + case CMessage::Type::Ping: + bReturn = OnPingMessage(Message); + break; + case CMessage::Type::Pong: + bReturn = OnPongMessage(Message); + break; + case CMessage::Type::Quit: + bReturn = OnQuitMessage(static_cast(Message)); + break; + case CMessage::Type::Text: + bReturn = OnTextMessage(static_cast(Message)); + break; + case CMessage::Type::Topic: + bReturn = OnTopicMessage(static_cast(Message)); + break; + case CMessage::Type::Wallops: + bReturn = OnWallopsMessage(Message); + break; + default: + break; } + if (bReturn) return; m_pNetwork->PutUser(Message); }