Data.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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 "acl/Options.h"
13 #include "sbuf/List.h"
14 
16 template <class M>
17 class ACLData
18 {
19 
20 public:
21 
22  virtual ~ACLData() {}
23 
25  virtual const Acl::ParameterFlags &supportedFlags() const { return Acl::NoFlags(); }
26 
27  virtual bool match(M) =0;
28  virtual SBufList dump() const =0;
29  virtual void parse() =0;
30  virtual ACLData *clone() const =0;
31  virtual void prepareForUse() {}
32 
33  virtual bool empty() const =0;
34 };
35 
36 #endif /* SQUID_ACLDATA_H */
37 
virtual bool empty() const =0
virtual bool match(M)=0
virtual const Acl::ParameterFlags & supportedFlags() const
Definition: Data.h:25
virtual void prepareForUse()
Definition: Data.h:31
Configured ACL parameter(s) (e.g., domain names in dstdomain ACL).
Definition: Data.h:17
const ParameterFlags & NoFlags()
Definition: Options.cc:254
virtual void parse()=0
std::list< SBuf > SBufList
Definition: forward.h:26
std::set< OptionName, OptionNameCmp > ParameterFlags
a set of parameter flag names
Definition: Options.h:162
virtual ~ACLData()
Definition: Data.h:22
virtual SBufList dump() const =0
virtual ACLData * clone() const =0

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors