00001 #ifndef __ARC_SEC_INRANGE_FUNCTION_H__
00002 #define __ARC_SEC_INRANGE_FUNCTION_H__
00003
00004 #include <arc/security/ArcPDP/fn/Function.h>
00005
00006 namespace ArcSec {
00007
00008 #define IN_RANGE "-in-range"
00009 #define NAME_STRING_IN_RANGE "string-in-range"
00010 #define NAME_TIME_IN_RANGE "time-in-range"
00011
00012 class InRangeFunction : public Function {
00013 public:
00014 InRangeFunction(std::string functionName, std::string argumentType);
00015
00016 public:
00017 virtual AttributeValue* evaluate(AttributeValue* arg0, AttributeValue* arg1, bool check_id = true);
00018 virtual std::list<AttributeValue*> evaluate(std::list<AttributeValue*> args, bool check_id = true);
00019
00020 static std::string getFunctionName(std::string datatype);
00021
00022 private:
00023 std::string fnName;
00024 std::string argType;
00025 };
00026
00027 }
00028
00029 #endif
00030