消息发送器设计
class CEventDispatcher
{
public:
bool AddEventListener(int nEventID, CEventListener* pListener);
bool RemoveEventListener(int nEventID, CEventListener* pListener);
bool DispatchEvent(int nEventID, int nEventType, string& strXmlData)
{
for (iterListener; iterListener != m_listListeners.end(); iterListener++)
{
//如果ID相等并且m_listRemoved里没有该listener, 则派发事件
}
}
protected:
std::map<int,CEventListener*> m_listListeners;
std::map<int,CEventListener*> m_listRemoved;
};
浙公网安备 33010602011771号