[Common] Added method capable of checking multiple privileges at once.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Thu, 19 Mar 2015 14:06:18 +0000 (15:06 +0100)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Fri, 20 Mar 2015 09:00:05 +0000 (18:00 +0900)
Change-Id: I03b7964373ec6e56a5e62645a2c3e0e373a631b8

src/common/extension.cc
src/common/extension.h

index abd4cfb711a49f1fab7f934267a0048be32bb761..7e54aa48e9ad15d7bd6d96780a3d566297dfe81a 100644 (file)
@@ -594,10 +594,16 @@ class AccessControl {
 } // namespace
 
 PlatformResult CheckAccess(const std::string& privilege) {
-  if (AccessControl::GetInstance().CheckAccess(privilege)) {
+  return CheckAccess(std::vector<std::string>{privilege});
+}
+
+PlatformResult CheckAccess(const std::vector<std::string>& privileges) {
+  if (AccessControl::GetInstance().CheckAccess(privileges)) {
     return PlatformResult(ErrorCode::NO_ERROR);
   } else {
-    LoggerD("Access to privilege: %s has been denied.", privilege.c_str());
+    for (const auto& privilege : privileges) {
+      LoggerD("Access to privilege: %s has been denied.", privilege.c_str());
+    }
     return PlatformResult(ErrorCode::SECURITY_ERR, "Permission denied");
   }
 }
index 607a791cdf5f99e70d73315d2a30d3e94656bf79..c09845c6cc37280b79178789291990a04a70f294 100644 (file)
@@ -132,6 +132,7 @@ void ReportError(const PlatformException& ex, picojson::object& out);
 void ReportError(const PlatformResult& error, picojson::object* out);
 
 common::PlatformResult CheckAccess(const std::string& privilege);
+common::PlatformResult CheckAccess(const std::vector<std::string>& privileges);
 
 #define CHECK_PRIVILEGE_ACCESS(privilege, out) \
 do { \