]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/PeerName.h
Merged from parent (large-rock r12530 including trunk r12732; v3.3.3+).
[thirdparty/squid.git] / src / acl / PeerName.h
1 #ifndef SQUID_ACLPEERNAME_H
2 #define SQUID_ACLPEERNAME_H
3
4 #include "acl/Strategy.h"
5 #include "acl/Strategised.h"
6
7 class ACLPeerNameStrategy : public ACLStrategy<const char *>
8 {
9
10 public:
11 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
12 static ACLPeerNameStrategy *Instance();
13 /* Not implemented to prevent copies of the instance. */
14 /* Not private to prevent brain dead g+++ warnings about
15 * private constructors with no friends */
16 ACLPeerNameStrategy(ACLPeerNameStrategy const &);
17
18 private:
19 static ACLPeerNameStrategy Instance_;
20 ACLPeerNameStrategy() {}
21
22 ACLPeerNameStrategy&operator=(ACLPeerNameStrategy const &);
23 };
24
25 class ACLPeerName
26 {
27
28 private:
29 static ACL::Prototype RegistryProtoype;
30 static ACLStrategised<const char *> RegistryEntry_;
31 static ACL::Prototype RegexRegistryProtoype;
32 static ACLStrategised<char const *> RegexRegistryEntry_;
33 };
34
35 #endif /* SQUID_ACLPEERNAME_H */