Major update to rename NDN class to Face
diff --git a/ndn-cpp/Closure.hpp b/ndn-cpp/Closure.hpp
index c017a81..77d212a 100644
--- a/ndn-cpp/Closure.hpp
+++ b/ndn-cpp/Closure.hpp
@@ -33,27 +33,27 @@
   UPCALL_DATA_BAD           = 6  // verification failed  
 };
 
-class NDN;
+class Face;
 class Interest;
 class Data;
 
 class UpcallInfo {
 public:
-  UpcallInfo(NDN *ndn, ptr_lib::shared_ptr<Interest> &interest, int matchedComps, ptr_lib::shared_ptr<Data> &data) 
+  UpcallInfo(Face *ndn, ptr_lib::shared_ptr<Interest> &interest, int matchedComps, ptr_lib::shared_ptr<Data> &data) 
   {
     ndn_ = ndn;
     interest_ = interest;
     data_ = data;
   }
   
-  NDN *getNDN() { return ndn_; }
+  Face *getNDN() { return ndn_; }
   
   ptr_lib::shared_ptr<Interest> &getInterest() { return interest_; }
   
   ptr_lib::shared_ptr<Data> &getData() { return data_; }
   
 private:
-  NDN *ndn_;
+  Face *ndn_;
   ptr_lib::shared_ptr<Interest> interest_;
   ptr_lib::shared_ptr<Data> data_;
 };
diff --git a/ndn-cpp/NDN.cpp b/ndn-cpp/face.cpp
similarity index 79%
rename from ndn-cpp/NDN.cpp
rename to ndn-cpp/face.cpp
index 206af43..f2212ea 100644
--- a/ndn-cpp/NDN.cpp
+++ b/ndn-cpp/face.cpp
@@ -6,14 +6,14 @@
 #include "encoding/BinaryXMLDecoder.hpp"
 #include "c/encoding/BinaryXML.h"
 #include "data.hpp"
-#include "NDN.hpp"
+#include "face.hpp"
 
 using namespace std;
 using namespace ndn::ptr_lib;
 
 namespace ndn {
 
-void NDN::expressInterest(const Name &name, const shared_ptr<Closure> &closure, const Interest *interestTemplate)
+void Face::expressInterest(const Name &name, const shared_ptr<Closure> &closure, const Interest *interestTemplate)
 {
   Interest interest(name);
   shared_ptr<vector<unsigned char> > encoding = interest.encode();  
@@ -25,7 +25,7 @@
   transport_->send(*encoding);
 }
     
-void NDN::onReceivedElement(unsigned char *element, unsigned int elementLength)
+void Face::onReceivedElement(unsigned char *element, unsigned int elementLength)
 {
   BinaryXmlDecoder decoder(element, elementLength);
   
diff --git a/ndn-cpp/NDN.hpp b/ndn-cpp/face.hpp
similarity index 88%
rename from ndn-cpp/NDN.hpp
rename to ndn-cpp/face.hpp
index 106431a..ed30050 100644
--- a/ndn-cpp/NDN.hpp
+++ b/ndn-cpp/face.hpp
@@ -3,8 +3,8 @@
  * See COPYING for copyright and distribution information.
  */
 
-#ifndef NDN_NDN_HPP
-#define	NDN_NDN_HPP
+#ifndef NDN_FACE_HPP
+#define	NDN_FACE_HPP
 
 #include "Closure.hpp"
 #include "Interest.hpp"
@@ -15,19 +15,19 @@
 
 namespace ndn {
 
-class NDN : public ElementListener {
+class Face : public ElementListener {
 public:
-  NDN(const char *host, unsigned short port, const ptr_lib::shared_ptr<Transport> &transport)
+  Face(const char *host, unsigned short port, const ptr_lib::shared_ptr<Transport> &transport)
   : host_(host), port_(port), transport_(transport)
   {
   }
   
-  NDN(const char *host, unsigned short port)
+  Face(const char *host, unsigned short port)
   : host_(host), port_(port), transport_(new UdpTransport())
   {
   }
   
-  NDN(const char *host)
+  Face(const char *host)
   : host_(host), port_(9695), transport_(new UdpTransport())
   {
   }
diff --git a/ndn-cpp/transport/TcpTransport.cpp b/ndn-cpp/transport/TcpTransport.cpp
index 1f217f0..a6a6663 100644
--- a/ndn-cpp/transport/TcpTransport.cpp
+++ b/ndn-cpp/transport/TcpTransport.cpp
@@ -4,7 +4,7 @@
  */
 
 #include <stdexcept>
-#include "../NDN.hpp"
+#include "../face.hpp"
 #include "../c/util/ndn_realloc.h"
 #include "TcpTransport.hpp"
 
@@ -12,20 +12,20 @@
 
 namespace ndn {
 
-void TcpTransport::connect(NDN &ndn)
+void TcpTransport::connect(Face &face)
 {
   ndn_Error error;
-  if (error = ndn_TcpTransport_connect(&transport_, (char *)ndn.getHost(), ndn.getPort()))
+  if (error = ndn_TcpTransport_connect(&transport_, (char *)face.getHost(), face.getPort()))
     throw std::runtime_error(ndn_getErrorString(error)); 
 
   // TODO: This belongs in the socket listener.
   const unsigned int initialLength = 1000;
   // Automatically cast ndn_ to (struct ndn_ElementListener *)
   ndn_BinaryXmlElementReader_init
-    (&elementReader_, &ndn, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
+    (&elementReader_, &face, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
   
   // TODO: Properly indicate connected status.
-  ndn_ = &ndn;
+  face_ = &face;
 }
 
 void TcpTransport::send(const unsigned char *data, unsigned int dataLength)
diff --git a/ndn-cpp/transport/TcpTransport.hpp b/ndn-cpp/transport/TcpTransport.hpp
index b3b8d30..88e61fb 100644
--- a/ndn-cpp/transport/TcpTransport.hpp
+++ b/ndn-cpp/transport/TcpTransport.hpp
@@ -17,14 +17,14 @@
   TcpTransport() 
   {
     ndn_TcpTransport_init(&transport_);
-    ndn_ = 0;
+    face_ = 0;
   }
   
   /**
    * 
-   * @param ndn Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
+   * @param face Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
    */
-  virtual void connect(NDN &ndn);
+  virtual void connect(Face &face);
   
   virtual void send(const unsigned char *data, unsigned int dataLength);
 
@@ -32,7 +32,7 @@
   
 private:
   struct ndn_TcpTransport transport_;
-  NDN *ndn_;
+  Face *face_;
   // TODO: This belongs in the socket listener.
   ndn_BinaryXmlElementReader elementReader_;
 };
diff --git a/ndn-cpp/transport/Transport.cpp b/ndn-cpp/transport/Transport.cpp
index 0fa97bc..e0aab03 100644
--- a/ndn-cpp/transport/Transport.cpp
+++ b/ndn-cpp/transport/Transport.cpp
@@ -10,7 +10,7 @@
 
 namespace ndn {
 
-void Transport::connect(NDN &ndn) 
+void Transport::connect(Face &face) 
 {
   throw logic_error("unimplemented");
 }
diff --git a/ndn-cpp/transport/Transport.hpp b/ndn-cpp/transport/Transport.hpp
index 4a55573..af1a2c0 100644
--- a/ndn-cpp/transport/Transport.hpp
+++ b/ndn-cpp/transport/Transport.hpp
@@ -10,14 +10,14 @@
 
 namespace ndn {
 
-class NDN;  
+class Face;  
 class Transport {
 public:
   /**
    * 
-   * @param ndn Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
+   * @param face Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
    */
-  virtual void connect(NDN &ndn);
+  virtual void connect(Face &face);
   
   virtual void send(const unsigned char *data, unsigned int dataLength);
   
diff --git a/ndn-cpp/transport/UdpTransport.cpp b/ndn-cpp/transport/UdpTransport.cpp
index 6fd47e4..52b62a5 100644
--- a/ndn-cpp/transport/UdpTransport.cpp
+++ b/ndn-cpp/transport/UdpTransport.cpp
@@ -4,7 +4,7 @@
  */
 
 #include <stdexcept>
-#include "../NDN.hpp"
+#include "../face.hpp"
 #include "../c/util/ndn_realloc.h"
 #include "UdpTransport.hpp"
 
@@ -12,20 +12,20 @@
 
 namespace ndn {
 
-void UdpTransport::connect(NDN &ndn)
+void UdpTransport::connect(Face &face)
 {
   ndn_Error error;
-  if (error = ndn_UdpTransport_connect(&transport_, (char *)ndn.getHost(), ndn.getPort()))
+  if (error = ndn_UdpTransport_connect(&transport_, (char *)face.getHost(), face.getPort()))
     throw std::runtime_error(ndn_getErrorString(error)); 
 
   // TODO: This belongs in the socket listener.
   const unsigned int initialLength = 1000;
   // Automatically cast ndn_ to (struct ndn_ElementListener *)
   ndn_BinaryXmlElementReader_init
-    (&elementReader_, &ndn, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
+    (&elementReader_, &face, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
   
   // TODO: Properly indicate connected status.
-  ndn_ = &ndn;
+  face_ = &face;
 }
 
 void UdpTransport::send(const unsigned char *data, unsigned int dataLength)
diff --git a/ndn-cpp/transport/UdpTransport.hpp b/ndn-cpp/transport/UdpTransport.hpp
index 460eedd..781effd 100644
--- a/ndn-cpp/transport/UdpTransport.hpp
+++ b/ndn-cpp/transport/UdpTransport.hpp
@@ -17,14 +17,14 @@
   UdpTransport() 
   {
     ndn_UdpTransport_init(&transport_);
-    ndn_ = 0;
+    face_ = 0;
   }
   
   /**
    * 
-   * @param ndn Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
+   * @param face Not a shared_ptr because we assume that it will remain valid during the life of this Transport object.
    */
-  virtual void connect(NDN &ndn);
+  virtual void connect(Face &face);
   
   virtual void send(const unsigned char *data, unsigned int dataLength);
 
@@ -32,7 +32,7 @@
   
 private:
   struct ndn_UdpTransport transport_;
-  NDN *ndn_;
+  Face *face_;
   // TODO: This belongs in the socket listener.
   ndn_BinaryXmlElementReader elementReader_;
 };