Add SSID and BSSID info to the wireless link tooltip
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Wed, 25 Feb 2009 17:46:07 +0000
changeset 3916 483185aac8e7
parent 3915 d3be80046d59
child 3917 0f03b6de8b56
Add SSID and BSSID info to the wireless link tooltip
src/contrib/visualizer/plugins/wifi_intrastructure_link.py
--- a/src/contrib/visualizer/plugins/wifi_intrastructure_link.py	Wed Feb 25 16:01:58 2009 +0000
+++ b/src/contrib/visualizer/plugins/wifi_intrastructure_link.py	Wed Feb 25 17:46:07 2009 +0000
@@ -4,8 +4,9 @@
 from visualizer.base import Link, transform_distance_canvas_to_simulation
 
 class WifiLink(Link):
-    def __init__(self, parent_canvas_item, sta):
+    def __init__(self, parent_canvas_item, sta, dev):
         self.node1 = sta
+        self.dev = dev
         self.node2 = None # ap
         self.canvas_item = goocanvas.Group(parent=parent_canvas_item)
         self.invisible_line = goocanvas.Polyline(parent=self.canvas_item,
@@ -55,8 +56,12 @@
         dx = pos2_x - pos1_x
         dy = pos2_y - pos1_y
         d = transform_distance_canvas_to_simulation(math.sqrt(dx*dx + dy*dy))
-        tooltip.set_text("WiFi link between STA Node %i and AP Node %i; distance=%.2f m."
-                         % (self.node1.node_index, self.node2.node_index, d))
+        mac = self.dev.GetMac()
+        tooltip.set_text(("WiFi link between STA Node %i and AP Node %i; distance=%.2f m.\n"
+                          "SSID: %s\n"
+                          "BSSID: %s")
+                         % (self.node1.node_index, self.node2.node_index, d,
+                            mac.GetSsid(), mac.GetBssid()))
 
 
 class WifiLinkMonitor(object):
@@ -79,7 +84,7 @@
                     continue
                 wifi_mac = dev.GetMac()
                 if isinstance(wifi_mac, ns3.NqstaWifiMac):
-                    wifi_link = WifiLink(viz.links_group, node)
+                    wifi_link = WifiLink(viz.links_group, node, dev)
                     self.stations.append((dev, node, wifi_link))
                 elif isinstance(wifi_mac, ns3.NqapWifiMac):
                     bssid = ns3.Mac48Address.ConvertFrom(dev.GetAddress())