--- a/src/devices/wifi/nqap-wifi-mac.cc Fri Apr 24 09:57:16 2009 +0200
+++ b/src/devices/wifi/nqap-wifi-mac.cc Fri Apr 24 10:01:41 2009 +0200
@@ -60,7 +60,8 @@
MakeBooleanChecker ())
.AddAttribute ("DcaTxop", "The DcaTxop object",
PointerValue (),
- MakePointerAccessor (&NqapWifiMac::DoGetDcaTxop),
+ MakePointerAccessor (&NqapWifiMac::GetDcaTxop,
+ &NqapWifiMac::SetDcaTxop),
MakePointerChecker<DcaTxop> ())
;
return tid;
@@ -78,12 +79,6 @@
m_dcfManager = new DcfManager ();
m_dcfManager->SetupLowListener (m_low);
- m_dca = CreateObject<DcaTxop> ();
- m_dca->SetLow (m_low);
- m_dca->SetManager (m_dcfManager);
- m_dca->SetTxOkCallback (MakeCallback (&NqapWifiMac::TxOk, this));
- m_dca->SetTxFailedCallback (MakeCallback (&NqapWifiMac::TxFailed, this));
-
m_beaconDca = CreateObject<DcaTxop> ();
m_beaconDca->SetAifsn(1);
m_beaconDca->SetMinCw(0);
@@ -108,6 +103,7 @@
m_phy = 0;
m_dca = 0;
m_beaconDca = 0;
+ m_stationManager = 0;
m_beaconEvent.Cancel ();
WifiMac::DoDispose ();
}
@@ -300,8 +296,7 @@
hdr.SetAddr3 (from);
hdr.SetDsFrom ();
hdr.SetDsNotTo ();
-
- m_dca->Queue (packet, hdr);
+ m_dca->Queue (packet, hdr);
}
void
NqapWifiMac::Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from)
@@ -565,9 +560,19 @@
}
}
Ptr<DcaTxop>
-NqapWifiMac::DoGetDcaTxop(void) const
+NqapWifiMac::GetDcaTxop(void) const
{
return m_dca;
}
+void
+NqapWifiMac::SetDcaTxop (Ptr<DcaTxop> dcaTxop)
+{
+ m_dca = dcaTxop;
+ m_dca->SetLow (m_low);
+ m_dca->SetManager (m_dcfManager);
+ m_dca->SetTxOkCallback (MakeCallback (&NqapWifiMac::TxOk, this));
+ m_dca->SetTxFailedCallback (MakeCallback (&NqapWifiMac::TxFailed, this));
+}
+
} // namespace ns3