/usr/include/arc/security/ArcPDP/PolicyStore.h is in nordugrid-arc-dev 4.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #ifndef __ARC_SEC_POLICYSTORE_H__
#define __ARC_SEC_POLICYSTORE_H__
#include <list>
#include <arc/security/ArcPDP/policy/Policy.h>
namespace ArcSec {
class EvaluatorContext;
///Storage place for policy objects
class PolicyStore {
public:
class PolicyElement {
private:
Policy* policy;
std::string id;
public:
PolicyElement(Policy* policy_):policy(policy_) { };
PolicyElement(Policy* policy_, const std::string& id_):policy(policy_),id(id_) { };
operator Policy*(void) const { return policy; };
const std::string& Id(void) const { return id; };
};
PolicyStore();
/// Creates policy store with specified combing algorithm (alg - not used yet), policy name
/// (policyclassname) and context (ctx)
PolicyStore(const std::string& alg, const std::string& policyclassname, EvaluatorContext* ctx);
virtual ~PolicyStore();
virtual std::list<PolicyElement> findPolicy(EvaluationCtx* context);
virtual void addPolicy(const Source& policy, EvaluatorContext* ctx,const std::string& id);
virtual void addPolicy(Policy* policyobj, EvaluatorContext* ctx,const std::string& id);
virtual void removePolicies();
virtual void releasePolicies();
// std::list<std::string> policysrclist;
private:
std::list<PolicyElement> policies;
//std::string combalg;
std::string policy_classname;
};
} // namespace ArcSec
#endif /* __ARC_SEC_POLICYSTORE_H__ */
|