]>
Commit | Line | Data |
---|---|---|
bbc27441 | 1 | /* |
2cd0bda2 | 2 | * Copyright (C) 1996-2017 The Squid Software Foundation and contributors |
bbc27441 AJ |
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 | ||
39baccc8 CT |
9 | #ifndef SQUID_ACLNOTE_H |
10 | #define SQUID_ACLNOTE_H | |
11 | ||
39baccc8 | 12 | #include "acl/Strategised.h" |
602d9612 | 13 | #include "acl/Strategy.h" |
39baccc8 | 14 | |
76ee67ac CT |
15 | class ACLNoteData; |
16 | class CharacterSet; | |
39baccc8 CT |
17 | class HttpRequest; |
18 | ||
19 | /// \ingroup ACLAPI | |
76ee67ac | 20 | class ACLNoteStrategy : public ACLStrategy<NotePairs::Entry *> |
39baccc8 CT |
21 | { |
22 | ||
23 | public: | |
24 | virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &); | |
25 | virtual bool requiresRequest() const { return true; } | |
26 | ||
27 | static ACLNoteStrategy *Instance(); | |
28 | /* Not implemented to prevent copies of the instance. */ | |
29 | /* Not private to prevent brain dead g+++ warnings about | |
30 | * private constructors with no friends */ | |
31 | ACLNoteStrategy(ACLNoteStrategy const &); | |
32 | ||
33 | private: | |
34 | static ACLNoteStrategy Instance_; | |
35 | ACLNoteStrategy() { } | |
36 | ||
37 | ACLNoteStrategy& operator = (ACLNoteStrategy const &); | |
76ee67ac | 38 | bool matchNotes(ACLData<MatchType> *, const NotePairs *, const CharacterSet *) const; |
39baccc8 CT |
39 | }; |
40 | ||
41 | /// \ingroup ACLAPI | |
42 | class ACLNote | |
43 | { | |
44 | ||
45 | private: | |
46 | static ACL::Prototype RegistryProtoype; | |
76ee67ac | 47 | static ACLStrategised<NotePairs::Entry *> RegistryEntry_; |
39baccc8 CT |
48 | }; |
49 | ||
50 | #endif /* SQUID_ACLNOTE_H */ | |
f53969cc | 51 |