]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/TransactionInitiator.h
Maintenance: automate header guards 2/3 (#1655)
[thirdparty/squid.git] / src / acl / TransactionInitiator.h
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_TRANSACTIONINITIATOR_H
10 #define SQUID_SRC_ACL_TRANSACTIONINITIATOR_H
11
12 #include "acl/Acl.h"
13 #include "acl/Checklist.h"
14 #include "XactionInitiator.h"
15
16 namespace Acl
17 {
18
19 /// transaction_initiator ACL
20 class TransactionInitiator : public Acl::Node
21 {
22 MEMPROXY_CLASS(TransactionInitiator);
23
24 public:
25 TransactionInitiator(char const *);
26
27 char const *typeString() const override;
28 void parse() override;
29 int match(ACLChecklist *checklist) override;
30 bool requiresRequest() const override { return true; }
31 SBufList dump() const override;
32 bool empty () const override;
33
34 protected:
35 char const *class_;
36 XactionInitiator::Initiators initiators_;
37 SBufList cfgWords; /// initiator names in the configured order
38 };
39
40 } // namespace Acl
41
42 #endif /* SQUID_SRC_ACL_TRANSACTIONINITIATOR_H */
43