]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/HierCode.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / HierCode.h
1 #ifndef SQUID_ACLHIERCODE_H
2 #define SQUID_ACLHIERCODE_H
3
4 #include "acl/Strategised.h"
5 #include "acl/Strategy.h"
6 #include "hier_code.h"
7
8 /// \ingroup ACLAPI
9 class ACLHierCodeStrategy : public ACLStrategy<hier_code>
10 {
11
12 public:
13 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
14 virtual bool requiresRequest() const {return true;}
15
16 static ACLHierCodeStrategy *Instance();
17
18 /**
19 * Not implemented to prevent copies of the instance.
20 \par
21 * Not private to prevent brain dead g+++ warnings about
22 * private constructors with no friends
23 */
24 ACLHierCodeStrategy(ACLHierCodeStrategy const &);
25
26 private:
27 static ACLHierCodeStrategy Instance_;
28 ACLHierCodeStrategy() {}
29
30 ACLHierCodeStrategy &operator=(ACLHierCodeStrategy const &);
31 };
32
33 /// \ingroup ACLAPI
34 class ACLHierCode
35 {
36
37 private:
38 static ACL::Prototype RegistryProtoype;
39 static ACLStrategised<hier_code> RegistryEntry_;
40 };
41
42 #endif /* SQUID_ACLHIERCODE_H */