Der encoding: DerNode::accept is not const, so we need a list of non-const children.
diff --git a/src/encoding/der/visitor/certificate-data-visitor.cpp b/src/encoding/der/visitor/certificate-data-visitor.cpp
index c96d988..4270d68 100644
--- a/src/encoding/der/visitor/certificate-data-visitor.cpp
+++ b/src/encoding/der/visitor/certificate-data-visitor.cpp
@@ -34,7 +34,7 @@
{
// _LOG_DEBUG("CertificateDataVisitor::visit");
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
CertificateValidityVisitor validityVisitor;
children[0]->accept(validityVisitor, param);
CertificateSubjectVisitor subjectVisitor;
@@ -60,7 +60,7 @@
Certificate* certData = ndnboost::any_cast<Certificate*>(param);
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
SimpleVisitor simpleVisitor;
@@ -82,7 +82,7 @@
{
Certificate* certData = ndnboost::any_cast<Certificate*>(param);
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
SimpleVisitor simpleVisitor;
@@ -102,11 +102,11 @@
{
// _LOG_DEBUG("CertSubjectVisitor::visit");
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
CertificateSubjectDescriptionVisitor descryptVisitor;
- DerNodePtrList::const_iterator it = children.begin();
+ DerNodePtrList::iterator it = children.begin();
while(it != children.end()) {
(*it)->accept(descryptVisitor, param);
@@ -122,7 +122,7 @@
{
Certificate* certData = ndnboost::any_cast<Certificate*>(param);
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
SimpleVisitor simpleVisitor;
@@ -141,11 +141,11 @@
void
CertificateExtensionVisitor::visit(DerSequence& derSeq, ndnboost::any param)
{
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
CertificateExtensionEntryVisitor extnEntryVisitor;
- DerNodePtrList::const_iterator it = children.begin();
+ DerNodePtrList::iterator it = children.begin();
while(it != children.end()) {
(*it)->accept(extnEntryVisitor, param);
diff --git a/src/encoding/der/visitor/print-visitor.cpp b/src/encoding/der/visitor/print-visitor.cpp
index 4c5ee64..80a4f5d 100644
--- a/src/encoding/der/visitor/print-visitor.cpp
+++ b/src/encoding/der/visitor/print-visitor.cpp
@@ -100,8 +100,8 @@
printData(derSequence.getHeader(), indent);
- const DerNodePtrList& children = derSequence.getChildren();
- DerNodePtrList::const_iterator it = children.begin();
+ DerNodePtrList& children = derSequence.getChildren();
+ DerNodePtrList::iterator it = children.begin();
for(; it != children.end(); it++)
(*it)->accept(*this, indent + " | ");
}
diff --git a/src/encoding/der/visitor/public-key-visitor.cpp b/src/encoding/der/visitor/public-key-visitor.cpp
index 87e4e6c..d5b6e3e 100644
--- a/src/encoding/der/visitor/public-key-visitor.cpp
+++ b/src/encoding/der/visitor/public-key-visitor.cpp
@@ -21,10 +21,10 @@
ndnboost::any
PublicKeyVisitor::visit(DerSequence& derSeq)
{
- const DerNodePtrList& children = derSeq.getChildren();
+ DerNodePtrList& children = derSeq.getChildren();
SimpleVisitor simpleVisitor;
- shared_ptr<DerSequence> algoSeq = dynamic_pointer_cast<DerSequence>(children[0]);
+ shared_ptr<DerSequence> algoSeq = static_cast<shared_ptr<DerSequence> >(children[0]);
OID algorithm = ndnboost::any_cast<OID>(algoSeq->getChildren()[0]->accept(simpleVisitor));
Blob raw = derSeq.getRaw();
return ndnboost::any(shared_ptr<PublicKey>(new PublicKey(algorithm, raw)));