Back to index

nordugrid-arc-nox  1.1.0~rc6
RequestAttribute.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_REQUESTATTRIBUTE_H__
00002 #define __ARC_SEC_REQUESTATTRIBUTE_H__
00003 
00004 #include <list>
00005 #include <arc/XMLNode.h>
00006 #include <arc/Logger.h>
00007 
00008 #include "AttributeValue.h"
00009 #include "AttributeFactory.h"
00010 
00011 namespace ArcSec {
00012 
00013 //typedef std::list<AttributeValue*> AttrValList;
00014 
00016 class RequestAttribute {
00017 public:
00021   RequestAttribute(Arc::XMLNode& node, AttributeFactory* attrfactory);
00022 
00023   RequestAttribute();
00024 
00025   virtual ~RequestAttribute();
00026   
00027 public:
00028   Arc::XMLNode getNode();
00029   std::string getAttributeId () const;
00030   void setAttributeId (const std::string attributeId);
00031   std::string getDataType () const;
00032   void setDataType (const std::string dataType);
00033   std::string getIssuer () const;
00034   void setIssuer (const std::string issuer);
00035   //AttrValList getAttributeValueList () const;
00036   //void setAttributeValueList (const AttrValList& attributeValueList);
00037 
00038   virtual AttributeValue* getAttributeValue() const;
00039 
00040   virtual AttributeFactory* getAttributeFactory() const;
00041   
00043   RequestAttribute& duplicate(RequestAttribute&);
00044 
00045 //protect:
00046   //AttrValList avlist;
00047 
00048 private:
00049  static Arc::Logger logger;
00050 
00052  Arc::XMLNode node_;
00053 
00055  std::string id;
00056 
00058  std::string type;
00059 
00061  std::string issuer;
00062 
00063  //AttrValList avlist;
00064 
00066  AttributeValue* attrval;
00067 
00069  AttributeFactory* attrfactory;
00070 };
00071 
00072 } // namespace ArcSec
00073 
00074 #endif /* __ARC_SEC_REQUESTATTRIBUTE_H__ */