port to new MacStation API
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 08 Oct 2007 16:04:12 +0200
changeset 1914 f6439ba91df2
parent 1913 4e4ea4809c3d
child 1915 557d47a21dba
port to new MacStation API
src/devices/wifi/cr-mac-stations.cc
src/devices/wifi/cr-mac-stations.h
--- a/src/devices/wifi/cr-mac-stations.cc	Mon Oct 08 15:58:07 2007 +0200
+++ b/src/devices/wifi/cr-mac-stations.cc	Mon Oct 08 16:04:12 2007 +0200
@@ -26,12 +26,18 @@
 
 namespace ns3 {
 
-CrMacStation::CrMacStation (CrMacStations *stations)
-  : m_stations (stations)
+CrMacStation::CrMacStation (WifiMode dataMode, WifiMode ctlMode)
+  : MacStation (ctlMode),
+    m_dataMode (dataMode),
+    m_ctlMode (ctlMode)
 {}
 CrMacStation::~CrMacStation ()
 {}
 
+
+void 
+CrMacStation::ReportRxOk (double rxSnr, WifiMode txMode)
+{}
 void 
 CrMacStation::ReportRtsFailed (void)
 {}
@@ -39,59 +45,36 @@
 CrMacStation::ReportDataFailed (void)
 {}
 void 
-CrMacStation::ReportRxOk (double SNR, uint8_t mode)
+CrMacStation::ReportRtsOk (double ctsSnr, WifiMode ctsMode, double rtsSnr)
 {}
-void CrMacStation::ReportRtsOk (double ctsSNR, uint8_t ctsMode, uint8_t rtsSnr)
-{
-  assert (rtsSnr == 0);
-}
-void CrMacStation::ReportDataOk (double ackSNR, uint8_t ackMode, uint8_t dataSnr)
+void 
+CrMacStation::ReportDataOk (double ackSnr, WifiMode ackMode, double dataSnr)
+{}
+WifiMode 
+CrMacStation::GetDataMode (uint32_t size)
 {
-  assert (dataSnr == 0);
+  return m_dataMode;
 }
-uint8_t
-CrMacStation::GetDataMode (int size)
-{
-  return m_stations->GetDataMode ();
-}
-uint8_t
+WifiMode 
 CrMacStation::GetRtsMode (void)
 {
-  return m_stations->GetCtlMode ();
-}
-uint8_t 
-CrMacStation::SnrToSnr (double snr)
-{
-  return 0;
+  return m_ctlMode;
 }
 
 
 
-
-
-
-CrMacStations::CrMacStations (uint8_t dataMode, uint8_t ctlMode)
-  : MacStations (),
+CrMacStations::CrMacStations (WifiMode dataMode, WifiMode ctlMode)
+  : MacStations (ctlMode),
     m_dataMode (dataMode),
     m_ctlMode (ctlMode)
 {}
 CrMacStations::~CrMacStations ()
 {}
-uint8_t 
-CrMacStations::GetDataMode (void) const
+
+MacStation *
+CrMacStations::CreateStation (WifiMode defaultMode)
 {
-  return m_dataMode;
-}
-uint8_t 
-CrMacStations::GetCtlMode (void) const
-{
-  return m_ctlMode;
+  return new CrMacStation (m_dataMode, m_ctlMode);
 }
 
-MacStation *
-CrMacStations::CreateStation (void)
-{
-  return new CrMacStation (this);
-}
-
-}; // namespace ns3
+} // namespace ns3
--- a/src/devices/wifi/cr-mac-stations.h	Mon Oct 08 15:58:07 2007 +0200
+++ b/src/devices/wifi/cr-mac-stations.h	Mon Oct 08 16:04:12 2007 +0200
@@ -29,39 +29,38 @@
 
 class CrMacStations : public MacStations {
 public:
-  CrMacStations (uint8_t dataMode, uint8_t ctlMode);
+  CrMacStations (WifiMode dataMode, WifiMode ctlMode);
   virtual ~CrMacStations ();
 
   uint8_t GetDataMode (void) const;
   uint8_t GetCtlMode (void) const;
 private:
-  virtual class MacStation *CreateStation (void);
+  virtual class MacStation *CreateStation (WifiMode defaultMode);
 
-  uint8_t m_dataMode;
-  uint8_t m_ctlMode;
+  WifiMode m_dataMode;
+  WifiMode m_ctlMode;
 };
 
 
 class CrMacStation : public MacStation
 {
 public:
-  CrMacStation (CrMacStations *stations);
+  CrMacStation (WifiMode dataMode, WifiMode ctlMode);
   virtual ~CrMacStation ();
 
-  virtual void ReportRxOk (double snr, uint8_t mode);
-
+  virtual void ReportRxOk (double rxSnr, WifiMode txMode);
   virtual void ReportRtsFailed (void);
   virtual void ReportDataFailed (void);
-  virtual void ReportRtsOk (double ctsSnr, uint8_t ctsMode, uint8_t rtsSnr);
-  virtual void ReportDataOk (double ackSnr, uint8_t ackMode, uint8_t dataSnr);
-  virtual uint8_t GetDataMode (int size);
-  virtual uint8_t GetRtsMode (void);
-  virtual uint8_t SnrToSnr (double snr);
+  virtual void ReportRtsOk (double ctsSnr, WifiMode ctsMode, double rtsSnr);
+  virtual void ReportDataOk (double ackSnr, WifiMode ackMode, double dataSnr);
+  virtual WifiMode GetDataMode (uint32_t size);
+  virtual WifiMode GetRtsMode (void);
 private:
-  CrMacStations *m_stations;
+  WifiMode m_dataMode;
+  WifiMode m_ctlMode;
 };
 
-}; // namespace ns3
+} // namespace ns3