]>
Commit | Line | Data |
---|---|---|
5dee515e | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 The Squid Software Foundation and contributors |
5dee515e | 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. | |
5dee515e | 7 | */ |
8 | ||
b0dd28ba | 9 | #ifndef SQUID_ACLSTRATEGY_H |
10 | #define SQUID_ACLSTRATEGY_H | |
5dee515e | 11 | |
33810b1d | 12 | #include "acl/Acl.h" |
c0941a6a AR |
13 | #include "acl/Data.h" |
14 | ||
15 | class ACLFilledChecklist; | |
62e76326 | 16 | |
5dee515e | 17 | template<class M> |
62e76326 | 18 | |
b0dd28ba | 19 | class ACLStrategy |
62e76326 | 20 | { |
21 | ||
22 | public: | |
5dee515e | 23 | typedef M MatchType; |
33810b1d | 24 | virtual int match (ACLData<M> * &, ACLFilledChecklist *, ACLFlags &) = 0; |
5dee515e | 25 | virtual bool requiresRequest() const {return false;} |
62e76326 | 26 | |
f201d9ac | 27 | virtual bool requiresReply() const {return false;} |
28 | ||
65092baf | 29 | virtual bool valid() const {return true;} |
30 | ||
26ac0430 | 31 | virtual ~ACLStrategy() {} |
3d0ac046 | 32 | }; |
5dee515e | 33 | |
b0dd28ba | 34 | #endif /* SQUID_ACLSTRATEGY_H */ |
f53969cc | 35 |