]>
Commit | Line | Data |
---|---|---|
bbc27441 | 1 | /* |
4ac4a490 | 2 | * Copyright (C) 1996-2017 The Squid Software Foundation and contributors |
bbc27441 AJ |
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 | ||
6f58d7d7 AR |
9 | #ifndef SQUID_ACL_ALL_OF_H |
10 | #define SQUID_ACL_ALL_OF_H | |
11 | ||
12 | #include "acl/InnerNode.h" | |
13 | ||
e936c41c AR |
14 | namespace Acl |
15 | { | |
6f58d7d7 AR |
16 | |
17 | /// Configurable all-of ACL. Each ACL line is a conjuction of ACLs. | |
18 | /// Uses AndNode and OrNode to handle squid.conf configuration where multiple | |
19 | /// acl all-of lines are always ORed together. | |
20 | class AllOf: public Acl::InnerNode | |
21 | { | |
6f58d7d7 AR |
22 | MEMPROXY_CLASS(AllOf); |
23 | ||
741c2986 | 24 | public: |
6f58d7d7 AR |
25 | /* ACL API */ |
26 | virtual char const *typeString() const; | |
27 | virtual ACL *clone() const; | |
28 | virtual void parse(); | |
8966008b | 29 | virtual SBufList dump() const; |
6f58d7d7 AR |
30 | |
31 | private: | |
32 | /* Acl::InnerNode API */ | |
33 | virtual int doMatch(ACLChecklist *checklist, Nodes::const_iterator start) const; | |
34 | ||
35 | static Prototype RegistryProtoype; | |
36 | static AllOf RegistryEntry_; | |
37 | }; | |
6f58d7d7 AR |
38 | |
39 | } // namespace Acl | |
40 | ||
41 | #endif /* SQUID_ACL_ALL_OF_H */ | |
f53969cc | 42 |