UserData.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_USERDATA_H
10 #define SQUID_SRC_ACL_USERDATA_H
11 
12 #include "acl/Acl.h"
13 #include "acl/Data.h"
14 #include "sbuf/SBuf.h"
15 
16 #include <set>
17 
18 class ACLUserData : public ACLData<char const *>
19 {
21 
22 public:
23  ~ACLUserData() override {}
24  ACLUserData();
25  bool match(char const *user) override;
26  SBufList dump() const override;
27  void parse() override;
28  bool empty() const override;
29 
30 private:
33 
34  /* ACLData API */
35  const Acl::Options &lineOptions() override;
36 
37  typedef std::set<SBuf,bool(*)(const SBuf&, const SBuf&)> UserDataNames_t;
39 
40  struct {
42  bool required;
43  } flags;
44 
45 };
46 
47 #endif /* SQUID_SRC_ACL_USERDATA_H */
48 
SBufList dump() const override
Definition: UserData.cc:42
std::vector< const Option * > Options
Definition: Options.h:217
bool case_insensitive
Definition: UserData.h:41
std::list< SBuf > SBufList
Definition: forward.h:22
std::set< SBuf, bool(*)(const SBuf &, const SBuf &)> UserDataNames_t
Definition: UserData.h:37
Definition: SBuf.h:93
Configured ACL parameter(s) (e.g., domain names in dstdomain ACL).
Definition: Data.h:17
const Acl::Options & lineOptions() override
supported ACL "line" options (e.g., "-i")
Definition: UserData.cc:82
struct ACLUserData::@23 flags
bool empty() const override
Definition: UserData.cc:146
MEMPROXY_CLASS(ACLUserData)
UserDataNames_t userDataNames
Definition: UserData.h:38
void parse() override
Definition: UserData.cc:91
static Acl::BooleanOptionValue CaseInsensitive_
whether parse() is called in a case insensitive context
Definition: UserData.h:32
bool match(char const *user) override
Definition: UserData.cc:24
bool required
Definition: UserData.h:42
~ACLUserData() override
Definition: UserData.h:23

 

Introduction

Documentation

Support

Miscellaneous