void IRCSession::on_message_received(const IRCMessage &message) { /* // Do not remove this code. It is useful to see exactly what the server writes to us. IRCRawString s = IRCMessage::create_line(message.get_prefix().to_raw(), message.get_command(), message.get_params()); cb_system_text(IRCText::from_raw(s.substr(0, s.length()-2))); */ switch (message.get_type()) { case IRCMessage::type_numeric_reply: on_numeric_reply(IRCNumericReply(message)); break; case IRCMessage::type_nick: on_nick(IRCNickMessage(message)); break; case IRCMessage::type_join: on_join(IRCJoinMessage(message)); break; case IRCMessage::type_part: on_part(IRCPartMessage(message)); break; case IRCMessage::type_kick: on_kick(IRCKickMessage(message)); break; case IRCMessage::type_quit: on_quit(IRCQuitMessage(message)); break; case IRCMessage::type_channel_mode: on_channel_mode(IRCChannelModeMessage(message)); break; case IRCMessage::type_nick_mode: on_nick_mode(IRCNickModeMessage(message)); break; case IRCMessage::type_topic: on_topic(IRCTopicMessage(message)); break; case IRCMessage::type_privmsg: on_privmsg(IRCPrivateMessage(message)); break; case IRCMessage::type_notice: on_notice(IRCNoticeMessage(message)); break; case IRCMessage::type_ping: on_ping(IRCPingMessage(message)); break; case IRCMessage::type_unknown: default: on_unknown_message(message); break; } }
GNUC_VISIBLE void on_exam_topic() { on_topic(TRUE); }
GNUC_VISIBLE void on_training_topic() { on_topic(FALSE); }