]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/StringData.h
Source Format Enforcement (#763)
[thirdparty/squid.git] / src / acl / StringData.h
1 /*
2 * Copyright (C) 1996-2021 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_ACLSTRINGDATA_H
10 #define SQUID_ACLSTRINGDATA_H
11
12 #include "acl/Acl.h"
13 #include "acl/Data.h"
14 #include "sbuf/SBuf.h"
15
16 #include <set>
17
18 class ACLStringData : public ACLData<char const *>
19 {
20 MEMPROXY_CLASS(ACLStringData);
21
22 public:
23 ACLStringData() {}
24 ACLStringData(ACLStringData const &);
25 ACLStringData &operator= (ACLStringData const &);
26 virtual ~ACLStringData() {}
27 /// \deprecated use match(SBuf&) instead.
28 bool match(char const *);
29 bool match(const SBuf &);
30 virtual SBufList dump() const;
31 virtual void parse();
32 bool empty() const;
33 virtual ACLData<char const *> *clone() const;
34 /// Insert a string data value
35 void insert(const char *);
36
37 private:
38 typedef std::set<SBuf> StringValues_t;
39 StringValues_t stringValues;
40 };
41
42 #endif /* SQUID_ACLSTRINGDATA_H */
43