switch to typed name components

Change-Id: I30da90c11bbe90d197ed4f05b14df83d80c77c3b
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 300f0ed..0593610 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -124,12 +124,21 @@
     const auto& cert = identity.getDefaultKey().getDefaultCertificate();
     Block contentTLV = infotlv::encodeDataContent(m_config.caProfile, cert);
 
-    Name infoPacketName( m_config.caProfile.caPrefix);
-    infoPacketName.append("CA").append("INFO").appendVersion().appendSegment(0);
+    // set naming convention to be typed
+    auto convention = name::getConventionEncoding();
+    name::setConventionEncoding(name::Convention::TYPED);
+
+    Name infoPacketName(m_config.caProfile.caPrefix);
+    auto segmentComp = name::Component::fromSegment(0);
+    infoPacketName.append("CA").append("INFO").appendVersion().append(segmentComp);
     m_profileData = std::make_unique<Data>(infoPacketName);
+    m_profileData->setFinalBlock(segmentComp);
     m_profileData->setContent(contentTLV);
     m_profileData->setFreshnessPeriod(DEFAULT_DATA_FRESHNESS_PERIOD);
     m_keyChain.sign(*m_profileData, signingByIdentity( m_config.caProfile.caPrefix));
+
+    // set back the convention
+    name::setConventionEncoding(convention);
   }
   return *m_profileData;
 }
diff --git a/src/requester.cpp b/src/requester.cpp
index f62ad4c..5ca6aaa 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -55,11 +55,19 @@
 shared_ptr<Interest>
 Requester::genCaProfileInterestFromDiscoveryResponse(const Data& reply)
 {
+  // set naming convention to be typed
+  auto convention = name::getConventionEncoding();
+  name::setConventionEncoding(name::Convention::TYPED);
+
   auto metaData = MetadataObject(reply);
   auto interestName= metaData.getVersionedName();
   interestName.appendSegment(0);
   auto interest = std::make_shared<Interest>(interestName);
   interest->setCanBePrefix(false);
+
+  // set back the convention
+  name::setConventionEncoding(convention);
+
   return interest;
 }
 
diff --git a/tests/unit-tests/bench.t.cpp b/tests/unit-tests/bench.t.cpp
index 44e5ac5..4877237 100644
--- a/tests/unit-tests/bench.t.cpp
+++ b/tests/unit-tests/bench.t.cpp
@@ -32,6 +32,8 @@
 
 BOOST_AUTO_TEST_CASE(PacketSize0)
 {
+  name::setConventionEncoding(name::Convention::TYPED);
+
   auto identity = addIdentity(Name("/ndn"));
   auto key = identity.getDefaultKey();
   auto cert = key.getDefaultCertificate();
diff --git a/tests/unit-tests/ca-module.t.cpp b/tests/unit-tests/ca-module.t.cpp
index d5c24cb..ed4f8f3 100644
--- a/tests/unit-tests/ca-module.t.cpp
+++ b/tests/unit-tests/ca-module.t.cpp
@@ -47,6 +47,8 @@
 
 BOOST_AUTO_TEST_CASE(HandleProfileFetching)
 {
+  name::setConventionEncoding(name::Convention::TYPED);
+
   auto identity = addIdentity(Name("/ndn"));
   auto key = identity.getDefaultKey();
   auto cert = key.getDefaultCertificate();