diff -r b1df486516a4 -r 0b54480c4fd1 src/devices/wifi/wifi-net-device.cc --- a/src/devices/wifi/wifi-net-device.cc Fri Feb 22 23:28:01 2008 +0100 +++ b/src/devices/wifi/wifi-net-device.cc Fri Feb 22 23:34:53 2008 +0100 @@ -237,7 +237,7 @@ m_stations->SetParameters (m_parameters); // the MacLow - MacLow *low = new MacLow (); + Ptr low = CreateObject (); low->SetDevice (this); low->SetPhy (m_phy); low->SetStations (m_stations); @@ -266,10 +266,10 @@ m_low->RegisterNavListener (m_navListener); } -DcaTxop * +Ptr WifiNetDevice::CreateDca (uint32_t minCw, uint32_t maxCw, uint32_t aifsn) const { - DcaTxop *dca = new DcaTxop (minCw, maxCw, aifsn, m_manager); + Ptr dca = CreateObject (minCw, maxCw, aifsn, m_manager); dca->SetParameters (m_parameters); dca->SetTxMiddle (m_txMiddle); dca->SetLow (m_low); @@ -297,6 +297,7 @@ m_txLogger, WifiNetDeviceTraceType (WifiNetDeviceTraceType::TX)); resolver->AddComposite ("phy", m_phy); + resolver->AddComposite ("maclow", m_low); resolver->SetParentResolver (NetDevice::GetTraceResolver ()); return resolver; } @@ -357,7 +358,6 @@ // cleanup local m_channel = 0; delete m_stations; - delete m_low; delete m_rxMiddle; delete m_txMiddle; delete m_parameters; @@ -439,11 +439,19 @@ // chain up. WifiNetDevice::DoDispose (); // local cleanup - delete m_dca; delete m_high; m_dca = 0; m_high = 0; } +Ptr +AdhocWifiNetDevice::GetTraceResolver (void) const +{ + Ptr resolver = + Create (); + resolver->AddComposite ("dca", m_dca); + resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); + return resolver; +} /***************************************************** @@ -528,12 +536,20 @@ // chain up. WifiNetDevice::DoDispose (); // local cleanup - delete m_dca; delete m_high; m_dca = 0; m_high = 0; } +Ptr +NqstaWifiNetDevice::GetTraceResolver (void) const +{ + Ptr resolver = + Create (); + resolver->AddComposite ("dca", m_dca); + resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); + return resolver; +} /***************************************************** * AP code @@ -623,14 +639,22 @@ // chain up. WifiNetDevice::DoDispose (); // local cleanup - delete m_dca; - delete m_beaconDca; delete m_high; m_dca = 0; m_high = 0; m_beaconDca = 0; } +Ptr +NqapWifiNetDevice::GetTraceResolver (void) const +{ + Ptr resolver = + Create (); + resolver->AddComposite ("dca", m_dca); + resolver->AddComposite ("beaconDca", m_beaconDca); + resolver->SetParentResolver (WifiNetDevice::GetTraceResolver ()); + return resolver; +} } // namespace ns3