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.