]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/UrlPort.h
b678d92979e5b1e20efb5445e59e0880e727706b
[thirdparty/squid.git] / src / acl / UrlPort.h
1 /*
2 * Copyright (C) 1996-2016 The Squid Software Foundation and contributors
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
9 #ifndef SQUID_ACLURLPORT_H
10 #define SQUID_ACLURLPORT_H
11 #include "acl/Strategised.h"
12 #include "acl/Strategy.h"
13
14 class ACLUrlPortStrategy : public ACLStrategy<int>
15 {
16
17 public:
18 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
19 virtual bool requiresRequest() const {return true;}
20
21 static ACLUrlPortStrategy *Instance();
22 /* Not implemented to prevent copies of the instance. */
23 /* Not private to prevent brain dead g+++ warnings about
24 * private constructors with no friends */
25 ACLUrlPortStrategy(ACLUrlPortStrategy const &);
26
27 private:
28 static ACLUrlPortStrategy Instance_;
29 ACLUrlPortStrategy() {}
30
31 ACLUrlPortStrategy&operator=(ACLUrlPortStrategy const &);
32 };
33
34 class ACLUrlPort
35 {
36
37 private:
38 static ACL::Prototype RegistryProtoype;
39 static ACLStrategised<int> RegistryEntry_;
40 };
41
42 #endif /* SQUID_ACLURLPORT_H */
43