From 19ebf81e3d32dbdda4ef06406c28566c6d771f9d Mon Sep 17 00:00:00 2001 From: Alexander Afanasyev Date: Mon, 12 Dec 2011 18:01:12 -0800 Subject: topology-read: Several extensions of TopologyReader diff --git a/src/topology-read/model/topology-reader.cc b/src/topology-read/model/topology-reader.cc index b531a6d..82a8343 100644 --- a/src/topology-read/model/topology-reader.cc +++ b/src/topology-read/model/topology-reader.cc @@ -106,12 +106,23 @@ TopologyReader::Link::Link () { } +void +TopologyReader::Link::SetNetDevices (Ptr from, Ptr to) +{ + m_fromNetDevice = from; + m_toNetDevice = to; +} Ptr TopologyReader::Link::GetFromNode (void) const { return m_fromPtr; } +Ptr TopologyReader::Link::GetFromNetDevice (void) const +{ + return m_fromNetDevice; +} + std::string TopologyReader::Link::GetFromNodeName (void) const { @@ -124,6 +135,12 @@ TopologyReader::Link::GetToNode (void) const return m_toPtr; } +Ptr +TopologyReader::Link::GetToNetDevice (void) const +{ + return m_toNetDevice; +} + std::string TopologyReader::Link::GetToNodeName (void) const { diff --git a/src/topology-read/model/topology-reader.h b/src/topology-read/model/topology-reader.h index 865b7d3..48c0c1d 100644 --- a/src/topology-read/model/topology-reader.h +++ b/src/topology-read/model/topology-reader.h @@ -32,6 +32,8 @@ namespace ns3 { +class NetDevice; + /** * \ingroup topology * @@ -53,7 +55,7 @@ public: */ class Link { -public: + public: /** * \brief Constant iterator to scan the map of link attributes. */ @@ -66,14 +68,27 @@ public: * \param toPtr Ptr to the node the link is directed to * \param toName name of the node the link is directed to */ - Link ( Ptr fromPtr, const std::string &fromName, Ptr toPtr, const std::string &toName ); + Link (Ptr fromPtr, const std::string &fromName, Ptr toPtr, const std::string &toName); /** + * \brief Set netdevices associated with the link + * \param from NetDevice associated with From node + * \param to NetDevice associated with To node + */ + void + SetNetDevices (Ptr from, Ptr to); + + /** * \brief Returns a Ptr to the "from" node of the link * \return a Ptr to the "from" node of the link */ Ptr GetFromNode (void) const; /** + * \brief Returns a Ptr of the "from" node of the link + * \return a Ptr of the "from" node of the link + */ + Ptr GetFromNetDevice (void) const; + /** * \brief Returns the name of the "from" node of the link * \return the name of the "from" node of the link */ @@ -84,6 +99,11 @@ public: */ Ptr GetToNode (void) const; /** + * \brief Returns a Ptr of the "to" node of the link + * \return a Ptr of the "to" node of the link + */ + Ptr GetToNetDevice (void) const; + /** * \brief Returns the name of the "to" node of the link * \return the name of the "to" node of the link */ @@ -127,7 +147,9 @@ private: Ptr< Node > m_fromPtr; std::string m_toName; Ptr< Node > m_toPtr; - std::map m_linkAttr; + Ptr< NetDevice > m_fromNetDevice; + Ptr< NetDevice > m_toNetDevice; + std::map m_linkAttr; }; /** @@ -195,13 +217,14 @@ private: */ void AddLink (Link link); +protected: + std::string m_fileName; + std::list m_linksList; + private: TopologyReader (const TopologyReader&); TopologyReader& operator= (const TopologyReader&); - std::string m_fileName; - std::list m_linksList; - // end class TopologyReader }; -- 1.7.9.5