model: Slight modification with wire format processing
Now it is possible to convert Name from/to wire format via ndn::Face
helper method (since Face is getting configured with specific wire
format)
Refs #1008 (http://redmine.named-data.net/issues/1008)
diff --git a/model/wire/ccnb/wire-ccnb-data.cc b/model/wire/ccnb/wire-ccnb-data.cc
index 767d57b..0770c3d 100644
--- a/model/wire/ccnb/wire-ccnb-data.cc
+++ b/model/wire/ccnb/wire-ccnb-data.cc
@@ -194,8 +194,8 @@
Ccnb::AppendCloser (start); // </Signature>
Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_Name, CcnbParser::CCN_DTAG); // <Name>
- Ccnb::AppendName (start, m_data->GetName()); // <Component>...</Component>...
- Ccnb::AppendCloser (start); // </Name>
+ Ccnb::SerializeName (start, m_data->GetName()); // <Component>...</Component>...
+ Ccnb::AppendCloser (start); // </Name>
// fake signature
Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_SignedInfo, CcnbParser::CCN_DTAG); // <SignedInfo>
@@ -234,7 +234,7 @@
Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_KeyName, CcnbParser::CCN_DTAG); // <KeyName>
{
Ccnb::AppendBlockHeader (start, CcnbParser::CCN_DTAG_Name, CcnbParser::CCN_DTAG); // <Name>
- Ccnb::AppendName (start, *m_data->GetKeyLocator ()); // <Component>...</Component>...
+ Ccnb::SerializeName (start, *m_data->GetKeyLocator ()); // <Component>...</Component>...
Ccnb::AppendCloser (start); // </Name>
}
Ccnb::AppendCloser (start); // </KeyName>
@@ -270,7 +270,7 @@
written += 1; // </Signature>
written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_Name); // <Name>
- written += Ccnb::EstimateName (m_data->GetName ()); // <Component>...</Component>...
+ written += Ccnb::SerializedSizeName (m_data->GetName ()); // <Component>...</Component>...
written += 1; // </Name>
// fake signature
@@ -307,7 +307,7 @@
written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_KeyName); // <KeyName>
{
written += Ccnb::EstimateBlockHeader (CcnbParser::CCN_DTAG_Name); // <Name>
- written += Ccnb::EstimateName (*m_data->GetKeyLocator ()); // <Component>...</Component>...
+ written += Ccnb::SerializedSizeName (*m_data->GetKeyLocator ()); // <Component>...</Component>...
written += 1; // </Name>
}
written += 1; // </KeyName>
@@ -353,11 +353,7 @@
{
// process name components
Ptr<Name> name = Create<Name> ();
-
- BOOST_FOREACH (Ptr<CcnbParser::Block> block, n.m_nestedTags)
- {
- block->accept (nameVisitor, &(*name));
- }
+ n.accept (nameVisitor, GetPointer (name));
contentObject.SetName (name);
break;
}
@@ -454,17 +450,9 @@
if (n.m_nestedTags.size ()!=1) // should be exactly one nested tag
throw CcnbParser::CcnbDecodingException ();
- Ptr<CcnbParser::BaseTag> nameTag = DynamicCast<CcnbParser::BaseTag>(n.m_nestedTags.front ());
- if (nameTag == 0)
- throw CcnbParser::CcnbDecodingException ();
-
// process name components
Ptr<Name> name = Create<Name> ();
-
- BOOST_FOREACH (Ptr<CcnbParser::Block> block, nameTag->m_nestedTags)
- {
- block->accept (nameVisitor, &(*name));
- }
+ n.accept (nameVisitor, GetPointer (name));
contentObject.SetKeyLocator (name);
break;
}