Data.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 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_SRC_ACL_DATA_H
10 #define SQUID_SRC_ACL_DATA_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  ACLData() = default;
22  ACLData(ACLData<M> &&) = delete; // no copying of any kind
23  virtual ~ACLData() {}
24 
26  virtual const Acl::Options &lineOptions() { return Acl::NoOptions(); }
27 
28  virtual bool match(M) =0;
29  virtual SBufList dump() const =0;
30  virtual void parse() =0;
31  virtual void prepareForUse() {}
32 
33  virtual bool empty() const =0;
34 };
35 
36 #endif /* SQUID_SRC_ACL_DATA_H */
37 
virtual const Acl::Options & lineOptions()
supported ACL "line" options (e.g., "-i")
Definition: Data.h:26
std::vector< const Option * > Options
Definition: Options.h:217
virtual ~ACLData()
Definition: Data.h:23
virtual void prepareForUse()
Definition: Data.h:31
std::list< SBuf > SBufList
Definition: forward.h:22
ACLData()=default
Configured ACL parameter(s) (e.g., domain names in dstdomain ACL).
Definition: Data.h:17
const Options & NoOptions()
Definition: Options.cc:234
virtual void parse()=0
virtual bool match(M)=0
virtual bool empty() const =0
virtual SBufList dump() const =0

 

Introduction

Documentation

Support

Miscellaneous