]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/RegexData.h
Source Format Enforcement (#1234)
[thirdparty/squid.git] / src / acl / RegexData.h
CommitLineData
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
16class RegexPattern;
225b7b10 17
62e76326 18class ACLRegexData : public ACLData<char const *>
19{
b001e822 20 MEMPROXY_CLASS(ACLRegexData);
225b7b10 21
741c2986 22public:
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
29private:
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