group manager: separate user prefix and data type
Change-Id: Iae3468e22ad740a9eea35652231fdd5a51ccb34a
Refs: #3015
diff --git a/src/group-manager.cpp b/src/group-manager.cpp
index 587c488..deac768 100644
--- a/src/group-manager.cpp
+++ b/src/group-manager.cpp
@@ -28,16 +28,18 @@
namespace ndn {
namespace gep {
-static const std::string E_KEY_COMPONENT = "E-KEY";
-static const std::string D_KEY_COMPONENT = "D-KEY";
+static const name::Component E_KEY_COMPONENT("E-KEY");
+static const name::Component D_KEY_COMPONENT("D-KEY");
+static const name::Component READ_COMPONENT("read");
-GroupManager::GroupManager(const Name& managedNamespace, const std::string& dbDir,
+GroupManager::GroupManager(const Name& prefix, const Name& dataType, const std::string& dbDir,
const int paramLength, const int freshPeriod)
- : m_namespace(managedNamespace)
+ : m_namespace(prefix)
, m_db(dbDir)
, m_paramLength(paramLength)
, m_freshPeriod(freshPeriod)
{
+ m_namespace.append(READ_COMPONENT).append(dataType);
}
std::list<Data>
diff --git a/src/group-manager.hpp b/src/group-manager.hpp
index 34937da..f8adeee 100644
--- a/src/group-manager.hpp
+++ b/src/group-manager.hpp
@@ -44,8 +44,16 @@
};
public:
- /// @brief Create group manager using @p managedNamespace
- GroupManager(const Name& managedNamespace, const std::string& dbDir,
+ /**
+ * @brief Create group manager
+ *
+ * The namespace of group manager is /<prefix>/read/<dataType>/
+ * The group management information (including user cert, schedule) is stored in a database
+ * at @p dbDir.
+ * The group key will be an RSA key with @p paramLength bytes.
+ * The FreshnessPeriod of data packet carrying the keys will be set to @p freshPeriod.
+ */
+ GroupManager(const Name& prefix, const Name& dataType, const std::string& dbDir,
const int paramLength, const int freshPeriod);
/**