Back to index

nordugrid-arc-nox  1.1.0~rc6
GACLPolicy.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_GACLPOLICY_H__
00002 #define __ARC_SEC_GACLPOLICY_H__
00003 
00004 #include <arc/security/ArcPDP/policy/Policy.h>
00005 
00006 namespace ArcSec {
00007 
00008 class GACLPolicy : public Policy {
00009 public:
00010   GACLPolicy(void);
00011 
00012   GACLPolicy(const Source& source);
00013 
00014   GACLPolicy(const Arc::XMLNode source);
00015 
00016   virtual ~GACLPolicy();  
00017 
00018   virtual operator bool(void) const { return (bool)policynode; };
00019 
00020   virtual Result eval(EvaluationCtx* ctx);
00021 
00022   virtual MatchResult match(EvaluationCtx* ctx) { };
00023 
00024   virtual std::string getEffect() const { return ""; };
00025 
00026   virtual EvalResult& getEvalResult();
00027 
00028   virtual void setEvalResult(EvalResult& res);
00029 
00030   Arc::XMLNode getXML(void) { return policynode; };
00031 
00032   virtual const char* getEvalName() const { return "gacl.evaluator"; };
00033 
00034   virtual const char* getName() const { return "gacl.policy"; };
00035 
00036   static Arc::Plugin* get_policy(Arc::PluginArgument* arg);
00037 
00038 private:
00039 
00040   EvalResult evalres;
00041 
00042   Arc::XMLNode policynode;
00043 
00044 protected:
00045   static Arc::Logger logger;
00046 };
00047 
00048 } // namespace ArcSec
00049 
00050 #endif /* __ARC_SEC_GACLPOLICY_H__ */
00051