model+utils: Enable SatisfiedInterests and TimedOutInterests trace sources in L3Protocol

This commit also fixes L3Tracers to re-enable use of SatisfiedInterests and
TimedOutInterests traces

Change-Id: Ib657a3fdba941d022a33d789e4d10c3547d232ff
Refs: #2349
diff --git a/model/ndn-l3-protocol.cpp b/model/ndn-l3-protocol.cpp
index 39ce2ca..dd9f4dc 100644
--- a/model/ndn-l3-protocol.cpp
+++ b/model/ndn-l3-protocol.cpp
@@ -77,7 +77,15 @@
       ////////////////////////////////////////////////////////////////////
 
       .AddTraceSource("OutData", "OutData", MakeTraceSourceAccessor(&L3Protocol::m_outData))
-      .AddTraceSource("InData", "InData", MakeTraceSourceAccessor(&L3Protocol::m_inData));
+      .AddTraceSource("InData", "InData", MakeTraceSourceAccessor(&L3Protocol::m_inData))
+
+      ////////////////////////////////////////////////////////////////////
+
+      .AddTraceSource("SatisfiedInterests", "SatisfiedInterests",
+                      MakeTraceSourceAccessor(&L3Protocol::m_satisfiedInterests))
+      .AddTraceSource("TimedOutInterests", "TimedOutInterests",
+                      MakeTraceSourceAccessor(&L3Protocol::m_timedOutInterests))
+    ;
   return tid;
 }
 
@@ -172,9 +180,9 @@
   initializeManagement();
 
   m_impl->m_forwarder->getFaceTable().addReserved(make_shared<nfd::NullFace>(), nfd::FACEID_NULL);
-  m_impl->m_forwarder->getFaceTable().addReserved(make_shared<nfd::NullFace>(
-                                                    FaceUri("contentstore://")),
-                                                  nfd::FACEID_CONTENT_STORE);
+
+  m_impl->m_forwarder->beforeSatisfyInterest.connect(std::ref(m_satisfiedInterests));
+  m_impl->m_forwarder->beforeExpirePendingInterest.connect(std::ref(m_timedOutInterests));
 }
 
 class IgnoreSections
diff --git a/model/ndn-l3-protocol.hpp b/model/ndn-l3-protocol.hpp
index 79583c1..ffd3bc2 100644
--- a/model/ndn-l3-protocol.hpp
+++ b/model/ndn-l3-protocol.hpp
@@ -38,6 +38,9 @@
 class FibManager;
 class StrategyChoiceManager;
 typedef boost::property_tree::ptree ConfigSection;
+namespace pit {
+class Entry;
+} // namespace pit
 } // namespace nfd
 
 namespace ns3 {
@@ -186,6 +189,9 @@
 
   TracedCallback<const Data&, const Face&> m_outData; ///< @brief trace of outgoing Data
   TracedCallback<const Data&, const Face&> m_inData;  ///< @brief trace of incoming Data
+
+  TracedCallback<const nfd::pit::Entry&, const Face&/*in face*/, const Data&> m_satisfiedInterests;
+  TracedCallback<const nfd::pit::Entry&> m_timedOutInterests;
 };
 
 } // namespace ndn