2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
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.
9 #ifndef SQUID_ACLNOTE_H
10 #define SQUID_ACLNOTE_H
12 #include "acl/CharacterSetOption.h"
14 #include "acl/Strategy.h"
19 /// common parent of several ACLs dealing with transaction annotations
20 class AnnotationStrategy
: public ACLStrategy
<NotePairs::Entry
*>
23 AnnotationStrategy(): delimiters(CharacterSet(__FILE__
, ",")) {}
25 const Acl::Options
&options() override
;
27 Acl::CharacterSetOptionValue delimiters
; ///< annotation separators
33 class ACLNoteStrategy
: public Acl::AnnotationStrategy
37 int match (ACLData
<MatchType
> * &, ACLFilledChecklist
*) override
;
38 bool requiresRequest() const override
{ return true; }
41 bool matchNotes(ACLData
<MatchType
> *, const NotePairs
*) const;
44 #endif /* SQUID_ACLNOTE_H */