]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/Data.h
bfb917daa5b98de2f8b30748b2ccc9351165ceda
[thirdparty/squid.git] / src / acl / Data.h
1 /*
2 * Copyright (C) 1996-2016 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_ACLDATA_H
10 #define SQUID_ACLDATA_H
11
12 #include "sbuf/SBufList.h"
13
14 /// \ingroup ACLAPI
15 template <class M>
16 class ACLData
17 {
18
19 public:
20
21 virtual ~ACLData() {}
22
23 virtual bool match(M) =0;
24 virtual SBufList dump() const =0;
25 virtual void parse() =0;
26 virtual ACLData *clone() const =0;
27 virtual void prepareForUse() {}
28
29 virtual bool empty() const =0;
30 };
31
32 #endif /* SQUID_ACLDATA_H */
33