Back to index

nordugrid-arc-nox  1.1.0~rc6
InRangeFunction.h
Go to the documentation of this file.
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    //help function specific for existing policy expression because of no exiplicit function defined in policy
00020   static std::string getFunctionName(std::string datatype);
00021 
00022 private:
00023   std::string fnName;
00024   std::string argType;
00025 };
00026 
00027 } // namespace ArcSec
00028 
00029 #endif /* __ARC_SEC_INRANGE_FUNCTION_H__ */
00030