00001 #ifndef __ARC_SEC_GENERICATTRIBUTE_H__
00002 #define __ARC_SEC_GENERICATTRIBUTE_H__
00003
00004 #include <arc/security/ArcPDP/attr/AttributeValue.h>
00005
00006 namespace ArcSec {
00007 class GenericAttribute : public AttributeValue {
00008 private:
00009 std::string value;
00010 std::string type;
00011 std::string id;
00012 static std::string identifier;
00013
00014 public:
00015 GenericAttribute() { };
00016 GenericAttribute(const std::string& v,const std::string& i) : value(v), id(i) { };
00017 virtual ~GenericAttribute() { };
00018
00019 virtual bool equal(AttributeValue* other, bool check_id = true);
00020 virtual std::string encode() { return value; };
00021 std::string getValue() { return value; };
00022 virtual std::string getType() { return type; };
00023 virtual std::string getId() { return id; };
00024 void setType(const std::string& new_type) { type=new_type; };
00025 static const std::string& getIdentifier(void) { return identifier; };
00026
00027 };
00028
00029 }
00030
00031 #endif
00032
00033