/usr/include/arc/security/ArcPDP/fn/EqualFunction.h is in nordugrid-arc-dev 4.0.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #ifndef __ARC_SEC_EQUAL_FUNCTION_H__
#define __ARC_SEC_EQUAL_FUNCTION_H__
#include <arc/security/ArcPDP/fn/Function.h>
namespace ArcSec {
#define NAME_STRING_EQUAL "string-equal"
#define NAME_BOOLEAN_EQUAL "boolean-equal"
#define NAME_INTEGER_EQUAL "integer-equal"
#define NAME_DOUBLE_EQUAL "double-equal"
#define NAME_DATE_EQUAL "date-equal"
#define NAME_TIME_EQUAL "time-equal"
#define NAME_DATETIME_EQUAL "datetime-equal"
#define NAME_DURATION_EQUAL "duration-equal"
#define NAME_PERIOD_EQUAL "period-equal"
//#define NAME_DAYTIME_DURATION_EQUAL "dayTimeDuration-equal"
//#define NAME_YEARMONTH_DURATION_EQUAL "yearMonthDuration-equal"
#define NAME_ANYURI_EQUAL "anyURI-equal"
#define NAME_X500NAME_EQUAL "x500Name-equal"
#define NAME_RFC822NAME_EQUAL "rfc822Name-equal"
#define NAME_HEXBINARY_EQUAL "hexBinary-equal"
#define NAME_BASE64BINARY_EQUAL "base64Binary-equal"
#define NAME_IPADDRESS_EQUAL "ipAddress-equal"
#define NAME_DNSNAME_EQUAL "dnsName-equal"
///Evaluate whether the two values are equal
class EqualFunction : public Function {
public:
EqualFunction(std::string functionName, std::string argumentType);
public:
virtual AttributeValue* evaluate(AttributeValue* arg0, AttributeValue* arg1, bool check_id = true);
virtual std::list<AttributeValue*> evaluate(std::list<AttributeValue*> args, bool check_id = true);
/**help function to get the FunctionName*/
static std::string getFunctionName(std::string datatype);
private:
std::string fnName;
std::string argType;
};
} // namespace ArcSec
#endif /* __ARC_SEC_EQUAL_FUNCTION_H__ */
|