Rename folder wire to encoding
diff --git a/Makefile.am b/Makefile.am
index 37557dc..213ab07 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,17 +12,23 @@
 bin_PROGRAMS = test-encode-decode-interest
 
 ndn_cpp_a_SOURCES = ndn-cpp/common.h ndn-cpp/config.h \
-  ndn-cpp/data.h ndn-cpp/data.cc \
-  ndn-cpp/interest.h ndn-cpp/interest.cc \
+  ndn-cpp/BinaryXMLName.cpp ndn-cpp/BinaryXMLName.hpp \
+  ndn-cpp/Name.cpp ndn-cpp/Name.hpp \
+  ndn-cpp/data.cc ndn-cpp/data.h \
+  ndn-cpp/interest.cc ndn-cpp/interest.h \
   ndn-cpp/fields/blob.h \
-  ndn-cpp/fields/content.h ndn-cpp/fields/content.cc \
-  ndn-cpp/fields/exclude.h ndn-cpp/fields/exclude.cc \
-  ndn-cpp/fields/key-locator.h ndn-cpp/fields/key-locator.cc \
-  ndn-cpp/fields/name-component.h ndn-cpp/fields/name-component.cc \
-  ndn-cpp/fields/name.h ndn-cpp/fields/name.cc \
-  ndn-cpp/fields/signature.h ndn-cpp/fields/signature.cc \
-  ndn-cpp/wire/base.h \
-  ndn-cpp/wire/ccnb.h ndn-cpp/wire/ccnb.cc
+  ndn-cpp/fields/content.cc ndn-cpp/fields/content.h \
+  ndn-cpp/fields/exclude.cc ndn-cpp/fields/exclude.h \
+  ndn-cpp/fields/key-locator.cc ndn-cpp/fields/key-locator.h \
+  ndn-cpp/fields/name-component.cc ndn-cpp/fields/name-component.h \
+  ndn-cpp/fields/name.cc ndn-cpp/fields/name.h \
+  ndn-cpp/fields/signature.cc ndn-cpp/fields/signature.h \
+  ndn-cpp/encoding/BinaryXML.h \
+  ndn-cpp/encoding/BinaryXMLDecoder.c ndn-cpp/encoding/BinaryXMLDecoder.h \
+  ndn-cpp/encoding/BinaryXMLStructureDecoder.c ndn-cpp/encoding/BinaryXMLStructureDecoder.h \
+  ndn-cpp/encoding/BinaryXMLStructureDecoder.hpp \
+  ndn-cpp/encoding/base.h \
+  ndn-cpp/encoding/ccnb.cc ndn-cpp/encoding/ccnb.h
 
 test_encode_decode_interest_SOURCES = test/test-encode-decode-interest.cpp
 test_encode_decode_interest_LDADD = ndn-cpp.a
diff --git a/Makefile.in b/Makefile.in
index 9901853..494b84a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -131,13 +131,17 @@
 ndn_cpp_a_AR = $(AR) $(ARFLAGS)
 ndn_cpp_a_LIBADD =
 am__dirstamp = $(am__leading_dot)dirstamp
-am_ndn_cpp_a_OBJECTS = ndn-cpp/data.$(OBJEXT) \
+am_ndn_cpp_a_OBJECTS = ndn-cpp/BinaryXMLName.$(OBJEXT) \
+	ndn-cpp/Name.$(OBJEXT) ndn-cpp/data.$(OBJEXT) \
 	ndn-cpp/interest.$(OBJEXT) ndn-cpp/fields/content.$(OBJEXT) \
 	ndn-cpp/fields/exclude.$(OBJEXT) \
 	ndn-cpp/fields/key-locator.$(OBJEXT) \
 	ndn-cpp/fields/name-component.$(OBJEXT) \
 	ndn-cpp/fields/name.$(OBJEXT) \
-	ndn-cpp/fields/signature.$(OBJEXT) ndn-cpp/wire/ccnb.$(OBJEXT)
+	ndn-cpp/fields/signature.$(OBJEXT) \
+	ndn-cpp/encoding/BinaryXMLDecoder.$(OBJEXT) \
+	ndn-cpp/encoding/BinaryXMLStructureDecoder.$(OBJEXT) \
+	ndn-cpp/encoding/ccnb.$(OBJEXT)
 ndn_cpp_a_OBJECTS = $(am_ndn_cpp_a_OBJECTS)
 PROGRAMS = $(bin_PROGRAMS)
 am_test_encode_decode_interest_OBJECTS =  \
@@ -162,6 +166,18 @@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
 AM_V_CXX = $(am__v_CXX_@AM_V@)
@@ -175,18 +191,6 @@
 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD   " $@;
 am__v_CXXLD_1 = 
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
 SOURCES = $(ndn_cpp_a_SOURCES) $(test_encode_decode_interest_SOURCES)
 DIST_SOURCES = $(ndn_cpp_a_SOURCES) \
 	$(test_encode_decode_interest_SOURCES)
@@ -330,17 +334,23 @@
 ACLOCAL_AMFLAGS = ${ACLOCAL_FLAGS}
 lib_LIBRARIES = ndn-cpp.a
 ndn_cpp_a_SOURCES = ndn-cpp/common.h ndn-cpp/config.h \
-  ndn-cpp/data.h ndn-cpp/data.cc \
-  ndn-cpp/interest.h ndn-cpp/interest.cc \
+  ndn-cpp/BinaryXMLName.cpp ndn-cpp/BinaryXMLName.hpp \
+  ndn-cpp/Name.cpp ndn-cpp/Name.hpp \
+  ndn-cpp/data.cc ndn-cpp/data.h \
+  ndn-cpp/interest.cc ndn-cpp/interest.h \
   ndn-cpp/fields/blob.h \
-  ndn-cpp/fields/content.h ndn-cpp/fields/content.cc \
-  ndn-cpp/fields/exclude.h ndn-cpp/fields/exclude.cc \
-  ndn-cpp/fields/key-locator.h ndn-cpp/fields/key-locator.cc \
-  ndn-cpp/fields/name-component.h ndn-cpp/fields/name-component.cc \
-  ndn-cpp/fields/name.h ndn-cpp/fields/name.cc \
-  ndn-cpp/fields/signature.h ndn-cpp/fields/signature.cc \
-  ndn-cpp/wire/base.h \
-  ndn-cpp/wire/ccnb.h ndn-cpp/wire/ccnb.cc
+  ndn-cpp/fields/content.cc ndn-cpp/fields/content.h \
+  ndn-cpp/fields/exclude.cc ndn-cpp/fields/exclude.h \
+  ndn-cpp/fields/key-locator.cc ndn-cpp/fields/key-locator.h \
+  ndn-cpp/fields/name-component.cc ndn-cpp/fields/name-component.h \
+  ndn-cpp/fields/name.cc ndn-cpp/fields/name.h \
+  ndn-cpp/fields/signature.cc ndn-cpp/fields/signature.h \
+  ndn-cpp/encoding/BinaryXML.h \
+  ndn-cpp/encoding/BinaryXMLDecoder.c ndn-cpp/encoding/BinaryXMLDecoder.h \
+  ndn-cpp/encoding/BinaryXMLStructureDecoder.c ndn-cpp/encoding/BinaryXMLStructureDecoder.h \
+  ndn-cpp/encoding/BinaryXMLStructureDecoder.hpp \
+  ndn-cpp/encoding/base.h \
+  ndn-cpp/encoding/ccnb.cc ndn-cpp/encoding/ccnb.h
 
 test_encode_decode_interest_SOURCES = test/test-encode-decode-interest.cpp
 test_encode_decode_interest_LDADD = ndn-cpp.a
@@ -349,7 +359,7 @@
 	$(MAKE) $(AM_MAKEFLAGS) all-am
 
 .SUFFIXES:
-.SUFFIXES: .cc .cpp .o .obj
+.SUFFIXES: .c .cc .cpp .o .obj
 am--refresh: Makefile
 	@:
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
@@ -436,6 +446,10 @@
 ndn-cpp/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) ndn-cpp/$(DEPDIR)
 	@: > ndn-cpp/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/BinaryXMLName.$(OBJEXT): ndn-cpp/$(am__dirstamp) \
+	ndn-cpp/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/Name.$(OBJEXT): ndn-cpp/$(am__dirstamp) \
+	ndn-cpp/$(DEPDIR)/$(am__dirstamp)
 ndn-cpp/data.$(OBJEXT): ndn-cpp/$(am__dirstamp) \
 	ndn-cpp/$(DEPDIR)/$(am__dirstamp)
 ndn-cpp/interest.$(OBJEXT): ndn-cpp/$(am__dirstamp) \
@@ -459,14 +473,20 @@
 	ndn-cpp/fields/$(DEPDIR)/$(am__dirstamp)
 ndn-cpp/fields/signature.$(OBJEXT): ndn-cpp/fields/$(am__dirstamp) \
 	ndn-cpp/fields/$(DEPDIR)/$(am__dirstamp)
-ndn-cpp/wire/$(am__dirstamp):
-	@$(MKDIR_P) ndn-cpp/wire
-	@: > ndn-cpp/wire/$(am__dirstamp)
-ndn-cpp/wire/$(DEPDIR)/$(am__dirstamp):
-	@$(MKDIR_P) ndn-cpp/wire/$(DEPDIR)
-	@: > ndn-cpp/wire/$(DEPDIR)/$(am__dirstamp)
-ndn-cpp/wire/ccnb.$(OBJEXT): ndn-cpp/wire/$(am__dirstamp) \
-	ndn-cpp/wire/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/encoding/$(am__dirstamp):
+	@$(MKDIR_P) ndn-cpp/encoding
+	@: > ndn-cpp/encoding/$(am__dirstamp)
+ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) ndn-cpp/encoding/$(DEPDIR)
+	@: > ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/encoding/BinaryXMLDecoder.$(OBJEXT):  \
+	ndn-cpp/encoding/$(am__dirstamp) \
+	ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/encoding/BinaryXMLStructureDecoder.$(OBJEXT):  \
+	ndn-cpp/encoding/$(am__dirstamp) \
+	ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp)
+ndn-cpp/encoding/ccnb.$(OBJEXT): ndn-cpp/encoding/$(am__dirstamp) \
+	ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp)
 
 ndn-cpp.a: $(ndn_cpp_a_OBJECTS) $(ndn_cpp_a_DEPENDENCIES) $(EXTRA_ndn_cpp_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f ndn-cpp.a
@@ -530,24 +550,44 @@
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
 	-rm -f ndn-cpp/*.$(OBJEXT)
+	-rm -f ndn-cpp/encoding/*.$(OBJEXT)
 	-rm -f ndn-cpp/fields/*.$(OBJEXT)
-	-rm -f ndn-cpp/wire/*.$(OBJEXT)
 	-rm -f test/*.$(OBJEXT)
 
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/$(DEPDIR)/BinaryXMLName.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/$(DEPDIR)/Name.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/$(DEPDIR)/data.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/$(DEPDIR)/interest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/BinaryXMLDecoder.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/BinaryXMLStructureDecoder.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/encoding/$(DEPDIR)/ccnb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/content.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/exclude.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/key-locator.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/name-component.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/name.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/fields/$(DEPDIR)/signature.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@ndn-cpp/wire/$(DEPDIR)/ccnb.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/test-encode-decode-interest.Po@am__quote@
 
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@@ -830,10 +870,10 @@
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
 	-rm -f ndn-cpp/$(DEPDIR)/$(am__dirstamp)
 	-rm -f ndn-cpp/$(am__dirstamp)
+	-rm -f ndn-cpp/encoding/$(DEPDIR)/$(am__dirstamp)
+	-rm -f ndn-cpp/encoding/$(am__dirstamp)
 	-rm -f ndn-cpp/fields/$(DEPDIR)/$(am__dirstamp)
 	-rm -f ndn-cpp/fields/$(am__dirstamp)
-	-rm -f ndn-cpp/wire/$(DEPDIR)/$(am__dirstamp)
-	-rm -f ndn-cpp/wire/$(am__dirstamp)
 	-rm -f test/$(DEPDIR)/$(am__dirstamp)
 	-rm -f test/$(am__dirstamp)
 
@@ -847,7 +887,7 @@
 
 distclean: distclean-am
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf ndn-cpp/$(DEPDIR) ndn-cpp/fields/$(DEPDIR) ndn-cpp/wire/$(DEPDIR) test/$(DEPDIR)
+	-rm -rf ndn-cpp/$(DEPDIR) ndn-cpp/encoding/$(DEPDIR) ndn-cpp/fields/$(DEPDIR) test/$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
 	distclean-hdr distclean-tags
@@ -895,7 +935,7 @@
 maintainer-clean: maintainer-clean-am
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -rf ndn-cpp/$(DEPDIR) ndn-cpp/fields/$(DEPDIR) ndn-cpp/wire/$(DEPDIR) test/$(DEPDIR)
+	-rm -rf ndn-cpp/$(DEPDIR) ndn-cpp/encoding/$(DEPDIR) ndn-cpp/fields/$(DEPDIR) test/$(DEPDIR)
 	-rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 
diff --git a/ndn-cpp/wire/base.h b/ndn-cpp/encoding/base.h
similarity index 100%
rename from ndn-cpp/wire/base.h
rename to ndn-cpp/encoding/base.h
diff --git a/ndn-cpp/wire/ccnb.cc b/ndn-cpp/encoding/ccnb.cc
similarity index 100%
rename from ndn-cpp/wire/ccnb.cc
rename to ndn-cpp/encoding/ccnb.cc
diff --git a/ndn-cpp/wire/ccnb.h b/ndn-cpp/encoding/ccnb.h
similarity index 100%
rename from ndn-cpp/wire/ccnb.h
rename to ndn-cpp/encoding/ccnb.h
diff --git a/ndn-cpp/fields/signature-sha256-with-rsa.cc b/ndn-cpp/fields/signature-sha256-with-rsa.cc
index c84ef5a..c9c89ed 100644
--- a/ndn-cpp/fields/signature-sha256-with-rsa.cc
+++ b/ndn-cpp/fields/signature-sha256-with-rsa.cc
@@ -9,7 +9,7 @@
  */
 
 #include "signature-sha256-with-rsa.h"
-#include "ndn-cpp/wire/base.h"
+#include "../encoding/base.h"
 
 namespace ndn {
 namespace signature {
diff --git a/test/test-encode-decode-interest.cpp b/test/test-encode-decode-interest.cpp
index 9c3680e..0ef645f 100644
--- a/test/test-encode-decode-interest.cpp
+++ b/test/test-encode-decode-interest.cpp
@@ -9,7 +9,7 @@
 #include <sstream>
 #include <iostream>
 #include "ndn-cpp/interest.h"
-#include "ndn-cpp/wire/ccnb.h"
+#include "ndn-cpp/encoding/ccnb.h"
 
 using namespace std;
 using namespace ndn;