src/devices/wifi/wifi-net-device.h
changeset 1964 041240a915f8
parent 1954 d1fde26bcb1c
child 1969 a3803bfd94f9
--- a/src/devices/wifi/wifi-net-device.h	Mon Oct 15 16:17:15 2007 +0200
+++ b/src/devices/wifi/wifi-net-device.h	Mon Oct 15 16:47:53 2007 +0200
@@ -53,26 +53,33 @@
   virtual Mac48Address GetBssid (void) const = 0;
   virtual Ssid GetSsid (void) const = 0;
 
+private:
+  // inherited from parent.
+  virtual bool DoNeedsArp (void) const;
+  virtual Ptr<Channel> DoGetChannel (void) const;
+  virtual bool SendTo (const Packet &packet, const Address &to, uint16_t protocolNumber);
+  // defined for children
+  virtual void NotifyConnected (void) = 0;
+  virtual bool DoSendTo (const Packet &packet, const Mac48Address &to) = 0;
+  // private helper
+  void Construct (void);
 
+  friend class WifiNetDeviceFactory;
+
+  CallbackTraceSource<Packet, Mac48Address> m_rxLogger;
+  CallbackTraceSource<Packet, Mac48Address> m_txLogger;
 protected:
   WifiNetDevice (Ptr<Node> node);
   void DoForwardUp (Packet packet, const Mac48Address &from);
-private:
-  virtual bool SendTo (const Packet &packet, const Address &to, uint16_t protocolNumber);
-  virtual void NotifyConnected (void) = 0;
-  virtual bool DoSendTo (const Packet &packet, const Mac48Address &to) = 0;
-  void Associated (void);
+  DcaTxop *CreateDca (void) const;
 
-  friend class WifiNetDeviceFactory;
-
+  Ptr<WifiChannel> m_channel;
   WifiPhy *m_phy;
   MacStations *m_stations;
   MacLow *m_low;
   MacRxMiddle *m_rxMiddle;
   MacTxMiddle *m_txMiddle;
   MacParameters *m_parameters;
-  CallbackTraceSource<Packet, Mac48Address> m_rxLogger;
-  CallbackTraceSource<Packet, Mac48Address> m_txLogger;
 };
 
 class AdhocWifiNetDevice : public WifiNetDevice {
@@ -85,9 +92,10 @@
   void SetSsid (Ssid ssid);
 
 private:
+  void ForwardUp (void);
   virtual bool DoSendTo (const Packet &packet, Mac48Address const & to);
   virtual void NotifyConnected (void);
-  friend class WifiNetDeviceFactory;
+
   Ssid m_ssid;
   DcaTxop *m_dca;
   MacHighAdhoc *m_high;