build: == Dependency change == NLSR now depends on ndn-cxx library

Refs: #1535

Change-Id: I4c7c0c3dcfcac6ee91648a46c07e426adbb5bd20
diff --git a/src/adjacency-list.hpp b/src/adjacency-list.hpp
new file mode 100644
index 0000000..45123df
--- /dev/null
+++ b/src/adjacency-list.hpp
@@ -0,0 +1,91 @@
+#ifndef NLSR_ADL_HPP
+#define NLSR_ADL_HPP
+
+#include <ndn-cxx/common.hpp>
+#include <list>
+
+#include "adjacent.hpp"
+
+namespace nlsr {
+class Nlsr;
+
+class AdjacencyList
+{
+
+public:
+  AdjacencyList();
+  ~AdjacencyList();
+
+  int
+  insert(Adjacent& adj);
+
+  int
+  updateAdjacentStatus(const std::string& adjName, int s);
+
+  int
+  updateAdjacentLinkCost(const std::string& adjName, double lc);
+
+  std::list<Adjacent>&
+  getAdjList();
+
+  bool
+  isNeighbor(const std::string& adjName);
+
+  void
+  incrementTimedOutInterestCount(const std::string& neighbor);
+
+  int
+  getTimedOutInterestCount(const std::string& neighbor);
+
+  int
+  getStatusOfNeighbor(const std::string& neighbor);
+
+  void
+  setStatusOfNeighbor(const std::string& neighbor, int status);
+
+  void
+  setTimedOutInterestCount(const std::string& neighbor, int count);
+
+  void
+  addAdjacentsFromAdl(AdjacencyList& adl);
+
+  bool
+  isAdjLsaBuildable(Nlsr& pnlsr);
+
+  int
+  getNumOfActiveNeighbor();
+
+  Adjacent
+  getAdjacent(const std::string& adjName);
+
+  bool
+  isEqual(AdjacencyList& adl);
+
+  int
+  getSize()
+  {
+    return m_adjList.size();
+  }
+
+  void
+  reset()
+  {
+    if (m_adjList.size() > 0)
+    {
+      m_adjList.clear();
+    }
+  }
+
+  void
+  print();
+
+private:
+  std::list<Adjacent>::iterator
+  find(std::string adjName);
+
+private:
+  std::list<Adjacent> m_adjList;
+};
+
+} //namespace nlsr
+#endif //NLSR_ADL_HPP