1 /* 2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors 3 * 4 * Squid software is distributed under GPLv2+ license and includes 5 * contributions from numerous individuals and organizations. 6 * Please see the COPYING and CONTRIBUTORS files for details. 7 */ 8 9 #ifndef SQUID_ACLREGEXDATA_H 10 #define SQUID_ACLREGEXDATA_H 11 12 #include "acl/Data.h" 13 14 #include <list> 15 16 class RegexPattern; 17 18 class ACLRegexData : public ACLData<char const *> 19 { 20 MEMPROXY_CLASS(ACLRegexData); 21 22 public: 23 virtual ~ACLRegexData(); 24 virtual bool match(char const *user); 25 virtual SBufList dump() const; 26 virtual void parse(); 27 virtual const Acl::ParameterFlags &supportedFlags() const; 28 virtual bool empty() const; 29 virtual ACLData<char const *> *clone() const; 30 31 private: 32 std::list<RegexPattern> data; 33 }; 34 35 #endif /* SQUID_ACLREGEXDATA_H */ 36 37