Back to index

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