Back to index

nordugrid-arc-nox  1.1.0~rc6
AttributeDesignator.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_ATTRIBUTEDESGINATOR_H__
00002 #define __ARC_SEC_ATTRIBUTEDESGINATOR_H__
00003 
00004 #include <string>
00005 #include <list>
00006 
00007 #include <arc/XMLNode.h>
00008 #include <arc/security/ArcPDP/attr/AttributeValue.h>
00009 #include <arc/security/ArcPDP/Evaluator.h>
00010 
00011 namespace ArcSec {
00012 
00013 //AttibuteDesignator is for the element <AttributeDesignator> in xacml policy schema, and
00014 //in charge of getting attribute value from the request
00015 
00016 class AttributeDesignator {
00017 public:
00018   AttributeDesignator(Arc::XMLNode& node, AttributeFactory* attr_factory);
00019   virtual ~AttributeDesignator();
00020 
00021   virtual std::list<AttributeValue*> evaluate(EvaluationCtx* ctx);
00022 
00023 private:
00024   std::string target;
00025   std::string id;
00026   std::string type;
00027   std::string category;
00028   std::string issuer;
00029   
00030   bool present;
00031 
00032   AttributeFactory* attrfactory;
00033 };
00034 
00035 } // namespace ArcSec
00036 
00037 #endif /* __ARC_SEC_ATTRIBUTEDESGINATOR_H__ */
00038