]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/HierCode.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / HierCode.h
CommitLineData
bbaf2685
AJ
1#ifndef SQUID_ACLHIERCODE_H
2#define SQUID_ACLHIERCODE_H
3
bbaf2685 4#include "acl/Strategised.h"
602d9612 5#include "acl/Strategy.h"
bbaf2685
AJ
6#include "hier_code.h"
7
8/// \ingroup ACLAPI
9class ACLHierCodeStrategy : public ACLStrategy<hier_code>
10{
11
12public:
33810b1d 13 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
bbaf2685
AJ
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
26private:
27 static ACLHierCodeStrategy Instance_;
28 ACLHierCodeStrategy() {}
29
30 ACLHierCodeStrategy &operator=(ACLHierCodeStrategy const &);
31};
32
33/// \ingroup ACLAPI
34class ACLHierCode
35{
36
37private:
38 static ACL::Prototype RegistryProtoype;
39 static ACLStrategised<hier_code> RegistryEntry_;
40};
41
42#endif /* SQUID_ACLHIERCODE_H */