Adding LSAs
diff --git a/nlsr_lsa.hpp b/nlsr_lsa.hpp
new file mode 100644
index 0000000..4c252e6
--- /dev/null
+++ b/nlsr_lsa.hpp
@@ -0,0 +1,121 @@
+#ifndef NLSR_LSA_HPP
+#define NLSR_LSA_HPP
+
+#include "nlsr_adjacent.hpp"
+#include "nlsr_npl.hpp"
+#include "nlsr_adl.hpp"
+
+using namespace std;
+
+class Lsa{
+public:
+	Lsa()
+		: origRouter()
+		, lsSeqNo()
+		, lifeTime()
+	{
+	}	
+
+
+	void setLsType(uint8_t lst)
+	{
+		lsType=lst;
+	}
+
+	uint8_t getLsType()
+	{
+		return lsType;
+	}
+
+	void setLsSeqNo(uint32_t lsn)
+	{
+		lsSeqNo=lsn;
+	}
+
+	uint32_t getLsSeqNo()
+	{
+		return lsSeqNo;
+	}
+
+	string& getOrigRouter()
+	{
+		return origRouter;
+	}
+
+	void setOrigRouter(string& org)
+	{
+		origRouter=org;
+	}
+
+	uint32_t getLifeTime()
+	{
+		return lifeTime;
+	}
+
+	void setLifeTime(uint32_t lt)
+	{
+		lifeTime=lt;
+	}
+	string getLsaKey();
+protected:
+	string origRouter;
+	uint8_t lsType;
+	uint32_t lsSeqNo;
+	uint32_t lifeTime;
+};
+
+class NameLsa:Lsa{
+public:
+	NameLsa()
+		: Lsa()
+		, npl()
+	{
+		setLsType(1);
+	}
+
+
+	Npl& getNpl(){
+		return npl;
+	}
+
+	void addNameToLsa(string& name)
+	{
+		npl.insertIntoNpl(name);
+	}
+
+	string getNameLsaData();
+	
+private:
+	Npl npl;
+	
+};
+
+class AdjLsa:Lsa{
+public:
+	AdjLsa()
+		: Lsa()
+		, adl()
+	{
+	}
+
+private:
+	uint32_t noLink;
+	Adl adl;
+};
+
+class CorLsa:Lsa{
+public:
+	CorLsa()
+		:Lsa()
+	{
+	}
+private:
+	double corRad;
+	double corTheta;
+
+};
+
+
+
+
+#endif