CR fix 3
Change-Id: If6802a52f48870a1fe3c42d57d7797a5f5248b26
diff --git a/src/name-assignment/assignment-func.cpp b/src/name-assignment/assignment-func.cpp
index 22eb35e..d65eefd 100644
--- a/src/name-assignment/assignment-func.cpp
+++ b/src/name-assignment/assignment-func.cpp
@@ -24,8 +24,7 @@
namespace ndn {
namespace ndncert {
-NameAssignmentFunc::NameAssignmentFunc(const std::string& factoryType, const std::string& format)
- : FACTORY_TYPE(factoryType)
+NameAssignmentFunc::NameAssignmentFunc(const std::string& format)
{
size_t index = 0, startIndex = 0;
while ((index = format.find("/", startIndex)) != std::string::npos) {
diff --git a/src/name-assignment/assignment-func.hpp b/src/name-assignment/assignment-func.hpp
index e122ed2..9ed8e22 100644
--- a/src/name-assignment/assignment-func.hpp
+++ b/src/name-assignment/assignment-func.hpp
@@ -22,6 +22,7 @@
#define NDNCERT_ASSIGNMENT_FUNC_HPP
#include "detail/ca-request-state.hpp"
+#include <map>
namespace ndn {
namespace ndncert {
@@ -29,7 +30,7 @@
class NameAssignmentFunc : noncopyable
{
protected:
- explicit NameAssignmentFunc(const std::string& factoryType, const std::string& format = "");
+ explicit NameAssignmentFunc(const std::string& format = "");
public:
virtual ~NameAssignmentFunc() = default;
@@ -45,9 +46,7 @@
* @return a vector containing the possible namespaces derived from the parameters.
*/
virtual std::vector<PartialName>
- assignName(const std::vector<std::tuple<std::string, std::string>>& params) = 0;
-
- const std::string FACTORY_TYPE;
+ assignName(const std::multimap<std::string, std::string> ¶ms) = 0;
public:
template <class AssignmentType>
@@ -62,7 +61,7 @@
static unique_ptr<NameAssignmentFunc>
createNameAssignmentFunc(const std::string& challengeType, const std::string& format = "");
-NDNCERT_PUBLIC_WITH_TESTS_ELSE_PRIVATE:
+NDNCERT_PUBLIC_WITH_TESTS_ELSE_PROTECTED:
std::vector<std::string> m_nameFormat;
private:
diff --git a/src/name-assignment/assignment-hash.cpp b/src/name-assignment/assignment-hash.cpp
index 8f0e641..0dec488 100644
--- a/src/name-assignment/assignment-hash.cpp
+++ b/src/name-assignment/assignment-hash.cpp
@@ -27,20 +27,19 @@
NDNCERT_REGISTER_FUNCFACTORY(AssignmentHash, "hash");
AssignmentHash::AssignmentHash(const std::string& format)
- : NameAssignmentFunc("hash", format)
+ : NameAssignmentFunc(format)
{}
std::vector<PartialName>
-AssignmentHash::assignName(const std::vector<std::tuple<std::string, std::string>>& params)
+AssignmentHash::assignName(const std::multimap<std::string, std::string> ¶ms)
{
std::vector<PartialName> resultList;
Name result;
for (const auto& item : m_nameFormat) {
- auto it = std::find_if(params.begin(), params.end(),
- [&](const std::tuple<std::string, std::string>& e) { return std::get<0>(e) == item; });
+ auto it = params.find(item);
if (it != params.end()) {
util::Sha256 digest;
- digest << std::get<1>(*it);
+ digest << it->second;
result.append(digest.toString());
}
else {
diff --git a/src/name-assignment/assignment-hash.hpp b/src/name-assignment/assignment-hash.hpp
index 77e5e91..6acb30c 100644
--- a/src/name-assignment/assignment-hash.hpp
+++ b/src/name-assignment/assignment-hash.hpp
@@ -35,7 +35,7 @@
AssignmentHash(const std::string& format = "");
std::vector<PartialName>
- assignName(const std::vector<std::tuple<std::string, std::string>>& params) override;
+ assignName(const std::multimap<std::string, std::string> ¶ms) override;
};
diff --git a/src/name-assignment/assignment-param.cpp b/src/name-assignment/assignment-param.cpp
index 4ebe637..b99d685 100644
--- a/src/name-assignment/assignment-param.cpp
+++ b/src/name-assignment/assignment-param.cpp
@@ -26,19 +26,19 @@
NDNCERT_REGISTER_FUNCFACTORY(AssignmentParam, "param");
AssignmentParam::AssignmentParam(const std::string& format)
- : NameAssignmentFunc("param", format)
+ : NameAssignmentFunc(format)
{}
std::vector<PartialName>
-AssignmentParam::assignName(const std::vector<std::tuple<std::string, std::string>>& params)
+AssignmentParam::assignName(const std::multimap<std::string, std::string> ¶ms)
{
std::vector<PartialName> resultList;
Name result;
for (const auto& item : m_nameFormat) {
auto it = std::find_if(params.begin(), params.end(),
[&](const std::tuple<std::string, std::string>& e) { return std::get<0>(e) == item; });
- if (it != params.end() && !std::get<1>(*it).empty()) {
- result.append(std::get<1>(*it));
+ if (it != params.end() && !it->second.empty()) {
+ result.append(it->second);
}
else {
return resultList;
diff --git a/src/name-assignment/assignment-param.hpp b/src/name-assignment/assignment-param.hpp
index 8a31dc6..cdf2cc5 100644
--- a/src/name-assignment/assignment-param.hpp
+++ b/src/name-assignment/assignment-param.hpp
@@ -35,7 +35,7 @@
AssignmentParam(const std::string& format = "");
std::vector<PartialName>
- assignName(const std::vector<std::tuple<std::string, std::string>>& params) override;
+ assignName(const std::multimap<std::string, std::string> ¶ms) override;
};
diff --git a/src/name-assignment/assignment-random.cpp b/src/name-assignment/assignment-random.cpp
index 59f6477..eaed861 100644
--- a/src/name-assignment/assignment-random.cpp
+++ b/src/name-assignment/assignment-random.cpp
@@ -27,11 +27,11 @@
NDNCERT_REGISTER_FUNCFACTORY(AssignmentRandom, "random");
AssignmentRandom::AssignmentRandom(const std::string& format)
- : NameAssignmentFunc("random", format)
+ : NameAssignmentFunc(format)
{}
std::vector<PartialName>
-AssignmentRandom::assignName(const std::vector<std::tuple<std::string, std::string>>& params)
+AssignmentRandom::assignName(const std::multimap<std::string, std::string> ¶ms)
{
std::vector<PartialName> resultList;
resultList.emplace_back(to_string(random::generateSecureWord64()));
diff --git a/src/name-assignment/assignment-random.hpp b/src/name-assignment/assignment-random.hpp
index cf6509f..978a0b7 100644
--- a/src/name-assignment/assignment-random.hpp
+++ b/src/name-assignment/assignment-random.hpp
@@ -35,7 +35,7 @@
AssignmentRandom(const std::string& format = "");
std::vector<PartialName>
- assignName(const std::vector<std::tuple<std::string, std::string>>& params) override;
+ assignName(const std::multimap<std::string, std::string> ¶ms) override;
};
} // namespace ndncert