00001 #include "headers.h" 00002 #include "VisualizerListener.h" 00003 #include "stdafx.h" 00004 00005 void VisualizerListener::setFrame(VisualizerFrame* listenerFrame) 00006 { 00007 m_mainFrame = listenerFrame; 00008 00009 LinkLayerInterface* lli = GlobalObjects::instance()->getNetworkLayer()->getLli(); 00010 lli->registerListener(this); 00011 00012 } 00013 00014 00015 void VisualizerListener::handleEvent(ObservableInterface* o, int type, void* data) 00016 { 00017 ConnectionTableEntry* cte = (ConnectionTableEntry*)(data); 00018 if (!cte) { 00019 return; 00020 } 00021 Node* node = cte->getNode(); 00022 if (type == LinkLayerInterface::CONNECTION_OPENED) { 00023 VisualizerNodeMessage* message = new VisualizerNodeMessage(node, true); 00024 m_mainFrame->addMessage(message); 00025 } 00026 else if (type == LinkLayerInterface::CONNECTION_CLOSED) { 00027 VisualizerNodeMessage* message = new VisualizerNodeMessage(node, false); 00028 m_mainFrame->addMessage(message); 00029 } 00030 }