Define Cynara buckets inside CynaraAdmin class
[platform/core/security/security-manager.git] / src / common / include / cynara.h
index 646deff..8982d54 100644 (file)
 #include <dpl/exception.h>
 #include <string>
 #include <vector>
+#include <map>
 
 namespace SecurityManager {
 
+enum class Bucket
+{
+    PRIVACY_MANAGER,
+    MAIN,
+    USER_TYPE_ADMIN,
+    USER_TYPE_NORMAL,
+    USER_TYPE_GUEST,
+    USER_TYPE_SYSTEM,
+    ADMIN,
+    MANIFESTS
+};
+
 class CynaraException
 {
 public:
@@ -71,6 +84,10 @@ struct CynaraAdminPolicy : cynara_admin_policy
 class CynaraAdmin
 {
 public:
+
+    typedef std::map<Bucket, const std::string > BucketsMap;
+    static BucketsMap Buckets;
+
     virtual ~CynaraAdmin();
 
     static CynaraAdmin &getInstance();
@@ -101,7 +118,7 @@ public:
      * TODO: drop oldPrivileges argument and get them directly from Cynara.
      * Appropriate Cynara interface is needed first.
      */
-    static void UpdateAppPolicy(const std::string &label, const std::string &user,
+    void UpdateAppPolicy(const std::string &label, const std::string &user,
         const std::vector<std::string> &oldPrivileges,
         const std::vector<std::string> &newPrivileges);