]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/UrlPort.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / UrlPort.h
CommitLineData
5dee515e 1/*
4ac4a490 2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
5dee515e 3 *
bbc27441
AJ
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.
5dee515e 7 */
8
b0dd28ba 9#ifndef SQUID_ACLURLPORT_H
10#define SQUID_ACLURLPORT_H
127dce76 11#include "acl/Strategised.h"
602d9612 12#include "acl/Strategy.h"
5dee515e 13
b0dd28ba 14class ACLUrlPortStrategy : public ACLStrategy<int>
62e76326 15{
16
17public:
33810b1d 18 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
b0dd28ba 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 &);
62e76326 26
b0dd28ba 27private:
28 static ACLUrlPortStrategy Instance_;
26ac0430 29 ACLUrlPortStrategy() {}
b0dd28ba 30
31 ACLUrlPortStrategy&operator=(ACLUrlPortStrategy const &);
32};
33
34class ACLUrlPort
35{
62e76326 36
b0dd28ba 37private:
38 static ACL::Prototype RegistryProtoype;
39 static ACLStrategised<int> RegistryEntry_;
40};
5dee515e 41
b0dd28ba 42#endif /* SQUID_ACLURLPORT_H */
f53969cc 43