Unify privilege representation
[platform/core/test/security-tests.git] / src / security-manager-tests / common / policy_configuration.h
index f807411..3d2c1a0 100644 (file)
@@ -51,7 +51,9 @@ public:
     gid_t groupToGid(const std::string &gname);
     PrivGroupMap getPrivGroupMap();
     PrivVector getSystemdManagedPrivs();
-    GroupVector privToGroup(const PrivVector &privVector);
+
+    template <typename T>
+    GroupVector privToGroup(const T &privVector);
     GidVector groupToGid(const GroupVector &groupVector);
 
     static bool getIsAskuserEnabled();
@@ -68,6 +70,21 @@ private:
     std::map<UserType, UserDescription> m_userDescriptionMap;
 };
 
+template <typename T>
+PolicyConfiguration::GroupVector PolicyConfiguration::privToGroup(const T &privVector) {
+    GroupVector result;
+    if (m_privGroupMap.empty())
+        loadPrivGroupMap();
+    for (auto &e : privVector) {
+        auto it = m_privGroupMap.find(e);
+        if (it == m_privGroupMap.end())
+            continue;
+        result.push_back(it->second);
+    }
+    return result;
+}
+
+
 } // namespace SecurityManagerTest
 
 #endif