public:
Storage(StorageBackend &backend) : m_backend(backend) {}
- PolicyResult checkPolicy(const PolicyKey &key);
+ PolicyResult checkPolicy(const PolicyKey &key,
+ const PolicyBucketId &startBucketId = defaultPolicyBucketId,
+ bool recursive = true);
void insertPolicies(const std::map<PolicyBucketId, std::vector<Policy>> &policiesByBucketId);
void deletePolicies(const std::map<PolicyBucketId, std::vector<PolicyKey>> &keysByBucketId);
void save(void);
protected:
- PolicyResult minimalPolicy(const PolicyBucket &bucket, const PolicyKey &key);
+ PolicyResult minimalPolicy(const PolicyBucket &bucket, const PolicyKey &key, bool recursive);
private:
StorageBackend &m_backend; // backend strategy