bug 500: make DcaTxop accessible through an attribute.
--- a/src/devices/wifi/adhoc-wifi-mac.cc Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/adhoc-wifi-mac.cc Tue Feb 24 08:20:51 2009 +0100
@@ -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 @@
static TypeId tid = TypeId ("ns3::AdhocWifiMac")
.SetParent<WifiMac> ()
.AddConstructor<AdhocWifiMac> ()
+ .AddAttribute ("DcaTxop", "The DcaTxop object",
+ PointerValue (),
+ MakePointerAccessor (&AdhocWifiMac::DoGetDcaTxop),
+ MakePointerChecker<DcaTxop> ())
;
return tid;
}
@@ -243,5 +248,10 @@
NS_LOG_DEBUG ("received size="<<packet->GetSize ()<<", from="<<hdr->GetAddr2 ());
m_upCallback (packet, hdr->GetAddr2 (), hdr->GetAddr1 ());
}
+Ptr<DcaTxop>
+AdhocWifiMac::DoGetDcaTxop(void) const
+{
+ return m_dca;
+}
} // namespace ns3
--- a/src/devices/wifi/adhoc-wifi-mac.h Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/adhoc-wifi-mac.h Tue Feb 24 08:20:51 2009 +0100
@@ -86,6 +86,7 @@
void ForwardUp (Ptr<Packet> packet, WifiMacHeader const*hdr);
AdhocWifiMac (const AdhocWifiMac & ctor_arg);
AdhocWifiMac &operator = (const AdhocWifiMac &o);
+ Ptr<DcaTxop> DoGetDcaTxop(void) const;
Ptr<DcaTxop> m_dca;
Callback<void,Ptr<Packet>, Mac48Address, Mac48Address> m_upCallback;
--- a/src/devices/wifi/nqap-wifi-mac.cc Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/nqap-wifi-mac.cc Tue Feb 24 08:20:51 2009 +0100
@@ -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 @@
MakeBooleanAccessor (&NqapWifiMac::SetBeaconGeneration,
&NqapWifiMac::GetBeaconGeneration),
MakeBooleanChecker ())
+ .AddAttribute ("DcaTxop", "The DcaTxop object",
+ PointerValue (),
+ MakePointerAccessor (&NqapWifiMac::DoGetDcaTxop),
+ MakePointerChecker<DcaTxop> ())
;
return tid;
}
@@ -554,5 +559,10 @@
NS_ASSERT (false);
}
}
+Ptr<DcaTxop>
+NqapWifiMac::DoGetDcaTxop(void) const
+{
+ return m_dca;
+}
} // namespace ns3
--- a/src/devices/wifi/nqap-wifi-mac.h Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/nqap-wifi-mac.h Tue Feb 24 08:20:51 2009 +0100
@@ -113,6 +113,7 @@
virtual void DoDispose (void);
NqapWifiMac (const NqapWifiMac & ctor_arg);
NqapWifiMac &operator = (const NqapWifiMac &o);
+ Ptr<DcaTxop> DoGetDcaTxop(void) const;
Ptr<DcaTxop> m_dca;
Ptr<DcaTxop> m_beaconDca;
--- a/src/devices/wifi/nqsta-wifi-mac.cc Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/nqsta-wifi-mac.cc Tue Feb 24 08:20:51 2009 +0100
@@ -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 @@
BooleanValue (false),
MakeBooleanAccessor (&NqstaWifiMac::SetActiveProbing),
MakeBooleanChecker ())
+ .AddAttribute ("DcaTxop", "The DcaTxop object",
+ PointerValue (),
+ MakePointerAccessor (&NqstaWifiMac::DoGetDcaTxop),
+ MakePointerChecker<DcaTxop> ())
;
return tid;
}
@@ -194,7 +200,11 @@
{
return m_low->GetPifs ();
}
-
+Ptr<DcaTxop>
+NqstaWifiMac::DoGetDcaTxop(void) const
+{
+ return m_dca;
+}
void
NqstaWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
{
--- a/src/devices/wifi/nqsta-wifi-mac.h Mon Feb 23 16:07:46 2009 +0000
+++ b/src/devices/wifi/nqsta-wifi-mac.h Tue Feb 24 08:20:51 2009 +0100
@@ -129,6 +129,7 @@
virtual void DoDispose (void);
NqstaWifiMac (const NqstaWifiMac & ctor_arg);
NqstaWifiMac &operator = (const NqstaWifiMac & ctor_arg);
+ Ptr<DcaTxop> DoGetDcaTxop(void) const;
enum {
ASSOCIATED,