Added Transport class
diff --git a/ndn-cpp/transport/TcpTransport.hpp b/ndn-cpp/transport/TcpTransport.hpp
new file mode 100644
index 0000000..a8a354e
--- /dev/null
+++ b/ndn-cpp/transport/TcpTransport.hpp
@@ -0,0 +1,33 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_TCPTRANSPORT_HPP
+#define	NDN_TCPTRANSPORT_HPP
+
+#include "../c/transport/TcpTransport.h"
+#include "Transport.hpp"
+
+namespace ndn {
+  
+class TcpTransport : public Transport {
+public:
+  TcpTransport() 
+  {
+    ndn_TcpTransport_init(&transport_);
+  }
+  
+  virtual void connect(char *host, unsigned short port);
+  
+  virtual void send(unsigned char *data, unsigned int dataLength);
+
+  virtual unsigned int receive(unsigned char *buffer, unsigned int bufferLength);
+  
+private:
+  struct ndn_TcpTransport transport_;
+};
+
+}
+
+#endif
diff --git a/ndn-cpp/transport/TcpTransport2.cpp b/ndn-cpp/transport/TcpTransport2.cpp
new file mode 100644
index 0000000..7a3a190
--- /dev/null
+++ b/ndn-cpp/transport/TcpTransport2.cpp
@@ -0,0 +1,37 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#include <stdexcept>
+#include "TcpTransport.hpp"
+
+using namespace std;
+
+namespace ndn {
+
+void TcpTransport::connect(char *host, unsigned short port)
+{
+  ndn_Error error;
+  if (error = ndn_TcpTransport_connect(&transport_, host, port))
+    throw std::runtime_error(ndn_getErrorString(error));  
+}
+
+void TcpTransport::send(unsigned char *data, unsigned int dataLength)
+{
+  ndn_Error error;
+  if (error = ndn_TcpTransport_send(&transport_, data, dataLength))
+    throw std::runtime_error(ndn_getErrorString(error));  
+}
+
+unsigned int TcpTransport::receive(unsigned char *buffer, unsigned int bufferLength)
+{
+  ndn_Error error;
+  unsigned int nBytes;
+  if (error = ndn_TcpTransport_receive(&transport_, buffer, bufferLength, &nBytes))
+    throw std::runtime_error(ndn_getErrorString(error));  
+  
+  return nBytes;
+}
+
+}
diff --git a/ndn-cpp/transport/Transport.cpp b/ndn-cpp/transport/Transport.cpp
new file mode 100644
index 0000000..950b1cb
--- /dev/null
+++ b/ndn-cpp/transport/Transport.cpp
@@ -0,0 +1,28 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#include <stdexcept>
+#include "Transport.hpp"
+
+using namespace std;
+
+namespace ndn {
+
+void Transport::connect(char *host, unsigned short port) 
+{
+  throw logic_error("unimplemented");
+}
+  
+void Transport::send(unsigned char *data, unsigned int dataLength)
+{
+  throw logic_error("unimplemented");
+}
+
+unsigned int Transport::receive(unsigned char *buffer, unsigned int bufferLength)
+{
+  throw logic_error("unimplemented");
+}
+
+}
diff --git a/ndn-cpp/transport/Transport.hpp b/ndn-cpp/transport/Transport.hpp
new file mode 100644
index 0000000..85fe1b7
--- /dev/null
+++ b/ndn-cpp/transport/Transport.hpp
@@ -0,0 +1,22 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_TRANSPORT_HPP
+#define	NDN_TRANSPORT_HPP
+
+namespace ndn {
+  
+class Transport {
+public:
+  virtual void connect(char *host, unsigned short port);
+  
+  virtual void send(unsigned char *data, unsigned int dataLength);
+  
+  virtual unsigned int receive(unsigned char *buffer, unsigned int bufferLength);
+};
+
+}
+
+#endif