]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/NoteData.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / NoteData.h
1 /*
2 * Copyright (C) 1996-2015 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_ACLNOTEDATA_H
10 #define SQUID_ACLNOTEDATA_H
11
12 #include "acl/Data.h"
13 #include "SquidString.h"
14
15 class HttpRequest;
16 class NotePairs;
17
18 /// \ingroup ACLAPI
19 class ACLNoteData : public ACLData<HttpRequest *>
20 {
21 MEMPROXY_CLASS(ACLNoteData);
22
23 public:
24 ACLNoteData();
25 virtual ~ACLNoteData();
26 virtual bool match(HttpRequest* request);
27 virtual SBufList dump() const;
28 virtual void parse();
29 virtual bool empty() const;
30 virtual ACLData<HttpRequest *> *clone() const;
31
32 private:
33 bool matchNotes(NotePairs *note);
34 String name; ///< Note name to check. It is always set
35 ACLData<char const *> *values; ///< if set, at least one value must match
36 };
37
38 #endif /* SQUID_ACLNOTEDATA_H */
39