]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/MyPortName.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / MyPortName.h
1 /*
2 * Copyright (C) 1996-2017 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_ACLMYPORTNAME_H
10 #define SQUID_ACLMYPORTNAME_H
11 #include "acl/Strategised.h"
12 #include "acl/Strategy.h"
13
14 class ACLMyPortNameStrategy : public ACLStrategy<const char *>
15 {
16
17 public:
18 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
19 static ACLMyPortNameStrategy *Instance();
20 /* Not implemented to prevent copies of the instance. */
21 /* Not private to prevent brain dead g+++ warnings about
22 * private constructors with no friends */
23 ACLMyPortNameStrategy(ACLMyPortNameStrategy const &);
24
25 private:
26 static ACLMyPortNameStrategy Instance_;
27 ACLMyPortNameStrategy() {}
28
29 ACLMyPortNameStrategy&operator=(ACLMyPortNameStrategy const &);
30 };
31
32 class ACLMyPortName
33 {
34
35 private:
36 static ACL::Prototype RegistryProtoype;
37 static ACLStrategised<const char *> RegistryEntry_;
38 };
39
40 #endif /* SQUID_ACLMYPORTNAME_H */
41