model+helper: Converting L3Protocol and StackHelper to use NFD codebase
diff --git a/helper/ndn-stack-helper.hpp b/helper/ndn-stack-helper.hpp
index b6b4266..2f3ea3b 100644
--- a/helper/ndn-stack-helper.hpp
+++ b/helper/ndn-stack-helper.hpp
@@ -24,10 +24,12 @@
 
 #include "ns3/ndnSIM/model/ndn-common.hpp"
 
-#include "ns3/packet.h"
 #include "ns3/ptr.h"
 #include "ns3/object-factory.h"
-#include "ns3/nstime.h"
+#include "ns3/node.h"
+#include "ns3/node-container.h"
+
+#include "ndn-face-container.hpp"
 
 namespace ns3 {
 
@@ -35,8 +37,6 @@
 
 namespace ndn {
 
-class FaceContainer;
-class Face;
 class NetDeviceFace;
 class L3Protocol;
 
@@ -82,52 +82,6 @@
                      const std::string& attr3 = "", const std::string& value3 = "",
                      const std::string& attr4 = "", const std::string& value4 = "");
 
-  /**
-   * @brief Set forwarding strategy class and its attributes
-   * @param forwardingStrategyClass string containing name of the forwarding strategy class
-   *
-   * Valid options are "ns3::NdnFloodingStrategy" (default) and "ns3::NdnBestRouteStrategy"
-   *
-   * Other strategies can be implemented, inheriting ns3::NdnForwardingStrategy class
-   */
-  void
-  SetForwardingStrategy(const std::string& forwardingStrategyClass, const std::string& attr1 = "",
-                        const std::string& value1 = "", const std::string& attr2 = "",
-                        const std::string& value2 = "", const std::string& attr3 = "",
-                        const std::string& value3 = "", const std::string& attr4 = "",
-                        const std::string& value4 = "");
-
-  /**
-   * @brief Set content store class and its attributes
-   * @param contentStoreClass string, representing class of the content store
-   */
-  void
-  SetContentStore(const std::string& contentStoreClass, const std::string& attr1 = "",
-                  const std::string& value1 = "", const std::string& attr2 = "",
-                  const std::string& value2 = "", const std::string& attr3 = "",
-                  const std::string& value3 = "", const std::string& attr4 = "",
-                  const std::string& value4 = "");
-
-  /**
-   * @brief Set PIT class and its attributes
-   * @param pitClass string, representing class of PIT
-   */
-  void
-  SetPit(const std::string& pitClass, const std::string& attr1 = "", const std::string& value1 = "",
-         const std::string& attr2 = "", const std::string& value2 = "",
-         const std::string& attr3 = "", const std::string& value3 = "",
-         const std::string& attr4 = "", const std::string& value4 = "");
-
-  /**
-   * @brief Set FIB class and its attributes
-   * @param pitClass string, representing class of FIB
-   */
-  void
-  SetFib(const std::string& fibClass, const std::string& attr1 = "", const std::string& value1 = "",
-         const std::string& attr2 = "", const std::string& value2 = "",
-         const std::string& attr3 = "", const std::string& value3 = "",
-         const std::string& attr4 = "", const std::string& value4 = "");
-
   typedef Callback<shared_ptr<NetDeviceFace>, Ptr<Node>, Ptr<L3Protocol>, Ptr<NetDevice>>
     NetDeviceFaceCreateCallback;
 
@@ -137,10 +91,6 @@
    *
    * It is possible to set up several callbacks for different NetDevice types.
    *
-   * Currently, there is only one specialized callback for PointToPointNetDevice, which creates face
-   *and sets limits (if enabled)
-   * based on PointToPoint link parameters
-   *
    * If none of the callbacks fit the TypeId of NetDevice, a default callback is used
    *(DefaultNetDeviceCallback)
    */
@@ -166,28 +116,16 @@
   RemoveNetDeviceFaceCreateCallback(TypeId netDeviceType, NetDeviceFaceCreateCallback callback);
 
   /**
-   * @brief Enable Interest limits (disabled by default)
-   *
-   * @param enable           Enable or disable limits
-   * @param avgRtt           Average RTT
-   * @param avgData Average size of contentObject packets (including all headers)
-   * @param avgInterest      Average size of interest packets (including all headers)
-   */
-  void
-  EnableLimits(bool enable = true, Time avgRtt = Seconds(0.1), uint32_t avgData = 1100,
-               uint32_t avgInterest = 40);
-
-  /**
-   * \brief Install Ndn stack on the node
-   *
-   * This method will assert if called on a node that already has Ndn object
-   * installed on it
-   *
-   * \param nodeName The name of the node on which to install the stack.
-   *
-   * \returns list of installed faces in the form of a smart pointer
-   * to NdnFaceContainer object
-   */
+  * \brief Install Ndn stack on the node
+  *
+  * This method will assert if called on a node that already has Ndn object
+  * installed on it
+  *
+  * \param nodeName The name of the node on which to install the stack.
+  *
+  * \returns list of installed faces in the form of a smart pointer
+  * to NdnFaceContainer object
+  */
   Ptr<FaceContainer>
   Install(const std::string& nodeName) const;
 
@@ -229,69 +167,6 @@
   Ptr<FaceContainer>
   InstallAll() const;
 
-  /**
-   * \brief Add forwarding entry to FIB
-   *
-   * \param nodeName Node name
-   * \param prefix Routing prefix
-   * \param faceId Face index
-   * \param metric Routing metric
-   */
-  static void
-  AddRoute(const std::string& nodeName, const std::string& prefix, uint32_t faceId, int32_t metric);
-
-  /**
-   * \brief Add forwarding entry to FIB
-   *
-   * \param nodeName Node
-   * \param prefix Routing prefix
-   * \param faceId Face index
-   * \param metric Routing metric
-   */
-  static void
-  AddRoute(Ptr<Node> node, const std::string& prefix, uint32_t faceId, int32_t metric);
-
-  /**
-   * \brief Add forwarding entry to FIB
-   *
-   * \param node   Node
-   * \param prefix Routing prefix
-   * \param face   Face
-   * \param metric Routing metric
-   */
-  static void
-  AddRoute(Ptr<Node> node, const std::string& prefix, shared_ptr<Face> face, int32_t metric);
-
-  /**
-   * @brief Add forwarding entry to FIB (work only with point-to-point links)
-   *
-   * \param node Node
-   * \param prefix Routing prefix
-   * \param otherNode The other node, to which interests (will be used to infer face id
-   * \param metric Routing metric
-   */
-  static void
-  AddRoute(Ptr<Node> node, const std::string& prefix, Ptr<Node> otherNode, int32_t metric);
-
-  /**
-   * @brief Add forwarding entry to FIB (work only with point-to-point links)
-   *
-   * \param nodeName Node name (refer to ns3::Names)
-   * \param prefix Routing prefix
-   * \param otherNode The other node name, to which interests (will be used to infer face id (refer
-   *to ns3::Names)
-   * \param metric Routing metric
-   */
-  static void
-  AddRoute(const std::string& nodeName, const std::string& prefix, const std::string& otherNodeName,
-           int32_t metric);
-
-  /**
-   * \brief Set flag indicating necessity to install default routes in FIB
-   */
-  void
-  SetDefaultRoutes(bool needSet);
-
   static KeyChain&
   getKeyChain();
 
@@ -314,15 +189,8 @@
 
 private:
   ObjectFactory m_ndnFactory;
-  ObjectFactory m_strategyFactory;
   ObjectFactory m_contentStoreFactory;
-  ObjectFactory m_pitFactory;
-  ObjectFactory m_fibFactory;
 
-  bool m_limitsEnabled;
-  Time m_avgRtt;
-  uint32_t m_avgDataSize;
-  uint32_t m_avgInterestSize;
   bool m_needSetDefaultRoutes;
 
   typedef std::list<std::pair<TypeId, NetDeviceFaceCreateCallback>> NetDeviceCallbackList;