本文整理汇总了C++中EventDispatcher::Notify方法的典型用法代码示例。如果您正苦于以下问题:C++ EventDispatcher::Notify方法的具体用法?C++ EventDispatcher::Notify怎么用?C++ EventDispatcher::Notify使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventDispatcher
的用法示例。
在下文中一共展示了EventDispatcher::Notify方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Parse
void Irc::Parse(const QString& line)
{
Message msg(line, m_bot);
qDebug() << line;
QString cmd = msg.GetCommand();
map<QString, list<Event> > events;
// Should be 001-004
if (cmd == "001")
{
Event evt(Event::CONNECT, msg);
events["irc.connect"].push_back(evt);
}
else if (cmd == "NOTICE")
{
Event evt(Event::NOTICE, msg);
events["irc.notice"].push_back(evt);
}
else if (cmd == "PRIVMSG")
{
Event evt(Event::OTHER, msg);
events["irc.privmsg"].push_back(evt);
}
else
{
Event evt(Event::OTHER, msg);
QString key = "irc." + msg.GetCommand().toLower();
events[key].push_back(evt);
}
EventDispatcher* ed = m_bot->GetEventDispatcher();
map<QString, list<Event> >::iterator mi;
list<Event>::iterator li;
for (mi = events.begin(); mi != events.end(); ++mi)
{
for (li = mi->second.begin(); li != mi->second.end(); ++li)
{
ed->Notify(mi->first.toStdString(), *li);
}
}
}