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_ACLDATA_H
10#define SQUID_ACLDATA_H
11
12#include "acl/Options.h"
13#include "sbuf/List.h"
14
16template <class M>
18{
19
20public:
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_ACLDATA_H */
37
Configured ACL parameter(s) (e.g., domain names in dstdomain ACL).
Definition: Data.h:18
virtual void parse()=0
virtual SBufList dump() const =0
virtual bool match(M)=0
virtual bool empty() const =0
ACLData(ACLData< M > &&)=delete
ACLData()=default
virtual void prepareForUse()
Definition: Data.h:31
virtual const Acl::Options & lineOptions()
supported ACL "line" options (e.g., "-i")
Definition: Data.h:26
virtual ~ACLData()
Definition: Data.h:23
const Options & NoOptions()
Definition: Options.cc:234
std::vector< const Option * > Options
Definition: Options.h:214
std::list< SBuf > SBufList
Definition: forward.h:23

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors