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

Refs: #1535

Change-Id: I4c7c0c3dcfcac6ee91648a46c07e426adbb5bd20
diff --git a/src/route/name-prefix-table-entry.hpp b/src/route/name-prefix-table-entry.hpp
new file mode 100644
index 0000000..7f4f83a
--- /dev/null
+++ b/src/route/name-prefix-table-entry.hpp
@@ -0,0 +1,84 @@
+#ifndef NLSR_NPTE_HPP
+#define NLSR_NPTE_HPP
+
+#include <list>
+#include <utility>
+#include "routing-table-entry.hpp"
+
+namespace nlsr {
+
+using namespace std;
+
+class NamePrefixTableEntry
+{
+public:
+  NamePrefixTableEntry()
+    : m_namePrefix()
+    , m_nhl()
+  {
+  }
+
+  NamePrefixTableEntry(string np)
+    : m_nhl()
+  {
+    m_namePrefix = np;
+  }
+
+  std::string
+  getNamePrefix()
+  {
+    return m_namePrefix;
+  }
+
+  std::list<RoutingTableEntry>&
+  getRteList()
+  {
+    return m_rteList;
+  }
+
+  void
+  resetRteListNextHop()
+  {
+    if (m_rteList.size() > 0)
+    {
+      for (std::list<RoutingTableEntry>::iterator it = m_rteList.begin();
+           it != m_rteList.end(); ++it)
+      {
+        (*it).getNhl().reset();
+      }
+    }
+  }
+
+  int
+  getRteListSize()
+  {
+    return m_rteList.size();
+  }
+
+  NexthopList&
+  getNhl()
+  {
+    return m_nhl;
+  }
+
+  void
+  generateNhlfromRteList();
+
+  void
+  removeRoutingTableEntry(RoutingTableEntry& rte);
+
+  void
+  addRoutingTableEntry(RoutingTableEntry& rte);
+
+private:
+  std::string m_namePrefix;
+  std::list<RoutingTableEntry> m_rteList;
+  NexthopList m_nhl;
+};
+
+std::ostream&
+operator<<(std::ostream& os, NamePrefixTableEntry& npte);
+
+}//namespace nlsr
+
+#endif //NLSR_NPTE_HPP