diff --git a/src/devices/wifi/mac-stations.cc b/src/devices/wifi/mac-stations.cc index b690d09eb..759165c5b 100644 --- a/src/devices/wifi/mac-stations.cc +++ b/src/devices/wifi/mac-stations.cc @@ -108,8 +108,7 @@ MacStations::MacStations (WifiMode defaultTxMode) : m_defaultTxMode (defaultTxMode), m_nonUnicast (new NonUnicastMacStation (this)) { - m_basicModes.push_back (m_defaultTxMode); - NS_ASSERT (m_defaultTxMode.IsMandatory ()); + Reset (); } MacStations::~MacStations () @@ -154,6 +153,23 @@ MacStations::GetDefaultMode (void) const { return m_defaultTxMode; } +void +MacStations::Reset (void) +{ + for (Stations::const_iterator i = m_stations.begin (); i != m_stations.end (); i++) + { + delete i->second; + } + m_stations.clear (); + m_basicModes.clear (); + m_basicModes.push_back (m_defaultTxMode); + NS_ASSERT (m_defaultTxMode.IsMandatory ()); +} +void +MacStations::AddBasicMode (WifiMode mode) +{ + m_basicModes.push_back (mode); +} uint32_t MacStations::GetNBasicModes (void) const {