NFD: Keep both the CS of NFD and ndnSIM

Ref: #2231
diff --git a/helper/ndn-stack-helper.hpp b/helper/ndn-stack-helper.hpp
index 77d3b5c..1ba66d8 100644
--- a/helper/ndn-stack-helper.hpp
+++ b/helper/ndn-stack-helper.hpp
@@ -84,6 +84,31 @@
                      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 to use native NFD's content store or ndnSIM provided CS implementations
+   *
+   * @note ndnSIM CS implementations have limited support for NDN selectors
+   */
+  void
+  SetContentStoreChoice(const bool shouldUseNfdCs);
+
+  /**
+   * @brief Check if stack is using native NFD content store implementation
+   */
+  bool
+  shouldUseNfdCs() const;
+
   typedef Callback<shared_ptr<NetDeviceFace>, Ptr<Node>, Ptr<L3Protocol>, Ptr<NetDevice>>
     NetDeviceFaceCreateCallback;
 
@@ -200,6 +225,7 @@
   ObjectFactory m_contentStoreFactory;
 
   bool m_needSetDefaultRoutes;
+  bool m_shouldUseNfdCs;
 
   typedef std::list<std::pair<TypeId, NetDeviceFaceCreateCallback>> NetDeviceCallbackList;
   NetDeviceCallbackList m_netDeviceCallbacks;