add name assignment templates

Change-Id: Ia42d4431011b9eae1b5f888b07774cd170719008
diff --git a/src/name-assignments/assignment-param.hpp b/src/name-assignments/assignment-param.hpp
new file mode 100644
index 0000000..7c6a377
--- /dev/null
+++ b/src/name-assignments/assignment-param.hpp
@@ -0,0 +1,38 @@
+//
+// Created by Tyler on 10/6/20.
+//
+
+#ifndef NDNCERT_ASSIGNMENT_PARAM_HPP
+#define NDNCERT_ASSIGNMENT_PARAM_HPP
+
+#include "assignment-funcs.hpp"
+
+namespace ndn {
+namespace ndncert {
+
+/**
+ * assign names base on client probe parameter
+ */
+class AssignmentParam: public NameAssignmentFuncFactory{
+public:
+  AssignmentParam();
+
+  NameAssignmentFunc getFunction(const std::string &factoryParam) override;
+
+  class ParamAssignmentFunc {
+  public:
+    ParamAssignmentFunc(std::list<std::string> paramList);
+
+    std::vector<PartialName>
+    operator() (const std::vector<std::tuple<std::string, std::string>> params);
+  private:
+    std::list<std::string> m_paramList;
+  };
+
+};
+}
+}
+
+
+
+#endif //NDNCERT_ASSIGNMENT_PARAM_HPP