interest: encode and decode ForwardingHint field

refs #4055

Change-Id: I1e62b160af9fa0e1a94b996cbcf2e9f5c387cb97
diff --git a/src/interest.hpp b/src/interest.hpp
index 1ec414b..f772def 100644
--- a/src/interest.hpp
+++ b/src/interest.hpp
@@ -22,6 +22,7 @@
 #ifndef NDN_INTEREST_HPP
 #define NDN_INTEREST_HPP
 
+#include "delegation-list.hpp"
 #include "link.hpp"
 #include "name.hpp"
 #include "selectors.hpp"
@@ -195,6 +196,15 @@
   Interest&
   setInterestLifetime(time::milliseconds interestLifetime);
 
+  const DelegationList&
+  getForwardingHint() const
+  {
+    return m_forwardingHint;
+  }
+
+  Interest&
+  setForwardingHint(const DelegationList& value);
+
 public: // Selectors
   /**
    * @return true if Interest has any selector present
@@ -379,6 +389,7 @@
   Selectors m_selectors;
   mutable Block m_nonce;
   time::milliseconds m_interestLifetime;
+  DelegationList m_forwardingHint;
 
   mutable Block m_link;
   mutable shared_ptr<Link> m_linkCached;