00001 #ifndef __ARC_SEC_FUNCTION_H__
00002 #define __ARC_SEC_FUNCTION_H__
00003
00004 #include <list>
00005 #include <string>
00006 #include <arc/security/ArcPDP/attr/AttributeValue.h>
00007
00008 namespace ArcSec {
00009
00010
00011
00012
00014 class Function {
00015 public:
00016 Function(std::string, std::string){};
00017 virtual ~Function(){};
00018
00019 public:
00021 virtual AttributeValue* evaluate(AttributeValue* arg0, AttributeValue* arg1, bool check_id = true) = 0;
00023 virtual std::list<AttributeValue*> evaluate(std::list<AttributeValue*> args, bool check_id = true) = 0;
00024 };
00025
00026 }
00027
00028 #endif
00029