Making everything compile. Now everything seems to work, but more
checking is necessary
diff --git a/model/ccnx-local-face.cc b/model/ccnx-local-face.cc
index 4a7c777..0f8ef27 100644
--- a/model/ccnx-local-face.cc
+++ b/model/ccnx-local-face.cc
@@ -28,6 +28,8 @@
 #include "ns3/assert.h"
 
 #include "ns3/ccnx-header-helper.h"
+#include "ns3/ccnx-app.h"
+
 #include "ccnx-interest-header.h"
 #include "ccnx-content-object-header.h"
 
@@ -37,12 +39,12 @@
 {
 
 CcnxLocalFace::CcnxLocalFace (Ptr<CcnxApp> app)
-  : CcnxFace (app->GetObject<Node> ())
+  : CcnxFace (app->GetNode ())
   , m_app (app)
 {
   NS_LOG_FUNCTION (this << app);
   
-  NS_ASSERT (app != 0);
+  NS_ASSERT (m_app != 0);
 }
 
 CcnxLocalFace::~CcnxLocalFace ()
@@ -53,11 +55,11 @@
 void
 CcnxLocalFace::RegisterProtocolHandler (ProtocolHandler handler)
 {
-  NS_LOG_FUNCTION (this << handler);
+  NS_LOG_FUNCTION (this);
 
   CcnxFace::RegisterProtocolHandler (handler);
 
-  app->RegisterProtocolHandler (MakeCallback (&CcnxFace::Receive, this));
+  m_app->RegisterProtocolHandler (MakeCallback (&CcnxFace::Receive, this));
 }
     
 void
@@ -71,23 +73,27 @@
       switch (type)
         {
         case CcnxHeaderHelper::INTEREST:
-          if (!m_onInterest.IsNull ())
-            {
-              Ptr<CcnxInterestHeader> header = Create<CcnxInterestHeader> ();
-              p->RemoveHeader (*header);
-              app->OnInterest (header);
-            }
-          break;
+          {
+            Ptr<CcnxInterestHeader> header = Create<CcnxInterestHeader> ();
+            p->RemoveHeader (*header);
+
+            if (header->GetNack () > 0)
+              m_app->OnNack (header);
+            else
+              m_app->OnInterest (header);
+          
+            break;
+          }
         case CcnxHeaderHelper::CONTENT_OBJECT:
-          if (!m_onContentObject.IsNull ())
-            {
-              static CcnxContentObjectTail tail;
-              Ptr<CcnxContentObjectHeader> header = Create<CcnxContentObjectHeader> ();
-              p->RemoveHeader (*header);
-              p->RemoveTrailer (tail);
-              app->OnContentObject (header, p/*payload*/);
-            }
-          break;
+          {
+            static CcnxContentObjectTail tail;
+            Ptr<CcnxContentObjectHeader> header = Create<CcnxContentObjectHeader> ();
+            p->RemoveHeader (*header);
+            p->RemoveTrailer (tail);
+            m_app->OnContentObject (header, p/*payload*/);
+          
+            break;
+          }
         }
     }
   catch (CcnxUnknownHeaderException)