]>
Commit | Line | Data |
---|---|---|
5dee515e | 1 | /* |
bbc27441 | 2 | * Copyright (C) 1996-2014 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 | ||
9 | #ifndef SQUID_ACLURLPATH_H | |
10 | #define SQUID_ACLURLPATH_H | |
127dce76 AR |
11 | #include "acl/Acl.h" |
12 | #include "acl/Data.h" | |
127dce76 | 13 | #include "acl/Strategised.h" |
602d9612 | 14 | #include "acl/Strategy.h" |
5dee515e | 15 | |
b0dd28ba | 16 | class ACLUrlPathStrategy : public ACLStrategy<char const *> |
5dee515e | 17 | { |
62e76326 | 18 | |
19 | public: | |
33810b1d | 20 | virtual int match (ACLData<char const *> * &, ACLFilledChecklist *, ACLFlags &); |
5dee515e | 21 | virtual bool requiresRequest() const {return true;} |
62e76326 | 22 | |
5dee515e | 23 | static ACLUrlPathStrategy *Instance(); |
24 | /* Not implemented to prevent copies of the instance. */ | |
25 | /* Not private to prevent brain dead g+++ warnings about | |
26 | * private constructors with no friends */ | |
27 | ACLUrlPathStrategy(ACLUrlPathStrategy const &); | |
62e76326 | 28 | |
29 | private: | |
5dee515e | 30 | static ACLUrlPathStrategy Instance_; |
26ac0430 | 31 | ACLUrlPathStrategy() {} |
62e76326 | 32 | |
5dee515e | 33 | ACLUrlPathStrategy&operator=(ACLUrlPathStrategy const &); |
34 | }; | |
35 | ||
62e76326 | 36 | class ACLUrlPath |
37 | { | |
38 | ||
39 | public: | |
5dee515e | 40 | static ACL::Prototype RegistryProtoype; |
41 | static ACL::Prototype LegacyRegistryProtoype; | |
42 | static ACLStrategised<char const *> RegistryEntry_; | |
43 | }; | |
44 | ||
45 | #endif /* SQUID_ACLURLPATH_H */ |