]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/Strategy.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / Strategy.h
CommitLineData
5dee515e 1/*
bde978a6 2 * Copyright (C) 1996-2015 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_ACLSTRATEGY_H
10#define SQUID_ACLSTRATEGY_H
5dee515e 11
33810b1d 12#include "acl/Acl.h"
c0941a6a
AR
13#include "acl/Data.h"
14
15class ACLFilledChecklist;
62e76326 16
5dee515e 17template<class M>
62e76326 18
b0dd28ba 19class ACLStrategy
62e76326 20{
21
22public:
5dee515e 23 typedef M MatchType;
33810b1d 24 virtual int match (ACLData<M> * &, ACLFilledChecklist *, ACLFlags &) = 0;
5dee515e 25 virtual bool requiresRequest() const {return false;}
62e76326 26
f201d9ac 27 virtual bool requiresReply() const {return false;}
28
65092baf 29 virtual bool valid() const {return true;}
30
26ac0430 31 virtual ~ACLStrategy() {}
3d0ac046 32};
5dee515e 33
b0dd28ba 34#endif /* SQUID_ACLSTRATEGY_H */
f53969cc 35