Internal: Use C struct ndn_Blob where possible. Make ndn::Blob work with ndn_Blob.
diff --git a/ndn-cpp/data.cpp b/ndn-cpp/data.cpp
index 1be361a..98ffde0 100644
--- a/ndn-cpp/data.cpp
+++ b/ndn-cpp/data.cpp
@@ -31,7 +31,7 @@
   timestampMilliseconds_ = metaInfoStruct.timestampMilliseconds;
   type_ = metaInfoStruct.type;
   freshnessSeconds_ = metaInfoStruct.freshnessSeconds;
-  finalBlockID_ = Name::Component(Blob(metaInfoStruct.finalBlockID.value, metaInfoStruct.finalBlockID.valueLength));
+  finalBlockID_ = Name::Component(Blob(metaInfoStruct.finalBlockID.value));
 }
 
 Data::Data()
@@ -50,12 +50,7 @@
   signature_->get(dataStruct.signature);
   name_.get(dataStruct.name);
   metaInfo_.get(dataStruct.metaInfo);
-  
-  dataStruct.contentLength = content_.size();
-  if (content_.size() > 0)
-    dataStruct.content = (uint8_t*)content_.buf();
-  else
-    dataStruct.content = 0;
+  content_.get(dataStruct.content);
 }
 
 void 
@@ -64,7 +59,7 @@
   signature_->set(dataStruct.signature);
   name_.set(dataStruct.name);
   metaInfo_.set(dataStruct.metaInfo);
-  content_ = Blob(dataStruct.content, dataStruct.contentLength);
+  content_ = Blob(dataStruct.content);
 
   onChanged();
 }