Implementing first approximation of FIB

Solving issue with CcnxNameComponents Accessor/Checker/Value
diff --git a/apps/ccnx-interest-sender.cc b/apps/ccnx-interest-sender.cc
index 239d7cb..c3ecc59 100644
--- a/apps/ccnx-interest-sender.cc
+++ b/apps/ccnx-interest-sender.cc
@@ -41,14 +41,10 @@
                    PointerValue (CreateObject<CcnxLocalFace> ()),
                    MakePointerAccessor (&CcnxInterestSender::m_face),
                    MakePointerChecker<CcnxLocalFace> ())
-    /*.AddAttribute ("NameComponents","CcnxName of the Interest (use CcnxNameComponents)",
-                   CcnxNameComponentsValue(CcnxNameComponents()),
-                   MakeCcnxNameComponentsAccessor(&CcnxInterestSender::m_interestName),
-                   MakeCcnxNameComponentsChecker())*/
-    .AddAttribute ("InterestName","CcnxName of the Interest (use CcnxNameComponents)",
-                   PointerValue (CreateObject<CcnxNameComponents> ()),
-                   MakePointerAccessor (&CcnxInterestSender::m_interestName),
-                   MakePointerChecker<CcnxNameComponents> ())
+    .AddAttribute ("NameComponents","CcnxName of the Interest (use CcnxNameComponents)",
+                   CcnxNameComponentsValue (CcnxNameComponents (/* root */)),
+                   MakeCcnxNameComponentsAccessor (&CcnxInterestSender::m_interestName),
+                   MakeCcnxNameComponentsChecker ())
     .AddAttribute ("LifeTime", "LifeTime fo interest packet",
                    TimeValue (Seconds (4.0)),
                    MakeTimeAccessor (&CcnxInterestSender::m_interestLifeTime),
@@ -65,14 +61,10 @@
                    BooleanValue(false),
                    MakeBooleanAccessor(&CcnxInterestSender::m_childSelector),
                    MakeBooleanChecker())
-    /*.AddAttribute ("Exclude","only simple name matching is supported (use CcnxNameComponents)",
-                   CcnxNameComponentsValue(CcnxNameComponents()),
-                   MakeCcnxNameComponentsAccessor(&CcnxInterestSender::m_exclude),
-                   MakeCcnxNameComponentsChecker())*/
-    .AddAttribute ("Exclude", "only simple name matching is supported (use CcnxNameComponents)",
-                   PointerValue (CreateObject<CcnxNameComponents> ()),
-                   MakePointerAccessor (&CcnxInterestSender::m_exclude),
-                   MakePointerChecker<CcnxNameComponents> ())
+    .AddAttribute ("Exclude","only simple name matching is supported (use CcnxNameComponents)",
+                   CcnxNameComponentsValue (CcnxNameComponents(/* root */)),
+                   MakeCcnxNameComponentsAccessor (&CcnxInterestSender::m_exclude),
+                   MakeCcnxNameComponentsChecker ())
     .AddAttribute ("Initial Nonce", "If 0 then nonce is not used",
                    UintegerValue(1),
                    MakeUintegerAccessor(&CcnxInterestSender::m_initialNonce),
@@ -142,17 +134,17 @@
 CcnxInterestSender::SendPacket ()
 {
     NS_LOG_FUNCTION_NOARGS ();
-    NS_LOG_INFO ("Sending Interest at " << Simulator::Now ());
+    // NS_LOG_INFO ("Sending Interest at " << Simulator::Now ());
     
     uint32_t randomNonce = UniformVariable().GetInteger(1, std::numeric_limits<uint32_t>::max ());
     CcnxInterestHeader interestHeader;
     interestHeader.SetNonce(randomNonce);
     //const Ptr<CcnxNameComponents> name = Create<CcnxNameComponents>(m_interestName);
-    interestHeader.SetName(m_interestName);
+    interestHeader.SetName(Create<CcnxNameComponents> (m_interestName)); //making a copy of name
     interestHeader.SetInterestLifetime(m_interestLifeTime);
     interestHeader.SetChildSelector(m_childSelector);
     //const Ptr<CcnxNameComponents> exclude = Create<CcnxNameComponents>(m_exclude);
-    interestHeader.SetExclude(m_exclude);
+    interestHeader.SetExclude(Create<CcnxNameComponents> (m_exclude));
     interestHeader.SetMaxSuffixComponents(m_maxSuffixComponents);
     interestHeader.SetMinSuffixComponents(m_minSuffixComponents);
     
diff --git a/apps/ccnx-interest-sender.h b/apps/ccnx-interest-sender.h
index 865841a..256edd8 100644
--- a/apps/ccnx-interest-sender.h
+++ b/apps/ccnx-interest-sender.h
@@ -59,12 +59,13 @@
         
     //Time m_onTime;
     Time m_offTime;
-    Ptr<CcnxNameComponents> m_interestName;
+    CcnxNameComponents m_interestName;
+  
     Time m_interestLifeTime;
     int32_t m_minSuffixComponents;
     int32_t m_maxSuffixComponents;
     bool m_childSelector;
-    Ptr<CcnxNameComponents> m_exclude;
+    CcnxNameComponents m_exclude;
     uint32_t m_initialNonce;
     
     //EventId         m_startStopEvent;     // Event id for next start or stop event