]>
Commit | Line | Data |
---|---|---|
225b7b10 | 1 | /* |
b8ae064d | 2 | * Copyright (C) 1996-2023 The Squid Software Foundation and contributors |
225b7b10 | 3 | * |
bbc27441 AJ |
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. | |
225b7b10 | 7 | */ |
bbc27441 | 8 | |
225b7b10 | 9 | #ifndef SQUID_ACLREGEXDATA_H |
10 | #define SQUID_ACLREGEXDATA_H | |
e1f7507e | 11 | |
3ad63615 | 12 | #include "acl/Data.h" |
e1f7507e | 13 | |
e2b74520 AJ |
14 | #include <list> |
15 | ||
16 | class RegexPattern; | |
225b7b10 | 17 | |
62e76326 | 18 | class ACLRegexData : public ACLData<char const *> |
19 | { | |
b001e822 | 20 | MEMPROXY_CLASS(ACLRegexData); |
225b7b10 | 21 | |
741c2986 | 22 | public: |
337b9aa4 AR |
23 | ~ACLRegexData() override; |
24 | bool match(char const *user) override; | |
25 | SBufList dump() const override; | |
26 | void parse() override; | |
27 | bool empty() const override; | |
62e76326 | 28 | |
29 | private: | |
8d76389c EB |
30 | /// whether parse() is called in a case insensitive context |
31 | static Acl::BooleanOptionValue CaseInsensitive_; | |
32 | ||
33 | /* ACLData API */ | |
337b9aa4 | 34 | const Acl::Options &lineOptions() override; |
8d76389c | 35 | |
e2b74520 | 36 | std::list<RegexPattern> data; |
225b7b10 | 37 | }; |
38 | ||
39 | #endif /* SQUID_ACLREGEXDATA_H */ | |
f53969cc | 40 |