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