management: change ForwarderStatus.NfdVersion to string

refs #2003
Breaks: nfd:commit:afbd74d9f18f73863927c503c0024c7e5b32ec9f
Change-Id: I195efa5633b643708165a4b1b2e60e56b8a6f17e
diff --git a/src/management/nfd-forwarder-status.cpp b/src/management/nfd-forwarder-status.cpp
index 457c673..c4e736a 100644
--- a/src/management/nfd-forwarder-status.cpp
+++ b/src/management/nfd-forwarder-status.cpp
@@ -34,8 +34,7 @@
               "ForwarderStatus::Error must inherit from tlv::Error");
 
 ForwarderStatus::ForwarderStatus()
-  : m_nfdVersion(0)
-  , m_startTimestamp(time::system_clock::TimePoint::min())
+  : m_startTimestamp(time::system_clock::TimePoint::min())
   , m_currentTimestamp(time::system_clock::TimePoint::min())
   , m_nNameTreeEntries(0)
   , m_nFibEntries(0)
@@ -82,8 +81,9 @@
                                                 time::toUnixTimestamp(m_currentTimestamp).count());
   totalLength += prependNonNegativeIntegerBlock(encoder, tlv::nfd::StartTimestamp,
                                                 time::toUnixTimestamp(m_startTimestamp).count());
-  totalLength += prependNonNegativeIntegerBlock(encoder, tlv::nfd::NfdVersion,
-                                                m_nfdVersion);
+  totalLength += prependByteArrayBlock(encoder,tlv::nfd::NfdVersion,
+                                       reinterpret_cast<const uint8_t*>(m_nfdVersion.c_str()),
+                                       m_nfdVersion.size());
 
   totalLength += encoder.prependVarNumber(totalLength);
   totalLength += encoder.prependVarNumber(tlv::Content);
@@ -123,7 +123,7 @@
   Block::element_const_iterator val = m_wire.elements_begin();
 
   if (val != m_wire.elements_end() && val->type() == tlv::nfd::NfdVersion) {
-    m_nfdVersion = static_cast<int>(readNonNegativeInteger(*val));
+    m_nfdVersion.assign(reinterpret_cast<const char*>(val->value()), val->value_size());
     ++val;
   }
   else {
@@ -220,7 +220,7 @@
 }
 
 ForwarderStatus&
-ForwarderStatus::setNfdVersion(int nfdVersion)
+ForwarderStatus::setNfdVersion(const std::string& nfdVersion)
 {
   m_wire.reset();
   m_nfdVersion = nfdVersion;
diff --git a/src/management/nfd-forwarder-status.hpp b/src/management/nfd-forwarder-status.hpp
index 90ec7a5..c45d403 100644
--- a/src/management/nfd-forwarder-status.hpp
+++ b/src/management/nfd-forwarder-status.hpp
@@ -74,14 +74,14 @@
   wireDecode(const Block& wire);
 
 public: // getters & setters
-  int
+  const std::string&
   getNfdVersion() const
   {
     return m_nfdVersion;
   }
 
   ForwarderStatus&
-  setNfdVersion(int nfdVersion);
+  setNfdVersion(const std::string& nfdVersion);
 
   const time::system_clock::TimePoint&
   getStartTimestamp() const
@@ -183,7 +183,7 @@
   setNOutDatas(uint64_t nOutDatas);
 
 private:
-  int m_nfdVersion;
+  std::string m_nfdVersion;
   time::system_clock::TimePoint m_startTimestamp;
   time::system_clock::TimePoint m_currentTimestamp;
   size_t m_nNameTreeEntries;