]>
Commit | Line | Data |
---|---|---|
225b7b10 | 1 | /* |
5b74111a | 2 | * Copyright (C) 1996-2018 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_ACLDATA_H |
10 | #define SQUID_ACLDATA_H | |
11 | ||
4eac3407 | 12 | #include "acl/Options.h" |
58d8264f | 13 | #include "sbuf/List.h" |
e1f7507e | 14 | |
4eac3407 | 15 | /// Configured ACL parameter(s) (e.g., domain names in dstdomain ACL). |
5dee515e | 16 | template <class M> |
62e76326 | 17 | class ACLData |
18 | { | |
19 | ||
20 | public: | |
225b7b10 | 21 | |
22 | virtual ~ACLData() {} | |
62e76326 | 23 | |
4eac3407 CT |
24 | /// \returns the flags supported by these ACL parameters (e.g., "-i") |
25 | virtual const Acl::ParameterFlags &supportedFlags() const { return Acl::NoFlags(); } | |
26 | ||
5dee515e | 27 | virtual bool match(M) =0; |
4f8ca96e | 28 | virtual SBufList dump() const =0; |
225b7b10 | 29 | virtual void parse() =0; |
30 | virtual ACLData *clone() const =0; | |
65092baf | 31 | virtual void prepareForUse() {} |
b0dd28ba | 32 | |
65092baf | 33 | virtual bool empty() const =0; |
34 | }; | |
225b7b10 | 35 | |
36 | #endif /* SQUID_ACLDATA_H */ | |
f53969cc | 37 |