diff --git a/src/devices/wifi/adhoc-wifi-mac.cc b/src/devices/wifi/adhoc-wifi-mac.cc index 50a79e051..1abb6d8d0 100644 --- a/src/devices/wifi/adhoc-wifi-mac.cc +++ b/src/devices/wifi/adhoc-wifi-mac.cc @@ -24,6 +24,7 @@ #include "mac-rx-middle.h" #include "wifi-phy.h" #include "dcf-manager.h" +#include "ns3/pointer.h" #include "ns3/packet.h" #include "ns3/log.h" @@ -42,6 +43,10 @@ AdhocWifiMac::GetTypeId (void) static TypeId tid = TypeId ("ns3::AdhocWifiMac") .SetParent () .AddConstructor () + .AddAttribute ("DcaTxop", "The DcaTxop object", + PointerValue (), + MakePointerAccessor (&AdhocWifiMac::DoGetDcaTxop), + MakePointerChecker ()) ; return tid; } @@ -243,5 +248,10 @@ AdhocWifiMac::ForwardUp (Ptr packet, WifiMacHeader const *hdr) NS_LOG_DEBUG ("received size="<GetSize ()<<", from="<GetAddr2 ()); m_upCallback (packet, hdr->GetAddr2 (), hdr->GetAddr1 ()); } +Ptr +AdhocWifiMac::DoGetDcaTxop(void) const +{ + return m_dca; +} } // namespace ns3 diff --git a/src/devices/wifi/adhoc-wifi-mac.h b/src/devices/wifi/adhoc-wifi-mac.h index d5d5f4b44..047798376 100644 --- a/src/devices/wifi/adhoc-wifi-mac.h +++ b/src/devices/wifi/adhoc-wifi-mac.h @@ -86,6 +86,7 @@ private: void ForwardUp (Ptr packet, WifiMacHeader const*hdr); AdhocWifiMac (const AdhocWifiMac & ctor_arg); AdhocWifiMac &operator = (const AdhocWifiMac &o); + Ptr DoGetDcaTxop(void) const; Ptr m_dca; Callback, Mac48Address, Mac48Address> m_upCallback; diff --git a/src/devices/wifi/nqap-wifi-mac.cc b/src/devices/wifi/nqap-wifi-mac.cc index 2dcfad026..2fde2be17 100644 --- a/src/devices/wifi/nqap-wifi-mac.cc +++ b/src/devices/wifi/nqap-wifi-mac.cc @@ -30,6 +30,7 @@ #include "dcf-manager.h" #include "mac-rx-middle.h" #include "mac-low.h" +#include "ns3/pointer.h" NS_LOG_COMPONENT_DEFINE ("NqapWifiMac"); @@ -56,6 +57,10 @@ NqapWifiMac::GetTypeId (void) MakeBooleanAccessor (&NqapWifiMac::SetBeaconGeneration, &NqapWifiMac::GetBeaconGeneration), MakeBooleanChecker ()) + .AddAttribute ("DcaTxop", "The DcaTxop object", + PointerValue (), + MakePointerAccessor (&NqapWifiMac::DoGetDcaTxop), + MakePointerChecker ()) ; return tid; } @@ -554,5 +559,10 @@ NqapWifiMac::Receive (Ptr packet, WifiMacHeader const *hdr) NS_ASSERT (false); } } +Ptr +NqapWifiMac::DoGetDcaTxop(void) const +{ + return m_dca; +} } // namespace ns3 diff --git a/src/devices/wifi/nqap-wifi-mac.h b/src/devices/wifi/nqap-wifi-mac.h index 496342df6..f3498bc25 100644 --- a/src/devices/wifi/nqap-wifi-mac.h +++ b/src/devices/wifi/nqap-wifi-mac.h @@ -113,6 +113,7 @@ private: virtual void DoDispose (void); NqapWifiMac (const NqapWifiMac & ctor_arg); NqapWifiMac &operator = (const NqapWifiMac &o); + Ptr DoGetDcaTxop(void) const; Ptr m_dca; Ptr m_beaconDca; diff --git a/src/devices/wifi/nqsta-wifi-mac.cc b/src/devices/wifi/nqsta-wifi-mac.cc index 334a66f18..9f48134e5 100644 --- a/src/devices/wifi/nqsta-wifi-mac.cc +++ b/src/devices/wifi/nqsta-wifi-mac.cc @@ -33,6 +33,8 @@ #include "mac-low.h" #include "dcf-manager.h" #include "mac-rx-middle.h" +#include "ns3/trace-source-accessor.h" +#include "ns3/pointer.h" NS_LOG_COMPONENT_DEFINE ("NqstaWifiMac"); @@ -83,6 +85,10 @@ NqstaWifiMac::GetTypeId (void) BooleanValue (false), MakeBooleanAccessor (&NqstaWifiMac::SetActiveProbing), MakeBooleanChecker ()) + .AddAttribute ("DcaTxop", "The DcaTxop object", + PointerValue (), + MakePointerAccessor (&NqstaWifiMac::DoGetDcaTxop), + MakePointerChecker ()) ; return tid; } @@ -194,7 +200,11 @@ NqstaWifiMac::GetPifs (void) const { return m_low->GetPifs (); } - +Ptr +NqstaWifiMac::DoGetDcaTxop(void) const +{ + return m_dca; +} void NqstaWifiMac::SetWifiPhy (Ptr phy) { diff --git a/src/devices/wifi/nqsta-wifi-mac.h b/src/devices/wifi/nqsta-wifi-mac.h index 5408d0429..1ae7140ef 100644 --- a/src/devices/wifi/nqsta-wifi-mac.h +++ b/src/devices/wifi/nqsta-wifi-mac.h @@ -129,6 +129,7 @@ private: virtual void DoDispose (void); NqstaWifiMac (const NqstaWifiMac & ctor_arg); NqstaWifiMac &operator = (const NqstaWifiMac & ctor_arg); + Ptr DoGetDcaTxop(void) const; enum { ASSOCIATED,