First commit:CPP
diff --git a/nlsr.hpp b/nlsr.hpp
new file mode 100644
index 0000000..c9f1032
--- /dev/null
+++ b/nlsr.hpp
@@ -0,0 +1,81 @@
+#ifndef NLSR_HPP
+#define NLSR_HPP
+
+#include <ndn-cpp-dev/face.hpp>
+#include <ndn-cpp-dev/security/key-chain.hpp>
+#include <ndn-cpp-dev/util/scheduler.hpp>
+
+#include "conf_param.hpp"
+#include "adl.hpp"
+#include "npl.hpp"
+
+
+using namespace ndn;
+using namespace std;
+
+class nlsr
+{
+ public:
+ nlsr()
+ : io(ndn::make_shared<boost::asio::io_service>())
+ , nlsrFace(io)
+ , scheduler(*io)
+ , configFileName()
+ , confParam()
+ , adl()
+ , npl()
+ {
+ isDaemonProcess=false;
+ configFileName="nlsr.conf";
+ }
+
+ void processInterest(const ptr_lib::shared_ptr<const Name> &name,
+ const ptr_lib::shared_ptr<const Interest> &interest);
+ void processContent(const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest,
+ const ndn::ptr_lib::shared_ptr<ndn::Data> &data);
+ void nlsrRegistrationFailed(const ptr_lib::shared_ptr<const Name>&);
+ void processInterestTimedOut(const ndn::ptr_lib::shared_ptr<const ndn::Interest> &interest);
+
+ void setInterestFilterNlsr(const string& name);
+
+ void expressInterest(const string& interestNamePrefix, int scope, int seconds);
+
+ //void scheduleSomeInterest(const string& interestName);
+
+ void sendScheduledInfoInterest(int seconds);
+ void scheduleInfoInterest(int seconds);
+
+ void startEventLoop();
+
+ int usage(const string& progname);
+
+ string getConfFileName(){
+ return configFileName;
+ }
+
+ void setConfFileName(const string& fileName){
+ configFileName=fileName;
+ }
+
+ bool isSetDaemonProcess(){
+ return isDaemonProcess;
+ }
+
+ void setIsDaemonProcess(bool value){
+ isDaemonProcess=value;
+ }
+
+ ConfParameter confParam;
+ Adl adl;
+ Npl npl;
+ private:
+ ndn::shared_ptr<boost::asio::io_service> io;
+ ndn::Scheduler scheduler;
+ ndn::Face nlsrFace;
+ ndn::KeyChain kChain;
+ bool isDaemonProcess;
+ string configFileName;
+
+};
+
+#endif