src: decouple classes from Nlsr object
refs: #1952, #2803, #3960, #4288
Change-Id: Ibe3ac3820f11e8107ee4b13e510d53c27467a6cb
diff --git a/src/route/routing-table-calculator.hpp b/src/route/routing-table-calculator.hpp
index 0812aad..dd1e658 100644
--- a/src/route/routing-table-calculator.hpp
+++ b/src/route/routing-table-calculator.hpp
@@ -23,6 +23,8 @@
#define NLSR_ROUTING_TABLE_CALCULATOR_HPP
#include "common.hpp"
+#include "lsa.hpp"
+#include "conf-parameter.hpp"
#include <list>
#include <iostream>
@@ -34,7 +36,6 @@
class Map;
class RoutingTable;
-class Nlsr;
class RoutingTableCalculator
{
@@ -56,12 +57,11 @@
initMatrix();
/*! \brief Constructs an adj. matrix to calculate with.
- \param pnlsr The NLSR object that contains the LSAs that we need to iterate
- over.
+ \param adjLsaList The Adjacency Lsa list.
\param pMap The map to populate with the adj. data.
*/
void
- makeAdjMatrix(Nlsr& pnlsr, Map& pMap);
+ makeAdjMatrix(const std::list<AdjLsa>& adjLsaList, Map& pMap);
void
writeAdjMatrixLog(const Map& map) const;
@@ -137,7 +137,8 @@
}
void
- calculatePath(Map& pMap, RoutingTable& rt, Nlsr& pnlsr);
+ calculatePath(Map& pMap, RoutingTable& rt, ConfParameter& confParam,
+ const std::list<AdjLsa>& adjLsaList);
private:
/*! \brief Performs a Dijkstra's calculation over the adjacency matrix.
@@ -168,7 +169,7 @@
isNotExplored(int* Q, int u, int start, int element);
void
- addAllLsNextHopsToRoutingTable(Nlsr& pnlsr, RoutingTable& rt,
+ addAllLsNextHopsToRoutingTable(AdjacencyList& adjacencies, RoutingTable& rt,
Map& pMap, uint32_t sourceRouter);
/*! \brief Determines a destination's next hop.