diff -r 01acc159ffb1 -r 56e477db65b2 src/devices/wifi/propagation-loss-model.h --- a/src/devices/wifi/propagation-loss-model.h Tue Oct 28 11:26:58 2008 +0100 +++ b/src/devices/wifi/propagation-loss-model.h Tue Oct 28 13:17:17 2008 +0100 @@ -38,14 +38,25 @@ public: static TypeId GetTypeId (void); + PropagationLossModel (); virtual ~PropagationLossModel (); + + void SetNext (Ptr next); + /** * \param a the mobility model of the source * \param b the mobility model of the destination * \returns the attenuation coefficient (dB) */ - virtual double GetLoss (Ptr a, - Ptr b) const = 0; + double GetLoss (Ptr a, + Ptr b) const; +private: + PropagationLossModel (const PropagationLossModel &o); + PropagationLossModel &operator = (const PropagationLossModel &o); + virtual double DoGetLoss (Ptr a, + Ptr b) const = 0; + + Ptr m_next; }; /** @@ -59,9 +70,9 @@ RandomPropagationLossModel (); virtual ~RandomPropagationLossModel (); - virtual double GetLoss (Ptr a, +private: + virtual double DoGetLoss (Ptr a, Ptr b) const; -private: RandomVariable m_variable; }; @@ -147,9 +158,9 @@ */ double GetSystemLoss (void) const; - virtual double GetLoss (Ptr a, - Ptr b) const; private: + virtual double DoGetLoss (Ptr a, + Ptr b) const; double DbmToW (double dbm) const; double DbmFromW (double w) const; @@ -200,9 +211,9 @@ void SetReferenceDistance (double referenceDistance); - virtual double GetLoss (Ptr a, - Ptr b) const; private: + virtual double DoGetLoss (Ptr a, + Ptr b) const; static Ptr CreateDefaultReference (void); double m_exponent;