NFD: Extend forwarding pipelines with beforeSatisfyInterest and beforeExpirePendingInterest signals

Change-Id: I7d8266c3c53b0b6ef791b90c9c93de216b459ad2
Refs: #2361, #2362
diff --git a/NFD/daemon/fw/forwarder.hpp b/NFD/daemon/fw/forwarder.hpp
index 627148e..574688f 100644
--- a/NFD/daemon/fw/forwarder.hpp
+++ b/NFD/daemon/fw/forwarder.hpp
@@ -45,6 +45,8 @@
 class Strategy;
 } // namespace fw
 
+class NullFace;
+
 /** \brief main class of NFD
  *
  *  Forwarder owns all faces and tables, and implements forwarding pipelines.
@@ -110,6 +112,17 @@
   void
   setCsFromNdnSim(ns3::Ptr<ns3::ndn::ContentStore> cs);
 
+public:
+  /** \brief trigger before PIT entry is satisfied
+   *  \sa Strategy::beforeSatisfyInterest
+   */
+  signal::Signal<Forwarder, pit::Entry, Face, Data> beforeSatisfyInterest;
+
+  /** \brief trigger before PIT entry expires
+   *  \sa Strategy::beforeExpirePendingInterest
+   */
+  signal::Signal<Forwarder, pit::Entry> beforeExpirePendingInterest;
+
 PUBLIC_WITH_TESTS_ELSE_PRIVATE: // pipelines
   /** \brief incoming Interest pipeline
    */
@@ -204,6 +217,7 @@
   Measurements   m_measurements;
   StrategyChoice m_strategyChoice;
   DeadNonceList  m_deadNonceList;
+  shared_ptr<NullFace> m_csFace;
 
   ns3::Ptr<ns3::ndn::ContentStore> m_csFromNdnSim;