Added NameComponent.
diff --git a/ndn-cpp/Name.cpp b/ndn-cpp/Name.cpp
index c777ebe..3b98fa7 100644
--- a/ndn-cpp/Name.cpp
+++ b/ndn-cpp/Name.cpp
@@ -5,15 +5,20 @@
*/
#include <sstream>
-#include "c/Name.h"
#include "Name.hpp"
using namespace std;
namespace ndn {
-Name::Name()
+void Name::get(struct ndn_Name &nameStruct)
{
+ if (nameStruct.maxComponents < components_.size())
+ throw runtime_error("nameStruct.maxComponents must be >= this name getNComponents()");
+
+ nameStruct.nComponents = components_.size();
+ for (unsigned int i = 0; i < nameStruct.nComponents; ++i)
+ components_[i].get(nameStruct.components[i]);
}
void Name::set(struct ndn_Name &nameStruct)
@@ -23,26 +28,14 @@
addComponent(nameStruct.components[i].value, nameStruct.components[i].valueLength);
}
-void Name::get(struct ndn_Name &nameStruct)
-{
- if (nameStruct.maxComponents < components_.size())
- throw runtime_error("nameStruct.maxComponents must be >= this name getNComponents()");
-
- nameStruct.nComponents = components_.size();
- for (unsigned int i = 0; i < nameStruct.nComponents; ++i) {
- nameStruct.components[i].value = &components_[i][0];
- nameStruct.components[i].valueLength = components_[i].size();
- }
-}
-
std::string Name::to_uri()
{
// TODO: implement fully.
ostringstream output;
for (unsigned int i = 0; i < components_.size(); ++i) {
output << "/";
- for (unsigned int j = 0; j < components_[i].size(); ++j)
- output << components_[i][j];
+ for (unsigned int j = 0; j < components_[i].getValue().size(); ++j)
+ output << components_[i].getValue()[j];
}
return output.str();