Adding waf script for building
diff --git a/src/nlsr_lsdb.hpp b/src/nlsr_lsdb.hpp
new file mode 100644
index 0000000..62c91ee
--- /dev/null
+++ b/src/nlsr_lsdb.hpp
@@ -0,0 +1,76 @@
+#ifndef NLSR_LSDB_HPP
+#define NLSR_LSDB_HPP
+
+#include <utility>
+#include "nlsr_lsa.hpp"
+
+using namespace std;
+
+class nlsr;
+
+class Lsdb{
+public:
+	Lsdb()
+		: lsaRefreshTime(0)
+	{
+	}
+
+	
+	bool doesLsaExist(string key, int lsType);
+	// function related to Name LSDB 
+	bool buildAndInstallOwnNameLsa(nlsr& pnlsr);
+	std::pair<NameLsa&, bool>  getNameLsa(string key);
+	bool installNameLsa(nlsr& pnlsr, NameLsa &nlsa);
+	bool removeNameLsa(nlsr& pnlsr, string& key);
+	void printNameLsdb(); //debugging
+
+	//function related to Cor LSDB
+	bool buildAndInstallOwnCorLsa(nlsr& pnlsr);
+	std::pair<CorLsa&, bool> getCorLsa(string key);
+	bool installCorLsa(nlsr& pnlsr, CorLsa &clsa);
+	bool removeCorLsa(nlsr& pnlsr, string& key);
+	void printCorLsdb(); //debugging
+
+	//function related to Adj LSDB
+	void scheduledAdjLsaBuild(nlsr& pnlsr);
+	bool buildAndInstallOwnAdjLsa(nlsr& pnlsr);
+	bool removeAdjLsa(nlsr& pnlsr, string& key);
+	bool installAdjLsa(nlsr& pnlsr, AdjLsa &alsa);
+	std::pair<AdjLsa& , bool> getAdjLsa(string key);
+	std::list<AdjLsa>& getAdjLsdb();
+	void printAdjLsdb();
+
+	//void scheduleRefreshLsdb(nlsr& pnlsr, int interval);
+	void setLsaRefreshTime(int lrt);
+	void setThisRouterPrefix(string trp);
+	
+private:
+	bool addNameLsa(NameLsa &nlsa);
+	bool doesNameLsaExist(string key);
+	
+	
+	bool addCorLsa(CorLsa& clsa);
+	bool doesCorLsaExist(string key);
+
+	bool addAdjLsa(AdjLsa &alsa);
+	bool doesAdjLsaExist(string key);
+  
+	void scheduleNameLsaExpiration(nlsr& pnlsr, string key, int seqNo, int expTime);
+	void exprireOrRefreshNameLsa(nlsr& pnlsr, string lsaKey, int seqNo);
+	void scheduleAdjLsaExpiration(nlsr& pnlsr, string key, int seqNo, int expTime);
+	void exprireOrRefreshAdjLsa(nlsr& pnlsr, string lsaKey, int seqNo);
+	void scheduleCorLsaExpiration(nlsr& pnlsr, string key, int seqNo, int expTime);
+	void exprireOrRefreshCorLsa(nlsr& pnlsr, string lsaKey, int seqNo);
+	
+
+private:
+	std::list<NameLsa> nameLsdb;
+	std::list<AdjLsa> adjLsdb;
+	std::list<CorLsa> corLsdb;
+
+	int lsaRefreshTime;
+	string thisRouterPrefix;
+
+};
+
+#endif