]>
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 | ||
6db78a1a AJ |
9 | #ifndef SQUID_ACLPEERNAME_H |
10 | #define SQUID_ACLPEERNAME_H | |
11 | ||
127dce76 | 12 | #include "acl/Strategised.h" |
602d9612 | 13 | #include "acl/Strategy.h" |
6db78a1a AJ |
14 | |
15 | class ACLPeerNameStrategy : public ACLStrategy<const char *> | |
16 | { | |
17 | ||
18 | public: | |
33810b1d | 19 | virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &); |
6db78a1a AJ |
20 | static ACLPeerNameStrategy *Instance(); |
21 | /* Not implemented to prevent copies of the instance. */ | |
22 | /* Not private to prevent brain dead g+++ warnings about | |
23 | * private constructors with no friends */ | |
24 | ACLPeerNameStrategy(ACLPeerNameStrategy const &); | |
25 | ||
26 | private: | |
27 | static ACLPeerNameStrategy Instance_; | |
9e008dda | 28 | ACLPeerNameStrategy() {} |
6db78a1a AJ |
29 | |
30 | ACLPeerNameStrategy&operator=(ACLPeerNameStrategy const &); | |
31 | }; | |
32 | ||
33 | class ACLPeerName | |
34 | { | |
35 | ||
36 | private: | |
37 | static ACL::Prototype RegistryProtoype; | |
38 | static ACLStrategised<const char *> RegistryEntry_; | |
16bdd4c0 AJ |
39 | static ACL::Prototype RegexRegistryProtoype; |
40 | static ACLStrategised<char const *> RegexRegistryEntry_; | |
6db78a1a AJ |
41 | }; |
42 | ||
43 | #endif /* SQUID_ACLPEERNAME_H */ | |
f53969cc | 44 |